<?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>88383</bug_id>
          
          <creation_ts>2012-06-05 18:18:27 -0700</creation_ts>
          <short_desc>[Forms] Introduce Decimal behind the InputNumber type</short_desc>
          <delta_ts>2012-06-10 19:31:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>88394</dependson>
    
    <dependson>88480</dependson>
    
    <dependson>88489</dependson>
    
    <dependson>88621</dependson>
          <blocked>80009</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>yosin</reporter>
          <assigned_to>yosin</assigned_to>
          <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>642073</commentid>
    <comment_count>0</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-06-05 18:18:27 -0700</bug_when>
    <thetext>This is a part of bug 80009, introducing decimal arithmetic.

To reduce size of patch for easy reviewing and roll out, we introduced InputNumber(bug 88275) type as alias of &quot;double&quot; type, although size of patch was 68KB, without behavior change.

In this bug, we&apos;ll change InputNumber as Decimal class and fix rounding issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642154</commentid>
    <comment_count>1</comment_count>
      <attachid>145929</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-05 21:25:06 -0700</bug_when>
    <thetext>Created attachment 145929
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642169</commentid>
    <comment_count>2</comment_count>
      <attachid>145929</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-05 21:52:15 -0700</bug_when>
    <thetext>Comment on attachment 145929
Patch 1

Could you review this patch?
Thanks in advance.

* Local build with enabling all input type.
* Test files increase size of this patch. They are 22KB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642212</commentid>
    <comment_count>3</comment_count>
      <attachid>145929</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-05 23:16:40 -0700</bug_when>
    <thetext>Comment on attachment 145929
Patch 1

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

&gt; Source/WebCore/html/MonthInputType.cpp:97
&gt; -    return months;
&gt; +    return convertDoubleToInputNumber(months);

nit: we had better add this function before this patch.

&gt; Source/WebCore/html/MonthInputType.cpp:118
&gt; -    return months;
&gt; +    return convertDoubleToInputNumber(months);

nit: we had better add this function before this patch.

&gt; Source/WebCore/html/NumberInputType.cpp:96
&gt; -    const double floatMax = convertDoubleToInputNumber(numeric_limits&lt;float&gt;::max());
&gt; +    const double floatMax = numeric_limits&lt;float&gt;::max();
&gt;      if (newValue &lt; -floatMax) {

nit: we had better add this function before this patch.

&gt; Source/WebCore/html/NumberInputType.cpp:161
&gt;  
&gt; -    unsigned minValueDecimalPlaces;
&gt; -    String minValue = element()-&gt;fastGetAttribute(minAttr);
&gt; -    double minValueDouble = parseToDoubleForNumberTypeWithDecimalPlaces(minValue, &amp;minValueDecimalPlaces);
&gt; -    if (!isfinite(minValueDouble))
&gt; -        return false;
&gt; -
&gt; -    unsigned maxValueDecimalPlaces;
&gt; -    String maxValue = element()-&gt;fastGetAttribute(maxAttr);
&gt; -    double maxValueDouble = parseToDoubleForNumberTypeWithDecimalPlaces(maxValue, &amp;maxValueDecimalPlaces);
&gt; -    if (!isfinite(maxValueDouble))
&gt; +    String stepString = element()-&gt;fastGetAttribute(stepAttr);
&gt; +    if (equalIgnoringCase(stepString, &quot;any&quot;))
&gt;          return false;
&gt;  
&gt; -    if (maxValueDouble &lt; minValueDouble) {
&gt; -        maxValueDouble = minValueDouble;
&gt; -        maxValueDecimalPlaces = minValueDecimalPlaces;
&gt; +    const Decimal minimum = parseToDecimalForNumberType(element()-&gt;fastGetAttribute(minAttr));
&gt; +    const Decimal maximum = parseToDecimalForNumberType(element()-&gt;fastGetAttribute(maxAttr));
&gt; +    const Decimal step = parseToDecimalForNumberType(stepString, 1);
&gt; +    if (minimum.isFinite() &amp;&amp; maximum.isFinite() &amp;&amp; step.isFinite()) {
&gt; +        preferredSize = max(max(calculateRenderSize(minimum), calculateRenderSize(maximum)), calculateRenderSize(step));
&gt; +        return true;
&gt;      }
&gt;  
&gt; -    String stepValue = element()-&gt;fastGetAttribute(stepAttr);
&gt; -    if (equalIgnoringCase(stepValue, &quot;any&quot;))
&gt; -        return false;
&gt; -    unsigned stepValueDecimalPlaces;
&gt; -    double stepValueDouble = parseToDoubleForNumberTypeWithDecimalPlaces(stepValue, &amp;stepValueDecimalPlaces);
&gt; -    if (!isfinite(stepValueDouble)) {
&gt; -        stepValueDouble = 1;
&gt; -        stepValueDecimalPlaces = 0;
&gt; -    }
&gt; -
&gt; -    unsigned length = lengthBeforeDecimalPoint(minValueDouble);
&gt; -    length = max(length, lengthBeforeDecimalPoint(maxValueDouble));
&gt; -    length = max(length, lengthBeforeDecimalPoint(stepValueDouble));
&gt; -
&gt; -    unsigned lengthAfterDecimalPoint = minValueDecimalPlaces;
&gt; -    lengthAfterDecimalPoint = max(lengthAfterDecimalPoint, maxValueDecimalPlaces);
&gt; -    lengthAfterDecimalPoint = max(lengthAfterDecimalPoint, stepValueDecimalPlaces);
&gt; -
&gt; -    // &apos;.&apos; should be counted if the value has decimal places.
&gt; -    if (lengthAfterDecimalPoint &gt; 0)
&gt; -        length += lengthAfterDecimalPoint + 1;
&gt; -
&gt; -    preferredSize = length;
&gt; -    return true;
&gt; +    return false;

I think this causes a behavior change.
Would you add a test case for the following to fast/forms/number/input-number-size.html please?
    shouldBe(&apos;numberWidth(123456, 123456, 0.0000005)&apos;, &apos;textWidthPlusSpinButtonWidth(14)&apos;);

&gt; Source/WebCore/html/StepRange.cpp:169
&gt; +    if (!isfinite(doubleValue))
&gt; +        return Decimal::nan();
&gt; +
&gt; +    NumberToStringBuffer buffer;
&gt; +    return Decimal::fromString(numberToString(doubleValue, buffer));

Decimal class should have this implementation.
Do we need to handle infinity? If not, we should have a comment and an assertion.

&gt; Source/WebCore/html/StepRange.cpp:179
&gt; +    if (!decimalValue.isFinite())
&gt; +        return std::numeric_limits&lt;double&gt;::quiet_NaN();
&gt; +
&gt; +    bool valid;
&gt; +    const double doubleValue = decimalValue.toString().toDouble(&amp;valid);
&gt; +    return valid ? doubleValue : std::numeric_limits&lt;double&gt;::quiet_NaN();

ditto.

&gt; Source/WebCore/html/StepRange.h:38
&gt; +// FIXME: We should rename InputNumber to Decimal in all places.
&gt; +typedef Decimal InputNumber;
&gt; +InputNumber convertDoubleToInputNumber(double);
&gt; +double convertInputNumberToDouble(const InputNumber&amp;);
&gt;  

Please introduce isnan(const Decimal&amp;) and isfinite(const Decimal&amp;) to reduce the patch size.

&gt; Source/WebCore/html/StepRange.h:129
&gt; +    InputNumber roundByStep(const InputNumber&amp; value, const InputNumber&amp; base) const
&gt; +    {
&gt; +        return base + ((value - base) / m_step).round() * m_step;
&gt; +    }
&gt; +

nit: we had better add this function before this patch.

&gt; Source/WebCore/html/parser/HTMLParserIdioms.cpp:94
&gt; +    const uint64_t leadingDigitsOf2Power1024 = UINT64_C(17976931348623159);
&gt; +    DEFINE_STATIC_LOCAL(const Decimal, htmlMax, (Decimal::Positive, 292, leadingDigitsOf2Power1024));
&gt; +    DEFINE_STATIC_LOCAL(const Decimal, htmlMin, (Decimal::Negative, 292, leadingDigitsOf2Power1024));

Could you explain why 17976931348623159E+292 ? Is it compatible with parseToDoubelForNumberType() below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642213</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-05 23:17:45 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/html/NumberInputType.cpp:96
&gt; &gt; -    const double floatMax = convertDoubleToInputNumber(numeric_limits&lt;float&gt;::max());
&gt; &gt; +    const double floatMax = numeric_limits&lt;float&gt;::max();
&gt; &gt;      if (newValue &lt; -floatMax) {
&gt; 
&gt; nit: we had better add this function before this patch.

correction: nit: we had better change it before this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642220</commentid>
    <comment_count>5</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-06-05 23:35:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/html/StepRange.h:129
&gt; &gt; +    InputNumber roundByStep(const InputNumber&amp; value, const InputNumber&amp; base) const
&gt; &gt; +    {
&gt; &gt; +        return base + ((value - base) / m_step).round() * m_step;
&gt; &gt; +    }
&gt; &gt; +
&gt; 
&gt; nit: we had better add this function before this patch.

Before using Decimal, one has scale and another is above. So, we can share code after Decimal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642236</commentid>
    <comment_count>6</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-06-06 00:03:07 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; &gt; Source/WebCore/html/StepRange.h:129
&gt; &gt; &gt; +    InputNumber roundByStep(const InputNumber&amp; value, const InputNumber&amp; base) const
&gt; &gt; &gt; +    {
&gt; &gt; &gt; +        return base + ((value - base) / m_step).round() * m_step;
&gt; &gt; &gt; +    }
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; nit: we had better add this function before this patch.
&gt; 
&gt; Before using Decimal, one has scale and another is above. So, we can share code after Decimal.

It seems passing &quot;scale&quot; as parameter can reduce size of patch. I&apos;ll try it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643365</commentid>
    <comment_count>7</comment_count>
      <attachid>146240</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-07 02:54:20 -0700</bug_when>
    <thetext>Created attachment 146240
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643366</commentid>
    <comment_count>8</comment_count>
      <attachid>146241</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-07 03:03:48 -0700</bug_when>
    <thetext>Created attachment 146241
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643373</commentid>
    <comment_count>9</comment_count>
      <attachid>146242</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-07 03:18:07 -0700</bug_when>
    <thetext>Created attachment 146242
Patch 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643383</commentid>
    <comment_count>10</comment_count>
      <attachid>146242</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-07 03:33:17 -0700</bug_when>
    <thetext>Comment on attachment 146242
Patch 4

Could you review this patch?
Thanks in advance.

* Changes are
** NumericInputType::sizeShouldIncludeDecoration
* convertDecimalToDouble
* convertDoubleToDecimal
* Local build with enabling all INPUT_TYPE
* GTK build failure is caused by previous build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644301</commentid>
    <comment_count>11</comment_count>
      <attachid>146242</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-07 21:33:56 -0700</bug_when>
    <thetext>Comment on attachment 146242
Patch 4

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

Almost ok

&gt; Source/WebCore/html/NumberInputType.cpp:215
&gt; +    return value.isFinite() ? serializeForNumberType(value) : emptyString();

emptyString() should be String().  Do not change the function behavior though it might have no side-effect.

&gt; Source/WebCore/html/RangeInputType.cpp:223
&gt; +    return value.isFinite() ? serializeForNumberType(value) : emptyString();

ditto.

&gt; Source/WebCore/html/StepRange.h:49
&gt; +    struct DecimalOrMissing {

Can you remove DecimalOrMissing by representing the missing state with Decimal::nan()?

&gt; Source/WebCore/html/parser/HTMLParserIdioms.cpp:65
&gt; +        // Decimal::toString append exponent, e.g. &quot;0e-18&quot;

append -&gt; appends</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644486</commentid>
    <comment_count>12</comment_count>
      <attachid>146508</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-08 01:57:27 -0700</bug_when>
    <thetext>Created attachment 146508
Patch 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644519</commentid>
    <comment_count>13</comment_count>
      <attachid>146522</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-08 02:37:24 -0700</bug_when>
    <thetext>Created attachment 146522
Patch 6 - Update ChnageLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644520</commentid>
    <comment_count>14</comment_count>
      <attachid>146522</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-08 02:42:36 -0700</bug_when>
    <thetext>Comment on attachment 146522
Patch 6 - Update ChnageLog

Could you review this patch?
Thanks in advance.

* Patch 6 changes emptyString() =&gt; String() and NumberWithDecimalPlaces =&gt; InputNumber
* Patch 6 changes ChangeLog only from Patch 5.
* Local build on CR-Linux with enabling all input type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644523</commentid>
    <comment_count>15</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-06-08 02:44:41 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 146522 [details])
&gt; Could you review this patch?
&gt; Thanks in advance.
&gt; 
&gt; * Patch 6 changes emptyString() =&gt; String() and NumberWithDecimalPlaces =&gt; InputNumber
&gt; * Patch 6 changes ChangeLog only from Patch 5.
&gt; * Local build on CR-Linux with enabling all input type

Patch 6 also changes comment in Source/WebCore/html/parser/HTMLParserIdioms.cpp as pointed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644538</commentid>
    <comment_count>16</comment_count>
      <attachid>146522</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-08 03:06:16 -0700</bug_when>
    <thetext>Comment on attachment 146522
Patch 6 - Update ChnageLog

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

&gt; Source/WebCore/ChangeLog:73
&gt; +        (WebCore::StepRange::roundByStep): Added for sharing code.

Looks false.

&gt; Source/WebCore/html/NumberInputType.cpp:215
&gt; -    if (!isfinite(value))
&gt; -        return String();
&gt; -    return serializeForNumberType(value);
&gt; +    return value.isFinite() ? serializeForNumberType(value) : String();

You could reduce the patch size if you didn&apos;t change &apos;if&apos; to a ternary operator.

&gt; Source/WebCore/html/RangeInputType.cpp:223
&gt; -    if (!isfinite(value))
&gt; -        return String();
&gt; -    return serializeForNumberType(value);
&gt; +    return value.isFinite() ? serializeForNumberType(value) : String();

You could reduce the patch size if you didn&apos;t change &apos;if&apos; to a ternary operator.

&gt; Source/WebCore/html/StepRange.cpp:27
&gt; +#include &lt;wtf/dtoa.h&gt;

Is it needed?

&gt; Source/WebCore/html/StepRange.cpp:-30
&gt; -using namespace std;
&gt; -

Is this change needed now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644586</commentid>
    <comment_count>17</comment_count>
      <attachid>146542</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-08 05:17:26 -0700</bug_when>
    <thetext>Created attachment 146542
Patch 7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644593</commentid>
    <comment_count>18</comment_count>
      <attachid>146542</attachid>
    <who name="">yosin</who>
    <bug_when>2012-06-08 05:35:54 -0700</bug_when>
    <thetext>Comment on attachment 146542
Patch 7

Could you review this patch?
Thanks in advance.

* Changes according to review comments
* Local build on CR-Linux with enable all input types
* Patch size is decreased 1KB then 67KB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645656</commentid>
    <comment_count>19</comment_count>
      <attachid>146542</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-10 18:03:56 -0700</bug_when>
    <thetext>Comment on attachment 146542
Patch 7

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645669</commentid>
    <comment_count>20</comment_count>
      <attachid>146542</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-10 19:30:58 -0700</bug_when>
    <thetext>Comment on attachment 146542
Patch 7

Clearing flags on attachment: 146542

Committed r119948: &lt;http://trac.webkit.org/changeset/119948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645670</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-10 19:31:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145929</attachid>
            <date>2012-06-05 21:25:06 -0700</date>
            <delta_ts>2012-06-07 02:54:14 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-88383-20120606132505.patch</filename>
            <type>text/plain</type>
            <size>73112</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RhZTUyMWFjOTI1ZGRj
N2I2NjI2ZTE3NjVhZTAxN2JhN2VjNjhiOS4uNWJlMzcyOWU4OTIwNzVlNjkzNjdlYWIxYWU4NmUz
ZDdkMzYyYzU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDkxIEBACiAyMDEyLTA2LTA1ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgdG8gRGVjaW1hbE9yTWlzc2luZy4KKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwvSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cp
OiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAg
ICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6dmFs
aWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cGFy
c2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFw
cGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAo
SW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2ltYXBsUGxhY2VzLgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFkanVzdG1lbnRzIGZvciBEZWNpbWFs
IHR5cGUoVGhpcyBjaGFuZ2UgY291bGQgYmUgaW4gcHJldmlvdXMgcGF0Y2gpLgorICAgICAgICAo
V2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERl
Y2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1vbnRoSW5wdXRUeXBlOjpwYXJzZVRvTnVt
YmVyKTogQWRqdXN0bWVudHMgZm9yIERlY2ltYWwgdHlwZShUaGlzIGNoYW5nZSBjb3VsZCBiZSBp
biBwcmV2aW91cyBwYXRjaCkuCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBUaGlzIGZ1bmN0
aW9uIHJlcGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAgIChXZWJDb3Jl
OjpOdW1iZXJJbnB1dFR5cGU6OnNldFZhbHVlQXNEb3VibGUpOiBSZW1vdmVkIGVycm9ybm91cyBj
YWxsIG9mIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6TnVt
YmVySW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUu
CisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVj
b3JhdGlvbik6IENoYW5nZWQgdG8gdXNlIGNhbGN1bGF0ZVJlbmRlclNpemUuCisgICAgICAgIChX
ZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXIpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6
IGRpdHRvLgorICAgICAgICAqIGh0bWwvTnVtYmVySW5wdXRUeXBlLmg6CisgICAgICAgIChOdW1i
ZXJJbnB1dFR5cGUpOiBSZW1vdmVkIHBhcnNlVG9OdW1iZXJXSXRoRGVjaW1hcGxQbGFjZXMuCisg
ICAgICAgICogaHRtbC9SYW5nZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYW5n
ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlLgor
ICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudCk6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXIpOiBk
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUpOiBkaXR0
by4KKyAgICAgICAgKiBodG1sL1N0ZXBSYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGVw
UmFuZ2U6OlN0ZXBSYW5nZSk6IFJlbW92ZWQgZGVjaW1hbCBwbGFjZXMgYW5kIGNoYW5nZWQgZm9y
IERlY2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6YWNjZXB0YWJsZUVy
cm9yKTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJh
bmdlOjphbGlnblZhbHVlRm9yU3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJh
bmdlOjpjbGFtcFZhbHVlKTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlIGFuZCBzdGQ6Om1pbi9t
YXguCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFuZ2U6OnBhcnNlU3RlcCk6IENoYW5nZWQgZm9y
IERlY2ltYWwgdHlwZSBhbmQgcmVtb3ZlZCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcy4KKyAgICAg
ICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6c3RlcE1pc21hdGNoKTogQ2hhbmdlZCBmb3IgRGVjaW1h
bCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydERvdWJsZVRvSW5wdXROdW1iZXIpOiBD
aGFuZ2VkIHRvIHJlYWwgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0
SW5wdXROdW1iZXJUb0RvdWJsZSk6ICBDaGFuZ2VkIHRvIHJlYWwgaW1wbGVtZW50YXRpb24uCisg
ICAgICAgICogaHRtbC9TdGVwUmFuZ2UuaDoKKyAgICAgICAgKERlY2ltYWxPck1pc3NpbmcpOiBS
ZXBsYWNlbWVudCBvZiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZy4KKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZzo6RGVjaW1hbE9yTWlzc2luZyk6
CisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFuZ2U6OnJvdW5kQnlTdGVwKTogQWRkZWQgZm9yIHNo
YXJpbmcgY29kZS4KKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGltZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogQ2hhbmdlZCBmb3IgRGVj
aW1hbCB0eXBlLgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWVrSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemVGb3JOdW1iZXJUeXBlKTogQWRkZWQgRGVjaW1hbCB2
ZXJzaW9uLgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKTog
QWRkZWQuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oOiBVcGRhdGVk
IGNvbW1lbnRzIGZvciBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZS4KKyAgICAgICAgKiBodG1s
L3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2xpZGVy
UG9zaXRpb24pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisKKzIwMTItMDYtMDUgIFlvc2hp
ZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbRm9ybXNdIEludHJv
ZHVjZSBJbnB1dE51bWJlciB0eXBlIGFzIGFuIGFsaWFzIG9mIGRvdWJsZSBmb3IgcmVwbGFjaW5n
IGl0IHRvIERlY2ltYWwKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg4Mjc1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcAppbmRleCA4NTI4NDEyNTliMDFiYzI0MGEzM2M3ZmRkZjMyMTIwNTQwNzU5
YTk0Li5jNzY2MTk0NTIyNzg5Y2IxYjQ0NmQ0YTI2ZGIwNzA1ZDFhMzJlZWNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xMzYs
NyArMTM2LDcgQEAgYm9vbCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29t
cG9uZW50cyhjb25zdCBTdHJpbmcmIHNvdXJjZSwgRGF0ZUMKIAogU3RyaW5nIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6c2VyaWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QK
IHsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKKyAgICBpZiAoIXZhbHVlLmlzRmluaXRlKCkp
CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBEYXRlQ29tcG9uZW50cyBkYXRlOwogICAg
IGlmICghc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGNvbnZlcnRJbnB1dE51bWJlclRv
RG91YmxlKHZhbHVlKSwgJmRhdGUpKQpAQCAtMTQ2LDEyICsxNDYsMTIgQEAgU3RyaW5nIEJhc2VE
YXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkg
Y29uc3QKIAogU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUpIGNvbnN0CiB7Ci0gICAgZG91Ymxl
IHN0ZXA7CisgICAgSW5wdXROdW1iZXIgc3RlcDsKICAgICBpZiAoIWVsZW1lbnQoKS0+Z2V0QWxs
b3dlZFZhbHVlU3RlcCgmc3RlcCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKCk7Ci0g
ICAgaWYgKCFmbW9kKHN0ZXAsIG1zZWNQZXJNaW51dGUpKQorICAgIGlmIChzdGVwLnJlbWFpbmRl
cihtc2VjUGVyTWludXRlKS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmco
RGF0ZUNvbXBvbmVudHM6Ok5vbmUpOwotICAgIGlmICghZm1vZChzdGVwLCBtc2VjUGVyU2Vjb25k
KSkKKyAgICBpZiAoc3RlcC5yZW1haW5kZXIobXNlY1BlclNlY29uZCkuaXNaZXJvKCkpCiAgICAg
ICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRzOjpTZWNvbmQpOwogICAgIHJl
dHVybiBkYXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRzOjpNaWxsaXNlY29uZCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAppbmRleCA4MjkzMmI1YmQ3MzgxZGNmNzRhZDFk
MWE3ZDU2N2IxYjQwN2QxMTVjLi45NWU2ZDU5YTE4YmEzMTA3MzI3NWMxMDNmYjU4Mjc2YzQyM2Y4
MDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKQEAgLTc2LDcgKzc2LDcg
QEAgU3RlcFJhbmdlIERhdGVJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxp
bmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNl
ID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDAp
OwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIo
RGF0ZUNvbXBvbmVudHM6Om1pbmltdW1EYXRlKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBt
YXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0
ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0
ZSgpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBz
dGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRp
b24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0ZXBSYW5n
ZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhh
bmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVw
QXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0s
IHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5jcHAKaW5kZXggYzljNzRjNjFhOTllNTcwM2IwZDgyMDgyOWNiZmM3ZTA1OTkw
NjBmOC4uNmIwNGJkMDgwYjZlM2E0OGVmYmUzZDFjMWU2MGI1ZDViYTI0MTJlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgU3Rl
cFJhbmdlIERhdGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZykgY28KICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBh
cnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsKICAg
ICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVD
b21wb25lbnRzOjptaW5pbXVtRGF0ZVRpbWUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1h
eGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRy
KSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1EYXRl
VGltZSgpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2lu
ZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3Jp
cHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0ZXBS
YW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3Rl
cEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShz
dGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGlt
dW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCmluZGV4IDIzNjBmZjFkNzkxODg4ODEzZTg2ZTA1
MzliODQ1N2YxYjZlZDU5YjEuLjQ2NzVjMzA4Yjk5MzgzOTE4YTIyZGQ3MDA5NDUxYmE4Nzk2MzI2
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNw
cApAQCAtODAsNyArODAsNyBAQCBTdGVwUmFuZ2UgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Y3Jl
YXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbgogICAgIGNvbnN0IElu
cHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRy
aWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJz
ZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERv
dWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1EYXRlVGltZSgpKSk7CiAg
ICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRl
Q29tcG9uZW50czo6bWF4aW11bURhdGVUaW1lKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldp
dGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlT
dGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KHN0ZXBBdHRyKSk7CisgICAgU3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVw
UmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVu
dCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShz
dGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IGQzNjQ4MWU0MmU4OTg4NzUyYjhmZDJiYTk1
NWZjMGVmZGQ0YzYzZGMuLjliYjYwMjk2YzhlZjYyNDlhNmFkMGYyNjUwMzA5YTAxODkxYjk2MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1Nyw3ICsyNTcsNyBAQCBib29sIElu
cHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0g
cGFyc2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkK
KyAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICByZXR1cm4gbnVtZXJpY1ZhbHVlIDwgY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSku
bWluaW11bSgpOwpAQCAtMjY5LDcgKzI2OSw3IEBAIGJvb2wgSW5wdXRUeXBlOjpyYW5nZU92ZXJm
bG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2
YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFs
dWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG51bWVy
aWNWYWx1ZSA+IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1heGltdW0oKTsKQEAgLTI4Miwx
MiArMjgyLDEyIEBAIElucHV0TnVtYmVyIElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkgY29uc3QKIAogZG91YmxlIElucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1pbmltdW0oKTsKKyAgICByZXR1cm4gY29u
dmVydElucHV0TnVtYmVyVG9Eb3VibGUoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkubWluaW11
bSgpKTsKIH0KIAogZG91YmxlIElucHV0VHlwZTo6bWF4aW11bSgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1heGltdW0oKTsKKyAgICByZXR1cm4gY29u
dmVydElucHV0TnVtYmVyVG9Eb3VibGUoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkubWF4aW11
bSgpKTsKIH0KIAogYm9vbCBJbnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihp
bnQsIGludCYgcHJlZmVycmVkU2l6ZSkgY29uc3QKQEAgLTMwMiw3ICszMDIsNyBAQCBib29sIElu
cHV0VHlwZTo6aXNJblJhbmdlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNl
VG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAg
aWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAg
ICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKQEAgLTMx
NSw3ICszMTUsNyBAQCBib29sIElucHV0VHlwZTo6aXNPdXRPZlJhbmdlKGNvbnN0IFN0cmluZyYg
dmFsdWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVt
YmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlz
bmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBS
YW5nZShSZWplY3RBbnkpKTsKQEAgLTMyOCw3ICszMjgsNyBAQCBib29sIElucHV0VHlwZTo6c3Rl
cE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJP
ck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1l
cmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJu
IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLnN0ZXBNaXNtYXRjaChudW1lcmljVmFsdWUpOwpA
QCAtMzY2LDcgKzM2Niw3IEBAIFN0cmluZyBJbnB1dFR5cGU6OnZhbGlkYXRpb25NZXNzYWdlKCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICBjb25zdCBJbnB1dE51
bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChp
c25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAg
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShj
cmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC00NjYsMTQgKzQ2Niw3IEBAIElucHV0TnVt
YmVyIElucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51
bWJlciYgZGVmYXVsdFZhCiAKIElucHV0TnVtYmVyIElucHV0VHlwZTo6cGFyc2VUb051bWJlck9y
TmFOKGNvbnN0IFN0cmluZyYgc3RyaW5nKSBjb25zdAogewotICAgIHJldHVybiBwYXJzZVRvTnVt
YmVyKHN0cmluZywgbnVtZXJpY19saW1pdHM8SW5wdXROdW1iZXI+OjpxdWlldF9OYU4oKSk7Ci19
Ci0KLUlucHV0TnVtYmVyIElucHV0VHlwZTo6cGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2Vz
KGNvbnN0IFN0cmluZyYgc3JjLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlLCB1bnNp
Z25lZCAqZGVjaW1hbFBsYWNlcykgY29uc3QKLXsKLSAgICBpZiAoZGVjaW1hbFBsYWNlcykKLSAg
ICAgICAgKmRlY2ltYWxQbGFjZXMgPSAwOwotICAgIHJldHVybiBwYXJzZVRvTnVtYmVyKHNyYywg
ZGVmYXVsdFZhbHVlKTsKKyAgICByZXR1cm4gcGFyc2VUb051bWJlcihzdHJpbmcsIERlY2ltYWw6
Om5hbigpKTsKIH0KIAogYm9vbCBJbnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhjb25z
dCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0CkBAIC04ODYsMTUgKzg3OSwxMyBAQCB2
b2lkIElucHV0VHlwZTo6YXBwbHlTdGVwKGludCBjb3VudCwgQW55U3RlcEhhbmRsaW5nIGFueVN0
ZXBIYW5kbGluZywgVGV4dEZpZWxkRQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY29u
c3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwotICAg
IHVuc2lnbmVkIGN1cnJlbnREZWNpbWFsUGxhY2VzOwotICAgIGNvbnN0IElucHV0TnVtYmVyIGN1
cnJlbnQgPSBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoZWxlbWVudCgpLT52YWx1ZSgp
LCBuYW4sICZjdXJyZW50RGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50
KSkgeworICAgIGNvbnN0IElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJzZVRvTnVtYmVyT3JOYU4o
ZWxlbWVudCgpLT52YWx1ZSgpKTsKKyAgICBpZiAoIWN1cnJlbnQuaXNGaW5pdGUoKSkgewogICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IElucHV0TnVtYmVyIG5ld1ZhbHVlID0gY3VycmVudCArIHN0ZXBSYW5nZS5zdGVwKCkgKiBjb3Vu
dDsKLSAgICBpZiAoaXNpbmYobmV3VmFsdWUpKSB7CisgICAgaWYgKCFuZXdWYWx1ZS5pc0Zpbml0
ZSgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC05MDksNyArOTAwLDcgQEAgdm9pZCBJbnB1dFR5cGU6OmFwcGx5U3RlcChpbnQg
Y291bnQsIEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIFRleHRGaWVsZEUKIAogICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc3RlcFN0cmluZyA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShzdGVwQXR0cik7CiAgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2FzZShzdGVwU3RyaW5nLCAi
YW55IikpCi0gICAgICAgIG5ld1ZhbHVlID0gc3RlcFJhbmdlLmFsaWduVmFsdWVGb3JTdGVwKGN1
cnJlbnQsIGN1cnJlbnREZWNpbWFsUGxhY2VzLCBuZXdWYWx1ZSk7CisgICAgICAgIG5ld1ZhbHVl
ID0gc3RlcFJhbmdlLmFsaWduVmFsdWVGb3JTdGVwKGN1cnJlbnQsIG5ld1ZhbHVlKTsKIAogICAg
IGlmIChuZXdWYWx1ZSAtIHN0ZXBSYW5nZS5tYXhpbXVtKCkgPiBhY2NlcHRhYmxlRXJyb3JWYWx1
ZSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwpAQCAtMTAwOSw3ICsxMDAwLDcg
QEAgdm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKIAogICAgIFN0cmlu
ZyBjdXJyZW50U3RyaW5nVmFsdWUgPSBlbGVtZW50KCktPnZhbHVlKCk7CiAgICAgSW5wdXROdW1i
ZXIgY3VycmVudCA9IHBhcnNlVG9OdW1iZXJPck5hTihjdXJyZW50U3RyaW5nVmFsdWUpOwotICAg
IGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICBpZiAoIWN1cnJlbnQuaXNGaW5pdGUoKSkg
ewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgICAgICBjdXJyZW50ID0gZGVmYXVsdFZh
bHVlRm9yU3RlcFVwKCk7CiAgICAgICAgIGNvbnN0IElucHV0TnVtYmVyIG5leHREaWZmID0gc3Rl
cCAqIG47CkBAIC0xMDI1LDE1ICsxMDE2LDEzIEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIoaW50IG4pCiAgICAgfSBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsK
ICAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChlbGVtZW50KCktPnZhbHVlKCkpKSB7Ci0gICAgICAg
ICAgICBBU1NFUlQoc3RlcCk7Ci0gICAgICAgICAgICBjb25zdCBJbnB1dE51bWJlciBzY2FsZSA9
IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJlcj4obWF4KHN0ZXBSYW5nZS5zdGVwRGVj
aW1hbFBsYWNlcygpLCBzdGVwUmFuZ2Uuc3RlcEJhc2VEZWNpbWFsUGxhY2VzKCkpKSk7Ci0gICAg
ICAgICAgICBjb25zdCBJbnB1dE51bWJlciBiYXNlID0gc3RlcFJhbmdlLnN0ZXBCYXNlKCk7Ci0K
LSAgICAgICAgICAgIElucHV0TnVtYmVyIG5ld1ZhbHVlOworICAgICAgICAgICAgQVNTRVJUKCFz
dGVwLmlzWmVybygpKTsKKyAgICAgICAgICAgIGNvbnN0IERlY2ltYWwgYmFzZSA9IHN0ZXBSYW5n
ZS5zdGVwQmFzZSgpOworICAgICAgICAgICAgRGVjaW1hbCBuZXdWYWx1ZTsKICAgICAgICAgICAg
IGlmIChzaWduIDwgMCkKLSAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsg
Zmxvb3IoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsK
KyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGJhc2UgKyAoKGN1cnJlbnQgLSBiYXNlKSAvIHN0
ZXApLmZsb29yKCkgKiBzdGVwOwogICAgICAgICAgICAgZWxzZSBpZiAoc2lnbiA+IDApCi0gICAg
ICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNl
KSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAgICAgICAgICBuZXdW
YWx1ZSA9IGJhc2UgKyAoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApLmNlaWxpbmcoKSAqIHN0ZXA7
CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBjdXJyZW50Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA3NmViZDQ4NjQ3ODNjNGNlM2UxMDhlOTM4OTA2
MjM2NjA0MTFjMDVjLi5iNmI5Yjc4ODIyYWRkNzUwNWRmYmM3ZmFmZGJiMzI3YjI5MzdhMDJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTI2NiwxMSArMjY2LDYgQEAgcHVibGljOgogICAg
IC8vIHJldHVybiBOYU4gb3IgSW5maW5pdHkgb25seSBpZiBkZWZhdWx0VmFsdWUgaXMgTmFOIG9y
IEluZmluaXR5LgogICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJlcihjb25zdCBT
dHJpbmcmLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25zdDsKIAotICAgIC8v
IFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBmb3IgdGhlIHR5cGUgYXMgcGFyc2VUb051bWJl
cigpIGRvZXMuCi0gICAgLy8gSW4gYWRkaXRpb24sIGl0IHN0b3JlcyB0aGUgbnVtYmVyIG9mIGRp
Z2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludAotICAgIC8vIGludG8gKmRlY2ltYWxQbGFjZXMu
Ci0gICAgdmlydHVhbCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMo
Y29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQq
IGRlY2ltYWxQbGFjZXMpIGNvbnN0OwotCiAgICAgLy8gUGFyc2VzIHRoZSBzcGVjaWZpZWQgc3Ry
aW5nIGZvciB0aGlzIElucHV0VHlwZSwgYW5kIHJldHVybnMgdHJ1ZSBpZiBpdAogICAgIC8vIGlz
IHN1Y2Nlc3NmdWxseSBwYXJzZWQuIEFuIGluc3RhbmNlIHBvaW50ZWQgYnkgdGhlIERhdGVDb21w
b25lbnRzKgogICAgIC8vIHBhcmFtZXRlciB3aWxsIGhhdmUgcGFyc2VkIHZhbHVlcyBhbmQgYmUg
bW9kaWZpZWQgZXZlbiBpZiB0aGUgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmNwcAppbmRleCA0YjdjZDM3NDUwM2ExNTA2OTNiNjg3ZDk1NjJkM2NmM2JhOTJiZTkzLi44
OTYzZDgzOWRiOWIyMjc0ODBiM2FlZDNhNzQ0MzBkOGFjOWY3NmRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01vbnRoSW5wdXRUeXBlLmNwcApAQCAtOTQsNyArOTQsNyBAQCBJbnB1dE51bWJlciBNb250
aElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKICAgICBkYXRlLnNldE1p
bGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKICAgICBkb3VibGUgbW9udGhz
ID0gZGF0ZS5tb250aHNTaW5jZUVwb2NoKCk7CiAgICAgQVNTRVJUKGlzZmluaXRlKG1vbnRocykp
OwotICAgIHJldHVybiBtb250aHM7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVt
YmVyKG1vbnRocyk7CiB9CiAKIFN0ZXBSYW5nZSBNb250aElucHV0VHlwZTo6Y3JlYXRlU3RlcFJh
bmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CkBAIC0xMDQsNyArMTA0
LDcgQEAgU3RlcFJhbmdlIE1vbnRoSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhh
bmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVw
QmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRo
KCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVt
YmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSkpOwogICAgIGNvbnN0IElucHV0TnVt
YmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZSht
YXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGlt
dW1Nb250aCgpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlz
c2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVz
Y3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0
ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55
U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1h
eGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKQEAgLTExNSw3ICsxMTUsNyBAQCBJ
bnB1dE51bWJlciBNb250aElucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmIHNy
YywgY29uc3QgSW5wdXROdW1iZXImCiAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CiAgICAg
ZG91YmxlIG1vbnRocyA9IGRhdGUubW9udGhzU2luY2VFcG9jaCgpOwogICAgIEFTU0VSVChpc2Zp
bml0ZShtb250aHMpKTsKLSAgICByZXR1cm4gbW9udGhzOworICAgIHJldHVybiBjb252ZXJ0RG91
YmxlVG9JbnB1dE51bWJlcihtb250aHMpOwogfQogCiBib29sIE1vbnRoSW5wdXRUeXBlOjpwYXJz
ZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5hbChjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWdu
ZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyogb3V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9O
dW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDZjMjFiMzlkMWFiZDBkNjE4ODJmNDBkNDlkZGMwMTgy
MDA1NDVlYzYuLjlhYWU3YmY3NGRmY2YyNTdiMDI1YWJiYmE1NWFhZmNjYzU0MjVkZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTU0LDE5ICs1NCwyNCBAQCBz
dGF0aWMgY29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQg
bnVtYmVyRGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyU3RlcFNj
YWxlRmFjdG9yID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0aEJlZm9yZURlY2ltYWxQb2lu
dChkb3VibGUgdmFsdWUpCitzdGF0aWMgdW5zaWduZWQgY2FsY3VsYXRlUmVuZGVyU2l6ZShjb25z
dCBEZWNpbWFsJiB2YWx1ZSkKIHsKLSAgICAvLyBJZiB2YWx1ZSBpcyBuZWdhdGl2ZSwgJy0nIHNo
b3VsZCBiZSBjb3VudGVkLgotCi0gICAgZG91YmxlIGFic29sdXRlVmFsdWUgPSBmYWJzKHZhbHVl
KTsKLSAgICBpZiAoYWJzb2x1dGVWYWx1ZSA8IDEpCi0gICAgICAgIHJldHVybiB2YWx1ZSA8IDAg
PyAyIDogMTsKLQotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihs
b2cxMChmbG9vcihhYnNvbHV0ZVZhbHVlKSkpICsgMTsKLSAgICBpZiAodmFsdWUgPCAwKQotICAg
ICAgICBsZW5ndGggKz0gMTsKKyAgICBBU1NFUlQodmFsdWUuaXNGaW5pdGUoKSk7CisgICAgY29u
c3QgdW5zaWduZWQgZGlnaXRzU2l6ZSA9IFN0cmluZzo6bnVtYmVyKHZhbHVlLnZhbHVlKCkuY29l
ZmZpY2llbnQoKSkubGVuZ3RoKCk7CisgICAgY29uc3QgdW5zaWduZWQgc2lnblNpemUgPSB2YWx1
ZS5pc05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBpZiAoIXZhbHVlLmV4cG9uZW50KCkpCisgICAg
ICAgIHJldHVybiBzaWduU2l6ZSArIGRpZ2l0c1NpemU7CisgICAgY29uc3QgaW50IGFkanVzdGVk
RXhwb25lbnQgPSB2YWx1ZS5leHBvbmVudCgpICsgZGlnaXRzU2l6ZSAtIDE7CisgICAgaWYgKGFk
anVzdGVkRXhwb25lbnQgPj0gMCkgeworICAgICAgICAvLyBJbiBjYXNlIG9mICIxMjMuNDU2Igor
ICAgICAgICBjb25zdCB1bnNpZ25lZCBkb3RTaXplID0gMTsKKyAgICAgICAgcmV0dXJuIHNpZ25T
aXplICsgZGlnaXRzU2l6ZSArIGRvdFNpemU7CisgICAgfQogCi0gICAgcmV0dXJuIGxlbmd0aDsK
KyAgICAvLyBJbiBjYXNlIG9mICIwLjAwMDEyMzQ1IgorICAgIGNvbnN0IHVuc2lnbmVkIGxlYWRp
bmdaZXJvQW5kRG90ID0gMjsKKyAgICBjb25zdCB1bnNpZ25lZCBudW1iZXJPZlplcm9BZnRlckRv
dCA9IC1hZGp1c3RlZEV4cG9uZW50IC0gMTsKKyAgICByZXR1cm4gc2lnblNpemUgKyBsZWFkaW5n
WmVyb0FuZERvdCArIG51bWJlck9mWmVyb0FmdGVyRG90ICsgZGlnaXRzU2l6ZTsKIH0KIAogUGFz
c093blB0cjxJbnB1dFR5cGU+IE51bWJlcklucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1l
bnQqIGVsZW1lbnQpCkBAIC04Nyw3ICs5Miw3IEBAIGRvdWJsZSBOdW1iZXJJbnB1dFR5cGU6OnZh
bHVlQXNEb3VibGUoKSBjb25zdAogdm9pZCBOdW1iZXJJbnB1dFR5cGU6OnNldFZhbHVlQXNEb3Vi
bGUoZG91YmxlIG5ld1ZhbHVlLCBUZXh0RmllbGRFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3Is
IEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNl
IG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0IHR5cGUuCi0gICAg
Y29uc3QgZG91YmxlIGZsb2F0TWF4ID0gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIobnVtZXJp
Y19saW1pdHM8ZmxvYXQ+OjptYXgoKSk7CisgICAgY29uc3QgZG91YmxlIGZsb2F0TWF4ID0gbnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKTsKICAgICBpZiAobmV3VmFsdWUgPCAtZmxvYXRNYXgp
IHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwpAQCAt
MTI4LDE3ICsxMzMsMTIgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5cGVNaXNtYXRjaCgpIGNv
bnN0CiBTdGVwUmFuZ2UgTnVtYmVySW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhh
bmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IFN0ZXBSYW5nZTo6U3RlcERlc2NyaXB0aW9uLCBzdGVwRGVzY3JpcHRpb24sIChudW1i
ZXJEZWZhdWx0U3RlcCwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCBudW1iZXJTdGVwU2NhbGVGYWN0
b3IpKTsKLQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNlczsKLSAgICBjb25zdCBJ
bnB1dE51bWJlciBzdGVwQmFzZVZhbHVlID0gcGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2Vz
KGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgbnVtYmVyRGVmYXVsdFN0ZXBC
YXNlLCAmc3RlcEJhc2VEZWNpbWFsUGxhY2VzKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhE
ZWNpbWFsUGxhY2VzIHN0ZXBCYXNlKHN0ZXBCYXNlVmFsdWUsIG1pbihzdGVwQmFzZURlY2ltYWxQ
bGFjZXMsIDE2dSkpOwotCisgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJzZVRv
RGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIp
LCBudW1iZXJEZWZhdWx0U3RlcEJhc2UpOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIG51
bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0IHR5cGUuCiAgICAgY29u
c3QgSW5wdXROdW1iZXIgZmxvYXRNYXggPSBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihudW1l
cmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVt
ID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIC1m
bG9hdE1heCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIo
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBmbG9hdE1heCk7Ci0KLSAgICBT
dGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFu
Z2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3QgU3RlcFJhbmdlOjpEZWNp
bWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcs
IHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7
CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwg
c3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQ2LDQ3ICsxNDYsMTkgQEAgYm9vbCBOdW1iZXJJ
bnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQgZGVmYXVsdFNpemUsIGlu
dCYgcHJlZmVycmUKIHsKICAgICBwcmVmZXJyZWRTaXplID0gZGVmYXVsdFNpemU7CiAKLSAgICB1
bnNpZ25lZCBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1pblZhbHVlID0gZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpOwotICAgIGRvdWJsZSBtaW5WYWx1ZURv
dWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWluVmFs
dWUsICZtaW5WYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWluVmFsdWVE
b3VibGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB1bnNpZ25lZCBtYXhWYWx1ZURl
Y2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1heEF0dHIpOwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3Vi
bGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZtYXhWYWx1ZURlY2lt
YWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUpKQorICAgIFN0cmlu
ZyBzdGVwU3RyaW5nID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKTsKKyAg
ICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVEb3VibGUgPCBtaW5WYWx1ZURvdWJsZSkgewot
ICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZhbHVlRG91YmxlOwotICAgICAgICBtYXhWYWx1
ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7CisgICAgY29uc3QgRGVjaW1h
bCBtaW5pbXVtID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShtaW5BdHRyKSk7CisgICAgY29uc3QgRGVjaW1hbCBtYXhpbXVtID0gcGFyc2VU
b0RlY2ltYWxGb3JOdW1iZXJUeXBlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRy
KSk7CisgICAgY29uc3QgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBl
KHN0ZXBTdHJpbmcsIDEpOworICAgIGlmIChtaW5pbXVtLmlzRmluaXRlKCkgJiYgbWF4aW11bS5p
c0Zpbml0ZSgpICYmIHN0ZXAuaXNGaW5pdGUoKSkgeworICAgICAgICBwcmVmZXJyZWRTaXplID0g
bWF4KG1heChjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0pLCBjYWxjdWxhdGVSZW5kZXJTaXpl
KG1heGltdW0pKSwgY2FsY3VsYXRlUmVuZGVyU2l6ZShzdGVwKSk7CisgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KIAotICAgIFN0cmluZyBzdGVwVmFsdWUgPSBlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUoc3RlcEF0dHIpOwotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShzdGVwVmFsdWUs
ICJhbnkiKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHVuc2lnbmVkIHN0ZXBWYWx1ZURl
Y2ltYWxQbGFjZXM7Ci0gICAgZG91YmxlIHN0ZXBWYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVG
b3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3RlcFZhbHVlLCAmc3RlcFZhbHVlRGVjaW1h
bFBsYWNlcyk7Ci0gICAgaWYgKCFpc2Zpbml0ZShzdGVwVmFsdWVEb3VibGUpKSB7Ci0gICAgICAg
IHN0ZXBWYWx1ZURvdWJsZSA9IDE7Ci0gICAgICAgIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMgPSAw
OwotICAgIH0KLQotICAgIHVuc2lnbmVkIGxlbmd0aCA9IGxlbmd0aEJlZm9yZURlY2ltYWxQb2lu
dChtaW5WYWx1ZURvdWJsZSk7Ci0gICAgbGVuZ3RoID0gbWF4KGxlbmd0aCwgbGVuZ3RoQmVmb3Jl
RGVjaW1hbFBvaW50KG1heFZhbHVlRG91YmxlKSk7Ci0gICAgbGVuZ3RoID0gbWF4KGxlbmd0aCwg
bGVuZ3RoQmVmb3JlRGVjaW1hbFBvaW50KHN0ZXBWYWx1ZURvdWJsZSkpOwotCi0gICAgdW5zaWdu
ZWQgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAg
bGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIG1h
eFZhbHVlRGVjaW1hbFBsYWNlcyk7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgo
bGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOwotCi0gICAg
Ly8gJy4nIHNob3VsZCBiZSBjb3VudGVkIGlmIHRoZSB2YWx1ZSBoYXMgZGVjaW1hbCBwbGFjZXMu
Ci0gICAgaWYgKGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50ID4gMCkKLSAgICAgICAgbGVuZ3RoICs9
IGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50ICsgMTsKLQotICAgIHByZWZlcnJlZFNpemUgPSBsZW5n
dGg7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIE51bWJl
cklucHV0VHlwZTo6aXNTdGVwcGFibGUoKSBjb25zdApAQCAtMjA4LDE5ICsxODAsMTIgQEAgdm9p
ZCBOdW1iZXJJbnB1dFR5cGU6OmhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCogZXZlbnQpCiAK
IElucHV0TnVtYmVyIE51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcm
IHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1
cm4gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUo
c3JjLCBkZWZhdWx0VmFsdWUpKTsKLX0KLQotSW5wdXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpw
YXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiBzcmMsIGNvbnN0IElu
cHV0TnVtYmVyJiBkZWZhdWx0VmFsdWUsIHVuc2lnbmVkICpkZWNpbWFsUGxhY2VzKSBjb25zdAot
ewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZVdpdGhEZWNpbWFsUGxhY2VzKHNyYywgZGVjaW1hbFBsYWNlcywgZGVmYXVsdFZh
bHVlKSk7CisgICAgcmV0dXJuIHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1
bHRWYWx1ZSk7CiB9CiAKIFN0cmluZyBOdW1iZXJJbnB1dFR5cGU6OnNlcmlhbGl6ZShjb25zdCBJ
bnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpCi0g
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gc2VyaWFsaXplRm9yTnVtYmVyVHlw
ZSh2YWx1ZSk7CisgICAgcmV0dXJuIHZhbHVlLmlzRmluaXRlKCkgPyBzZXJpYWxpemVGb3JOdW1i
ZXJUeXBlKHZhbHVlKSA6IGVtcHR5U3RyaW5nKCk7CiB9CiAKIHZvaWQgTnVtYmVySW5wdXRUeXBl
OjpoYW5kbGVCbHVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1i
ZXJJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKaW5k
ZXggYWRhZTFkMjYxZjZlMjZiZWYzNzFkMWQxY2UyMzFkMmVkMTRhYTJiOC4uYmNlZGM5NjA5OGU2
ZWY4ZmExZjQ3NDZkMDYwMmE1YzY3NzQ4ZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9OdW1iZXJJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklu
cHV0VHlwZS5oCkBAIC01Myw3ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
SW5wdXROdW1iZXIgcGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51bWJl
ciYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJl
cldpdGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiwgdW5z
aWduZWQqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemUoY29u
c3QgSW5wdXROdW1iZXImKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
Qmx1ckV2ZW50KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVWYWx1ZShj
b25zdCBTdHJpbmcmKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0
VHlwZS5jcHAKaW5kZXggYzJmNzNiZWNiNDI5NTY2YjcyN2ZmZjdjMjdiM2VmZWQwZjA5Y2FiZi4u
NDY5MjI0ODRmNjNlMGI0NWQ2MjcyYTY3Y2EyYjkyZjIxYTk0NzA5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTEwNCwxMSArMTA0LDExIEBAIFN0ZXBSYW5nZSBS
YW5nZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFu
ZGxpbmcpIGNvbnN0CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHByZWNpc2lvblZhbHVlID0g
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHByZWNpc2lvbkF0dHIpOwogICAgIGlmICghcHJl
Y2lzaW9uVmFsdWUuaXNOdWxsKCkpIHsKLSAgICAgICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyBzdGVwKDEsICFlcXVhbElnbm9yaW5nQ2FzZShwcmVjaXNpb25W
YWx1ZSwgImZsb2F0IikpOworICAgICAgICBjb25zdCBTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3Np
bmcgc3RlcCgxLCAhZXF1YWxJZ25vcmluZ0Nhc2UocHJlY2lzaW9uVmFsdWUsICJmbG9hdCIpKTsK
ICAgICAgICAgcmV0dXJuIFN0ZXBSYW5nZShtaW5pbXVtLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVw
LCBzdGVwRGVzY3JpcHRpb24pOwogICAgIH0KIAotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERl
Y2ltYWxQbGFjZXNPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBI
YW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3Rl
cEF0dHIpKTsKKyAgICBTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5n
ZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKG1pbmlt
dW0sIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKQEAgLTE0
Miw3ICsxNDIsNyBAQCB2b2lkIFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoS2V5
Ym9hcmRFdmVudCogZXZlbnQpCiAgICAgY29uc3QgU3RyaW5nJiBrZXkgPSBldmVudC0+a2V5SWRl
bnRpZmllcigpOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgY3VycmVudCA9IHBhcnNlVG9OdW1i
ZXJPck5hTihlbGVtZW50KCktPnZhbHVlKCkpOwotICAgIEFTU0VSVChpc2Zpbml0ZShjdXJyZW50
KSk7CisgICAgQVNTRVJUKGN1cnJlbnQuaXNGaW5pdGUoKSk7CiAKICAgICBTdGVwUmFuZ2Ugc3Rl
cFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKIApAQCAtMjE1LDE0ICsyMTUsMTIg
QEAgUmVuZGVyT2JqZWN0KiBSYW5nZUlucHV0VHlwZTo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopIGMKIAogSW5wdXROdW1iZXIgUmFuZ2VJbnB1dFR5cGU6
OnBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5nJiBzcmMsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZh
dWx0VmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVy
KHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVsdFZhbHVlKSk7CisgICAgcmV0
dXJuIHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1bHRWYWx1ZSk7CiB9CiAK
IFN0cmluZyBSYW5nZUlucHV0VHlwZTo6c2VyaWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1
ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIFN0
cmluZygpOwotICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKHZhbHVlKTsKKyAgICBy
ZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpIDog
ZW1wdHlTdHJpbmcoKTsKIH0KIAogLy8gRklYTUU6IENvdWxkIHNoYXJlIHRoaXMgd2l0aCBCYXNl
Q2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSBhbmQgQmFzZUNoZWNrYWJsZUlucHV0VHlwZSBpZiB3
ZSBoYWQgYSBjb21tb24gYmFzZSBjbGFzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcAppbmRl
eCAzZTFlMjMzN2I3MDI0YTIzNDM1YjczNzBkOTFjNDE1MmVmM2I4MDhjLi5lZmUwYzliNTFkYjE3
YzMyMDdiMzZjZjE4M2ZkMTZmMjVjNmUyNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1N0ZXBSYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3Bw
CkBAIC0yNCwxMCArMjQsOSBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhU
TUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUg
PHd0Zi9kdG9hLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXVzaW5nIG5h
bWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKQEAgLTM3LDggKzM2LDYgQEAgU3RlcFJhbmdlOjpTdGVwUmFuZ2UoKQogICAgICwg
bV9taW5pbXVtKDApCiAgICAgLCBtX3N0ZXAoMSkKICAgICAsIG1fc3RlcEJhc2UoMCkKLSAgICAs
IG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKDApCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2VzKDAp
CiAgICAgLCBtX2hhc1N0ZXAoZmFsc2UpCiB7CiB9CkBAIC00OSwxMjggKzQ2LDEzNyBAQCBTdGVw
UmFuZ2U6OlN0ZXBSYW5nZShjb25zdCBTdGVwUmFuZ2UmIHN0ZXBSYW5nZSkKICAgICAsIG1fc3Rl
cChzdGVwUmFuZ2UubV9zdGVwKQogICAgICwgbV9zdGVwQmFzZShzdGVwUmFuZ2UubV9zdGVwQmFz
ZSkKICAgICAsIG1fc3RlcERlc2NyaXB0aW9uKHN0ZXBSYW5nZS5tX3N0ZXBEZXNjcmlwdGlvbikK
LSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBSYW5nZS5tX3N0ZXBCYXNlRGVjaW1h
bFBsYWNlcykKLSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoc3RlcFJhbmdlLm1fc3RlcERlY2lt
YWxQbGFjZXMpCiAgICAgLCBtX2hhc1N0ZXAoc3RlcFJhbmdlLm1faGFzU3RlcCkKIHsKIH0KIAot
U3RlcFJhbmdlOjpTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMmIHN0ZXBC
YXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGlt
dW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nJiBzdGVwLCBjb25zdCBT
dGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbikKK1N0ZXBSYW5nZTo6U3RlcFJhbmdlKGNv
bnN0IERlY2ltYWwmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3Qg
SW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IERlY2ltYWxPck1pc3NpbmcmIHN0ZXAsIGNvbnN0
IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9tYXhpbXVtKG1heGlt
dW0pCiAgICAgLCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChzdGVwLnZhbHVlLnZh
bHVlKQotICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZS52YWx1ZSkKKyAgICAsIG1fc3RlcChzdGVw
LnZhbHVlKQorICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZSkKICAgICAsIG1fc3RlcERlc2NyaXB0
aW9uKHN0ZXBEZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBC
YXNlLmRlY2ltYWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2VzKHN0ZXAudmFsdWUu
ZGVjaW1hbFBsYWNlcykKICAgICAsIG1faGFzU3RlcChzdGVwLmhhc1ZhbHVlKQogewotICAgIEFT
U0VSVChpc2Zpbml0ZShtX21heGltdW0pKTsKLSAgICBBU1NFUlQoaXNmaW5pdGUobV9taW5pbXVt
KSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKG1fc3RlcCkpOwotICAgIEFTU0VSVChpc2Zpbml0ZSht
X3N0ZXBCYXNlKSk7CisgICAgQVNTRVJUKG1fbWF4aW11bS5pc0Zpbml0ZSgpKTsKKyAgICBBU1NF
UlQobV9taW5pbXVtLmlzRmluaXRlKCkpOworICAgIEFTU0VSVChtX3N0ZXAuaXNGaW5pdGUoKSk7
CisgICAgQVNTRVJUKG1fc3RlcEJhc2UuaXNGaW5pdGUoKSk7CiB9CiAKIElucHV0TnVtYmVyIFN0
ZXBSYW5nZTo6YWNjZXB0YWJsZUVycm9yKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zdGVwIC8g
cG93KDIuMCwgRkxUX01BTlRfRElHKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBEQkxf
TUFOVF9ESUcgaW5zdGVhZCBvZiBGTFRfTUFOVF9ESUcgcmVnYXJkaW5nIHRvIEhUTUw1IHNwZWNp
ZmljYXRpb24uCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0d29Qb3dl
ck9mRmxvYXRNYW50aXNzYUJpdHMsIChEZWNpbWFsOjpQb3NpdGl2ZSwgMCwgVUlOVDY0X0MoMSkg
PDwgRkxUX01BTlRfRElHKSk7CisgICAgcmV0dXJuIG1fc3RlcCAvIHR3b1Bvd2VyT2ZGbG9hdE1h
bnRpc3NhQml0czsKIH0KIAotSW5wdXROdW1iZXIgU3RlcFJhbmdlOjphbGlnblZhbHVlRm9yU3Rl
cChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNpZ25lZCBjdXJyZW50RGVjaW1h
bFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIHByb3Bvc2VkVmFsdWUpIGNvbnN0CitJbnB1dE51
bWJlciBTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJy
ZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3QKIHsKLSAgICBpZiAo
cHJvcG9zZWRWYWx1ZSA+PSBwb3coMTAuMCwgMjEuMCkpCi0gICAgICAgIHJldHVybiBwcm9wb3Nl
ZFZhbHVlOwotCi0gICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBwcm9wb3NlZFZhbHVlOwotICAg
IGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVlKSkgewotICAgICAgICBjb25zdCBJbnB1dE51
bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJlcj4obWF4KG1fc3Rl
cERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwotICAgICAgICBuZXdWYWx1
ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8SW5wdXRO
dW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcykp
KTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgobV9zdGVwQmFzZSArIHJvdW5kKChuZXdWYWx1
ZSAtIG1fc3RlcEJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKLSAg
ICB9CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0ZW5Qb3dlck9mMjEs
IChEZWNpbWFsOjpQb3NpdGl2ZSwgMjEsIDEpKTsKKyAgICBpZiAobmV3VmFsdWUgPj0gdGVuUG93
ZXJPZjIxKQorICAgICAgICByZXR1cm4gbmV3VmFsdWU7CiAKLSAgICByZXR1cm4gbmV3VmFsdWU7
CisgICAgcmV0dXJuIHN0ZXBNaXNtYXRjaChjdXJyZW50VmFsdWUpID8gbmV3VmFsdWUgOiByb3Vu
ZEJ5U3RlcChuZXdWYWx1ZSwgbV9zdGVwQmFzZSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5n
ZTo6Y2xhbXBWYWx1ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgY29u
c3QgSW5wdXROdW1iZXIgaW5SYW5nZVZhbHVlID0gbWF4KG1fbWluaW11bSwgbWluKHZhbHVlLCBt
X21heGltdW0pKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBpblJhbmdlVmFsdWUgPSBzdGQ6Om1h
eChtX21pbmltdW0sIHN0ZDo6bWluKHZhbHVlLCBtX21heGltdW0pKTsKICAgICBpZiAoIW1faGFz
U3RlcCkKICAgICAgICAgcmV0dXJuIGluUmFuZ2VWYWx1ZTsKICAgICAvLyBSb3VuZHMgaW5SYW5n
ZVZhbHVlIHRvIG1pbmltdW0gKyBOICogc3RlcC4KLSAgICBjb25zdCBJbnB1dE51bWJlciByb3Vu
ZGVkVmFsdWUgPSBtX21pbmltdW0gKyByb3VuZCgoaW5SYW5nZVZhbHVlIC0gbV9taW5pbXVtKSAv
IG1fc3RlcCkgKiBtX3N0ZXA7CisgICAgY29uc3QgSW5wdXROdW1iZXIgcm91bmRlZFZhbHVlID0g
cm91bmRCeVN0ZXAoaW5SYW5nZVZhbHVlLCBtX21pbmltdW0pOwogICAgIGNvbnN0IElucHV0TnVt
YmVyIGNsYW1wZWRWYWx1ZSA9IHJvdW5kZWRWYWx1ZSA+IG1fbWF4aW11bSA/IHJvdW5kZWRWYWx1
ZSAtIG1fc3RlcCA6IHJvdW5kZWRWYWx1ZTsKICAgICBBU1NFUlQoY2xhbXBlZFZhbHVlID49IG1f
bWluaW11bSk7CiAgICAgQVNTRVJUKGNsYW1wZWRWYWx1ZSA8PSBtX21heGltdW0pOwogICAgIHJl
dHVybiBjbGFtcGVkVmFsdWU7CiB9CiAKLVN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFj
ZXNPck1pc3NpbmcgU3RlcFJhbmdlOjpwYXJzZVN0ZXAoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBI
YW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiBzdGVwRGVzY3JpcHRpb24sIGNvbnN0IFN0
cmluZyYgc3RlcFN0cmluZykKK1N0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBTdGVwUmFuZ2U6
OnBhcnNlU3RlcChBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVz
Y3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiBzdGVwU3RyaW5nKQogewog
ICAgIGlmIChzdGVwU3RyaW5nLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIE51bWJlcldpdGhE
ZWNpbWFsUGxhY2VzT3JNaXNzaW5nKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7Cisg
ICAgICAgIHJldHVybiBEZWNpbWFsT3JNaXNzaW5nKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFs
dWUoKSk7CiAKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIpKSB7
CiAgICAgICAgIHN3aXRjaCAoYW55U3RlcEhhbmRsaW5nKSB7CiAgICAgICAgIGNhc2UgUmVqZWN0
QW55OgotICAgICAgICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
KE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKDEpLCBmYWxzZSk7CisgICAgICAgICAgICByZXR1cm4g
RGVjaW1hbE9yTWlzc2luZyhEZWNpbWFsKDEpLCBmYWxzZSk7CiAgICAgICAgIGNhc2UgQW55SXNE
ZWZhdWx0U3RlcDoKLSAgICAgICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09y
TWlzc2luZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOworICAgICAgICAgICAgcmV0
dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICB9CiAgICAgfQogCi0gICAgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3RlcCgw
KTsKLSAgICBzdGVwLnZhbHVlLnZhbHVlID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRo
RGVjaW1hbFBsYWNlcyhzdGVwU3RyaW5nLCAmc3RlcC52YWx1ZS5kZWNpbWFsUGxhY2VzKTsKLSAg
ICBpZiAoIWlzZmluaXRlKHN0ZXAudmFsdWUudmFsdWUpIHx8IHN0ZXAudmFsdWUudmFsdWUgPD0g
MC4wKQotICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcoc3Rl
cERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICBEZWNpbWFsIHN0ZXAgPSBwYXJzZVRv
RGVjaW1hbEZvck51bWJlclR5cGUoc3RlcFN0cmluZyk7CisgICAgaWYgKCFzdGVwLmlzRmluaXRl
KCkgfHwgc3RlcCA8PSAwKQorICAgICAgICByZXR1cm4gRGVjaW1hbE9yTWlzc2luZyhzdGVwRGVz
Y3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOwogCiAgICAgc3dpdGNoIChzdGVwRGVzY3JpcHRpb24u
c3RlcFZhbHVlU2hvdWxkQmUpIHsKICAgICBjYXNlIFN0ZXBWYWx1ZVNob3VsZEJlUmVhbDoKLSAg
ICAgICAgc3RlcC52YWx1ZS52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9y
OworICAgICAgICBzdGVwICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUGFyc2VkU3RlcFZhbHVlU2hvdWxkQmVJbnRlZ2VyOgogICAg
ICAgICAvLyBGb3IgZGF0ZSwgbW9udGgsIGFuZCB3ZWVrLCB0aGUgcGFyc2VkIHZhbHVlIHNob3Vs
ZCBiZSBhbiBpbnRlZ2VyIGZvciBzb21lIHR5cGVzLgotICAgICAgICBzdGVwLnZhbHVlLnZhbHVl
ID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUudmFsdWUpLCAxLjApOwotICAgICAgICBzdGVwLnZhbHVl
LnZhbHVlICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAgICAgIHN0ZXAg
PSBzdGQ6Om1heChzdGVwLnJvdW5kKCksIERlY2ltYWwoMSkpOworICAgICAgICBzdGVwICo9IHN0
ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U2NhbGVkU3RlcFZhbHVlU2hvdWxkQmVJbnRlZ2VyOgogICAgICAgICAvLyBGb3IgZGF0ZXRpbWUs
IGRhdGV0aW1lLWxvY2FsLCB0aW1lLCB0aGUgcmVzdWx0IHNob3VsZCBiZSBhbiBpbnRlZ2VyLgot
ICAgICAgICBzdGVwLnZhbHVlLnZhbHVlICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0
b3I7Ci0gICAgICAgIHN0ZXAudmFsdWUudmFsdWUgPSBtYXgocm91bmQoc3RlcC52YWx1ZS52YWx1
ZSksIDEuMCk7CisgICAgICAgIHN0ZXAgKj0gc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3Rv
cjsKKyAgICAgICAgc3RlcCA9IHN0ZDo6bWF4KHN0ZXAucm91bmQoKSwgRGVjaW1hbCgxKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIH0KIAotICAgIEFTU0VSVChzdGVwLnZhbHVlLnZhbHVlID4gMCk7Ci0gICAgcmV0dXJu
IHN0ZXA7CisgICAgQVNTRVJUKHN0ZXAgPiAwKTsKKyAgICByZXR1cm4gRGVjaW1hbE9yTWlzc2lu
ZyhzdGVwKTsKIH0KIAogYm9vbCBTdGVwUmFuZ2U6OnN0ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51
bWJlciYgdmFsdWVGb3JDaGVjaykgY29uc3QKIHsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghaXNmaW5pdGUodmFsdWVGb3JDaGVjaykpCisgICAg
aWYgKCF2YWx1ZUZvckNoZWNrLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICBjb25zdCBJbnB1dE51bWJlciB2YWx1ZSA9IGZhYnModmFsdWVGb3JDaGVjayAtIG1fc3RlcEJh
c2UpOwotICAgIGlmIChpc2luZih2YWx1ZSkpCisgICAgY29uc3QgSW5wdXROdW1iZXIgdmFsdWUg
PSAodmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpLmFicygpOworICAgIGlmICghdmFsdWUuaXNG
aW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIElucHV0TnVtYmVyJ3MgZnJh
Y3Rpb25hbCBwYXJ0IHNpemUgaXMgREJMX01BTl9ESUctYml0LiBJZiB0aGUgY3VycmVudCB2YWx1
ZQogICAgIC8vIGlzIGdyZWF0ZXIgdGhhbiBzdGVwKjJeREJMX01BTlRfRElHLCB0aGUgZm9sbG93
aW5nIGNvbXB1dGF0aW9uIGZvcgogICAgIC8vIHJlbWFpbmRlciBtYWtlcyBubyBzZW5zZS4KLSAg
ICBpZiAodmFsdWUgLyBwb3coMi4wLCBEQkxfTUFOVF9ESUcpID4gbV9zdGVwKQorICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgRGVjaW1hbCwgdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0
cywgKERlY2ltYWw6OlBvc2l0aXZlLCAwLCBVSU5UNjRfQygxKSA8PCBEQkxfTUFOVF9ESUcpKTsK
KyAgICBpZiAodmFsdWUgLyB0d29Qb3dlck9mRG91YmxlTWFudGlzc2FCaXRzID4gbV9zdGVwKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gVGhlIGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRN
TDUgNC4xMC43LjIuMTAgYFRoZSBzdGVwIGF0dHJpYnV0ZScgOgogICAgIC8vIC4uLiB0aGF0IG51
bWJlciBzdWJ0cmFjdGVkIGZyb20gdGhlIHN0ZXAgYmFzZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVs
dGlwbGUKICAgICAvLyBvZiB0aGUgYWxsb3dlZCB2YWx1ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBz
dWZmZXJpbmcgZnJvbSBhIHN0ZXAgbWlzbWF0Y2guCi0gICAgY29uc3QgSW5wdXROdW1iZXIgcmVt
YWluZGVyID0gZmFicyh2YWx1ZSAtIG1fc3RlcCAqIHJvdW5kKHZhbHVlIC8gbV9zdGVwKSk7Cisg
ICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gKHZhbHVlIC0gbV9zdGVwICogKHZhbHVl
IC8gbV9zdGVwKS5yb3VuZCgpKS5hYnMoKTsKICAgICAvLyBBY2NlcHRzIGVycm9zIGluIGxvd2Vy
IGZyYWN0aW9uYWwgcGFydCB3aGljaCBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uCiAgICAgLy8g
Y2FuJ3QgcmVwcmVzZW50LgogICAgIGNvbnN0IElucHV0TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJs
ZUVycm9yID0gYWNjZXB0YWJsZUVycm9yKCk7CiAgICAgcmV0dXJuIGNvbXB1dGVkQWNjZXB0YWJs
ZUVycm9yIDwgcmVtYWluZGVyICYmIHJlbWFpbmRlciA8IChtX3N0ZXAgLSBjb21wdXRlZEFjY2Vw
dGFibGVFcnJvcik7CiB9CiAKK0lucHV0TnVtYmVyIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVy
KGRvdWJsZSBkb3VibGVWYWx1ZSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKGRvdWJsZVZhbHVlKSkK
KyAgICAgICAgcmV0dXJuIERlY2ltYWw6Om5hbigpOworCisgICAgTnVtYmVyVG9TdHJpbmdCdWZm
ZXIgYnVmZmVyOworICAgIHJldHVybiBEZWNpbWFsOjpmcm9tU3RyaW5nKG51bWJlclRvU3RyaW5n
KGRvdWJsZVZhbHVlLCBidWZmZXIpKTsKK30KKworZG91YmxlIGNvbnZlcnRJbnB1dE51bWJlclRv
RG91YmxlKGNvbnN0IElucHV0TnVtYmVyJiBkZWNpbWFsVmFsdWUpCit7CisgICAgaWYgKCFkZWNp
bWFsVmFsdWUuaXNGaW5pdGUoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisKKyAgICBib29sIHZhbGlkOworICAgIGNvbnN0IGRvdWJs
ZSBkb3VibGVWYWx1ZSA9IGRlY2ltYWxWYWx1ZS50b1N0cmluZygpLnRvRG91YmxlKCZ2YWxpZCk7
CisgICAgcmV0dXJuIHZhbGlkID8gZG91YmxlVmFsdWUgOiBzdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46OnF1aWV0X05hTigpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaAppbmRleCBjYzMwNDk3ZjUzNDQ2ZGFiNjk5ZTc4NGE2ZjllZDUxZjQzNzI5
NWVlLi40ZTJlNWM1MGUxYmM4NzU0MTc3ZDM2MmY4ZTMwMmI0OWRhMmFlY2ZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNpZm5kZWYgU3RlcFJhbmdlX2gKICNk
ZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRlY2ltYWwuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC0zMCwzNyArMzEs
MTggQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAogZW51bSBBbnlTdGVwSGFuZGxpbmcgeyBS
ZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAotLy8gRklYTUU6IFRoZSB0eXBlIElucHV0
TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNpbWFsLgotdHlwZWRlZiBkb3VibGUgSW5w
dXROdW1iZXI7Ci0KLWlubGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJl
cihkb3VibGUgZG91YmxlVmFsdWUpCi17Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVlOwotfQotCi1p
bmxpbmUgZG91YmxlIGNvbnZlcnRJbnB1dE51bWJlclRvRG91YmxlKGNvbnN0IElucHV0TnVtYmVy
JiBudW1lcmljVmFsdWUpCi17Ci0gICAgcmV0dXJuIG51bWVyaWNWYWx1ZTsKLX0KKy8vIEZJWE1F
OiBXZSBzaG91bGQgcmVuYW1lIElucHV0TnVtYmVyIHRvIERlY2ltYWwgaW4gYWxsIHBsYWNlcy4K
K3R5cGVkZWYgRGVjaW1hbCBJbnB1dE51bWJlcjsKK0lucHV0TnVtYmVyIGNvbnZlcnREb3VibGVU
b0lucHV0TnVtYmVyKGRvdWJsZSk7Citkb3VibGUgY29udmVydElucHV0TnVtYmVyVG9Eb3VibGUo
Y29uc3QgSW5wdXROdW1iZXImKTsKIAogY2xhc3MgU3RlcFJhbmdlIHsKIHB1YmxpYzoKLSAgICBz
dHJ1Y3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgewotICAgICAgICB1bnNpZ25lZCBkZWNpbWFs
UGxhY2VzOwotICAgICAgICBJbnB1dE51bWJlciB2YWx1ZTsKLQotICAgICAgICBOdW1iZXJXaXRo
RGVjaW1hbFBsYWNlcyhJbnB1dE51bWJlciB2YWx1ZSA9IDAsIHVuc2lnbmVkIGRlY2ltYWxQbGFj
ZXMgPSAwKQotICAgICAgICAgICAgOiBkZWNpbWFsUGxhY2VzKGRlY2ltYWxQbGFjZXMpCi0gICAg
ICAgICAgICAsIHZhbHVlKHZhbHVlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9OwotCi0g
ICAgc3RydWN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHsKKyAgICBzdHJ1Y3Qg
RGVjaW1hbE9yTWlzc2luZyB7CiAgICAgICAgIGJvb2wgaGFzVmFsdWU7Ci0gICAgICAgIE51bWJl
cldpdGhEZWNpbWFsUGxhY2VzIHZhbHVlOworICAgICAgICBEZWNpbWFsIHZhbHVlOwogCi0gICAg
ICAgIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nKE51bWJlcldpdGhEZWNpbWFsUGxh
Y2VzIHZhbHVlLCBib29sIGhhc1ZhbHVlID0gdHJ1ZSkKKyAgICAgICAgRGVjaW1hbE9yTWlzc2lu
Zyhjb25zdCBEZWNpbWFsJiB2YWx1ZSwgYm9vbCBoYXNWYWx1ZSA9IHRydWUpCiAgICAgICAgICAg
ICA6IGhhc1ZhbHVlKGhhc1ZhbHVlKQogICAgICAgICAgICAgLCB2YWx1ZSh2YWx1ZSkKICAgICAg
ICAgewpAQCAtMTAzLDE4ICs4NSwxNiBAQCBwdWJsaWM6CiAKICAgICBTdGVwUmFuZ2UoKTsKICAg
ICBTdGVwUmFuZ2UoY29uc3QgU3RlcFJhbmdlJik7Ci0gICAgU3RlcFJhbmdlKGNvbnN0IE51bWJl
cldpdGhEZWNpbWFsUGxhY2VzJiBzdGVwQmFzZSwgY29uc3QgSW5wdXROdW1iZXImIG1pbmltdW0s
IGNvbnN0IElucHV0TnVtYmVyJiBtYXhpbXVtLCBjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNl
c09yTWlzc2luZyYgc3RlcCwgY29uc3QgU3RlcERlc2NyaXB0aW9uJik7CisgICAgU3RlcFJhbmdl
KGNvbnN0IERlY2ltYWwmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29u
c3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IERlY2ltYWxPck1pc3NpbmcmIHN0ZXAsIGNv
bnN0IFN0ZXBEZXNjcmlwdGlvbiYpOwogICAgIElucHV0TnVtYmVyIGFjY2VwdGFibGVFcnJvcigp
IGNvbnN0OwotICAgIElucHV0TnVtYmVyIGFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVt
YmVyJiBjdXJyZW50VmFsdWUsIHVuc2lnbmVkIGN1cnJlbnREZWNpbWFsUGxhY2VzLCBjb25zdCBJ
bnB1dE51bWJlciYgbmV3VmFsdWUpIGNvbnN0OworICAgIElucHV0TnVtYmVyIGFsaWduVmFsdWVG
b3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVy
JiBuZXdWYWx1ZSkgY29uc3Q7CiAgICAgSW5wdXROdW1iZXIgY2xhbXBWYWx1ZShjb25zdCBJbnB1
dE51bWJlciYgdmFsdWUpIGNvbnN0OwogICAgIGJvb2wgaGFzU3RlcCgpIGNvbnN0IHsgcmV0dXJu
IG1faGFzU3RlcDsgfQogICAgIElucHV0TnVtYmVyIG1heGltdW0oKSBjb25zdCB7IHJldHVybiBt
X21heGltdW07IH0KICAgICBJbnB1dE51bWJlciBtaW5pbXVtKCkgY29uc3QgeyByZXR1cm4gbV9t
aW5pbXVtOyB9Ci0gICAgc3RhdGljIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHBh
cnNlU3RlcChBbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYsIGNvbnN0IFN0
cmluZyYpOworICAgIHN0YXRpYyBEZWNpbWFsT3JNaXNzaW5nIHBhcnNlU3RlcChBbnlTdGVwSGFu
ZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYsIGNvbnN0IFN0cmluZyYpOwogICAgIElucHV0
TnVtYmVyIHN0ZXAoKSBjb25zdCB7IHJldHVybiBtX3N0ZXA7IH0KICAgICBJbnB1dE51bWJlciBz
dGVwQmFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcEJhc2U7IH0KLSAgICB1bnNpZ25lZCBzdGVw
QmFzZURlY2ltYWxQbGFjZXMoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNl
czsgfQotICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzKCkgY29uc3QgeyByZXR1cm4gbV9z
dGVwRGVjaW1hbFBsYWNlczsgfQogICAgIGludCBzdGVwU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJl
dHVybiBtX3N0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7IH0KICAgICBib29sIHN0ZXBN
aXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYpIGNvbnN0OwogCkBAIC0xNDIsMTMgKzEyMiwxNiBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFN0ZXBSYW5nZSYgb3BlcmF0b3IgPShjb25zdCBTdGVw
UmFuZ2UmKTsKIAorICAgIElucHV0TnVtYmVyIHJvdW5kQnlTdGVwKGNvbnN0IElucHV0TnVtYmVy
JiB2YWx1ZSwgY29uc3QgSW5wdXROdW1iZXImIGJhc2UpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gYmFzZSArICgodmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsK
KyAgICB9CisKICAgICBjb25zdCBJbnB1dE51bWJlciBtX21heGltdW07IC8vIG1heGltdW0gbXVz
dCBiZSA+PSBtaW5pbXVtLgogICAgIGNvbnN0IElucHV0TnVtYmVyIG1fbWluaW11bTsKICAgICBj
b25zdCBJbnB1dE51bWJlciBtX3N0ZXA7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbV9zdGVwQmFz
ZTsKICAgICBjb25zdCBTdGVwRGVzY3JpcHRpb24gbV9zdGVwRGVzY3JpcHRpb247Ci0gICAgY29u
c3QgdW5zaWduZWQgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXM7Ci0gICAgY29uc3QgdW5zaWduZWQg
bV9zdGVwRGVjaW1hbFBsYWNlczsKICAgICBjb25zdCBib29sIG1faGFzU3RlcDsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDg5NTg0NTAyY2UxMmEzMGM0ZDIx
ZDFjZmM4YTBkYTMzYmQ0ODE5YjAuLjM1MTBhMDFmMjI2MDk2ZDY0ZTk0YjNjYjMzMGFhZTJhMjc3
NTU4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcApAQCAtODYsNyArODYs
NyBAQCBTdGVwUmFuZ2UgVGltZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5k
bGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJh
c2UgPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwg
MCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVu
dCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJl
cihEYXRlQ29tcG9uZW50czo6bWluaW11bVRpbWUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVy
IG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhB
dHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1U
aW1lKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
IHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlw
dGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgU3RlcFJh
bmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVw
SGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0
ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11
bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0
VHlwZS5jcHAKaW5kZXggOWJiODZhZTAyMzViYWIyMzhmZTA4YTQ0NGI0YWIwN2ZmZTQxYzE1Zi4u
MDU1NjhkNzQzYjM5YmEzZGE4MGRjMDY4MTJkMzRjMGRiMzRhMGFlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1dlZWtJbnB1dFR5cGUuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0ZXBSYW5nZSBXZWVrSW5w
dXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykg
Y29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCB3ZWVrRGVmYXVsdFN0ZXBCYXNlKTsK
ICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERh
dGVDb21wb25lbnRzOjptaW5pbXVtV2VlaygpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bVdlZWso
KSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBTdGVwUmFuZ2U6
OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5k
bGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0
dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBz
dGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwCmluZGV4IGE5OWEyMWEwOGU1YmRkMDg2NWZhMzNjNzM5
NTUwNDAxNzJjMzhiMzEuLmEyZWNlODljYjJiMWZlZWY2MGM2ZDg0ZDdlNjE3ZGY3YzY5ODBiNTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3Bw
CkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgPGxpbWl0cz4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CkBAIC01
OCw2ICs1OSwxNSBAQCBTdHJpbmcgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHJldHVybiBzdHJpbmcuc3Vic3RyaW5nKG51bUxlYWRp
bmdTcGFjZXMsIGxlbmd0aCAtIChudW1MZWFkaW5nU3BhY2VzICsgbnVtVHJhaWxpbmdTcGFjZXMp
KTsKIH0KIAorU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoY29uc3QgRGVjaW1hbCYgbnVt
YmVyKQoreworICAgIGlmIChudW1iZXIuaXNaZXJvKCkpIHsKKyAgICAgICAgLy8gRGVjaW1hbDo6
dG9TdHJpbmcgYXBwZW5kIGV4cG9uZW50LCBlLmcuICIwZS0xOCIKKyAgICAgICAgcmV0dXJuIG51
bWJlci5pc05lZ2F0aXZlKCkgPyAiLTAiIDogIjAiOworICAgIH0KKyAgICByZXR1cm4gbnVtYmVy
LnRvU3RyaW5nKCk7Cit9CisKIFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBu
dW1iZXIpCiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIEhUTUw1LCAidGhlIGJlc3QgcmVwcmVzZW50
YXRpb24gb2YgdGhlIG51bWJlciBuIGFzIGEgZmxvYXRpbmcKQEAgLTY2LDYgKzc2LDM1IEBAIFN0
cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW1iZXIpCiAgICAgcmV0dXJuIFN0
cmluZyhudW1iZXJUb1N0cmluZyhudW1iZXIsIGJ1ZmZlcikpOwogfQogCitEZWNpbWFsIHBhcnNl
VG9EZWNpbWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRGVjaW1h
bCYgZmFsbGJhY2tWYWx1ZSkKK3sKKyAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVhbCBudW1i
ZXJzLicgYW5kIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlCisKKyAgICAvLyBTdHJpbmc6OnRv
RG91YmxlKCkgYWNjZXB0cyBsZWFkaW5nICsgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycywgd2hp
Y2ggYXJlIG5vdCB2YWxpZCBoZXJlLgorICAgIFVDaGFyIGZpcnN0Q2hhcmFjdGVyID0gc3RyaW5n
WzBdOworICAgIGlmIChmaXJzdENoYXJhY3RlciAhPSAnLScgJiYgZmlyc3RDaGFyYWN0ZXIgIT0g
Jy4nICYmICFpc0FTQ0lJRGlnaXQoZmlyc3RDaGFyYWN0ZXIpKQorICAgICAgICByZXR1cm4gZmFs
bGJhY2tWYWx1ZTsKKworICAgIERlY2ltYWwgdmFsdWUgPSBEZWNpbWFsOjpmcm9tU3RyaW5nKHN0
cmluZyk7CisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQorICAgICAgICByZXR1cm4gZmFsbGJh
Y2tWYWx1ZTsKKworICAgIGNvbnN0IHVpbnQ2NF90IGxlYWRpbmdEaWdpdHNPZjJQb3dlcjEwMjQg
PSBVSU5UNjRfQygxNzk3NjkzMTM0ODYyMzE1OSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBEZWNpbWFsLCBodG1sTWF4LCAoRGVjaW1hbDo6UG9zaXRpdmUsIDI5MiwgbGVhZGluZ0Rp
Z2l0c09mMlBvd2VyMTAyNCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgRGVjaW1h
bCwgaHRtbE1pbiwgKERlY2ltYWw6Ok5lZ2F0aXZlLCAyOTIsIGxlYWRpbmdEaWdpdHNPZjJQb3dl
cjEwMjQpKTsKKworICAgIGlmICh2YWx1ZSA8IGh0bWxNaW4gfHwgdmFsdWUgPiBodG1sTWF4KQor
ICAgICAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTsKKworICAgIC8vIFdlIHJldHVybiArMCBmb3Ig
LTAgY2FzZS4KKyAgICByZXR1cm4gdmFsdWUuaXNaZXJvKCkgPyBEZWNpbWFsKDApIDogdmFsdWU7
Cit9CisKK0RlY2ltYWwgcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYg
c3RyaW5nKQoreworICAgIHJldHVybiBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoc3RyaW5n
LCBEZWNpbWFsOjpuYW4oKSk7Cit9CisKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlw
ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZG91YmxlIGZhbGxiYWNrVmFsdWUpCiB7CiAgICAgLy8g
U2VlIEhUTUw1IDIuNS40LjMgYFJlYWwgbnVtYmVycy4nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKaW5kZXggOGE3NzRmOWVlNDMyNWY3OTk2ZGNlZTgw
MmU3ODU5MjFmMTIwMDcyMS4uNWYwMTg2ZDQ0ZTMwYjk2NzBiMzRkODFkNWZkNmZkYzNiZDMxOWEx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9t
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaApA
QCAtMzAsNiArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlY2ltYWw7
CisKIC8vIFNwYWNlIGNoYXJhY3RlcnMgYXMgZGVmaW5lZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0
aW9uLgogYm9vbCBpc0hUTUxTcGFjZShVQ2hhcik7CiBib29sIGlzSFRNTExpbmVCcmVhayhVQ2hh
cik7CkBAIC0zOSwxMSArNDEsMTQgQEAgYm9vbCBpc05vdEhUTUxTcGFjZShVQ2hhcik7CiBTdHJp
bmcgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGNvbnN0IFN0cmluZyYpOwogCiAv
LyBBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uJ3MgYWxnb3JpdGht
IHRvIGNvbnZlcnQgYSBudW1iZXIgdG8gYSBzdHJpbmcgZm9yIG51bWJlciBhbmQgcmFuZ2UgdHlw
ZXMuCitTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShjb25zdCBEZWNpbWFsJik7CiBTdHJp
bmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShkb3VibGUpOwogCi0vLyBDb252ZXJ0IHRoZSBzcGVj
aWZpZWQgc3RyaW5nIHRvIGEgZG91YmxlLiBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJl
dHVybiB2YWx1ZSBpcyBmYWxzZS4KKy8vIENvbnZlcnQgdGhlIHNwZWNpZmllZCBzdHJpbmcgdG8g
YSBkZWNpbWFsL2RvdWJsZS4gSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHRoZSByZXR1cm4gdmFs
dWUgaXMgZmFsbGJhY2sgdmFsdWUgb3IgTmFOIGlmIG5vdCBzcGVjaWZpZWQuCiAvLyBMZWFkaW5n
IG9yIHRyYWlsaW5nIGlsbGVnYWwgY2hhcmFjdGVycyBjYXVzZSBmYWlsdXJlLCBhcyBkb2VzIHBh
c3NpbmcgYW4gZW1wdHkgc3RyaW5nLgogLy8gVGhlIGRvdWJsZSogcGFyYW1ldGVyIG1heSBiZSAw
IHRvIGNoZWNrIGlmIHRoZSBzdHJpbmcgY2FuIGJlIHBhcnNlZCB3aXRob3V0IGdldHRpbmcgdGhl
IHJlc3VsdC4KK0RlY2ltYWwgcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmlu
ZyYpOworRGVjaW1hbCBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiwg
Y29uc3QgRGVjaW1hbCYgZmFsbGJhY2tWYWx1ZSk7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51
bWJlclR5cGUoY29uc3QgU3RyaW5nJik7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5
cGUoY29uc3QgU3RyaW5nJiwgZG91YmxlIGZhbGxiYWNrVmFsdWUpOwogZG91YmxlIHBhcnNlVG9E
b3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgdW5zaWdu
ZWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwCmluZGV4IDI2OWViODJiZjg3N2NmN2JiN2U4ZmQ0NTI1MjlmMzgyY2ZjOTgyMDAuLjkz
ZGIxMDVmY2JjZTdlYzA3NWY3Y2I2MzIyMzFiMWFlYTdiNWZiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtNTQsNyArNTQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBpbmxpbmUgc3RhdGljIElucHV0TnVtYmVyIHNsaWRl
clBvc2l0aW9uKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgY29uc3QgU3RlcFJh
bmdlIHN0ZXBSYW5nZShlbGVtZW50LT5jcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7Ci0gICAg
Y29uc3QgZG91YmxlIG9sZFZhbHVlID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZWxlbWVu
dC0+dmFsdWUoKSwgc3RlcFJhbmdlLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICBjb25zdCBJbnB1dE51
bWJlciBvbGRWYWx1ZSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50LT52YWx1
ZSgpLCBzdGVwUmFuZ2UuZGVmYXVsdFZhbHVlKCkpOwogICAgIHJldHVybiBzdGVwUmFuZ2UucHJv
cG9ydGlvbkZyb21WYWx1ZShzdGVwUmFuZ2UuY2xhbXBWYWx1ZShvbGRWYWx1ZSkpOwogfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjZiNDdjNzQ1ODFlYWVmYTllOWQ4MTM3Mjg4OTU3OGI0ODU2NzIyNi4uYWIwYTkxYWZi
MWNlZWZlNjgxZTZkYTE4YzM2YmU1ODg1MGY5YmVhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTA2LTA1ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW0Zvcm1zXSBJbnRyb2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNi0wNSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gRml4aW5nIGFuIGluY29ycmVjdCBwYXRoIGluIGxpb24gU2tpcHBl
ZCBmaWxlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12
YWx1ZS1yb3VuZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jhbmdl
L3JhbmdlLXZhbHVlLXJvdW5kaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjJiYmJjNGVh
OTI3M2E1ZWJhMWI4YjFjZDE5ODJkZjMzMWE2MjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyODAgQEAKKworODAwMDkgSW50cm9kdWNlIERlY2ltYWwgYXJpdGhtZXRpYyB0
byBmaXggcm91bmRpbmcgZXJyb3JzIGluIG51bWJlci9yYW5nZSBpbnB1dCB0eXBlcworCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjEi
LCAiMWUtMCIpLnZhbHVlIGlzICIwLjEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMSIs
ICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAi
MC4yIiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4yIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIw
LjIiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4yCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4x
IiwgIjAuMyIsICIxZS0wIikudmFsdWUgaXMgIjAuMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEi
LCAiMC4zIiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMworUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMSIsICIwLjQiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjQiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4xIiwgIjAuNCIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjQKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjEiLCAiMC41IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC41IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMSIsICIwLjUiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC41CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4xIiwgIjAuNiIsICIxZS0wIikudmFsdWUgaXMgIjAuNiIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjEiLCAiMC42IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMSIsICIwLjciLCAiMWUtMCIpLnZhbHVlIGlzICIwLjciCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNyIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjcKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC44IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC44IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjgiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC44
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuOSIsICIxZS0wIikudmFsdWUgaXMgIjAuOSIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC45IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMSIsICIxZS0xIikudmFsdWUgaXMg
IjAuMDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAxIiwgIjFlLTEiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDIiLCAiMWUtMSIp
LnZhbHVlIGlzICIwLjAyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMiIsICIxZS0x
IikudmFsdWVBc051bWJlciBpcyAwLjAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAz
IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAu
MDMiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMworUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDEiLCAiMC4wNCIsICIxZS0xIikudmFsdWUgaXMgIjAuMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMSIsICIwLjA0IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAxIiwgIjAuMDUiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA1IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDEiLCAiMC4wNSIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA1CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA2IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wNiIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDYiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNyIsICIxZS0xIikudmFsdWUg
aXMgIjAuMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA3IiwgIjFlLTEiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDgiLCAiMWUt
MSIpLnZhbHVlIGlzICIwLjA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOCIsICIx
ZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIw
LjA5IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwg
IjAuMDkiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wOQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAxIiwgIjAuMDAxIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDEiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDEiLCAiMC4wMDEiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDEKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMiIsICIxZS0yIikudmFsdWUgaXMgIjAuMDAy
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAyIiwgIjFlLTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDMiLCAiMWUtMiIp
LnZhbHVlIGlzICIwLjAwMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMyIsICIx
ZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwg
IjAuMDA0IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDEiLCAiMC4wMDQiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMSIsICIwLjAwNSIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA1IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA1IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDYiLCAiMWUtMiIpLnZhbHVlIGlz
ICIwLjAwNiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNiIsICIxZS0yIikudmFs
dWVBc051bWJlciBpcyAwLjAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA3Iiwg
IjFlLTIiKS52YWx1ZSBpcyAiMC4wMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4w
MDciLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMSIsICIwLjAwOCIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA4IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAxIiwgIjAuMDA4IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDA4CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDkiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwOSIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwOSIsICIxZS0yIikudmFsdWVBc051bWJl
ciBpcyAwLjAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDEiLCAiMWUtMyIp
LnZhbHVlIGlzICIwLjAwMDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMSIs
ICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDEiLCAiMC4wMDAyIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAyIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMSIsICIwLjAwMDIiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAyCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMyIsICIxZS0zIikudmFsdWUgaXMgIjAu
MDAwMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAzIiwgIjFlLTMiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDQi
LCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwg
IjAuMDAwNCIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDQKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDEiLCAiMC4wMDA1IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA1IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDUiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNiIsICIxZS0zIikudmFs
dWUgaXMgIjAuMDAwNiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA2IiwgIjFl
LTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIs
ICIwLjAwMDciLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAxIiwgIjAuMDAwNyIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDcKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA4IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA4
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDgiLCAiMWUtMyIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOSIsICIx
ZS0zIikudmFsdWUgaXMgIjAuMDAwOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4w
MDA5IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDEiLCAiMC4wMDAwMSIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDEiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDAxIiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDIiLCAiMWUtNCIp
LnZhbHVlIGlzICIwLjAwMDAyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAw
MiIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMSIsICIwLjAwMDAzIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMyIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDMiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNCIsICIxZS00Iiku
dmFsdWUgaXMgIjAuMDAwMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA0
IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAxIiwgIjAuMDAwMDUiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA1IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA2IiwgIjFlLTQiKS52
YWx1ZSBpcyAiMC4wMDAwNiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDYi
LCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDEiLCAiMC4wMDAwNyIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDciCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA3IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDgiLCAiMWUtNCIpLnZh
bHVlIGlzICIwLjAwMDA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOCIs
ICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMSIsICIwLjAwMDA5IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwOSIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDkiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAxIiwgIjFlLTUiKS52
YWx1ZSBpcyAiMC4wMDAwMDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAw
MDEiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMSIsICIwLjAwMDAwMiIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDAyIgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAyIiwgIjFlLTUiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDMi
LCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MSIsICIwLjAwMDAwMyIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMworUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA0IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4w
MDAwMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDQiLCAiMWUtNSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIs
ICIwLjAwMDAwNSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA1IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA1IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDYiLCAiMWUtNSIpLnZh
bHVlIGlzICIwLjAwMDAwNiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAw
NiIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAxIiwgIjAuMDAwMDA3IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDciCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDciLCAiMWUtNSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOCIs
ICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAx
IiwgIjAuMDAwMDA4IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA4CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDkiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAw
MDAwOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOSIsICIxZS01Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIs
ICIwLjAwMDAwMDEiLCAiMWUtNiIpLnZhbHVlIGlzICIxZS03IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMSIsICIwLjAwMDAwMDEiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwMiIsICIxZS02Iiku
dmFsdWUgaXMgIjJlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAw
MiIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAzIiwgIjFlLTYiKS52YWx1ZSBpcyAiM2UtNyIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAzIiwgIjFlLTYiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAw
MDQiLCAiMWUtNiIpLnZhbHVlIGlzICI0ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MSIsICIwLjAwMDAwMDQiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA0CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNSIsICIxZS02IikudmFsdWUgaXMg
IjVlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNSIsICIxZS02
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDEiLCAiMC4wMDAwMDA2IiwgIjFlLTYiKS52YWx1ZSBpcyAiNmUtNyIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA2IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDciLCAiMWUt
NiIpLnZhbHVlIGlzICI3ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAw
MDAwMDciLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA3CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOCIsICIxZS02IikudmFsdWUgaXMgIjhlLTciCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOCIsICIxZS02IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4w
MDAwMDA5IiwgIjFlLTYiKS52YWx1ZSBpcyAiOWUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDEiLCAiMC4wMDAwMDA5IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwOQor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMSIsICIxZS03IikudmFs
dWUgaXMgIjFlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAx
IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDIiLCAiMWUtNyIpLnZhbHVlIGlzICIyZS04IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMiIsICIxZS03IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIw
LjAwMDAwMDAzIiwgIjFlLTciKS52YWx1ZSBpcyAiM2UtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAxIiwgIjAuMDAwMDAwMDMiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNCIsICIxZS03
IikudmFsdWUgaXMgIjRlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAw
MDAwMDA0IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDUiLCAiMWUtNyIpLnZhbHVlIGlzICI1ZS04
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNSIsICIxZS03Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MSIsICIwLjAwMDAwMDA2IiwgIjFlLTciKS52YWx1ZSBpcyAiNmUtOCIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDYiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNyIs
ICIxZS03IikudmFsdWUgaXMgIjdlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIs
ICIwLjAwMDAwMDA3IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDcKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDgiLCAiMWUtNyIpLnZhbHVlIGlz
ICI4ZS04IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOCIsICIx
ZS03IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMSIsICIwLjAwMDAwMDA5IiwgIjFlLTciKS52YWx1ZSBpcyAiOWUtOCIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDkiLCAiMWUtNyIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAxIiwgIjFlLTgiKS52YWx1ZSBpcyAiMWUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMSIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAyIiwgIjFl
LTgiKS52YWx1ZSBpcyAiMmUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMiIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAzIiwgIjFlLTgiKS52YWx1ZSBp
cyAiM2UtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMyIs
ICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA0IiwgIjFlLTgiKS52YWx1ZSBpcyAiNGUtOSIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNCIsICIxZS04IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDA1IiwgIjFlLTgiKS52YWx1ZSBpcyAiNWUtOSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNSIsICIxZS04IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDA2IiwgIjFlLTgiKS52YWx1ZSBpcyAiNmUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwNiIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
NgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA3IiwgIjFlLTgi
KS52YWx1ZSBpcyAiN2UtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwNyIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwNworUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA4IiwgIjFlLTgiKS52YWx1ZSBpcyAi
OGUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOCIsICIx
ZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA5IiwgIjFlLTgiKS52YWx1ZSBpcyAiOWUtOSIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOSIsICIxZS04IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDEiLCAiMWUtOSIpLnZhbHVlIGlzICIxZS0xMCIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAxIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDIiLCAiMWUtOSIpLnZhbHVlIGlzICIyZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAyIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDMiLCAiMWUtOSIpLnZhbHVlIGlzICIzZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAzIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDQiLCAi
MWUtOSIpLnZhbHVlIGlzICI0ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDA0IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNAor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDUiLCAiMWUtOSIp
LnZhbHVlIGlzICI1ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDA1IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNQorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDYiLCAiMWUtOSIpLnZhbHVl
IGlzICI2ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDA2IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDciLCAiMWUtOSIpLnZhbHVlIGlzICI3
ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA3Iiwg
IjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDgiLCAiMWUtOSIpLnZhbHVlIGlzICI4ZS0xMCIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA4IiwgIjFlLTki
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDkiLCAiMWUtOSIpLnZhbHVlIGlzICI5ZS0xMCIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA5IiwgIjFlLTkiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMSIsICIxZS0xMCIpLnZhbHVlIGlzICIxZS0xMSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDEiLCAiMWUtMTAiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDIiLCAiMWUtMTAiKS52YWx1ZSBpcyAiMmUtMTEiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAyIiwgIjFlLTEwIikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAzIiwgIjFlLTEwIikudmFsdWUgaXMgIjNlLTExIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMyIsICIxZS0xMCIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwNCIsICIxZS0xMCIpLnZhbHVlIGlzICI0ZS0xMSIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDQiLCAiMWUtMTAiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDUiLCAiMWUtMTAiKS52YWx1ZSBpcyAiNWUtMTEiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA1IiwgIjFlLTEwIiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDA2IiwgIjFlLTEwIikudmFsdWUgaXMgIjZlLTExIgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNiIsICIxZS0xMCIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNyIsICIxZS0xMCIpLnZhbHVlIGlzICI3ZS0xMSIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDciLCAiMWUtMTAi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDgiLCAiMWUtMTAiKS52YWx1ZSBpcyAiOGUtMTEiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA4IiwgIjFlLTEw
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA5IiwgIjFlLTEwIikudmFsdWUgaXMgIjllLTExIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwOSIsICIxZS0x
MCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAxIiwgIjFlLTExIikudmFsdWUgaXMgIjFlLTEy
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAxIiwg
IjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAyIiwgIjFlLTExIikudmFsdWUgaXMg
IjJlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDAyIiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAzIiwgIjFlLTExIikudmFs
dWUgaXMgIjNlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDAzIiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMworUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA0IiwgIjFlLTEx
IikudmFsdWUgaXMgIjRlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDA0IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAw
NAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA1Iiwg
IjFlLTExIikudmFsdWUgaXMgIjVlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDA1IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDA2IiwgIjFlLTExIikudmFsdWUgaXMgIjZlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA2IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDA3IiwgIjFlLTExIikudmFsdWUgaXMgIjdlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA3IiwgIjFlLTExIikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDA4IiwgIjFlLTExIikudmFsdWUgaXMgIjhlLTEyIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA4IiwgIjFlLTExIikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDA5IiwgIjFlLTExIikudmFsdWUgaXMgIjllLTEyIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA5IiwgIjFlLTExIiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDEiLCAiMWUtMTIiKS52YWx1ZSBpcyAiMWUtMTMi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMSIs
ICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMiIsICIxZS0xMiIpLnZhbHVl
IGlzICIyZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAyIiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAzIiwgIjFl
LTEyIikudmFsdWUgaXMgIjNlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDMiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDQiLCAiMWUtMTIiKS52YWx1ZSBpcyAiNGUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNCIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwNSIsICIxZS0xMiIpLnZhbHVlIGlzICI1ZS0xMyIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA1IiwgIjFlLTEyIikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA2IiwgIjFlLTEyIikudmFsdWUgaXMgIjZlLTEzIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDYiLCAi
MWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDciLCAiMWUtMTIiKS52YWx1ZSBp
cyAiN2UtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDAwNyIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA3CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOCIsICIxZS0x
MiIpLnZhbHVlIGlzICI4ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDA4IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDA5IiwgIjFlLTEyIikudmFsdWUgaXMgIjllLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDkiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwMSIsICIxZS0xMyIpLnZhbHVlIGlzICIxZS0xNCIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTMiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDIiLCAiMWUtMTMiKS52YWx1ZSBpcyAiMmUt
MTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDAyIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAyCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAzIiwgIjFlLTEz
IikudmFsdWUgaXMgIjNlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwMyIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDAwNCIsICIxZS0xMyIpLnZhbHVlIGlzICI0ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTMiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMDUiLCAiMWUtMTMiKS52YWx1ZSBpcyAiNWUtMTQiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA1IiwgIjFl
LTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA2IiwgIjFlLTEzIikudmFsdWUg
aXMgIjZlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwNiIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwNgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNyIs
ICIxZS0xMyIpLnZhbHVlIGlzICI3ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDciLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDAwMDgiLCAiMWUtMTMiKS52YWx1ZSBpcyAiOGUtMTQiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA4IiwgIjFlLTEzIikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA5IiwgIjFlLTEzIikudmFsdWUgaXMgIjllLTE0
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAw
OSIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwOQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjFlLTE0
IikudmFsdWUgaXMgIjFlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDAwMDAyIiwgIjFlLTE0IikudmFsdWUgaXMgIjJlLTE1IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAyIiwgIjFlLTE0IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAzIiwgIjFlLTE0IikudmFsdWUgaXMgIjNl
LTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDAwMDAzIiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwMworUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA0Iiwg
IjFlLTE0IikudmFsdWUgaXMgIjRlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA0IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwMDA1IiwgIjFlLTE0IikudmFsdWUgaXMgIjVlLTE1IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA1IiwgIjFlLTE0
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA2IiwgIjFlLTE0IikudmFsdWUg
aXMgIjZlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDAwMDA2IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAw
NgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAw
MDA3IiwgIjFlLTE0IikudmFsdWUgaXMgIjdlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA3IiwgIjFlLTE0IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA4IiwgIjFlLTE0IikudmFsdWUgaXMgIjhlLTE1IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA4Iiwg
IjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwOAorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA5IiwgIjFlLTE0Iiku
dmFsdWUgaXMgIjllLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwMDA5IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAwMDAwOQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUt
cm91bmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUt
cm91bmRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTFlNjFkZmYwMjg5M2ViMTNjY2QwNjRlZjMyZmFj
ZjZlOGVlNDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5n
ZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCBpZD0iZm9vIiB0eXBlPXJhbmdlIHN0ZXA9MC4xIHZhbHVl
PTAuNj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGRpdiBpZD0ic2xpZGVycyI+PC9kaXY+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIjxhIGhyZWY9J2h0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgwMDA5Jz44MDAwOSBJbnRyb2R1Y2UgRGVjaW1hbCBhcml0aG1ldGlj
IHRvIGZpeCByb3VuZGluZyBlcnJvcnMgaW4gbnVtYmVyL3JhbmdlIGlucHV0IHR5cGVzPC9hPiIp
OworCitmdW5jdGlvbiBjcmVhdGVTYW1wbGUoc3RlcCwgdmFsdWUsIG1heCkKK3sKKyAgICB2YXIg
Y29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgIGNvbnRhaW5l
ci5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9cmFuZ2UgbWluPTAgbWF4PScgKyBtYXggKyAnIHN0
ZXA9JyArIHN0ZXAgKyAnIHZhbHVlPScgKyB2YWx1ZSArICc+PGJyPic7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNsaWRlcnMiKS5hcHBlbmRDaGlsZChjb250YWluZXIpOworICAgIHJl
dHVybiBjb250YWluZXIuZmlyc3RDaGlsZDsKK30KKwordmFyIHplcm9zID0gIjAuIjsKK2ZvciAo
dmFyIGV4cG9uZW50ID0gMDsgZXhwb25lbnQgPCAxNTsgKytleHBvbmVudCkgeworICAgIHZhciBz
dGVwID0gemVyb3MgKyAiMSI7CisgICAgZm9yICh2YXIgZGlnaXQgPSAxOyBkaWdpdCA8PSA5OyAr
K2RpZ2l0KSB7CisgICAgICAgIHZhciB2YWx1ZSA9IHplcm9zICsgZGlnaXQudG9TdHJpbmcoKTsK
KyAgICAgICAgdmFyIHNhbXBsZSA9ICdjcmVhdGVTYW1wbGUoIicgKyBzdGVwICsgJyIsICInICsg
dmFsdWUgKyAnIiwgIjFlLScgKyBleHBvbmVudCArICciKSc7CisgICAgICAgIHZhciBzdGVwRXhw
b25lbnQgPSBleHBvbmVudCArIDE7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhzYW1w
bGUgKyAnLnZhbHVlJywgc3RlcEV4cG9uZW50ID49IDcgPyBkaWdpdCArICJlLSIgKyBzdGVwRXhw
b25lbnQgOiB2YWx1ZSk7CisgICAgICAgIHNob3VsZEJlKHNhbXBsZSArICcudmFsdWVBc051bWJl
cicsIHZhbHVlKTsKKyAgICB9CisgICAgemVyb3MgKz0gIjAiOworfQorCisvLyBSZW1vdmUgZ2Vu
ZXJhdGVkIHNsaWRlcnMuCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVycyIpLmlubmVy
SFRNTCA9ICIiOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CisKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146240</attachid>
            <date>2012-06-07 02:54:20 -0700</date>
            <delta_ts>2012-06-07 03:03:42 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-88383-20120607185419.patch</filename>
            <type>text/plain</type>
            <size>70646</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5Njk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMxMWI4NThmNmUzMmEy
ZmRhNWI1MzAwY2QzMGM3NzYwMWMxMjBiZC4uZjFmMDRlNzVjZjdhNmJhZTU2Zjg4NDNiZWE3MGIw
MjE2MjgyMDM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgdG8gRGVjaW1hbE9yTWlzc2luZy4KKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwvSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cp
OiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAg
ICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6dmFs
aWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cGFy
c2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFw
cGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAo
SW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2ltYXBsUGxhY2VzLgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
TnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5kZXJTaXplLgorICAgICAg
ICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBUaGlzIGZ1bmN0aW9uIHJl
cGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpOdW1i
ZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4K
KyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNv
cmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6ZS4KKyAgICAgICAgKFdl
YkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKTog
ZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJl
cklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNpbWFwbFBsYWNlcy4KKyAg
ICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdl
SW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisg
ICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IGRpdHRv
LgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBS
YW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBhbmQgY2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjphY2NlcHRhYmxlRXJy
b3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUgYW5kIHN0ZDo6bWluL21h
eC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVwKTogQ2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzLgorICAgICAg
ICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFuZ2VkIGZvciBEZWNpbWFs
IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcik6IENo
YW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRJ
bnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoRGVjaW1hbE9yTWlzc2luZyk6IFJl
cGxhY2VtZW50IG9mIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nLgorICAgICAgICAo
V2ViQ29yZTo6U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nOjpEZWNpbWFsT3JNaXNzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cm91bmRCeVN0ZXApOiBBZGRlZCBmb3Igc2hh
cmluZyBjb2RlLgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUZvck51bWJlclR5cGUpOiBBZGRlZCBEZWNpbWFsIHZl
cnNpb24uCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6IFVwZGF0ZWQg
Y29tbWVudHMgZm9yIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlLgorICAgICAgICAqIGh0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQ
b3NpdGlvbik6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKwogMjAxMi0wNi0wNyAgTGkgWWlu
ICA8bGkueWluQGludGVsLmNvbT4KIAogICAgICAgICBbRmlsZUFQSV0gRmlsZVJlYWRlciBzaG91
bGQgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIHdoZW4gcmVhZHlTdGF0ZSBp
cyBMT0FESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHAKaW5kZXggNzNlNDk5MjNiMDYwYjQ2MzUzOGRkODEyOGVkNzZmOWUwY2FhZTgwZC4u
Yzc2NjE5NDUyMjc4OWNiMWI0NDZkNGEyNmRiMDcwNWQxYTMyZWVjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMTM2LDcgKzEz
Niw3IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMoY29uc3QgU3RyaW5nJiBzb3VyY2UsIERhdGVDCiAKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpCisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKICAgICBpZiAo
IXNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJs
ZSh2YWx1ZSksICZkYXRlKSkKQEAgLTE0OSw5ICsxNDksOSBAQCBTdHJpbmcgQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoQ29tcG9uZW50cyhjb25zdCBEYXRlQ29tcG9uZW50
cyYgZAogICAgIElucHV0TnVtYmVyIHN0ZXA7CiAgICAgaWYgKCFlbGVtZW50KCktPmdldEFsbG93
ZWRWYWx1ZVN0ZXAoJnN0ZXApKQogICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZygpOwotICAg
IGlmICghZm1vZChzdGVwLCBtc2VjUGVyTWludXRlKSkKKyAgICBpZiAoc3RlcC5yZW1haW5kZXIo
bXNlY1Blck1pbnV0ZSkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERh
dGVDb21wb25lbnRzOjpOb25lKTsKLSAgICBpZiAoIWZtb2Qoc3RlcCwgbXNlY1BlclNlY29uZCkp
CisgICAgaWYgKHN0ZXAucmVtYWluZGVyKG1zZWNQZXJTZWNvbmQpLmlzWmVybygpKQogICAgICAg
ICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6U2Vjb25kKTsKICAgICByZXR1
cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6TWlsbGlzZWNvbmQpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKaW5kZXggODI5MzJiNWJkNzM4MWRjZjc0YWQxZDFh
N2Q1NjdiMWI0MDdkMTE1Yy4uOTVlNmQ1OWExOGJhMzEwNzMyNzVjMTAzZmI1ODI3NmM0MjNmODAy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC03Niw3ICs3Niw3IEBA
IFN0ZXBSYW5nZSBEYXRlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsK
ICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERh
dGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bURhdGUo
KSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBTdGVwUmFuZ2U6
OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5k
bGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0
dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBz
dGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJ
bnB1dFR5cGUuY3BwCmluZGV4IGM5Yzc0YzYxYTk5ZTU3MDNiMGQ4MjA4MjljYmZjN2UwNTk5MDYw
ZjguLjZiMDRiZDA4MGI2ZTNhNDhlZmJlM2QxYzFlNjBiNWQ1YmEyNDEyZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFN0ZXBS
YW5nZSBEYXRlVGltZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBh
bnlTdGVwSGFuZGxpbmcpIGNvCiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJz
ZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7CiAgICAg
Y29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29t
cG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhp
bXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciks
IGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0ZVRp
bWUoKSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcg
c3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0
aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBTdGVwUmFu
Z2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBI
YW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3Rl
cEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVt
LCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAyMzYwZmYxZDc5MTg4ODgxM2U4NmUwNTM5
Yjg0NTdmMWI2ZWQ1OWIxLi40Njc1YzMwOGI5OTM4MzkxOGEyMmRkNzAwOTQ1MWJhODc5NjMyNmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAK
QEAgLTgwLDcgKzgwLDcgQEAgU3RlcFJhbmdlIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmNyZWF0
ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW4KICAgICBjb25zdCBJbnB1
dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VU
b051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3Vi
bGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZVRpbWUoKSkpOwogICAg
IGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNv
bXBvbmVudHM6Om1heGltdW1EYXRlVGltZSgpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRo
RGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3Rl
cEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShz
dGVwQXR0cikpOworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJh
bmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3Rl
cEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCBlMjNmOTJlOGQ5OTJjNmZkODdhNzA3YmJmMzc2
MjFkYzBlYmM5MjY3Li45YmI2MDI5NmM4ZWY2MjQ5YTZhZDBmMjY1MDMwOWEwMTg5MWI5NjAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgYm9vbCBJbnB1
dFR5cGU6OnJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBh
cnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisg
ICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgcmV0dXJuIG51bWVyaWNWYWx1ZSA8IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1p
bmltdW0oKTsKQEAgLTI2OSw3ICsyNjksNyBAQCBib29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxv
dyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFs
dWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBudW1lcmlj
VmFsdWUgPiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5tYXhpbXVtKCk7CkBAIC0zMDIsNyAr
MzAyLDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzSW5SYW5nZShjb25zdCBTdHJpbmcmIHZhbHVlKSBj
b25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1l
cmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1l
cmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVq
ZWN0QW55KSk7CkBAIC0zMTUsNyArMzE1LDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzT3V0T2ZSYW5n
ZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFs
dWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBS
YW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC0zMjgsNyArMzI4LDcgQEAgYm9v
bCBJbnB1dFR5cGU6OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUg
PSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUp
KQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5zdGVwTWlzbWF0Y2go
bnVtZXJpY1ZhbHVlKTsKQEAgLTM2Niw3ICszNjYsNyBAQCBTdHJpbmcgSW5wdXRUeXBlOjp2YWxp
ZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAg
ICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZh
bHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1
ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIFN0ZXBS
YW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwpAQCAtNDY2LDE0ICs0
NjYsNyBAQCBJbnB1dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5n
JiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYQogCiBJbnB1dE51bWJlciBJbnB1dFR5cGU6
OnBhcnNlVG9OdW1iZXJPck5hTihjb25zdCBTdHJpbmcmIHN0cmluZykgY29uc3QKIHsKLSAgICBy
ZXR1cm4gcGFyc2VUb051bWJlcihzdHJpbmcsIG51bWVyaWNfbGltaXRzPElucHV0TnVtYmVyPjo6
cXVpZXRfTmFOKCkpOwotfQotCi1JbnB1dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRl
ZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNvbnN0Ci17Ci0gICAgaWYgKGRl
Y2ltYWxQbGFjZXMpCi0gICAgICAgICpkZWNpbWFsUGxhY2VzID0gMDsKLSAgICByZXR1cm4gcGFy
c2VUb051bWJlcihzcmMsIGRlZmF1bHRWYWx1ZSk7CisgICAgcmV0dXJuIHBhcnNlVG9OdW1iZXIo
c3RyaW5nLCBEZWNpbWFsOjpuYW4oKSk7CiB9CiAKIGJvb2wgSW5wdXRUeXBlOjpwYXJzZVRvRGF0
ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdApAQCAtODg2
LDE1ICs4NzksMTMgQEAgdm9pZCBJbnB1dFR5cGU6OmFwcGx5U3RlcChpbnQgY291bnQsIEFueVN0
ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIFRleHRGaWVsZEUKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKLSAgICB1bnNpZ25lZCBjdXJyZW50RGVjaW1hbFBsYWNlczsKLSAgICBjb25z
dCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2VzKGVs
ZW1lbnQoKS0+dmFsdWUoKSwgbmFuLCAmY3VycmVudERlY2ltYWxQbGFjZXMpOwotICAgIGlmICgh
aXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFy
c2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7CisgICAgaWYgKCFjdXJyZW50Lmlz
RmluaXRlKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBJbnB1dE51bWJlciBuZXdWYWx1ZSA9IGN1cnJlbnQgKyBzdGVwUmFu
Z2Uuc3RlcCgpICogY291bnQ7Ci0gICAgaWYgKGlzaW5mKG5ld1ZhbHVlKSkgeworICAgIGlmICgh
bmV3VmFsdWUuaXNGaW5pdGUoKSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTA5LDcgKzkwMCw3IEBAIHZvaWQgSW5wdXRUeXBl
OjphcHBseVN0ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBU
ZXh0RmllbGRFCiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0ZXBTdHJpbmcgPSBlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpOwogICAgIGlmICghZXF1YWxJZ25vcmluZ0Nh
c2Uoc3RlcFN0cmluZywgImFueSIpKQotICAgICAgICBuZXdWYWx1ZSA9IHN0ZXBSYW5nZS5hbGln
blZhbHVlRm9yU3RlcChjdXJyZW50LCBjdXJyZW50RGVjaW1hbFBsYWNlcywgbmV3VmFsdWUpOwor
ICAgICAgICBuZXdWYWx1ZSA9IHN0ZXBSYW5nZS5hbGlnblZhbHVlRm9yU3RlcChjdXJyZW50LCBu
ZXdWYWx1ZSk7CiAKICAgICBpZiAobmV3VmFsdWUgLSBzdGVwUmFuZ2UubWF4aW11bSgpID4gYWNj
ZXB0YWJsZUVycm9yVmFsdWUpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKQEAg
LTEwMDksNyArMTAwMCw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50
IG4pCiAKICAgICBTdHJpbmcgY3VycmVudFN0cmluZ1ZhbHVlID0gZWxlbWVudCgpLT52YWx1ZSgp
OwogICAgIElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJzZVRvTnVtYmVyT3JOYU4oY3VycmVudFN0
cmluZ1ZhbHVlKTsKLSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgaWYgKCFjdXJy
ZW50LmlzRmluaXRlKCkpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgY3Vy
cmVudCA9IGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpOwogICAgICAgICBjb25zdCBJbnB1dE51bWJl
ciBuZXh0RGlmZiA9IHN0ZXAgKiBuOwpAQCAtMTAyNSwxNSArMTAxNiwxMyBAQCB2b2lkIElucHV0
VHlwZTo6c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgIH0gZWxzZSB7CiAgICAgICAgIEV4
Y2VwdGlvbkNvZGUgZWM7CiAgICAgICAgIGlmIChzdGVwTWlzbWF0Y2goZWxlbWVudCgpLT52YWx1
ZSgpKSkgewotICAgICAgICAgICAgQVNTRVJUKHN0ZXApOwotICAgICAgICAgICAgY29uc3QgSW5w
dXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8SW5wdXROdW1iZXI+KG1heChz
dGVwUmFuZ2Uuc3RlcERlY2ltYWxQbGFjZXMoKSwgc3RlcFJhbmdlLnN0ZXBCYXNlRGVjaW1hbFBs
YWNlcygpKSkpOwotICAgICAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgYmFzZSA9IHN0ZXBSYW5n
ZS5zdGVwQmFzZSgpOwotCi0gICAgICAgICAgICBJbnB1dE51bWJlciBuZXdWYWx1ZTsKKyAgICAg
ICAgICAgIEFTU0VSVCghc3RlcC5pc1plcm8oKSk7CisgICAgICAgICAgICBjb25zdCBEZWNpbWFs
IGJhc2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKTsKKyAgICAgICAgICAgIERlY2ltYWwgbmV3VmFs
dWU7CiAgICAgICAgICAgICBpZiAoc2lnbiA8IDApCi0gICAgICAgICAgICAgICAgbmV3VmFsdWUg
PSByb3VuZCgoYmFzZSArIGZsb29yKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICog
c2NhbGUpIC8gc2NhbGU7CisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKChjdXJy
ZW50IC0gYmFzZSkgLyBzdGVwKS5mbG9vcigpICogc3RlcDsKICAgICAgICAgICAgIGVsc2UgaWYg
KHNpZ24gPiAwKQotICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBjZWls
KChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8gc2NhbGU7CisgICAg
ICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKS5j
ZWlsaW5nKCkgKiBzdGVwOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG5ld1Zh
bHVlID0gY3VycmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggNzZlYmQ0ODY0Nzgz
YzRjZTNlMTA4ZTkzODkwNjIzNjYwNDExYzA1Yy4uYjZiOWI3ODgyMmFkZDc1MDVkZmJjN2ZhZmRi
YjMyN2IyOTM3YTAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0yNjYsMTEgKzI2Niw2
IEBAIHB1YmxpYzoKICAgICAvLyByZXR1cm4gTmFOIG9yIEluZmluaXR5IG9ubHkgaWYgZGVmYXVs
dFZhbHVlIGlzIE5hTiBvciBJbmZpbml0eS4KICAgICB2aXJ0dWFsIElucHV0TnVtYmVyIHBhcnNl
VG9OdW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkg
Y29uc3Q7CiAKLSAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcgZm9yIHRoZSB0eXBl
IGFzIHBhcnNlVG9OdW1iZXIoKSBkb2VzLgotICAgIC8vIEluIGFkZGl0aW9uLCBpdCBzdG9yZXMg
dGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICAvLyBpbnRv
ICpkZWNpbWFsUGxhY2VzLgotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZhdWx0
VmFsdWUsIHVuc2lnbmVkKiBkZWNpbWFsUGxhY2VzKSBjb25zdDsKLQogICAgIC8vIFBhcnNlcyB0
aGUgc3BlY2lmaWVkIHN0cmluZyBmb3IgdGhpcyBJbnB1dFR5cGUsIGFuZCByZXR1cm5zIHRydWUg
aWYgaXQKICAgICAvLyBpcyBzdWNjZXNzZnVsbHkgcGFyc2VkLiBBbiBpbnN0YW5jZSBwb2ludGVk
IGJ5IHRoZSBEYXRlQ29tcG9uZW50cyoKICAgICAvLyBwYXJhbWV0ZXIgd2lsbCBoYXZlIHBhcnNl
ZCB2YWx1ZXMgYW5kIGJlIG1vZGlmaWVkIGV2ZW4gaWYgdGhlIHBhcnNpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggYmExMmJlZjVkOTlkMDQ4MWUxYjdiMzExYWNh
NmZmNGEwNjM4YzA0Yy4uODk2M2Q4MzlkYjliMjI3NDgwYjNhZWQzYTc0NDMwZDhhYzlmNzZkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAgLTEwNCw3ICsxMDQsNyBA
QCBTdGVwUmFuZ2UgTW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxp
bmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNl
ID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNv
bnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSkp
OwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIo
RGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIg
bWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0
dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bU1v
bnRoKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
IHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlw
dGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgU3RlcFJh
bmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVw
SGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0
ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11
bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJ
bnB1dFR5cGUuY3BwCmluZGV4IDY5MmU3OTkwNGFhZTgwNzc5Mzc2ZjMxZmQzNTE5MTI2NDlkNDcx
NTEuLjBiNjM2MzdjZTVhZjVlYjk4NDUyYmM3NjdiZjg1YjA3YmQ2ZDgzYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTU0LDE5ICs1NCw0NCBAQCBzdGF0aWMg
Y29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVy
RGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyU3RlcFNjYWxlRmFj
dG9yID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0aEJlZm9yZURlY2ltYWxQb2ludChkb3Vi
bGUgdmFsdWUpCitzdHJ1Y3QgUmVhbE51bWJlclJlbmRlclNpemUKIHsKLSAgICAvLyBJZiB2YWx1
ZSBpcyBuZWdhdGl2ZSwgJy0nIHNob3VsZCBiZSBjb3VudGVkLgorICAgIHVuc2lnbmVkIHNpemVC
ZWZvcmVEZWNpbWFsUG9pbnQ7CisgICAgdW5zaWduZWQgc2l6ZUFmdGVEZWNpbWFsUG9pbnQ7CiAK
LSAgICBkb3VibGUgYWJzb2x1dGVWYWx1ZSA9IGZhYnModmFsdWUpOwotICAgIGlmIChhYnNvbHV0
ZVZhbHVlIDwgMSkKLSAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IDIgOiAxOworICAgIFJlYWxO
dW1iZXJSZW5kZXJTaXplKHVuc2lnbmVkIGJlZm9yZSwgdW5zaWduZWQgYWZ0ZXIpCisgICAgICAg
IDogc2l6ZUJlZm9yZURlY2ltYWxQb2ludChiZWZvcmUpCisgICAgICAgICwgc2l6ZUFmdGVEZWNp
bWFsUG9pbnQoYWZ0ZXIpCisgICAgeworICAgIH0KIAotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihsb2cxMChmbG9vcihhYnNvbHV0ZVZhbHVlKSkpICsgMTsKLSAg
ICBpZiAodmFsdWUgPCAwKQotICAgICAgICBsZW5ndGggKz0gMTsKKyAgICBSZWFsTnVtYmVyUmVu
ZGVyU2l6ZSBtYXgoY29uc3QgUmVhbE51bWJlclJlbmRlclNpemUmIG90aGVyKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXplKAorICAgICAgICAgICAgc3Rk
OjptYXgoc2l6ZUJlZm9yZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUJlZm9yZURlY2ltYWxQb2lu
dCksCisgICAgICAgICAgICBzdGQ6Om1heChzaXplQWZ0ZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6
ZUFmdGVEZWNpbWFsUG9pbnQpKTsKKyAgICB9Cit9OwogCi0gICAgcmV0dXJuIGxlbmd0aDsKK3N0
YXRpYyBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBjYWxjdWxhdGVSZW5kZXJTaXplKGNvbnN0IERlY2lt
YWwmIHZhbHVlKQoreworICAgIEFTU0VSVCh2YWx1ZS5pc0Zpbml0ZSgpKTsKKyAgICBjb25zdCB1
bnNpZ25lZCBzaXplT2ZEaWdpdHMgPSBTdHJpbmc6Om51bWJlcih2YWx1ZS52YWx1ZSgpLmNvZWZm
aWNpZW50KCkpLmxlbmd0aCgpOworICAgIGNvbnN0IHVuc2lnbmVkIHNpemVPZlNpZ24gPSB2YWx1
ZS5pc05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBjb25zdCBpbnQgZXhwb25lbnQgPSB2YWx1ZS5l
eHBvbmVudCgpOworICAgIGlmIChleHBvbmVudCA+PSAwKQorICAgICAgICByZXR1cm4gUmVhbE51
bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZkRpZ2l0cywgMCk7CisKKyAgICBjb25z
dCBpbnQgc2l6ZUJlZm9yZURlY2ltYWxQb2ludCA9IGV4cG9uZW50ICsgc2l6ZU9mRGlnaXRzOwor
ICAgIGlmIChzaXplQmVmb3JlRGVjaW1hbFBvaW50ID4gMCkgeworICAgICAgICAvLyBJbiBjYXNl
IG9mICIxMjMuNDU2IgorICAgICAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9m
U2lnbiArIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQsIHNpemVPZkRpZ2l0cyAtIHNpemVCZWZvcmVE
ZWNpbWFsUG9pbnQpOworICAgIH0KKworICAgIC8vIEluIGNhc2Ugb2YgIjAuMDAwMTIzNDUiCisg
ICAgY29uc3QgdW5zaWduZWQgc2l6ZU9mWmVybyA9IDE7CisgICAgY29uc3QgdW5zaWduZWQgbnVt
YmVyT2ZaZXJvQWZ0ZXJEZWNpbWFsUG9pbnQgPSAtc2l6ZUJlZm9yZURlY2ltYWxQb2ludDsKKyAg
ICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZlplcm8gLCBu
dW1iZXJPZlplcm9BZnRlckRlY2ltYWxQb2ludCArIHNpemVPZkRpZ2l0cyk7CiB9CiAKIFBhc3NP
d25QdHI8SW5wdXRUeXBlPiBOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiBlbGVtZW50KQpAQCAtMTI4LDE3ICsxNTMsMTIgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5
cGVNaXNtYXRjaCgpIGNvbnN0CiBTdGVwUmFuZ2UgTnVtYmVySW5wdXRUeXBlOjpjcmVhdGVTdGVw
UmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIHsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0ZXBSYW5nZTo6U3RlcERlc2NyaXB0aW9uLCBzdGVwRGVz
Y3JpcHRpb24sIChudW1iZXJEZWZhdWx0U3RlcCwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCBudW1i
ZXJTdGVwU2NhbGVGYWN0b3IpKTsKLQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNl
czsKLSAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZVZhbHVlID0gcGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgbnVt
YmVyRGVmYXVsdFN0ZXBCYXNlLCAmc3RlcEJhc2VEZWNpbWFsUGxhY2VzKTsKLSAgICBTdGVwUmFu
Z2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXBCYXNlKHN0ZXBCYXNlVmFsdWUsIG1pbihz
dGVwQmFzZURlY2ltYWxQbGFjZXMsIDE2dSkpOwotCisgICAgY29uc3QgSW5wdXROdW1iZXIgc3Rl
cEJhc2UgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBudW1iZXJEZWZhdWx0U3RlcEJhc2UpOwogICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0
IHR5cGUuCiAgICAgY29uc3QgSW5wdXROdW1iZXIgZmxvYXRNYXggPSBjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcihudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKICAgICBjb25zdCBJbnB1
dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1
dGUobWluQXR0ciksIC1mbG9hdE1heCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBmbG9h
dE1heCk7Ci0KLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
IHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlw
dGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3Qg
U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChh
bnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwg
bWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQ2LDQ2ICsxNjYsMjUg
QEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQg
ZGVmYXVsdFNpemUsIGludCYgcHJlZmVycmUKIHsKICAgICBwcmVmZXJyZWRTaXplID0gZGVmYXVs
dFNpemU7CiAKLSAgICB1bnNpZ25lZCBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5n
IG1pblZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpOwotICAgIGRv
dWJsZSBtaW5WYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2lt
YWxQbGFjZXMobWluVmFsdWUsICZtaW5WYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNm
aW5pdGUobWluVmFsdWVEb3VibGUpKQorICAgIFN0cmluZyBzdGVwU3RyaW5nID0gZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
c3RlcFN0cmluZywgImFueSIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB1bnNpZ25l
ZCBtYXhWYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpOwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9
IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZt
YXhWYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUp
KQorICAgIGNvbnN0IERlY2ltYWwgbWluaW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlw
ZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0cikpOworICAgIGlmICghbWluaW11
bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVE
b3VibGUgPCBtaW5WYWx1ZURvdWJsZSkgewotICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZh
bHVlRG91YmxlOwotICAgICAgICBtYXhWYWx1ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2lt
YWxQbGFjZXM7Ci0gICAgfQotCi0gICAgU3RyaW5nIHN0ZXBWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShzdGVwQXR0cik7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBW
YWx1ZSwgImFueSIpKQorICAgIGNvbnN0IERlY2ltYWwgbWF4aW11bSA9IHBhcnNlVG9EZWNpbWFs
Rm9yTnVtYmVyVHlwZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0cikpOworICAg
IGlmICghbWF4aW11bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdW5z
aWduZWQgc3RlcFZhbHVlRGVjaW1hbFBsYWNlczsKLSAgICBkb3VibGUgc3RlcFZhbHVlRG91Ymxl
ID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwVmFsdWUs
ICZzdGVwVmFsdWVEZWNpbWFsUGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKHN0ZXBWYWx1ZURv
dWJsZSkpIHsKLSAgICAgICAgc3RlcFZhbHVlRG91YmxlID0gMTsKLSAgICAgICAgc3RlcFZhbHVl
RGVjaW1hbFBsYWNlcyA9IDA7Ci0gICAgfQogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gbGVuZ3Ro
QmVmb3JlRGVjaW1hbFBvaW50KG1pblZhbHVlRG91YmxlKTsKLSAgICBsZW5ndGggPSBtYXgobGVu
Z3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQobWF4VmFsdWVEb3VibGUpKTsKLSAgICBsZW5n
dGggPSBtYXgobGVuZ3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQoc3RlcFZhbHVlRG91Ymxl
KSk7CisgICAgY29uc3QgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBl
KHN0ZXBTdHJpbmcsIDEpOworICAgIEFTU0VSVChzdGVwLmlzRmluaXRlKCkpOwogCi0gICAgdW5z
aWduZWQgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0g
ICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQs
IG1heFZhbHVlRGVjaW1hbFBsYWNlcyk7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBt
YXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOworICAg
IFJlYWxOdW1iZXJSZW5kZXJTaXplIHNpemUgPSBjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0p
Lm1heChjYWxjdWxhdGVSZW5kZXJTaXplKG1heGltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXpl
KHN0ZXApKSk7CiAKLSAgICAvLyAnLicgc2hvdWxkIGJlIGNvdW50ZWQgaWYgdGhlIHZhbHVlIGhh
cyBkZWNpbWFsIHBsYWNlcy4KLSAgICBpZiAobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPiAwKQot
ICAgICAgICBsZW5ndGggKz0gbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgKyAxOworICAgIHByZWZl
cnJlZFNpemUgPSBzaXplLnNpemVCZWZvcmVEZWNpbWFsUG9pbnQgKyBzaXplLnNpemVBZnRlRGVj
aW1hbFBvaW50ICsgKHNpemUuc2l6ZUFmdGVEZWNpbWFsUG9pbnQgPyAxIDogMCk7CiAKLSAgICBw
cmVmZXJyZWRTaXplID0gbGVuZ3RoOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDgsMTkg
KzIwNywxMiBAQCB2b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2
ZW50KiBldmVudCkKIAogSW5wdXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVy
KGNvbnN0IFN0cmluZyYgc3JjLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25z
dAogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91Ymxl
Rm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1bHRWYWx1ZSkpOwotfQotCi1JbnB1dE51bWJlciBOdW1i
ZXJJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcm
IHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQ
bGFjZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKHBh
cnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3JjLCBkZWNpbWFsUGxh
Y2VzLCBkZWZhdWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJU
eXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2Vy
aWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmlu
aXRlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBzZXJpYWxp
emVGb3JOdW1iZXJUeXBlKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNl
cmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpIDogZW1wdHlTdHJpbmcoKTsKIH0KIAogdm9pZCBO
dW1iZXJJbnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL051bWJlcklucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJ
bnB1dFR5cGUuaAppbmRleCBhZGFlMWQyNjFmNmUyNmJlZjM3MWQxZDFjZTIzMWQyZWQxNGFhMmI4
Li5iY2VkYzk2MDk4ZTZlZjhmYTFmNDc0NmQwNjAyYTVjNjc3NDhlNjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKQEAgLTUzLDcgKzUzLDYgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYsIGNv
bnN0IElucHV0TnVtYmVyJikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBJbnB1dE51bWJl
ciBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5w
dXROdW1iZXImLCB1bnNpZ25lZCopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5n
IHNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBs
b2NhbGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCBjMmY3M2JlY2I0Mjk1NjZiNzI3ZmZmN2MyN2Iz
ZWZlZDBmMDljYWJmLi40NjkyMjQ4NGY2M2UwYjQ1ZDYyNzJhNjdjYTJiOTJmMjFhOTQ3MDk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApAQCAtMTA0LDExICsxMDQsMTEg
QEAgU3RlcFJhbmdlIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRs
aW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcHJl
Y2lzaW9uVmFsdWUgPSBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUocHJlY2lzaW9uQXR0cik7
CiAgICAgaWYgKCFwcmVjaXNpb25WYWx1ZS5pc051bGwoKSkgewotICAgICAgICBTdGVwUmFuZ2U6
Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAoMSwgIWVxdWFsSWdub3JpbmdD
YXNlKHByZWNpc2lvblZhbHVlLCAiZmxvYXQiKSk7CisgICAgICAgIGNvbnN0IFN0ZXBSYW5nZTo6
RGVjaW1hbE9yTWlzc2luZyBzdGVwKDEsICFlcXVhbElnbm9yaW5nQ2FzZShwcmVjaXNpb25WYWx1
ZSwgImZsb2F0IikpOwogICAgICAgICByZXR1cm4gU3RlcFJhbmdlKG1pbmltdW0sIG1pbmltdW0s
IG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiAgICAgfQogCi0gICAgU3RlcFJhbmdl
OjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJz
ZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBz
dGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRp
b24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBT
dGVwUmFuZ2UobWluaW11bSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9u
KTsKIH0KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtl
eWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBjb25zdCBTdHJpbmcmIGtleSA9
IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50
ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7Ci0gICAgQVNTRVJUKGlz
ZmluaXRlKGN1cnJlbnQpKTsKKyAgICBBU1NFUlQoY3VycmVudC5pc0Zpbml0ZSgpKTsKIAogICAg
IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwogCkBAIC0y
MTUsMTQgKzIxNSwxMiBAQCBSZW5kZXJPYmplY3QqIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikgYwogCiBJbnB1dE51bWJlciBS
YW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5w
dXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoc3JjLCBkZWZhdWx0VmFs
dWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVs
dFZhbHVlKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgSW5w
dXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICghaXNmaW5pdGUodmFsdWUpKQotICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUo
dmFsdWUpOworICAgIHJldHVybiB2YWx1ZS5pc0Zpbml0ZSgpID8gc2VyaWFsaXplRm9yTnVtYmVy
VHlwZSh2YWx1ZSkgOiBlbXB0eVN0cmluZygpOwogfQogCiAvLyBGSVhNRTogQ291bGQgc2hhcmUg
dGhpcyB3aXRoIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlIGFuZCBCYXNlQ2hlY2thYmxl
SW5wdXRUeXBlIGlmIHdlIGhhZCBhIGNvbW1vbiBiYXNlIGNsYXNzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuY3BwCmluZGV4IDBkOGZjY2IzNzIxMTBkOTc0Yzc0ZjM1YmVlOTYxZWY4M2JmZjkwZTEu
LjhmODZkMDFjNWVkYzdiYjY0NWE3NTdhODVlMGZlZWI2MzNlYmY5N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1N0ZXBSYW5nZS5jcHAKQEAgLTI0LDEwICsyNCw5IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
CiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CisjaW5jbHVkZSA8d3RmL2R0b2EuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMzcsOCArMzYsNiBAQCBTdGVwUmFuZ2U6OlN0ZXBS
YW5nZSgpCiAgICAgLCBtX21pbmltdW0oMCkKICAgICAsIG1fc3RlcCgxKQogICAgICwgbV9zdGVw
QmFzZSgwKQotICAgICwgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXMoMCkKLSAgICAsIG1fc3RlcERl
Y2ltYWxQbGFjZXMoMCkKICAgICAsIG1faGFzU3RlcChmYWxzZSkKIHsKIH0KQEAgLTQ5LDUzICs0
Niw0MyBAQCBTdGVwUmFuZ2U6OlN0ZXBSYW5nZShjb25zdCBTdGVwUmFuZ2UmIHN0ZXBSYW5nZSkK
ICAgICAsIG1fc3RlcChzdGVwUmFuZ2UubV9zdGVwKQogICAgICwgbV9zdGVwQmFzZShzdGVwUmFu
Z2UubV9zdGVwQmFzZSkKICAgICAsIG1fc3RlcERlc2NyaXB0aW9uKHN0ZXBSYW5nZS5tX3N0ZXBE
ZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBSYW5nZS5tX3N0
ZXBCYXNlRGVjaW1hbFBsYWNlcykKLSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoc3RlcFJhbmdl
Lm1fc3RlcERlY2ltYWxQbGFjZXMpCiAgICAgLCBtX2hhc1N0ZXAoc3RlcFJhbmdlLm1faGFzU3Rl
cCkKIHsKIH0KIAotU3RlcFJhbmdlOjpTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQ
bGFjZXMmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXRO
dW1iZXImIG1heGltdW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nJiBz
dGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbikKK1N0ZXBSYW5nZTo6
U3RlcFJhbmdlKGNvbnN0IERlY2ltYWwmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWlu
aW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IERlY2ltYWxPck1pc3Npbmcm
IHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9t
YXhpbXVtKG1heGltdW0pCiAgICAgLCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChz
dGVwLnZhbHVlLnZhbHVlKQotICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZS52YWx1ZSkKKyAgICAs
IG1fc3RlcChzdGVwLnZhbHVlKQorICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZSkKICAgICAsIG1f
c3RlcERlc2NyaXB0aW9uKHN0ZXBEZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFs
UGxhY2VzKHN0ZXBCYXNlLmRlY2ltYWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2Vz
KHN0ZXAudmFsdWUuZGVjaW1hbFBsYWNlcykKICAgICAsIG1faGFzU3RlcChzdGVwLmhhc1ZhbHVl
KQogewotICAgIEFTU0VSVChpc2Zpbml0ZShtX21heGltdW0pKTsKLSAgICBBU1NFUlQoaXNmaW5p
dGUobV9taW5pbXVtKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKG1fc3RlcCkpOwotICAgIEFTU0VS
VChpc2Zpbml0ZShtX3N0ZXBCYXNlKSk7CisgICAgQVNTRVJUKG1fbWF4aW11bS5pc0Zpbml0ZSgp
KTsKKyAgICBBU1NFUlQobV9taW5pbXVtLmlzRmluaXRlKCkpOworICAgIEFTU0VSVChtX3N0ZXAu
aXNGaW5pdGUoKSk7CisgICAgQVNTRVJUKG1fc3RlcEJhc2UuaXNGaW5pdGUoKSk7CiB9CiAKIElu
cHV0TnVtYmVyIFN0ZXBSYW5nZTo6YWNjZXB0YWJsZUVycm9yKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbV9zdGVwIC8gcG93KDIuMCwgRkxUX01BTlRfRElHKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHVzZSBEQkxfTUFOVF9ESUcgaW5zdGVhZCBvZiBGTFRfTUFOVF9ESUcgcmVnYXJkaW5nIHRv
IEhUTUw1IHNwZWNpZmljYXRpb24uCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNp
bWFsLCB0d29Qb3dlck9mRmxvYXRNYW50aXNzYUJpdHMsIChEZWNpbWFsOjpQb3NpdGl2ZSwgMCwg
VUlOVDY0X0MoMSkgPDwgRkxUX01BTlRfRElHKSk7CisgICAgcmV0dXJuIG1fc3RlcCAvIHR3b1Bv
d2VyT2ZGbG9hdE1hbnRpc3NhQml0czsKIH0KIAotSW5wdXROdW1iZXIgU3RlcFJhbmdlOjphbGln
blZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNpZ25lZCBj
dXJyZW50RGVjaW1hbFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIHByb3Bvc2VkVmFsdWUpIGNv
bnN0CitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0
TnVtYmVyJiBjdXJyZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3QK
IHsKLSAgICBpZiAocHJvcG9zZWRWYWx1ZSA+PSBwb3coMTAuMCwgMjEuMCkpCi0gICAgICAgIHJl
dHVybiBwcm9wb3NlZFZhbHVlOwotCi0gICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBwcm9wb3Nl
ZFZhbHVlOwotICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVlKSkgewotICAgICAgICBj
b25zdCBJbnB1dE51bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJl
cj4obWF4KG1fc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwotICAg
ICAgICBuZXdWYWx1ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGlj
X2Nhc3Q8SW5wdXROdW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBtX3N0ZXBCYXNlRGVj
aW1hbFBsYWNlcykpKTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZChyb3VuZEJ5U3RlcChuZXdW
YWx1ZSwgbV9zdGVwQmFzZSkgKiBzY2FsZSkgLyBzY2FsZTsKLSAgICB9CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0ZW5Qb3dlck9mMjEsIChEZWNpbWFsOjpQb3NpdGl2
ZSwgMjEsIDEpKTsKKyAgICBpZiAobmV3VmFsdWUgPj0gdGVuUG93ZXJPZjIxKQorICAgICAgICBy
ZXR1cm4gbmV3VmFsdWU7CiAKLSAgICByZXR1cm4gbmV3VmFsdWU7CisgICAgcmV0dXJuIHN0ZXBN
aXNtYXRjaChjdXJyZW50VmFsdWUpID8gbmV3VmFsdWUgOiByb3VuZEJ5U3RlcChuZXdWYWx1ZSwg
bV9zdGVwQmFzZSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6Y2xhbXBWYWx1ZShjb25z
dCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgY29uc3QgSW5wdXROdW1iZXIgaW5S
YW5nZVZhbHVlID0gbWF4KG1fbWluaW11bSwgbWluKHZhbHVlLCBtX21heGltdW0pKTsKKyAgICBj
b25zdCBJbnB1dE51bWJlciBpblJhbmdlVmFsdWUgPSBzdGQ6Om1heChtX21pbmltdW0sIHN0ZDo6
bWluKHZhbHVlLCBtX21heGltdW0pKTsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0
dXJuIGluUmFuZ2VWYWx1ZTsKICAgICAvLyBSb3VuZHMgaW5SYW5nZVZhbHVlIHRvIG1pbmltdW0g
KyBOICogc3RlcC4KQEAgLTEwNiw3MiArOTMsNzIgQEAgSW5wdXROdW1iZXIgU3RlcFJhbmdlOjpj
bGFtcFZhbHVlKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gY2xh
bXBlZFZhbHVlOwogfQogCi1TdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNz
aW5nIFN0ZXBSYW5nZTo6cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcs
IGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN0
ZXBTdHJpbmcpCitTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3NpbmcgU3RlcFJhbmdlOjpwYXJzZVN0
ZXAoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9u
JiBzdGVwRGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgc3RlcFN0cmluZykKIHsKICAgICBpZiAo
c3RlcFN0cmluZy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBs
YWNlc09yTWlzc2luZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOworICAgICAgICBy
ZXR1cm4gRGVjaW1hbE9yTWlzc2luZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOwog
CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkgewogICAgICAg
ICBzd2l0Y2ggKGFueVN0ZXBIYW5kbGluZykgewogICAgICAgICBjYXNlIFJlamVjdEFueToKLSAg
ICAgICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyhOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcygxKSwgZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuIERlY2ltYWxP
ck1pc3NpbmcoRGVjaW1hbCgxKSwgZmFsc2UpOwogICAgICAgICBjYXNlIEFueUlzRGVmYXVsdFN0
ZXA6Ci0gICAgICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmco
c3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBEZWNp
bWFsT3JNaXNzaW5nKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAg
IH0KIAotICAgIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAoMCk7Ci0gICAg
c3RlcC52YWx1ZS52YWx1ZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQ
bGFjZXMoc3RlcFN0cmluZywgJnN0ZXAudmFsdWUuZGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFp
c2Zpbml0ZShzdGVwLnZhbHVlLnZhbHVlKSB8fCBzdGVwLnZhbHVlLnZhbHVlIDw9IDAuMCkKLSAg
ICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nKHN0ZXBEZXNjcmlw
dGlvbi5kZWZhdWx0VmFsdWUoKSk7CisgICAgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxG
b3JOdW1iZXJUeXBlKHN0ZXBTdHJpbmcpOworICAgIGlmICghc3RlcC5pc0Zpbml0ZSgpIHx8IHN0
ZXAgPD0gMCkKKyAgICAgICAgcmV0dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcERlc2NyaXB0aW9u
LmRlZmF1bHRWYWx1ZSgpKTsKIAogICAgIHN3aXRjaCAoc3RlcERlc2NyaXB0aW9uLnN0ZXBWYWx1
ZVNob3VsZEJlKSB7CiAgICAgY2FzZSBTdGVwVmFsdWVTaG91bGRCZVJlYWw6Ci0gICAgICAgIHN0
ZXAudmFsdWUudmFsdWUgKj0gc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3RvcjsKKyAgICAg
ICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBhcnNlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8g
Rm9yIGRhdGUsIG1vbnRoLCBhbmQgd2VlaywgdGhlIHBhcnNlZCB2YWx1ZSBzaG91bGQgYmUgYW4g
aW50ZWdlciBmb3Igc29tZSB0eXBlcy4KLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSA9IG1heChy
b3VuZChzdGVwLnZhbHVlLnZhbHVlKSwgMS4wKTsKLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSAq
PSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwID0gc3RkOjpt
YXgoc3RlcC5yb3VuZCgpLCBEZWNpbWFsKDEpKTsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3Jp
cHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjYWxlZFN0
ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGV0aW1lLCBkYXRldGlt
ZS1sb2NhbCwgdGltZSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgYW4gaW50ZWdlci4KLSAgICAgICAg
c3RlcC52YWx1ZS52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwotICAg
ICAgICBzdGVwLnZhbHVlLnZhbHVlID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUudmFsdWUpLCAxLjAp
OworICAgICAgICBzdGVwICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAg
ICAgIHN0ZXAgPSBzdGQ6Om1heChzdGVwLnJvdW5kKCksIERlY2ltYWwoMSkpOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
CiAKLSAgICBBU1NFUlQoc3RlcC52YWx1ZS52YWx1ZSA+IDApOwotICAgIHJldHVybiBzdGVwOwor
ICAgIEFTU0VSVChzdGVwID4gMCk7CisgICAgcmV0dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcCk7
CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6cm91bmRCeVN0ZXAoY29uc3QgSW5wdXROdW1i
ZXImIHZhbHVlLCBjb25zdCBJbnB1dE51bWJlciYgYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
YmFzZSArIHJvdW5kKCh2YWx1ZSAtIGJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcDsKKyAgICByZXR1
cm4gYmFzZSArICgodmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsKIH0K
IAogYm9vbCBTdGVwUmFuZ2U6OnN0ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYgdmFsdWVG
b3JDaGVjaykgY29uc3QKIHsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICghaXNmaW5pdGUodmFsdWVGb3JDaGVjaykpCisgICAgaWYgKCF2YWx1ZUZv
ckNoZWNrLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBJbnB1
dE51bWJlciB2YWx1ZSA9IGZhYnModmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpOwotICAgIGlm
IChpc2luZih2YWx1ZSkpCisgICAgY29uc3QgSW5wdXROdW1iZXIgdmFsdWUgPSAodmFsdWVGb3JD
aGVjayAtIG1fc3RlcEJhc2UpLmFicygpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIElucHV0TnVtYmVyJ3MgZnJhY3Rpb25hbCBwYXJ0
IHNpemUgaXMgREJMX01BTl9ESUctYml0LiBJZiB0aGUgY3VycmVudCB2YWx1ZQogICAgIC8vIGlz
IGdyZWF0ZXIgdGhhbiBzdGVwKjJeREJMX01BTlRfRElHLCB0aGUgZm9sbG93aW5nIGNvbXB1dGF0
aW9uIGZvcgogICAgIC8vIHJlbWFpbmRlciBtYWtlcyBubyBzZW5zZS4KLSAgICBpZiAodmFsdWUg
LyBwb3coMi4wLCBEQkxfTUFOVF9ESUcpID4gbV9zdGVwKQorICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgRGVjaW1hbCwgdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cywgKERlY2ltYWw6
OlBvc2l0aXZlLCAwLCBVSU5UNjRfQygxKSA8PCBEQkxfTUFOVF9ESUcpKTsKKyAgICBpZiAodmFs
dWUgLyB0d29Qb3dlck9mRG91YmxlTWFudGlzc2FCaXRzID4gbV9zdGVwKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgLy8gVGhlIGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRNTDUgNC4xMC43LjIu
MTAgYFRoZSBzdGVwIGF0dHJpYnV0ZScgOgogICAgIC8vIC4uLiB0aGF0IG51bWJlciBzdWJ0cmFj
dGVkIGZyb20gdGhlIHN0ZXAgYmFzZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVsdGlwbGUKICAgICAv
LyBvZiB0aGUgYWxsb3dlZCB2YWx1ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBzdWZmZXJpbmcgZnJv
bSBhIHN0ZXAgbWlzbWF0Y2guCi0gICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gZmFi
cyh2YWx1ZSAtIG1fc3RlcCAqIHJvdW5kKHZhbHVlIC8gbV9zdGVwKSk7CisgICAgY29uc3QgSW5w
dXROdW1iZXIgcmVtYWluZGVyID0gKHZhbHVlIC0gbV9zdGVwICogKHZhbHVlIC8gbV9zdGVwKS5y
b3VuZCgpKS5hYnMoKTsKICAgICAvLyBBY2NlcHRzIGVycm9zIGluIGxvd2VyIGZyYWN0aW9uYWwg
cGFydCB3aGljaCBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uCiAgICAgLy8gY2FuJ3QgcmVwcmVz
ZW50LgogICAgIGNvbnN0IElucHV0TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJsZUVycm9yID0gYWNj
ZXB0YWJsZUVycm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBlYzc5MzZiMzU3NGQw
ZjE0MzQ4YzI3OTNlZDU3ZTJiMjVmYjliODdiLi5iY2M4YTc3YmVlZjdmODBjZDc3MmVkYjI4MTM1
NDc5ZGRkZDVkODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAK
ICNpZm5kZWYgU3RlcFJhbmdlX2gKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRl
Y2ltYWwuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCkBAIC0zMCwzNyArMzEsMjYgQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAog
ZW51bSBBbnlTdGVwSGFuZGxpbmcgeyBSZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAot
Ly8gRklYTUU6IFRoZSB0eXBlIElucHV0TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNp
bWFsLgotdHlwZWRlZiBkb3VibGUgSW5wdXROdW1iZXI7CisvLyBGSVhNRTogV2Ugc2hvdWxkIHJl
bmFtZSBJbnB1dE51bWJlciB0byBEZWNpbWFsIGluIGFsbCBwbGFjZXMuCit0eXBlZGVmIERlY2lt
YWwgSW5wdXROdW1iZXI7CiAKLWlubGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1
dE51bWJlcihkb3VibGUgZG91YmxlVmFsdWUpCitJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcihkb3VibGUgZG91YmxlVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVl
OworICAgIHJldHVybiBEZWNpbWFsOjpmcm9tRG91YmxlKGRvdWJsZVZhbHVlKTsKIH0KIAotaW5s
aW5lIGRvdWJsZSBjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJsZShjb25zdCBJbnB1dE51bWJlciYg
bnVtZXJpY1ZhbHVlKQorZG91YmxlIGNvbnZlcnRJbnB1dE51bWJlclRvRG91YmxlKGNvbnN0IElu
cHV0TnVtYmVyJiBudW1lcmljVmFsdWUpCiB7Ci0gICAgcmV0dXJuIG51bWVyaWNWYWx1ZTsKKyAg
ICByZXR1cm4gbnVtZXJpY1ZhbHVlLnRvRG91YmxlKCk7CiB9CiAKIGNsYXNzIFN0ZXBSYW5nZSB7
CiBwdWJsaWM6Ci0gICAgc3RydWN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHsKLSAgICAgICAg
dW5zaWduZWQgZGVjaW1hbFBsYWNlczsKLSAgICAgICAgSW5wdXROdW1iZXIgdmFsdWU7Ci0KLSAg
ICAgICAgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoSW5wdXROdW1iZXIgdmFsdWUgPSAwLCB1bnNp
Z25lZCBkZWNpbWFsUGxhY2VzID0gMCkKLSAgICAgICAgICAgIDogZGVjaW1hbFBsYWNlcyhkZWNp
bWFsUGxhY2VzKQotICAgICAgICAgICAgLCB2YWx1ZSh2YWx1ZSkKLSAgICAgICAgewotICAgICAg
ICB9Ci0gICAgfTsKLQotICAgIHN0cnVjdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2lu
ZyB7CisgICAgc3RydWN0IERlY2ltYWxPck1pc3NpbmcgewogICAgICAgICBib29sIGhhc1ZhbHVl
OwotICAgICAgICBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyB2YWx1ZTsKKyAgICAgICAgRGVjaW1h
bCB2YWx1ZTsKIAotICAgICAgICBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyhOdW1i
ZXJXaXRoRGVjaW1hbFBsYWNlcyB2YWx1ZSwgYm9vbCBoYXNWYWx1ZSA9IHRydWUpCisgICAgICAg
IERlY2ltYWxPck1pc3NpbmcoY29uc3QgRGVjaW1hbCYgdmFsdWUsIGJvb2wgaGFzVmFsdWUgPSB0
cnVlKQogICAgICAgICAgICAgOiBoYXNWYWx1ZShoYXNWYWx1ZSkKICAgICAgICAgICAgICwgdmFs
dWUodmFsdWUpCiAgICAgICAgIHsKQEAgLTEwMywxOCArOTMsMTYgQEAgcHVibGljOgogCiAgICAg
U3RlcFJhbmdlKCk7CiAgICAgU3RlcFJhbmdlKGNvbnN0IFN0ZXBSYW5nZSYpOwotICAgIFN0ZXBS
YW5nZShjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyYgc3RlcEJhc2UsIGNvbnN0IElucHV0
TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgTnVtYmVy
V2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcmIHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYp
OworICAgIFN0ZXBSYW5nZShjb25zdCBEZWNpbWFsJiBzdGVwQmFzZSwgY29uc3QgSW5wdXROdW1i
ZXImIG1pbmltdW0sIGNvbnN0IElucHV0TnVtYmVyJiBtYXhpbXVtLCBjb25zdCBEZWNpbWFsT3JN
aXNzaW5nJiBzdGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mKTsKICAgICBJbnB1dE51bWJlciBh
Y2NlcHRhYmxlRXJyb3IoKSBjb25zdDsKLSAgICBJbnB1dE51bWJlciBhbGlnblZhbHVlRm9yU3Rl
cChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNpZ25lZCBjdXJyZW50RGVjaW1h
bFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIG5ld1ZhbHVlKSBjb25zdDsKKyAgICBJbnB1dE51
bWJlciBhbGlnblZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCBj
b25zdCBJbnB1dE51bWJlciYgbmV3VmFsdWUpIGNvbnN0OwogICAgIElucHV0TnVtYmVyIGNsYW1w
VmFsdWUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdDsKICAgICBib29sIGhhc1N0ZXAo
KSBjb25zdCB7IHJldHVybiBtX2hhc1N0ZXA7IH0KICAgICBJbnB1dE51bWJlciBtYXhpbXVtKCkg
Y29uc3QgeyByZXR1cm4gbV9tYXhpbXVtOyB9CiAgICAgSW5wdXROdW1iZXIgbWluaW11bSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bTsgfQotICAgIHN0YXRpYyBOdW1iZXJXaXRoRGVjaW1hbFBs
YWNlc09yTWlzc2luZyBwYXJzZVN0ZXAoQW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3Jp
cHRpb24mLCBjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgRGVjaW1hbE9yTWlzc2luZyBwYXJz
ZVN0ZXAoQW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mLCBjb25zdCBTdHJp
bmcmKTsKICAgICBJbnB1dE51bWJlciBzdGVwKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwOyB9CiAg
ICAgSW5wdXROdW1iZXIgc3RlcEJhc2UoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBCYXNlOyB9Ci0g
ICAgdW5zaWduZWQgc3RlcEJhc2VEZWNpbWFsUGxhY2VzKCkgY29uc3QgeyByZXR1cm4gbV9zdGVw
QmFzZURlY2ltYWxQbGFjZXM7IH0KLSAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcygpIGNv
bnN0IHsgcmV0dXJuIG1fc3RlcERlY2ltYWxQbGFjZXM7IH0KICAgICBpbnQgc3RlcFNjYWxlRmFj
dG9yKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOyB9
CiAgICAgYm9vbCBzdGVwTWlzbWF0Y2goY29uc3QgSW5wdXROdW1iZXImKSBjb25zdDsKIApAQCAt
MTQ4LDggKzEzNiw2IEBAIHByaXZhdGU6CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbV9zdGVwOwog
ICAgIGNvbnN0IElucHV0TnVtYmVyIG1fc3RlcEJhc2U7CiAgICAgY29uc3QgU3RlcERlc2NyaXB0
aW9uIG1fc3RlcERlc2NyaXB0aW9uOwotICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcEJhc2VEZWNp
bWFsUGxhY2VzOwotICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcERlY2ltYWxQbGFjZXM7CiAgICAg
Y29uc3QgYm9vbCBtX2hhc1N0ZXA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBl
LmNwcAppbmRleCA4OTU4NDUwMmNlMTJhMzBjNGQyMWQxY2ZjOGEwZGEzM2JkNDgxOWIwLi4zNTEw
YTAxZjIyNjA5NmQ2NGU5NGIzY2IzMzBhYWUyYTI3NzU1ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGltZUlucHV0VHlwZS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgU3RlcFJhbmdlIFRpbWVJbnB1dFR5
cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBjb25z
dAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVtYmVy
IG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5B
dHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1U
aW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0
TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtVGltZSgpKSk7Ci0gICAgU3RlcFJhbmdlOjpO
dW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0
ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0
dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVw
ID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24s
IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVw
UmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCmluZGV4IDliYjg2YWUwMjM1
YmFiMjM4ZmUwOGE0NDRiNGFiMDdmZmU0MWMxNWYuLjA1NTY4ZDc0M2IzOWJhM2RhODBkYzA2ODEy
ZDM0YzBkYjM0YTBhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAt
NjgsNyArNjgsNyBAQCBTdGVwUmFuZ2UgV2Vla0lucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFu
eVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1i
ZXIgc3RlcEJhc2UgPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZSht
aW5BdHRyKSwgd2Vla0RlZmF1bHRTdGVwQmFzZSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWlu
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWluaW11bVdlZWso
KSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1l
bnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1i
ZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1XZWVrKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJl
cldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChh
bnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKHN0ZXBBdHRyKSk7CisgICAgU3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBT
dGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5n
ZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9t
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcApp
bmRleCBhOTlhMjFhMDhlNWJkZDA4NjVmYTMzYzczOTU1MDQwMTcyYzM4YjMxLi40Y2UzOWI3ZjQy
MWZlZTcwN2ExMTA2ODlkMWNiOGUxNWZmMWQ3OGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKIAorI2luY2x1ZGUg
IkRlY2ltYWwuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgpAQCAtNTgsNiArNTksMTUgQEAgU3RyaW5nIHN0cmlw
TGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBy
ZXR1cm4gc3RyaW5nLnN1YnN0cmluZyhudW1MZWFkaW5nU3BhY2VzLCBsZW5ndGggLSAobnVtTGVh
ZGluZ1NwYWNlcyArIG51bVRyYWlsaW5nU3BhY2VzKSk7CiB9CiAKK1N0cmluZyBzZXJpYWxpemVG
b3JOdW1iZXJUeXBlKGNvbnN0IERlY2ltYWwmIG51bWJlcikKK3sKKyAgICBpZiAobnVtYmVyLmlz
WmVybygpKSB7CisgICAgICAgIC8vIERlY2ltYWw6OnRvU3RyaW5nIGFwcGVuZCBleHBvbmVudCwg
ZS5nLiAiMGUtMTgiCisgICAgICAgIHJldHVybiBudW1iZXIuaXNOZWdhdGl2ZSgpID8gIi0wIiA6
ICIwIjsKKyAgICB9CisgICAgcmV0dXJuIG51bWJlci50b1N0cmluZygpOworfQorCiBTdHJpbmcg
c2VyaWFsaXplRm9yTnVtYmVyVHlwZShkb3VibGUgbnVtYmVyKQogewogICAgIC8vIEFjY29yZGlu
ZyB0byBIVE1MNSwgInRoZSBiZXN0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIgbiBhcyBh
IGZsb2F0aW5nCkBAIC02Niw2ICs3NiwzNSBAQCBTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlw
ZShkb3VibGUgbnVtYmVyKQogICAgIHJldHVybiBTdHJpbmcobnVtYmVyVG9TdHJpbmcobnVtYmVy
LCBidWZmZXIpKTsKIH0KIAorRGVjaW1hbCBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IERlY2ltYWwmIGZhbGxiYWNrVmFsdWUpCit7CisgICAg
Ly8gU2VlIEhUTUw1IDIuNS40LjMgYFJlYWwgbnVtYmVycy4nIGFuZCBwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZQorCisgICAgLy8gU3RyaW5nOjp0b0RvdWJsZSgpIGFjY2VwdHMgbGVhZGluZyAr
IGFuZCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBub3QgdmFsaWQgaGVyZS4KKyAg
ICBVQ2hhciBmaXJzdENoYXJhY3RlciA9IHN0cmluZ1swXTsKKyAgICBpZiAoZmlyc3RDaGFyYWN0
ZXIgIT0gJy0nICYmIGZpcnN0Q2hhcmFjdGVyICE9ICcuJyAmJiAhaXNBU0NJSURpZ2l0KGZpcnN0
Q2hhcmFjdGVyKSkKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7CisKKyAgICBEZWNpbWFs
IHZhbHVlID0gRGVjaW1hbDo6ZnJvbVN0cmluZyhzdHJpbmcpOworICAgIGlmICghdmFsdWUuaXNG
aW5pdGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7CisKKyAgICAvLyBOdW1iZXJz
IGFyZSBjb25zaWRlcmVkIGZpbml0ZSBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uIGZsb2F0aW5n
IHBvaW50IHZhbHVlcy4KKyAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVhbCBudW1iZXJzLicK
KyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgg
Zm9yIG51bWJlciBpbnB1dCB0eXBlLgorICAgIGNvbnN0IERlY2ltYWwgZmxvYXRNYXggPSBEZWNp
bWFsOjpmcm9tRG91YmxlKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSk7CisgICAg
aWYgKHZhbHVlIDwgLWZsb2F0TWF4IHx8IHZhbHVlID4gZmxvYXRNYXgpCisgICAgICAgIHJldHVy
biBmYWxsYmFja1ZhbHVlOworCisgICAgLy8gV2UgcmV0dXJuICswIGZvciAtMCBjYXNlLgorICAg
IHJldHVybiB2YWx1ZS5pc1plcm8oKSA/IERlY2ltYWwoMCkgOiB2YWx1ZTsKK30KKworRGVjaW1h
bCBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7Cisg
ICAgcmV0dXJuIHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzdHJpbmcsIERlY2ltYWw6Om5h
bigpKTsKK30KKwogZG91YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmlu
ZyYgc3RyaW5nLCBkb3VibGUgZmFsbGJhY2tWYWx1ZSkKIHsKICAgICAvLyBTZWUgSFRNTDUgMi41
LjQuMyBgUmVhbCBudW1iZXJzLicKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJJZGlvbXMuaAppbmRleCA4YTc3NGY5ZWU0MzI1Zjc5OTZkY2VlODAyZTc4NTkyMWYxMjAw
NzIxLi41ZjAxODZkNDRlMzBiOTY3MGIzNGQ4MWQ1ZmQ2ZmRjM2JkMzE5YTFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCkBAIC0zMCw2ICszMCw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVjaW1hbDsKKwogLy8gU3BhY2Ug
Y2hhcmFjdGVycyBhcyBkZWZpbmVkIGJ5IHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCiBib29sIGlz
SFRNTFNwYWNlKFVDaGFyKTsKIGJvb2wgaXNIVE1MTGluZUJyZWFrKFVDaGFyKTsKQEAgLTM5LDEx
ICs0MSwxNCBAQCBib29sIGlzTm90SFRNTFNwYWNlKFVDaGFyKTsKIFN0cmluZyBzdHJpcExlYWRp
bmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoY29uc3QgU3RyaW5nJik7CiAKIC8vIEFuIGltcGxlbWVu
dGF0aW9uIG9mIHRoZSBIVE1MIHNwZWNpZmljYXRpb24ncyBhbGdvcml0aG0gdG8gY29udmVydCBh
IG51bWJlciB0byBhIHN0cmluZyBmb3IgbnVtYmVyIGFuZCByYW5nZSB0eXBlcy4KK1N0cmluZyBz
ZXJpYWxpemVGb3JOdW1iZXJUeXBlKGNvbnN0IERlY2ltYWwmKTsKIFN0cmluZyBzZXJpYWxpemVG
b3JOdW1iZXJUeXBlKGRvdWJsZSk7CiAKLS8vIENvbnZlcnQgdGhlIHNwZWNpZmllZCBzdHJpbmcg
dG8gYSBkb3VibGUuIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCB0aGUgcmV0dXJuIHZhbHVlIGlz
IGZhbHNlLgorLy8gQ29udmVydCB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGRlY2ltYWwvZG91
YmxlLiBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxsYmFj
ayB2YWx1ZSBvciBOYU4gaWYgbm90IHNwZWNpZmllZC4KIC8vIExlYWRpbmcgb3IgdHJhaWxpbmcg
aWxsZWdhbCBjaGFyYWN0ZXJzIGNhdXNlIGZhaWx1cmUsIGFzIGRvZXMgcGFzc2luZyBhbiBlbXB0
eSBzdHJpbmcuCiAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAgdG8gY2hlY2sgaWYg
dGhlIHN0cmluZyBjYW4gYmUgcGFyc2VkIHdpdGhvdXQgZ2V0dGluZyB0aGUgcmVzdWx0LgorRGVj
aW1hbCBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJik7CitEZWNpbWFs
IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBEZWNpbWFs
JiBmYWxsYmFja1ZhbHVlKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25z
dCBTdHJpbmcmKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJp
bmcmLCBkb3VibGUgZmFsbGJhY2tWYWx1ZSk7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGVXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKaW5kZXgg
MzA4M2E3NTAwMmM2MmFhMjljMWJmODIxMzc2MTJiZDEzNDk2OWRlOC4uNGU3MTRhMDM5MWU0NmNi
MWVkMmJhMWVlYTU0MTQyYjI3YjUwOTQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCkBAIC01NCw3ICs1NCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGlubGluZSBzdGF0aWMgSW5wdXROdW1iZXIgc2xpZGVyUG9zaXRpb24oSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkKIHsKICAgICBjb25zdCBTdGVwUmFuZ2Ugc3RlcFJhbmdl
KGVsZW1lbnQtPmNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKLSAgICBjb25zdCBkb3VibGUg
b2xkVmFsdWUgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShlbGVtZW50LT52YWx1ZSgpLCBz
dGVwUmFuZ2UuZGVmYXVsdFZhbHVlKCkpOworICAgIGNvbnN0IElucHV0TnVtYmVyIG9sZFZhbHVl
ID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGVsZW1lbnQtPnZhbHVlKCksIHN0ZXBSYW5n
ZS5kZWZhdWx0VmFsdWUoKSk7CiAgICAgcmV0dXJuIHN0ZXBSYW5nZS5wcm9wb3J0aW9uRnJvbVZh
bHVlKHN0ZXBSYW5nZS5jbGFtcFZhbHVlKG9sZFZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxYmY2NWMw
MmI0OGY2NjI2YTUzMjI4OGQ3MzczMmJiMTgzYzljYTFmLi5iYjM4NjFlZTdmZTA5MzNmNWUwY2Y0
YjQyYWI3YjBmMzVlNzc3MTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMDUgIFlv
c2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9ybXNdIElu
dHJvZHVjZSBEZWNpbWFsIGJlaGluZCB0aGUgSW5wdXROdW1iZXIgdHlwZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgzODMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcmFuZ2UvcmFu
Z2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTA3
ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1z
XSBJbXByb3ZlIHRlc3QgY292ZXJhZ2Ugb2YgaW5wdXQtbnVtYmVyLXNpemUuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJv
dW5kaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjJiYmJjNGVhOTI3M2E1ZWJhMWI4YjFj
ZDE5ODJkZjMzMWE2MjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyODAg
QEAKKworODAwMDkgSW50cm9kdWNlIERlY2ltYWwgYXJpdGhtZXRpYyB0byBmaXggcm91bmRpbmcg
ZXJyb3JzIGluIG51bWJlci9yYW5nZSBpbnB1dCB0eXBlcworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjEiLCAiMWUtMCIpLnZhbHVl
IGlzICIwLjEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMSIsICIxZS0wIikudmFsdWVB
c051bWJlciBpcyAwLjEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4yIiwgIjFlLTAiKS52
YWx1ZSBpcyAiMC4yIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjIiLCAiMWUtMCIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4yCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMyIsICIxZS0w
IikudmFsdWUgaXMgIjAuMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4zIiwgIjFlLTAi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjQiLCAi
MWUtMCIpLnZhbHVlIGlzICIwLjQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNCIsICIx
ZS0wIikudmFsdWVBc051bWJlciBpcyAwLjQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC41
IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC41IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjUi
LCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC41CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwg
IjAuNiIsICIxZS0wIikudmFsdWUgaXMgIjAuNiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAi
MC42IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MSIsICIwLjciLCAiMWUtMCIpLnZhbHVlIGlzICIwLjciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4x
IiwgIjAuNyIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjcKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjEiLCAiMC44IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC44IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMSIsICIwLjgiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC44CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4xIiwgIjAuOSIsICIxZS0wIikudmFsdWUgaXMgIjAuOSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjEiLCAiMC45IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuOQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDEiLCAiMC4wMSIsICIxZS0xIikudmFsdWUgaXMgIjAuMDEiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAxIiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDEK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDIiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjAy
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMiIsICIxZS0xIikudmFsdWVBc051bWJl
ciBpcyAwLjAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAzIiwgIjFlLTEiKS52YWx1
ZSBpcyAiMC4wMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDMiLCAiMWUtMSIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNCIsICIx
ZS0xIikudmFsdWUgaXMgIjAuMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA0Iiwg
IjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwg
IjAuMDUiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEi
LCAiMC4wNSIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA1CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMSIsICIwLjA2IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wNiIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAxIiwgIjAuMDYiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNyIsICIxZS0xIikudmFsdWUgaXMgIjAuMDciCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA3IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDgiLCAiMWUtMSIpLnZhbHVlIGlzICIw
LjA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOCIsICIxZS0xIikudmFsdWVBc051
bWJlciBpcyAwLjA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA5IiwgIjFlLTEiKS52
YWx1ZSBpcyAiMC4wOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDkiLCAiMWUtMSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAx
IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAi
MC4wMDEiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDEKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMSIsICIwLjAwMiIsICIxZS0yIikudmFsdWUgaXMgIjAuMDAyIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAxIiwgIjAuMDAyIiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAyCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDMiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAw
MyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMyIsICIxZS0yIikudmFsdWVBc051
bWJlciBpcyAwLjAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA0IiwgIjFlLTIi
KS52YWx1ZSBpcyAiMC4wMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDQiLCAi
MWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIs
ICIwLjAwNSIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAxIiwgIjAuMDA1IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDA1CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDYiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwNiIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNiIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAw
LjAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA3IiwgIjFlLTIiKS52YWx1ZSBp
cyAiMC4wMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDciLCAiMWUtMiIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwOCIs
ICIxZS0yIikudmFsdWUgaXMgIjAuMDA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAu
MDA4IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDEiLCAiMC4wMDkiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwOSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMSIsICIwLjAwOSIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwOQorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDEiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAw
MDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMSIsICIxZS0zIikudmFsdWVB
c051bWJlciBpcyAwLjAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAyIiwg
IjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIw
LjAwMDIiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAyCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAxIiwgIjAuMDAwMyIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwMyIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAzIiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDQiLCAiMWUtMyIpLnZhbHVl
IGlzICIwLjAwMDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNCIsICIxZS0z
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAi
MC4wMDA1IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMSIsICIwLjAwMDUiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA1CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNiIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwNiIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA2IiwgIjFlLTMiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDciLCAiMWUt
MyIpLnZhbHVlIGlzICIwLjAwMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAw
NyIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDEiLCAiMC4wMDA4IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA4IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMSIsICIwLjAwMDgiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA4
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOSIsICIxZS0zIikudmFsdWUgaXMg
IjAuMDAwOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA5IiwgIjFlLTMiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4w
MDAwMSIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMSIsICIwLjAwMDAxIiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDEKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDIiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAw
MDAyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMiIsICIxZS00IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAw
MDAzIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAxIiwgIjAuMDAwMDMiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMworUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNCIsICIxZS00IikudmFsdWUgaXMgIjAuMDAw
MDQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA0IiwgIjFlLTQiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAw
MDUiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDEiLCAiMC4wMDAwNSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA1CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA2IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAw
NiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDYiLCAiMWUtNCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAw
NyIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MSIsICIwLjAwMDA3IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDcKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDgiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA4
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOCIsICIxZS00IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA5
IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAx
IiwgIjAuMDAwMDkiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwOQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAxIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAw
MDEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDEiLCAiMWUtNSIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIw
LjAwMDAwMiIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDAyIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAxIiwgIjAuMDAwMDAyIiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAy
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDMiLCAiMWUtNSIpLnZhbHVl
IGlzICIwLjAwMDAwMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwMyIs
ICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAxIiwgIjAuMDAwMDA0IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDQiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDQiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNSIsICIx
ZS01IikudmFsdWUgaXMgIjAuMDAwMDA1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwg
IjAuMDAwMDA1IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA1CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDYiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAw
NiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNiIsICIxZS01IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAu
MDAwMDA3IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDciCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDEiLCAiMC4wMDAwMDciLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDcK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOCIsICIxZS01IikudmFsdWUg
aXMgIjAuMDAwMDA4IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA4Iiwg
IjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDEiLCAiMC4wMDAwMDkiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwOSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOSIsICIxZS01IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDEiLCAi
MWUtNiIpLnZhbHVlIGlzICIxZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIw
LjAwMDAwMDEiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAxCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwMiIsICIxZS02IikudmFsdWUgaXMgIjJlLTci
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwMiIsICIxZS02IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAi
MC4wMDAwMDAzIiwgIjFlLTYiKS52YWx1ZSBpcyAiM2UtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDEiLCAiMC4wMDAwMDAzIiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDQiLCAiMWUtNiIpLnZh
bHVlIGlzICI0ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDQi
LCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAxIiwgIjAuMDAwMDAwNSIsICIxZS02IikudmFsdWUgaXMgIjVlLTciCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNSIsICIxZS02IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA2
IiwgIjFlLTYiKS52YWx1ZSBpcyAiNmUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEi
LCAiMC4wMDAwMDA2IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDciLCAiMWUtNiIpLnZhbHVlIGlzICI3
ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDciLCAiMWUtNiIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAx
IiwgIjAuMDAwMDAwOCIsICIxZS02IikudmFsdWUgaXMgIjhlLTciCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOCIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA5IiwgIjFlLTYi
KS52YWx1ZSBpcyAiOWUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAw
MDA5IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMSIsICIxZS03IikudmFsdWUgaXMgIjFlLTgiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAxIiwgIjFlLTciKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwg
IjAuMDAwMDAwMDIiLCAiMWUtNyIpLnZhbHVlIGlzICIyZS04IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMiIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAzIiwgIjFl
LTciKS52YWx1ZSBpcyAiM2UtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAu
MDAwMDAwMDMiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMworUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNCIsICIxZS03IikudmFsdWUgaXMgIjRl
LTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA0IiwgIjFlLTci
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAxIiwgIjAuMDAwMDAwMDUiLCAiMWUtNyIpLnZhbHVlIGlzICI1ZS04IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNSIsICIxZS03IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA2
IiwgIjFlLTciKS52YWx1ZSBpcyAiNmUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAx
IiwgIjAuMDAwMDAwMDYiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNyIsICIxZS03IikudmFsdWUg
aXMgIjdlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA3Iiwg
IjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAxIiwgIjAuMDAwMDAwMDgiLCAiMWUtNyIpLnZhbHVlIGlzICI4ZS04IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOCIsICIxZS03IikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAw
MDAwMDA5IiwgIjFlLTciKS52YWx1ZSBpcyAiOWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAxIiwgIjAuMDAwMDAwMDkiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
OQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAxIiwgIjFlLTgi
KS52YWx1ZSBpcyAiMWUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMSIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAyIiwgIjFlLTgiKS52YWx1ZSBpcyAi
MmUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMiIsICIx
ZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAzIiwgIjFlLTgiKS52YWx1ZSBpcyAiM2UtOSIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMyIsICIxZS04IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDA0IiwgIjFlLTgiKS52YWx1ZSBpcyAiNGUtOSIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNCIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA1
IiwgIjFlLTgiKS52YWx1ZSBpcyAiNWUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwNSIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwNQor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA2IiwgIjFlLTgiKS52
YWx1ZSBpcyAiNmUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwNiIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwNgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA3IiwgIjFlLTgiKS52YWx1ZSBpcyAiN2Ut
OSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNyIsICIxZS04
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDA4IiwgIjFlLTgiKS52YWx1ZSBpcyAiOGUtOSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOCIsICIxZS04IikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDA5IiwgIjFlLTgiKS52YWx1ZSBpcyAiOWUtOSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOSIsICIxZS04IikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDEi
LCAiMWUtOSIpLnZhbHVlIGlzICIxZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAxIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAw
MQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDIiLCAiMWUt
OSIpLnZhbHVlIGlzICIyZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAyIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDMiLCAiMWUtOSIpLnZh
bHVlIGlzICIzZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAzIiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMworUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDQiLCAiMWUtOSIpLnZhbHVlIGlz
ICI0ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA0
IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDUiLCAiMWUtOSIpLnZhbHVlIGlzICI1ZS0x
MCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA1IiwgIjFl
LTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDYiLCAiMWUtOSIpLnZhbHVlIGlzICI2ZS0xMCIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA2IiwgIjFlLTkiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDciLCAiMWUtOSIpLnZhbHVlIGlzICI3ZS0xMCIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA3IiwgIjFlLTkiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDgiLCAiMWUtOSIpLnZhbHVlIGlzICI4ZS0xMCIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA4IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDkiLCAiMWUtOSIpLnZhbHVlIGlzICI5ZS0xMCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA5IiwgIjFlLTkiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMSIsICIxZS0xMCIpLnZhbHVlIGlzICIxZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDEiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDIiLCAiMWUtMTAiKS52YWx1ZSBpcyAiMmUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAyIiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAzIiwgIjFlLTEwIikudmFsdWUgaXMgIjNlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMyIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwNCIsICIxZS0xMCIpLnZhbHVlIGlzICI0ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDQiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDUiLCAiMWUtMTAiKS52YWx1ZSBpcyAiNWUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA1IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDA2IiwgIjFlLTEwIikudmFsdWUgaXMgIjZlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNiIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwNyIsICIxZS0xMCIpLnZhbHVlIGlzICI3ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDciLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDgiLCAiMWUtMTAiKS52YWx1ZSBpcyAiOGUtMTEiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA4IiwgIjFlLTEwIikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDA5IiwgIjFlLTEwIikudmFsdWUgaXMgIjllLTExIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwOSIsICIxZS0xMCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAxIiwgIjFlLTExIikudmFsdWUgaXMgIjFlLTEyIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAxIiwgIjFlLTExIikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAyIiwgIjFlLTExIikudmFsdWUgaXMgIjJlLTEyIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAyIiwgIjFlLTExIiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAzIiwgIjFlLTExIikudmFsdWUgaXMgIjNlLTEyIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAzIiwgIjFl
LTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA0IiwgIjFlLTExIikudmFsdWUgaXMgIjRl
LTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA0
IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA1IiwgIjFlLTExIikudmFsdWUg
aXMgIjVlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDA1IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwNQorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA2IiwgIjFlLTExIiku
dmFsdWUgaXMgIjZlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDA2IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwNgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA3IiwgIjFl
LTExIikudmFsdWUgaXMgIjdlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDA3IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA4
IiwgIjFlLTExIikudmFsdWUgaXMgIjhlLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA4IiwgIjFlLTExIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDA5IiwgIjFlLTExIikudmFsdWUgaXMgIjllLTEyIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDA5IiwgIjFlLTExIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDEiLCAiMWUtMTIiKS52YWx1ZSBpcyAiMWUtMTMiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMSIsICIxZS0xMiIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMiIsICIxZS0xMiIpLnZhbHVlIGlzICIyZS0xMyIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAyIiwgIjFl
LTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAzIiwgIjFlLTEyIikudmFsdWUgaXMg
IjNlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDMiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMworUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDQiLCAiMWUtMTIi
KS52YWx1ZSBpcyAiNGUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwNCIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAw
NSIsICIxZS0xMiIpLnZhbHVlIGlzICI1ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA1IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDA2IiwgIjFlLTEyIikudmFsdWUgaXMgIjZlLTEzIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDYiLCAiMWUtMTIiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDciLCAiMWUtMTIiKS52YWx1ZSBpcyAiN2UtMTMiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNyIsICIxZS0x
MiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOCIsICIxZS0xMiIpLnZhbHVlIGlzICI4
ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDA4IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDgKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA5IiwgIjFlLTEyIiku
dmFsdWUgaXMgIjllLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDkiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAw
OQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAw
MSIsICIxZS0xMyIpLnZhbHVlIGlzICIxZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwMDIiLCAiMWUtMTMiKS52YWx1ZSBpcyAiMmUtMTQiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAyIiwgIjFlLTEzIiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAzIiwgIjFlLTEzIikudmFsdWUgaXMgIjNl
LTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwMyIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMworUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNCIsICIxZS0x
MyIpLnZhbHVlIGlzICI0ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDAwMDUiLCAiMWUtMTMiKS52YWx1ZSBpcyAiNWUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA1IiwgIjFlLTEzIikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDA2IiwgIjFlLTEzIikudmFsdWUgaXMgIjZlLTE0IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNiIsICIx
ZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNyIsICIxZS0xMyIpLnZhbHVl
IGlzICI3ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDAwMDciLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDcK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDgi
LCAiMWUtMTMiKS52YWx1ZSBpcyAiOGUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA4IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDA5IiwgIjFlLTEzIikudmFsdWUgaXMgIjllLTE0IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwOSIsICIxZS0xMyIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwOQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjFlLTE0IikudmFsdWUgaXMgIjFl
LTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDAwMDAxIiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwMQorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAyIiwg
IjFlLTE0IikudmFsdWUgaXMgIjJlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAyIiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwMDAzIiwgIjFlLTE0IikudmFsdWUgaXMgIjNlLTE1IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDAzIiwgIjFlLTE0
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwMworUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA0IiwgIjFlLTE0IikudmFsdWUg
aXMgIjRlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMDAwMDA0IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAw
NAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAw
MDA1IiwgIjFlLTE0IikudmFsdWUgaXMgIjVlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA1IiwgIjFlLTE0IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA2IiwgIjFlLTE0IikudmFsdWUgaXMgIjZlLTE1IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA2Iiwg
IjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwNgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA3IiwgIjFlLTE0Iiku
dmFsdWUgaXMgIjdlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwMDA3IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMDAwMDA4IiwgIjFlLTE0IikudmFsdWUgaXMgIjhlLTE1IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA4IiwgIjFlLTE0IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDA5IiwgIjFlLTE0IikudmFsdWUgaXMgIjllLTE1
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAw
MDA5IiwgIjFlLTE0IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAwOQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jYTFlNjFkZmYwMjg5M2ViMTNjY2QwNjRlZjMyZmFjZjZlOGVlNDFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1y
b3VuZGluZy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxpbnB1dCBpZD0iZm9vIiB0eXBlPXJhbmdlIHN0ZXA9MC4xIHZhbHVlPTAuNj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPGRpdiBpZD0ic2xpZGVycyI+PC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIjxhIGhyZWY9J2h0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwMDA5Jz44MDAwOSBJbnRyb2R1Y2UgRGVjaW1hbCBhcml0aG1ldGljIHRvIGZpeCByb3VuZGlu
ZyBlcnJvcnMgaW4gbnVtYmVyL3JhbmdlIGlucHV0IHR5cGVzPC9hPiIpOworCitmdW5jdGlvbiBj
cmVhdGVTYW1wbGUoc3RlcCwgdmFsdWUsIG1heCkKK3sKKyAgICB2YXIgY29udGFpbmVyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAn
PGlucHV0IHR5cGU9cmFuZ2UgbWluPTAgbWF4PScgKyBtYXggKyAnIHN0ZXA9JyArIHN0ZXAgKyAn
IHZhbHVlPScgKyB2YWx1ZSArICc+PGJyPic7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InNsaWRlcnMiKS5hcHBlbmRDaGlsZChjb250YWluZXIpOworICAgIHJldHVybiBjb250YWluZXIu
Zmlyc3RDaGlsZDsKK30KKwordmFyIHplcm9zID0gIjAuIjsKK2ZvciAodmFyIGV4cG9uZW50ID0g
MDsgZXhwb25lbnQgPCAxNTsgKytleHBvbmVudCkgeworICAgIHZhciBzdGVwID0gemVyb3MgKyAi
MSI7CisgICAgZm9yICh2YXIgZGlnaXQgPSAxOyBkaWdpdCA8PSA5OyArK2RpZ2l0KSB7CisgICAg
ICAgIHZhciB2YWx1ZSA9IHplcm9zICsgZGlnaXQudG9TdHJpbmcoKTsKKyAgICAgICAgdmFyIHNh
bXBsZSA9ICdjcmVhdGVTYW1wbGUoIicgKyBzdGVwICsgJyIsICInICsgdmFsdWUgKyAnIiwgIjFl
LScgKyBleHBvbmVudCArICciKSc7CisgICAgICAgIHZhciBzdGVwRXhwb25lbnQgPSBleHBvbmVu
dCArIDE7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhzYW1wbGUgKyAnLnZhbHVlJywg
c3RlcEV4cG9uZW50ID49IDcgPyBkaWdpdCArICJlLSIgKyBzdGVwRXhwb25lbnQgOiB2YWx1ZSk7
CisgICAgICAgIHNob3VsZEJlKHNhbXBsZSArICcudmFsdWVBc051bWJlcicsIHZhbHVlKTsKKyAg
ICB9CisgICAgemVyb3MgKz0gIjAiOworfQorCisvLyBSZW1vdmUgZ2VuZXJhdGVkIHNsaWRlcnMu
Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVycyIpLmlubmVySFRNTCA9ICIiOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+CisKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146241</attachid>
            <date>2012-06-07 03:03:48 -0700</date>
            <delta_ts>2012-06-07 03:18:01 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-88383-20120607190347.patch</filename>
            <type>text/plain</type>
            <size>70514</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5Njk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMxMWI4NThmNmUzMmEy
ZmRhNWI1MzAwY2QzMGM3NzYwMWMxMjBiZC4uZjFmMDRlNzVjZjdhNmJhZTU2Zjg4NDNiZWE3MGIw
MjE2MjgyMDM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgdG8gRGVjaW1hbE9yTWlzc2luZy4KKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwvSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cp
OiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAg
ICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6dmFs
aWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cGFy
c2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFw
cGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAo
SW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2ltYXBsUGxhY2VzLgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
TnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5kZXJTaXplLgorICAgICAg
ICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBUaGlzIGZ1bmN0aW9uIHJl
cGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpOdW1i
ZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4K
KyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNv
cmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6ZS4KKyAgICAgICAgKFdl
YkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKTog
ZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJl
cklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNpbWFwbFBsYWNlcy4KKyAg
ICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdl
SW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisg
ICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IGRpdHRv
LgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBS
YW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBhbmQgY2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjphY2NlcHRhYmxlRXJy
b3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUgYW5kIHN0ZDo6bWluL21h
eC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVwKTogQ2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzLgorICAgICAg
ICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFuZ2VkIGZvciBEZWNpbWFs
IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcik6IENo
YW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRJ
bnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoRGVjaW1hbE9yTWlzc2luZyk6IFJl
cGxhY2VtZW50IG9mIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nLgorICAgICAgICAo
V2ViQ29yZTo6U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nOjpEZWNpbWFsT3JNaXNzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cm91bmRCeVN0ZXApOiBBZGRlZCBmb3Igc2hh
cmluZyBjb2RlLgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUZvck51bWJlclR5cGUpOiBBZGRlZCBEZWNpbWFsIHZl
cnNpb24uCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6IFVwZGF0ZWQg
Y29tbWVudHMgZm9yIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlLgorICAgICAgICAqIGh0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQ
b3NpdGlvbik6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKwogMjAxMi0wNi0wNyAgTGkgWWlu
ICA8bGkueWluQGludGVsLmNvbT4KIAogICAgICAgICBbRmlsZUFQSV0gRmlsZVJlYWRlciBzaG91
bGQgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIHdoZW4gcmVhZHlTdGF0ZSBp
cyBMT0FESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHAKaW5kZXggNzNlNDk5MjNiMDYwYjQ2MzUzOGRkODEyOGVkNzZmOWUwY2FhZTgwZC4u
Yzc2NjE5NDUyMjc4OWNiMWI0NDZkNGEyNmRiMDcwNWQxYTMyZWVjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMTM2LDcgKzEz
Niw3IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMoY29uc3QgU3RyaW5nJiBzb3VyY2UsIERhdGVDCiAKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpCisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKICAgICBpZiAo
IXNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJs
ZSh2YWx1ZSksICZkYXRlKSkKQEAgLTE0OSw5ICsxNDksOSBAQCBTdHJpbmcgQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoQ29tcG9uZW50cyhjb25zdCBEYXRlQ29tcG9uZW50
cyYgZAogICAgIElucHV0TnVtYmVyIHN0ZXA7CiAgICAgaWYgKCFlbGVtZW50KCktPmdldEFsbG93
ZWRWYWx1ZVN0ZXAoJnN0ZXApKQogICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZygpOwotICAg
IGlmICghZm1vZChzdGVwLCBtc2VjUGVyTWludXRlKSkKKyAgICBpZiAoc3RlcC5yZW1haW5kZXIo
bXNlY1Blck1pbnV0ZSkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERh
dGVDb21wb25lbnRzOjpOb25lKTsKLSAgICBpZiAoIWZtb2Qoc3RlcCwgbXNlY1BlclNlY29uZCkp
CisgICAgaWYgKHN0ZXAucmVtYWluZGVyKG1zZWNQZXJTZWNvbmQpLmlzWmVybygpKQogICAgICAg
ICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6U2Vjb25kKTsKICAgICByZXR1
cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6TWlsbGlzZWNvbmQpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKaW5kZXggODI5MzJiNWJkNzM4MWRjZjc0YWQxZDFh
N2Q1NjdiMWI0MDdkMTE1Yy4uOTVlNmQ1OWExOGJhMzEwNzMyNzVjMTAzZmI1ODI3NmM0MjNmODAy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC03Niw3ICs3Niw3IEBA
IFN0ZXBSYW5nZSBEYXRlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsK
ICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERh
dGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bURhdGUo
KSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBTdGVwUmFuZ2U6
OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5k
bGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0
dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBz
dGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJ
bnB1dFR5cGUuY3BwCmluZGV4IGM5Yzc0YzYxYTk5ZTU3MDNiMGQ4MjA4MjljYmZjN2UwNTk5MDYw
ZjguLjZiMDRiZDA4MGI2ZTNhNDhlZmJlM2QxYzFlNjBiNWQ1YmEyNDEyZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFN0ZXBS
YW5nZSBEYXRlVGltZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBh
bnlTdGVwSGFuZGxpbmcpIGNvCiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJz
ZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7CiAgICAg
Y29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29t
cG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhp
bXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciks
IGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0ZVRp
bWUoKSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcg
c3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0
aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBTdGVwUmFu
Z2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBI
YW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3Rl
cEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVt
LCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAyMzYwZmYxZDc5MTg4ODgxM2U4NmUwNTM5
Yjg0NTdmMWI2ZWQ1OWIxLi40Njc1YzMwOGI5OTM4MzkxOGEyMmRkNzAwOTQ1MWJhODc5NjMyNmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAK
QEAgLTgwLDcgKzgwLDcgQEAgU3RlcFJhbmdlIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmNyZWF0
ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW4KICAgICBjb25zdCBJbnB1
dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VU
b051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3Vi
bGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZVRpbWUoKSkpOwogICAg
IGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNv
bXBvbmVudHM6Om1heGltdW1EYXRlVGltZSgpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRo
RGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3Rl
cEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShz
dGVwQXR0cikpOworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJh
bmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3Rl
cEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCBlMjNmOTJlOGQ5OTJjNmZkODdhNzA3YmJmMzc2
MjFkYzBlYmM5MjY3Li45YmI2MDI5NmM4ZWY2MjQ5YTZhZDBmMjY1MDMwOWEwMTg5MWI5NjAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgYm9vbCBJbnB1
dFR5cGU6OnJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBh
cnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisg
ICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgcmV0dXJuIG51bWVyaWNWYWx1ZSA8IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1p
bmltdW0oKTsKQEAgLTI2OSw3ICsyNjksNyBAQCBib29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxv
dyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFs
dWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBudW1lcmlj
VmFsdWUgPiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5tYXhpbXVtKCk7CkBAIC0zMDIsNyAr
MzAyLDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzSW5SYW5nZShjb25zdCBTdHJpbmcmIHZhbHVlKSBj
b25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1l
cmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1l
cmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVq
ZWN0QW55KSk7CkBAIC0zMTUsNyArMzE1LDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzT3V0T2ZSYW5n
ZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFs
dWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBS
YW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC0zMjgsNyArMzI4LDcgQEAgYm9v
bCBJbnB1dFR5cGU6OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUg
PSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUp
KQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5zdGVwTWlzbWF0Y2go
bnVtZXJpY1ZhbHVlKTsKQEAgLTM2Niw3ICszNjYsNyBAQCBTdHJpbmcgSW5wdXRUeXBlOjp2YWxp
ZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAg
ICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZh
bHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1
ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIFN0ZXBS
YW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwpAQCAtNDY2LDE0ICs0
NjYsNyBAQCBJbnB1dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5n
JiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYQogCiBJbnB1dE51bWJlciBJbnB1dFR5cGU6
OnBhcnNlVG9OdW1iZXJPck5hTihjb25zdCBTdHJpbmcmIHN0cmluZykgY29uc3QKIHsKLSAgICBy
ZXR1cm4gcGFyc2VUb051bWJlcihzdHJpbmcsIG51bWVyaWNfbGltaXRzPElucHV0TnVtYmVyPjo6
cXVpZXRfTmFOKCkpOwotfQotCi1JbnB1dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRl
ZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNvbnN0Ci17Ci0gICAgaWYgKGRl
Y2ltYWxQbGFjZXMpCi0gICAgICAgICpkZWNpbWFsUGxhY2VzID0gMDsKLSAgICByZXR1cm4gcGFy
c2VUb051bWJlcihzcmMsIGRlZmF1bHRWYWx1ZSk7CisgICAgcmV0dXJuIHBhcnNlVG9OdW1iZXIo
c3RyaW5nLCBEZWNpbWFsOjpuYW4oKSk7CiB9CiAKIGJvb2wgSW5wdXRUeXBlOjpwYXJzZVRvRGF0
ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdApAQCAtODg2
LDE1ICs4NzksMTMgQEAgdm9pZCBJbnB1dFR5cGU6OmFwcGx5U3RlcChpbnQgY291bnQsIEFueVN0
ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIFRleHRGaWVsZEUKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKLSAgICB1bnNpZ25lZCBjdXJyZW50RGVjaW1hbFBsYWNlczsKLSAgICBjb25z
dCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2VzKGVs
ZW1lbnQoKS0+dmFsdWUoKSwgbmFuLCAmY3VycmVudERlY2ltYWxQbGFjZXMpOwotICAgIGlmICgh
aXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFy
c2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7CisgICAgaWYgKCFjdXJyZW50Lmlz
RmluaXRlKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBJbnB1dE51bWJlciBuZXdWYWx1ZSA9IGN1cnJlbnQgKyBzdGVwUmFu
Z2Uuc3RlcCgpICogY291bnQ7Ci0gICAgaWYgKGlzaW5mKG5ld1ZhbHVlKSkgeworICAgIGlmICgh
bmV3VmFsdWUuaXNGaW5pdGUoKSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTA5LDcgKzkwMCw3IEBAIHZvaWQgSW5wdXRUeXBl
OjphcHBseVN0ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBU
ZXh0RmllbGRFCiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0ZXBTdHJpbmcgPSBlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpOwogICAgIGlmICghZXF1YWxJZ25vcmluZ0Nh
c2Uoc3RlcFN0cmluZywgImFueSIpKQotICAgICAgICBuZXdWYWx1ZSA9IHN0ZXBSYW5nZS5hbGln
blZhbHVlRm9yU3RlcChjdXJyZW50LCBjdXJyZW50RGVjaW1hbFBsYWNlcywgbmV3VmFsdWUpOwor
ICAgICAgICBuZXdWYWx1ZSA9IHN0ZXBSYW5nZS5hbGlnblZhbHVlRm9yU3RlcChjdXJyZW50LCBu
ZXdWYWx1ZSk7CiAKICAgICBpZiAobmV3VmFsdWUgLSBzdGVwUmFuZ2UubWF4aW11bSgpID4gYWNj
ZXB0YWJsZUVycm9yVmFsdWUpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKQEAg
LTEwMDksNyArMTAwMCw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50
IG4pCiAKICAgICBTdHJpbmcgY3VycmVudFN0cmluZ1ZhbHVlID0gZWxlbWVudCgpLT52YWx1ZSgp
OwogICAgIElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJzZVRvTnVtYmVyT3JOYU4oY3VycmVudFN0
cmluZ1ZhbHVlKTsKLSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgaWYgKCFjdXJy
ZW50LmlzRmluaXRlKCkpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgY3Vy
cmVudCA9IGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpOwogICAgICAgICBjb25zdCBJbnB1dE51bWJl
ciBuZXh0RGlmZiA9IHN0ZXAgKiBuOwpAQCAtMTAyNSwxNSArMTAxNiwxMyBAQCB2b2lkIElucHV0
VHlwZTo6c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgIH0gZWxzZSB7CiAgICAgICAgIEV4
Y2VwdGlvbkNvZGUgZWM7CiAgICAgICAgIGlmIChzdGVwTWlzbWF0Y2goZWxlbWVudCgpLT52YWx1
ZSgpKSkgewotICAgICAgICAgICAgQVNTRVJUKHN0ZXApOwotICAgICAgICAgICAgY29uc3QgSW5w
dXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8SW5wdXROdW1iZXI+KG1heChz
dGVwUmFuZ2Uuc3RlcERlY2ltYWxQbGFjZXMoKSwgc3RlcFJhbmdlLnN0ZXBCYXNlRGVjaW1hbFBs
YWNlcygpKSkpOwotICAgICAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgYmFzZSA9IHN0ZXBSYW5n
ZS5zdGVwQmFzZSgpOwotCi0gICAgICAgICAgICBJbnB1dE51bWJlciBuZXdWYWx1ZTsKKyAgICAg
ICAgICAgIEFTU0VSVCghc3RlcC5pc1plcm8oKSk7CisgICAgICAgICAgICBjb25zdCBEZWNpbWFs
IGJhc2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKTsKKyAgICAgICAgICAgIERlY2ltYWwgbmV3VmFs
dWU7CiAgICAgICAgICAgICBpZiAoc2lnbiA8IDApCi0gICAgICAgICAgICAgICAgbmV3VmFsdWUg
PSByb3VuZCgoYmFzZSArIGZsb29yKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICog
c2NhbGUpIC8gc2NhbGU7CisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKChjdXJy
ZW50IC0gYmFzZSkgLyBzdGVwKS5mbG9vcigpICogc3RlcDsKICAgICAgICAgICAgIGVsc2UgaWYg
KHNpZ24gPiAwKQotICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBjZWls
KChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8gc2NhbGU7CisgICAg
ICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKS5j
ZWlsaW5nKCkgKiBzdGVwOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG5ld1Zh
bHVlID0gY3VycmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggNzZlYmQ0ODY0Nzgz
YzRjZTNlMTA4ZTkzODkwNjIzNjYwNDExYzA1Yy4uYjZiOWI3ODgyMmFkZDc1MDVkZmJjN2ZhZmRi
YjMyN2IyOTM3YTAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0yNjYsMTEgKzI2Niw2
IEBAIHB1YmxpYzoKICAgICAvLyByZXR1cm4gTmFOIG9yIEluZmluaXR5IG9ubHkgaWYgZGVmYXVs
dFZhbHVlIGlzIE5hTiBvciBJbmZpbml0eS4KICAgICB2aXJ0dWFsIElucHV0TnVtYmVyIHBhcnNl
VG9OdW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkg
Y29uc3Q7CiAKLSAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcgZm9yIHRoZSB0eXBl
IGFzIHBhcnNlVG9OdW1iZXIoKSBkb2VzLgotICAgIC8vIEluIGFkZGl0aW9uLCBpdCBzdG9yZXMg
dGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICAvLyBpbnRv
ICpkZWNpbWFsUGxhY2VzLgotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZhdWx0
VmFsdWUsIHVuc2lnbmVkKiBkZWNpbWFsUGxhY2VzKSBjb25zdDsKLQogICAgIC8vIFBhcnNlcyB0
aGUgc3BlY2lmaWVkIHN0cmluZyBmb3IgdGhpcyBJbnB1dFR5cGUsIGFuZCByZXR1cm5zIHRydWUg
aWYgaXQKICAgICAvLyBpcyBzdWNjZXNzZnVsbHkgcGFyc2VkLiBBbiBpbnN0YW5jZSBwb2ludGVk
IGJ5IHRoZSBEYXRlQ29tcG9uZW50cyoKICAgICAvLyBwYXJhbWV0ZXIgd2lsbCBoYXZlIHBhcnNl
ZCB2YWx1ZXMgYW5kIGJlIG1vZGlmaWVkIGV2ZW4gaWYgdGhlIHBhcnNpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggYmExMmJlZjVkOTlkMDQ4MWUxYjdiMzExYWNh
NmZmNGEwNjM4YzA0Yy4uODk2M2Q4MzlkYjliMjI3NDgwYjNhZWQzYTc0NDMwZDhhYzlmNzZkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAgLTEwNCw3ICsxMDQsNyBA
QCBTdGVwUmFuZ2UgTW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxp
bmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNl
ID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNv
bnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSkp
OwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIo
RGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIg
bWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0
dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bU1v
bnRoKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
IHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlw
dGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgU3RlcFJh
bmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVw
SGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0
ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11
bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJ
bnB1dFR5cGUuY3BwCmluZGV4IDY5MmU3OTkwNGFhZTgwNzc5Mzc2ZjMxZmQzNTE5MTI2NDlkNDcx
NTEuLjBiNjM2MzdjZTVhZjVlYjk4NDUyYmM3NjdiZjg1YjA3YmQ2ZDgzYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTU0LDE5ICs1NCw0NCBAQCBzdGF0aWMg
Y29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVy
RGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyU3RlcFNjYWxlRmFj
dG9yID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0aEJlZm9yZURlY2ltYWxQb2ludChkb3Vi
bGUgdmFsdWUpCitzdHJ1Y3QgUmVhbE51bWJlclJlbmRlclNpemUKIHsKLSAgICAvLyBJZiB2YWx1
ZSBpcyBuZWdhdGl2ZSwgJy0nIHNob3VsZCBiZSBjb3VudGVkLgorICAgIHVuc2lnbmVkIHNpemVC
ZWZvcmVEZWNpbWFsUG9pbnQ7CisgICAgdW5zaWduZWQgc2l6ZUFmdGVEZWNpbWFsUG9pbnQ7CiAK
LSAgICBkb3VibGUgYWJzb2x1dGVWYWx1ZSA9IGZhYnModmFsdWUpOwotICAgIGlmIChhYnNvbHV0
ZVZhbHVlIDwgMSkKLSAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IDIgOiAxOworICAgIFJlYWxO
dW1iZXJSZW5kZXJTaXplKHVuc2lnbmVkIGJlZm9yZSwgdW5zaWduZWQgYWZ0ZXIpCisgICAgICAg
IDogc2l6ZUJlZm9yZURlY2ltYWxQb2ludChiZWZvcmUpCisgICAgICAgICwgc2l6ZUFmdGVEZWNp
bWFsUG9pbnQoYWZ0ZXIpCisgICAgeworICAgIH0KIAotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihsb2cxMChmbG9vcihhYnNvbHV0ZVZhbHVlKSkpICsgMTsKLSAg
ICBpZiAodmFsdWUgPCAwKQotICAgICAgICBsZW5ndGggKz0gMTsKKyAgICBSZWFsTnVtYmVyUmVu
ZGVyU2l6ZSBtYXgoY29uc3QgUmVhbE51bWJlclJlbmRlclNpemUmIG90aGVyKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXplKAorICAgICAgICAgICAgc3Rk
OjptYXgoc2l6ZUJlZm9yZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUJlZm9yZURlY2ltYWxQb2lu
dCksCisgICAgICAgICAgICBzdGQ6Om1heChzaXplQWZ0ZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6
ZUFmdGVEZWNpbWFsUG9pbnQpKTsKKyAgICB9Cit9OwogCi0gICAgcmV0dXJuIGxlbmd0aDsKK3N0
YXRpYyBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBjYWxjdWxhdGVSZW5kZXJTaXplKGNvbnN0IERlY2lt
YWwmIHZhbHVlKQoreworICAgIEFTU0VSVCh2YWx1ZS5pc0Zpbml0ZSgpKTsKKyAgICBjb25zdCB1
bnNpZ25lZCBzaXplT2ZEaWdpdHMgPSBTdHJpbmc6Om51bWJlcih2YWx1ZS52YWx1ZSgpLmNvZWZm
aWNpZW50KCkpLmxlbmd0aCgpOworICAgIGNvbnN0IHVuc2lnbmVkIHNpemVPZlNpZ24gPSB2YWx1
ZS5pc05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBjb25zdCBpbnQgZXhwb25lbnQgPSB2YWx1ZS5l
eHBvbmVudCgpOworICAgIGlmIChleHBvbmVudCA+PSAwKQorICAgICAgICByZXR1cm4gUmVhbE51
bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZkRpZ2l0cywgMCk7CisKKyAgICBjb25z
dCBpbnQgc2l6ZUJlZm9yZURlY2ltYWxQb2ludCA9IGV4cG9uZW50ICsgc2l6ZU9mRGlnaXRzOwor
ICAgIGlmIChzaXplQmVmb3JlRGVjaW1hbFBvaW50ID4gMCkgeworICAgICAgICAvLyBJbiBjYXNl
IG9mICIxMjMuNDU2IgorICAgICAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9m
U2lnbiArIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQsIHNpemVPZkRpZ2l0cyAtIHNpemVCZWZvcmVE
ZWNpbWFsUG9pbnQpOworICAgIH0KKworICAgIC8vIEluIGNhc2Ugb2YgIjAuMDAwMTIzNDUiCisg
ICAgY29uc3QgdW5zaWduZWQgc2l6ZU9mWmVybyA9IDE7CisgICAgY29uc3QgdW5zaWduZWQgbnVt
YmVyT2ZaZXJvQWZ0ZXJEZWNpbWFsUG9pbnQgPSAtc2l6ZUJlZm9yZURlY2ltYWxQb2ludDsKKyAg
ICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZlplcm8gLCBu
dW1iZXJPZlplcm9BZnRlckRlY2ltYWxQb2ludCArIHNpemVPZkRpZ2l0cyk7CiB9CiAKIFBhc3NP
d25QdHI8SW5wdXRUeXBlPiBOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiBlbGVtZW50KQpAQCAtMTI4LDE3ICsxNTMsMTIgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5
cGVNaXNtYXRjaCgpIGNvbnN0CiBTdGVwUmFuZ2UgTnVtYmVySW5wdXRUeXBlOjpjcmVhdGVTdGVw
UmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIHsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0ZXBSYW5nZTo6U3RlcERlc2NyaXB0aW9uLCBzdGVwRGVz
Y3JpcHRpb24sIChudW1iZXJEZWZhdWx0U3RlcCwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCBudW1i
ZXJTdGVwU2NhbGVGYWN0b3IpKTsKLQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNl
czsKLSAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZVZhbHVlID0gcGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgbnVt
YmVyRGVmYXVsdFN0ZXBCYXNlLCAmc3RlcEJhc2VEZWNpbWFsUGxhY2VzKTsKLSAgICBTdGVwUmFu
Z2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXBCYXNlKHN0ZXBCYXNlVmFsdWUsIG1pbihz
dGVwQmFzZURlY2ltYWxQbGFjZXMsIDE2dSkpOwotCisgICAgY29uc3QgSW5wdXROdW1iZXIgc3Rl
cEJhc2UgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBudW1iZXJEZWZhdWx0U3RlcEJhc2UpOwogICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0
IHR5cGUuCiAgICAgY29uc3QgSW5wdXROdW1iZXIgZmxvYXRNYXggPSBjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcihudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKICAgICBjb25zdCBJbnB1
dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1
dGUobWluQXR0ciksIC1mbG9hdE1heCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBmbG9h
dE1heCk7Ci0KLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5n
IHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlw
dGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3Qg
U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChh
bnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwg
bWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQ2LDQ2ICsxNjYsMjUg
QEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQg
ZGVmYXVsdFNpemUsIGludCYgcHJlZmVycmUKIHsKICAgICBwcmVmZXJyZWRTaXplID0gZGVmYXVs
dFNpemU7CiAKLSAgICB1bnNpZ25lZCBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5n
IG1pblZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpOwotICAgIGRv
dWJsZSBtaW5WYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2lt
YWxQbGFjZXMobWluVmFsdWUsICZtaW5WYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNm
aW5pdGUobWluVmFsdWVEb3VibGUpKQorICAgIFN0cmluZyBzdGVwU3RyaW5nID0gZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
c3RlcFN0cmluZywgImFueSIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB1bnNpZ25l
ZCBtYXhWYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpOwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9
IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZt
YXhWYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUp
KQorICAgIGNvbnN0IERlY2ltYWwgbWluaW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlw
ZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0cikpOworICAgIGlmICghbWluaW11
bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVE
b3VibGUgPCBtaW5WYWx1ZURvdWJsZSkgewotICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZh
bHVlRG91YmxlOwotICAgICAgICBtYXhWYWx1ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2lt
YWxQbGFjZXM7Ci0gICAgfQotCi0gICAgU3RyaW5nIHN0ZXBWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShzdGVwQXR0cik7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBW
YWx1ZSwgImFueSIpKQorICAgIGNvbnN0IERlY2ltYWwgbWF4aW11bSA9IHBhcnNlVG9EZWNpbWFs
Rm9yTnVtYmVyVHlwZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0cikpOworICAg
IGlmICghbWF4aW11bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdW5z
aWduZWQgc3RlcFZhbHVlRGVjaW1hbFBsYWNlczsKLSAgICBkb3VibGUgc3RlcFZhbHVlRG91Ymxl
ID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwVmFsdWUs
ICZzdGVwVmFsdWVEZWNpbWFsUGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKHN0ZXBWYWx1ZURv
dWJsZSkpIHsKLSAgICAgICAgc3RlcFZhbHVlRG91YmxlID0gMTsKLSAgICAgICAgc3RlcFZhbHVl
RGVjaW1hbFBsYWNlcyA9IDA7Ci0gICAgfQogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gbGVuZ3Ro
QmVmb3JlRGVjaW1hbFBvaW50KG1pblZhbHVlRG91YmxlKTsKLSAgICBsZW5ndGggPSBtYXgobGVu
Z3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQobWF4VmFsdWVEb3VibGUpKTsKLSAgICBsZW5n
dGggPSBtYXgobGVuZ3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQoc3RlcFZhbHVlRG91Ymxl
KSk7CisgICAgY29uc3QgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBl
KHN0ZXBTdHJpbmcsIDEpOworICAgIEFTU0VSVChzdGVwLmlzRmluaXRlKCkpOwogCi0gICAgdW5z
aWduZWQgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0g
ICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQs
IG1heFZhbHVlRGVjaW1hbFBsYWNlcyk7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBt
YXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOworICAg
IFJlYWxOdW1iZXJSZW5kZXJTaXplIHNpemUgPSBjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0p
Lm1heChjYWxjdWxhdGVSZW5kZXJTaXplKG1heGltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXpl
KHN0ZXApKSk7CiAKLSAgICAvLyAnLicgc2hvdWxkIGJlIGNvdW50ZWQgaWYgdGhlIHZhbHVlIGhh
cyBkZWNpbWFsIHBsYWNlcy4KLSAgICBpZiAobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPiAwKQot
ICAgICAgICBsZW5ndGggKz0gbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgKyAxOworICAgIHByZWZl
cnJlZFNpemUgPSBzaXplLnNpemVCZWZvcmVEZWNpbWFsUG9pbnQgKyBzaXplLnNpemVBZnRlRGVj
aW1hbFBvaW50ICsgKHNpemUuc2l6ZUFmdGVEZWNpbWFsUG9pbnQgPyAxIDogMCk7CiAKLSAgICBw
cmVmZXJyZWRTaXplID0gbGVuZ3RoOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDgsMTkg
KzIwNywxMiBAQCB2b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2
ZW50KiBldmVudCkKIAogSW5wdXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVy
KGNvbnN0IFN0cmluZyYgc3JjLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25z
dAogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91Ymxl
Rm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1bHRWYWx1ZSkpOwotfQotCi1JbnB1dE51bWJlciBOdW1i
ZXJJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcm
IHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQ
bGFjZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKHBh
cnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3JjLCBkZWNpbWFsUGxh
Y2VzLCBkZWZhdWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJU
eXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2Vy
aWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmlu
aXRlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBzZXJpYWxp
emVGb3JOdW1iZXJUeXBlKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNl
cmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpIDogZW1wdHlTdHJpbmcoKTsKIH0KIAogdm9pZCBO
dW1iZXJJbnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL051bWJlcklucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJ
bnB1dFR5cGUuaAppbmRleCBhZGFlMWQyNjFmNmUyNmJlZjM3MWQxZDFjZTIzMWQyZWQxNGFhMmI4
Li5iY2VkYzk2MDk4ZTZlZjhmYTFmNDc0NmQwNjAyYTVjNjc3NDhlNjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKQEAgLTUzLDcgKzUzLDYgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYsIGNv
bnN0IElucHV0TnVtYmVyJikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBJbnB1dE51bWJl
ciBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5w
dXROdW1iZXImLCB1bnNpZ25lZCopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5n
IHNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBs
b2NhbGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCBjMmY3M2JlY2I0Mjk1NjZiNzI3ZmZmN2MyN2Iz
ZWZlZDBmMDljYWJmLi40NjkyMjQ4NGY2M2UwYjQ1ZDYyNzJhNjdjYTJiOTJmMjFhOTQ3MDk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApAQCAtMTA0LDExICsxMDQsMTEg
QEAgU3RlcFJhbmdlIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRs
aW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcHJl
Y2lzaW9uVmFsdWUgPSBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUocHJlY2lzaW9uQXR0cik7
CiAgICAgaWYgKCFwcmVjaXNpb25WYWx1ZS5pc051bGwoKSkgewotICAgICAgICBTdGVwUmFuZ2U6
Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAoMSwgIWVxdWFsSWdub3JpbmdD
YXNlKHByZWNpc2lvblZhbHVlLCAiZmxvYXQiKSk7CisgICAgICAgIGNvbnN0IFN0ZXBSYW5nZTo6
RGVjaW1hbE9yTWlzc2luZyBzdGVwKDEsICFlcXVhbElnbm9yaW5nQ2FzZShwcmVjaXNpb25WYWx1
ZSwgImZsb2F0IikpOwogICAgICAgICByZXR1cm4gU3RlcFJhbmdlKG1pbmltdW0sIG1pbmltdW0s
IG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiAgICAgfQogCi0gICAgU3RlcFJhbmdl
OjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJz
ZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBz
dGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRp
b24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBT
dGVwUmFuZ2UobWluaW11bSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9u
KTsKIH0KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtl
eWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBjb25zdCBTdHJpbmcmIGtleSA9
IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50
ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7Ci0gICAgQVNTRVJUKGlz
ZmluaXRlKGN1cnJlbnQpKTsKKyAgICBBU1NFUlQoY3VycmVudC5pc0Zpbml0ZSgpKTsKIAogICAg
IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwogCkBAIC0y
MTUsMTQgKzIxNSwxMiBAQCBSZW5kZXJPYmplY3QqIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikgYwogCiBJbnB1dE51bWJlciBS
YW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5w
dXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoc3JjLCBkZWZhdWx0VmFs
dWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVs
dFZhbHVlKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgSW5w
dXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICghaXNmaW5pdGUodmFsdWUpKQotICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUo
dmFsdWUpOworICAgIHJldHVybiB2YWx1ZS5pc0Zpbml0ZSgpID8gc2VyaWFsaXplRm9yTnVtYmVy
VHlwZSh2YWx1ZSkgOiBlbXB0eVN0cmluZygpOwogfQogCiAvLyBGSVhNRTogQ291bGQgc2hhcmUg
dGhpcyB3aXRoIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlIGFuZCBCYXNlQ2hlY2thYmxl
SW5wdXRUeXBlIGlmIHdlIGhhZCBhIGNvbW1vbiBiYXNlIGNsYXNzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuY3BwCmluZGV4IDBkOGZjY2IzNzIxMTBkOTc0Yzc0ZjM1YmVlOTYxZWY4M2JmZjkwZTEu
LjhmODZkMDFjNWVkYzdiYjY0NWE3NTdhODVlMGZlZWI2MzNlYmY5N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1N0ZXBSYW5nZS5jcHAKQEAgLTI0LDEwICsyNCw5IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
CiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CisjaW5jbHVkZSA8d3RmL2R0b2EuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMzcsOCArMzYsNiBAQCBTdGVwUmFuZ2U6OlN0ZXBS
YW5nZSgpCiAgICAgLCBtX21pbmltdW0oMCkKICAgICAsIG1fc3RlcCgxKQogICAgICwgbV9zdGVw
QmFzZSgwKQotICAgICwgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXMoMCkKLSAgICAsIG1fc3RlcERl
Y2ltYWxQbGFjZXMoMCkKICAgICAsIG1faGFzU3RlcChmYWxzZSkKIHsKIH0KQEAgLTQ5LDUzICs0
Niw0MyBAQCBTdGVwUmFuZ2U6OlN0ZXBSYW5nZShjb25zdCBTdGVwUmFuZ2UmIHN0ZXBSYW5nZSkK
ICAgICAsIG1fc3RlcChzdGVwUmFuZ2UubV9zdGVwKQogICAgICwgbV9zdGVwQmFzZShzdGVwUmFu
Z2UubV9zdGVwQmFzZSkKICAgICAsIG1fc3RlcERlc2NyaXB0aW9uKHN0ZXBSYW5nZS5tX3N0ZXBE
ZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBSYW5nZS5tX3N0
ZXBCYXNlRGVjaW1hbFBsYWNlcykKLSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoc3RlcFJhbmdl
Lm1fc3RlcERlY2ltYWxQbGFjZXMpCiAgICAgLCBtX2hhc1N0ZXAoc3RlcFJhbmdlLm1faGFzU3Rl
cCkKIHsKIH0KIAotU3RlcFJhbmdlOjpTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQ
bGFjZXMmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXRO
dW1iZXImIG1heGltdW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nJiBz
dGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbikKK1N0ZXBSYW5nZTo6
U3RlcFJhbmdlKGNvbnN0IERlY2ltYWwmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWlu
aW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IERlY2ltYWxPck1pc3Npbmcm
IHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9t
YXhpbXVtKG1heGltdW0pCiAgICAgLCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChz
dGVwLnZhbHVlLnZhbHVlKQotICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZS52YWx1ZSkKKyAgICAs
IG1fc3RlcChzdGVwLnZhbHVlKQorICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZSkKICAgICAsIG1f
c3RlcERlc2NyaXB0aW9uKHN0ZXBEZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFs
UGxhY2VzKHN0ZXBCYXNlLmRlY2ltYWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2Vz
KHN0ZXAudmFsdWUuZGVjaW1hbFBsYWNlcykKICAgICAsIG1faGFzU3RlcChzdGVwLmhhc1ZhbHVl
KQogewotICAgIEFTU0VSVChpc2Zpbml0ZShtX21heGltdW0pKTsKLSAgICBBU1NFUlQoaXNmaW5p
dGUobV9taW5pbXVtKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKG1fc3RlcCkpOwotICAgIEFTU0VS
VChpc2Zpbml0ZShtX3N0ZXBCYXNlKSk7CisgICAgQVNTRVJUKG1fbWF4aW11bS5pc0Zpbml0ZSgp
KTsKKyAgICBBU1NFUlQobV9taW5pbXVtLmlzRmluaXRlKCkpOworICAgIEFTU0VSVChtX3N0ZXAu
aXNGaW5pdGUoKSk7CisgICAgQVNTRVJUKG1fc3RlcEJhc2UuaXNGaW5pdGUoKSk7CiB9CiAKIElu
cHV0TnVtYmVyIFN0ZXBSYW5nZTo6YWNjZXB0YWJsZUVycm9yKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbV9zdGVwIC8gcG93KDIuMCwgRkxUX01BTlRfRElHKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHVzZSBEQkxfTUFOVF9ESUcgaW5zdGVhZCBvZiBGTFRfTUFOVF9ESUcgcmVnYXJkaW5nIHRv
IEhUTUw1IHNwZWNpZmljYXRpb24uCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNp
bWFsLCB0d29Qb3dlck9mRmxvYXRNYW50aXNzYUJpdHMsIChEZWNpbWFsOjpQb3NpdGl2ZSwgMCwg
VUlOVDY0X0MoMSkgPDwgRkxUX01BTlRfRElHKSk7CisgICAgcmV0dXJuIG1fc3RlcCAvIHR3b1Bv
d2VyT2ZGbG9hdE1hbnRpc3NhQml0czsKIH0KIAotSW5wdXROdW1iZXIgU3RlcFJhbmdlOjphbGln
blZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNpZ25lZCBj
dXJyZW50RGVjaW1hbFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIHByb3Bvc2VkVmFsdWUpIGNv
bnN0CitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0
TnVtYmVyJiBjdXJyZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3QK
IHsKLSAgICBpZiAocHJvcG9zZWRWYWx1ZSA+PSBwb3coMTAuMCwgMjEuMCkpCi0gICAgICAgIHJl
dHVybiBwcm9wb3NlZFZhbHVlOwotCi0gICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBwcm9wb3Nl
ZFZhbHVlOwotICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVlKSkgewotICAgICAgICBj
b25zdCBJbnB1dE51bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJl
cj4obWF4KG1fc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwotICAg
ICAgICBuZXdWYWx1ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGlj
X2Nhc3Q8SW5wdXROdW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBtX3N0ZXBCYXNlRGVj
aW1hbFBsYWNlcykpKTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZChyb3VuZEJ5U3RlcChuZXdW
YWx1ZSwgbV9zdGVwQmFzZSkgKiBzY2FsZSkgLyBzY2FsZTsKLSAgICB9CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0ZW5Qb3dlck9mMjEsIChEZWNpbWFsOjpQb3NpdGl2
ZSwgMjEsIDEpKTsKKyAgICBpZiAobmV3VmFsdWUgPj0gdGVuUG93ZXJPZjIxKQorICAgICAgICBy
ZXR1cm4gbmV3VmFsdWU7CiAKLSAgICByZXR1cm4gbmV3VmFsdWU7CisgICAgcmV0dXJuIHN0ZXBN
aXNtYXRjaChjdXJyZW50VmFsdWUpID8gbmV3VmFsdWUgOiByb3VuZEJ5U3RlcChuZXdWYWx1ZSwg
bV9zdGVwQmFzZSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6Y2xhbXBWYWx1ZShjb25z
dCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgY29uc3QgSW5wdXROdW1iZXIgaW5S
YW5nZVZhbHVlID0gbWF4KG1fbWluaW11bSwgbWluKHZhbHVlLCBtX21heGltdW0pKTsKKyAgICBj
b25zdCBJbnB1dE51bWJlciBpblJhbmdlVmFsdWUgPSBzdGQ6Om1heChtX21pbmltdW0sIHN0ZDo6
bWluKHZhbHVlLCBtX21heGltdW0pKTsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0
dXJuIGluUmFuZ2VWYWx1ZTsKICAgICAvLyBSb3VuZHMgaW5SYW5nZVZhbHVlIHRvIG1pbmltdW0g
KyBOICogc3RlcC4KQEAgLTEwNiw3MiArOTMsNzIgQEAgSW5wdXROdW1iZXIgU3RlcFJhbmdlOjpj
bGFtcFZhbHVlKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gY2xh
bXBlZFZhbHVlOwogfQogCi1TdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNz
aW5nIFN0ZXBSYW5nZTo6cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcs
IGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN0
ZXBTdHJpbmcpCitTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3NpbmcgU3RlcFJhbmdlOjpwYXJzZVN0
ZXAoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9u
JiBzdGVwRGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgc3RlcFN0cmluZykKIHsKICAgICBpZiAo
c3RlcFN0cmluZy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBs
YWNlc09yTWlzc2luZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOworICAgICAgICBy
ZXR1cm4gRGVjaW1hbE9yTWlzc2luZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOwog
CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkgewogICAgICAg
ICBzd2l0Y2ggKGFueVN0ZXBIYW5kbGluZykgewogICAgICAgICBjYXNlIFJlamVjdEFueToKLSAg
ICAgICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyhOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcygxKSwgZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuIERlY2ltYWxP
ck1pc3NpbmcoRGVjaW1hbCgxKSwgZmFsc2UpOwogICAgICAgICBjYXNlIEFueUlzRGVmYXVsdFN0
ZXA6Ci0gICAgICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmco
c3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBEZWNp
bWFsT3JNaXNzaW5nKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAg
IH0KIAotICAgIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAoMCk7Ci0gICAg
c3RlcC52YWx1ZS52YWx1ZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQ
bGFjZXMoc3RlcFN0cmluZywgJnN0ZXAudmFsdWUuZGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFp
c2Zpbml0ZShzdGVwLnZhbHVlLnZhbHVlKSB8fCBzdGVwLnZhbHVlLnZhbHVlIDw9IDAuMCkKLSAg
ICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nKHN0ZXBEZXNjcmlw
dGlvbi5kZWZhdWx0VmFsdWUoKSk7CisgICAgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxG
b3JOdW1iZXJUeXBlKHN0ZXBTdHJpbmcpOworICAgIGlmICghc3RlcC5pc0Zpbml0ZSgpIHx8IHN0
ZXAgPD0gMCkKKyAgICAgICAgcmV0dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcERlc2NyaXB0aW9u
LmRlZmF1bHRWYWx1ZSgpKTsKIAogICAgIHN3aXRjaCAoc3RlcERlc2NyaXB0aW9uLnN0ZXBWYWx1
ZVNob3VsZEJlKSB7CiAgICAgY2FzZSBTdGVwVmFsdWVTaG91bGRCZVJlYWw6Ci0gICAgICAgIHN0
ZXAudmFsdWUudmFsdWUgKj0gc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3RvcjsKKyAgICAg
ICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBhcnNlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8g
Rm9yIGRhdGUsIG1vbnRoLCBhbmQgd2VlaywgdGhlIHBhcnNlZCB2YWx1ZSBzaG91bGQgYmUgYW4g
aW50ZWdlciBmb3Igc29tZSB0eXBlcy4KLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSA9IG1heChy
b3VuZChzdGVwLnZhbHVlLnZhbHVlKSwgMS4wKTsKLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSAq
PSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwID0gc3RkOjpt
YXgoc3RlcC5yb3VuZCgpLCBEZWNpbWFsKDEpKTsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3Jp
cHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjYWxlZFN0
ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGV0aW1lLCBkYXRldGlt
ZS1sb2NhbCwgdGltZSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgYW4gaW50ZWdlci4KLSAgICAgICAg
c3RlcC52YWx1ZS52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwotICAg
ICAgICBzdGVwLnZhbHVlLnZhbHVlID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUudmFsdWUpLCAxLjAp
OworICAgICAgICBzdGVwICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAg
ICAgIHN0ZXAgPSBzdGQ6Om1heChzdGVwLnJvdW5kKCksIERlY2ltYWwoMSkpOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
CiAKLSAgICBBU1NFUlQoc3RlcC52YWx1ZS52YWx1ZSA+IDApOwotICAgIHJldHVybiBzdGVwOwor
ICAgIEFTU0VSVChzdGVwID4gMCk7CisgICAgcmV0dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcCk7
CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6cm91bmRCeVN0ZXAoY29uc3QgSW5wdXROdW1i
ZXImIHZhbHVlLCBjb25zdCBJbnB1dE51bWJlciYgYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
YmFzZSArIHJvdW5kKCh2YWx1ZSAtIGJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcDsKKyAgICByZXR1
cm4gYmFzZSArICgodmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsKIH0K
IAogYm9vbCBTdGVwUmFuZ2U6OnN0ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYgdmFsdWVG
b3JDaGVjaykgY29uc3QKIHsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICghaXNmaW5pdGUodmFsdWVGb3JDaGVjaykpCisgICAgaWYgKCF2YWx1ZUZv
ckNoZWNrLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBJbnB1
dE51bWJlciB2YWx1ZSA9IGZhYnModmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpOwotICAgIGlm
IChpc2luZih2YWx1ZSkpCisgICAgY29uc3QgSW5wdXROdW1iZXIgdmFsdWUgPSAodmFsdWVGb3JD
aGVjayAtIG1fc3RlcEJhc2UpLmFicygpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIElucHV0TnVtYmVyJ3MgZnJhY3Rpb25hbCBwYXJ0
IHNpemUgaXMgREJMX01BTl9ESUctYml0LiBJZiB0aGUgY3VycmVudCB2YWx1ZQogICAgIC8vIGlz
IGdyZWF0ZXIgdGhhbiBzdGVwKjJeREJMX01BTlRfRElHLCB0aGUgZm9sbG93aW5nIGNvbXB1dGF0
aW9uIGZvcgogICAgIC8vIHJlbWFpbmRlciBtYWtlcyBubyBzZW5zZS4KLSAgICBpZiAodmFsdWUg
LyBwb3coMi4wLCBEQkxfTUFOVF9ESUcpID4gbV9zdGVwKQorICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgRGVjaW1hbCwgdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cywgKERlY2ltYWw6
OlBvc2l0aXZlLCAwLCBVSU5UNjRfQygxKSA8PCBEQkxfTUFOVF9ESUcpKTsKKyAgICBpZiAodmFs
dWUgLyB0d29Qb3dlck9mRG91YmxlTWFudGlzc2FCaXRzID4gbV9zdGVwKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgLy8gVGhlIGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRNTDUgNC4xMC43LjIu
MTAgYFRoZSBzdGVwIGF0dHJpYnV0ZScgOgogICAgIC8vIC4uLiB0aGF0IG51bWJlciBzdWJ0cmFj
dGVkIGZyb20gdGhlIHN0ZXAgYmFzZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVsdGlwbGUKICAgICAv
LyBvZiB0aGUgYWxsb3dlZCB2YWx1ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBzdWZmZXJpbmcgZnJv
bSBhIHN0ZXAgbWlzbWF0Y2guCi0gICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gZmFi
cyh2YWx1ZSAtIG1fc3RlcCAqIHJvdW5kKHZhbHVlIC8gbV9zdGVwKSk7CisgICAgY29uc3QgSW5w
dXROdW1iZXIgcmVtYWluZGVyID0gKHZhbHVlIC0gbV9zdGVwICogKHZhbHVlIC8gbV9zdGVwKS5y
b3VuZCgpKS5hYnMoKTsKICAgICAvLyBBY2NlcHRzIGVycm9zIGluIGxvd2VyIGZyYWN0aW9uYWwg
cGFydCB3aGljaCBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uCiAgICAgLy8gY2FuJ3QgcmVwcmVz
ZW50LgogICAgIGNvbnN0IElucHV0TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJsZUVycm9yID0gYWNj
ZXB0YWJsZUVycm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBlYzc5MzZiMzU3NGQw
ZjE0MzQ4YzI3OTNlZDU3ZTJiMjVmYjliODdiLi41YzE1YzA4OTY5M2YwMGEzZmJhNjMzODM2Nzcx
YWY2YjAyNzRkNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAK
ICNpZm5kZWYgU3RlcFJhbmdlX2gKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRl
Y2ltYWwuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCkBAIC0zMCwzNyArMzEsMjYgQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAog
ZW51bSBBbnlTdGVwSGFuZGxpbmcgeyBSZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAot
Ly8gRklYTUU6IFRoZSB0eXBlIElucHV0TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNp
bWFsLgotdHlwZWRlZiBkb3VibGUgSW5wdXROdW1iZXI7CisvLyBGSVhNRTogV2Ugc2hvdWxkIHJl
bmFtZSBJbnB1dE51bWJlciB0byBEZWNpbWFsIGluIGFsbCBwbGFjZXMuCit0eXBlZGVmIERlY2lt
YWwgSW5wdXROdW1iZXI7CiAKIGlubGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1
dE51bWJlcihkb3VibGUgZG91YmxlVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVlOwor
ICAgIHJldHVybiBEZWNpbWFsOjpmcm9tRG91YmxlKGRvdWJsZVZhbHVlKTsKIH0KIAogaW5saW5l
IGRvdWJsZSBjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJsZShjb25zdCBJbnB1dE51bWJlciYgbnVt
ZXJpY1ZhbHVlKQogewotICAgIHJldHVybiBudW1lcmljVmFsdWU7CisgICAgcmV0dXJuIG51bWVy
aWNWYWx1ZS50b0RvdWJsZSgpOwogfQogCiBjbGFzcyBTdGVwUmFuZ2UgewogcHVibGljOgotICAg
IHN0cnVjdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyB7Ci0gICAgICAgIHVuc2lnbmVkIGRlY2lt
YWxQbGFjZXM7Ci0gICAgICAgIElucHV0TnVtYmVyIHZhbHVlOwotCi0gICAgICAgIE51bWJlcldp
dGhEZWNpbWFsUGxhY2VzKElucHV0TnVtYmVyIHZhbHVlID0gMCwgdW5zaWduZWQgZGVjaW1hbFBs
YWNlcyA9IDApCi0gICAgICAgICAgICA6IGRlY2ltYWxQbGFjZXMoZGVjaW1hbFBsYWNlcykKLSAg
ICAgICAgICAgICwgdmFsdWUodmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0K
LSAgICBzdHJ1Y3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgeworICAgIHN0cnVj
dCBEZWNpbWFsT3JNaXNzaW5nIHsKICAgICAgICAgYm9vbCBoYXNWYWx1ZTsKLSAgICAgICAgTnVt
YmVyV2l0aERlY2ltYWxQbGFjZXMgdmFsdWU7CisgICAgICAgIERlY2ltYWwgdmFsdWU7CiAKLSAg
ICAgICAgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcoTnVtYmVyV2l0aERlY2ltYWxQ
bGFjZXMgdmFsdWUsIGJvb2wgaGFzVmFsdWUgPSB0cnVlKQorICAgICAgICBEZWNpbWFsT3JNaXNz
aW5nKGNvbnN0IERlY2ltYWwmIHZhbHVlLCBib29sIGhhc1ZhbHVlID0gdHJ1ZSkKICAgICAgICAg
ICAgIDogaGFzVmFsdWUoaGFzVmFsdWUpCiAgICAgICAgICAgICAsIHZhbHVlKHZhbHVlKQogICAg
ICAgICB7CkBAIC0xMDMsMTggKzkzLDE2IEBAIHB1YmxpYzoKIAogICAgIFN0ZXBSYW5nZSgpOwog
ICAgIFN0ZXBSYW5nZShjb25zdCBTdGVwUmFuZ2UmKTsKLSAgICBTdGVwUmFuZ2UoY29uc3QgTnVt
YmVyV2l0aERlY2ltYWxQbGFjZXMmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11
bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxh
Y2VzT3JNaXNzaW5nJiBzdGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mKTsKKyAgICBTdGVwUmFu
Z2UoY29uc3QgRGVjaW1hbCYgc3RlcEJhc2UsIGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBj
b25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgRGVjaW1hbE9yTWlzc2luZyYgc3RlcCwg
Y29uc3QgU3RlcERlc2NyaXB0aW9uJik7CiAgICAgSW5wdXROdW1iZXIgYWNjZXB0YWJsZUVycm9y
KCkgY29uc3Q7Ci0gICAgSW5wdXROdW1iZXIgYWxpZ25WYWx1ZUZvclN0ZXAoY29uc3QgSW5wdXRO
dW1iZXImIGN1cnJlbnRWYWx1ZSwgdW5zaWduZWQgY3VycmVudERlY2ltYWxQbGFjZXMsIGNvbnN0
IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3Q7CisgICAgSW5wdXROdW1iZXIgYWxpZ25WYWx1
ZUZvclN0ZXAoY29uc3QgSW5wdXROdW1iZXImIGN1cnJlbnRWYWx1ZSwgY29uc3QgSW5wdXROdW1i
ZXImIG5ld1ZhbHVlKSBjb25zdDsKICAgICBJbnB1dE51bWJlciBjbGFtcFZhbHVlKGNvbnN0IElu
cHV0TnVtYmVyJiB2YWx1ZSkgY29uc3Q7CiAgICAgYm9vbCBoYXNTdGVwKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNTdGVwOyB9CiAgICAgSW5wdXROdW1iZXIgbWF4aW11bSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4aW11bTsgfQogICAgIElucHV0TnVtYmVyIG1pbmltdW0oKSBjb25zdCB7IHJldHVybiBt
X21pbmltdW07IH0KLSAgICBzdGF0aWMgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcg
cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiwgY29uc3Qg
U3RyaW5nJik7CisgICAgc3RhdGljIERlY2ltYWxPck1pc3NpbmcgcGFyc2VTdGVwKEFueVN0ZXBI
YW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiwgY29uc3QgU3RyaW5nJik7CiAgICAgSW5w
dXROdW1iZXIgc3RlcCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcDsgfQogICAgIElucHV0TnVtYmVy
IHN0ZXBCYXNlKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwQmFzZTsgfQotICAgIHVuc2lnbmVkIHN0
ZXBCYXNlRGVjaW1hbFBsYWNlcygpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcEJhc2VEZWNpbWFsUGxh
Y2VzOyB9Ci0gICAgdW5zaWduZWQgc3RlcERlY2ltYWxQbGFjZXMoKSBjb25zdCB7IHJldHVybiBt
X3N0ZXBEZWNpbWFsUGxhY2VzOyB9CiAgICAgaW50IHN0ZXBTY2FsZUZhY3RvcigpIGNvbnN0IHsg
cmV0dXJuIG1fc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3RvcjsgfQogICAgIGJvb2wgc3Rl
cE1pc21hdGNoKGNvbnN0IElucHV0TnVtYmVyJikgY29uc3Q7CiAKQEAgLTE0OCw4ICsxMzYsNiBA
QCBwcml2YXRlOgogICAgIGNvbnN0IElucHV0TnVtYmVyIG1fc3RlcDsKICAgICBjb25zdCBJbnB1
dE51bWJlciBtX3N0ZXBCYXNlOwogICAgIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiBtX3N0ZXBEZXNj
cmlwdGlvbjsKLSAgICBjb25zdCB1bnNpZ25lZCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlczsKLSAg
ICBjb25zdCB1bnNpZ25lZCBtX3N0ZXBEZWNpbWFsUGxhY2VzOwogICAgIGNvbnN0IGJvb2wgbV9o
YXNTdGVwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRU
eXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKaW5kZXggODk1
ODQ1MDJjZTEyYTMwYzRkMjFkMWNmYzhhMGRhMzNiZDQ4MTliMC4uMzUxMGEwMWYyMjYwOTZkNjRl
OTRiM2NiMzMwYWFlMmEyNzc1NTg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9U
aW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUu
Y3BwCkBAIC04Niw3ICs4Niw3IEBAIFN0ZXBSYW5nZSBUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVw
UmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJ
bnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFy
c2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnRE
b3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtVGltZSgpKSk7CiAgICAg
Y29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29t
cG9uZW50czo6bWF4aW11bVRpbWUoKSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2lt
YWxQbGFjZXNPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5k
bGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0
dHIpKTsKKyAgICBTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6
cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNl
LCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAppbmRleCA5YmI4NmFlMDIzNWJhYjIzOGZlMDhhNDQ0
YjRhYjA3ZmZlNDFjMTVmLi4wNTU2OGQ3NDNiMzliYTNkYTgwZGMwNjgxMmQzNGMwZGIzNGEwYWU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKQEAgLTY4LDcgKzY4LDcgQEAg
U3RlcFJhbmdlIFdlZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcg
YW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0g
cGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIHdlZWtE
ZWZhdWx0U3RlcEJhc2UpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRv
TnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJs
ZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1XZWVrKCkpKTsKICAgICBjb25z
dCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25l
bnRzOjptYXhpbXVtV2VlaygpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBs
YWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5n
LCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikp
OworICAgIFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJz
ZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1p
bmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKaW5kZXggYTk5YTIxYTA4
ZTViZGQwODY1ZmEzM2M3Mzk1NTA0MDE3MmMzOGIzMS4uNGNlMzliN2Y0MjFmZWU3MDdhMTEwNjg5
ZDFjYjhlMTVmZjFkNzhmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlcklkaW9tcy5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAj
aW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL2R0b2EuaD4KQEAgLTU4LDYgKzU5LDE1IEBAIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFp
bGluZ0hUTUxTcGFjZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZy5z
dWJzdHJpbmcobnVtTGVhZGluZ1NwYWNlcywgbGVuZ3RoIC0gKG51bUxlYWRpbmdTcGFjZXMgKyBu
dW1UcmFpbGluZ1NwYWNlcykpOwogfQogCitTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShj
b25zdCBEZWNpbWFsJiBudW1iZXIpCit7CisgICAgaWYgKG51bWJlci5pc1plcm8oKSkgeworICAg
ICAgICAvLyBEZWNpbWFsOjp0b1N0cmluZyBhcHBlbmQgZXhwb25lbnQsIGUuZy4gIjBlLTE4Igor
ICAgICAgICByZXR1cm4gbnVtYmVyLmlzTmVnYXRpdmUoKSA/ICItMCIgOiAiMCI7CisgICAgfQor
ICAgIHJldHVybiBudW1iZXIudG9TdHJpbmcoKTsKK30KKwogU3RyaW5nIHNlcmlhbGl6ZUZvck51
bWJlclR5cGUoZG91YmxlIG51bWJlcikKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gSFRNTDUsICJ0
aGUgYmVzdCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG4gYXMgYSBmbG9hdGluZwpAQCAt
NjYsNiArNzYsMzUgQEAgU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoZG91YmxlIG51bWJl
cikKICAgICByZXR1cm4gU3RyaW5nKG51bWJlclRvU3RyaW5nKG51bWJlciwgYnVmZmVyKSk7CiB9
CiAKK0RlY2ltYWwgcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBjb25zdCBEZWNpbWFsJiBmYWxsYmFja1ZhbHVlKQoreworICAgIC8vIFNlZSBIVE1MNSAy
LjUuNC4zIGBSZWFsIG51bWJlcnMuJyBhbmQgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUKKwor
ICAgIC8vIFN0cmluZzo6dG9Eb3VibGUoKSBhY2NlcHRzIGxlYWRpbmcgKyBhbmQgd2hpdGVzcGFj
ZSBjaGFyYWN0ZXJzLCB3aGljaCBhcmUgbm90IHZhbGlkIGhlcmUuCisgICAgVUNoYXIgZmlyc3RD
aGFyYWN0ZXIgPSBzdHJpbmdbMF07CisgICAgaWYgKGZpcnN0Q2hhcmFjdGVyICE9ICctJyAmJiBm
aXJzdENoYXJhY3RlciAhPSAnLicgJiYgIWlzQVNDSUlEaWdpdChmaXJzdENoYXJhY3RlcikpCisg
ICAgICAgIHJldHVybiBmYWxsYmFja1ZhbHVlOworCisgICAgRGVjaW1hbCB2YWx1ZSA9IERlY2lt
YWw6OmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICBpZiAoIXZhbHVlLmlzRmluaXRlKCkpCisgICAg
ICAgIHJldHVybiBmYWxsYmFja1ZhbHVlOworCisgICAgLy8gTnVtYmVycyBhcmUgY29uc2lkZXJl
ZCBmaW5pdGUgSUVFRSA3NTQgc2luZ2xlLXByZWNpc2lvbiBmbG9hdGluZyBwb2ludCB2YWx1ZXMu
CisgICAgLy8gU2VlIEhUTUw1IDIuNS40LjMgYFJlYWwgbnVtYmVycy4nCisgICAgLy8gRklYTUU6
IFdlIHNob3VsZCB1c2UgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4IGZvciBudW1iZXIgaW5w
dXQgdHlwZS4KKyAgICBjb25zdCBEZWNpbWFsIGZsb2F0TWF4ID0gRGVjaW1hbDo6ZnJvbURvdWJs
ZShzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpOworICAgIGlmICh2YWx1ZSA8IC1m
bG9hdE1heCB8fCB2YWx1ZSA+IGZsb2F0TWF4KQorICAgICAgICByZXR1cm4gZmFsbGJhY2tWYWx1
ZTsKKworICAgIC8vIFdlIHJldHVybiArMCBmb3IgLTAgY2FzZS4KKyAgICByZXR1cm4gdmFsdWUu
aXNaZXJvKCkgPyBEZWNpbWFsKDApIDogdmFsdWU7Cit9CisKK0RlY2ltYWwgcGFyc2VUb0RlY2lt
YWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIHJldHVybiBwYXJz
ZVRvRGVjaW1hbEZvck51bWJlclR5cGUoc3RyaW5nLCBEZWNpbWFsOjpuYW4oKSk7Cit9CisKIGRv
dWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywgZG91
YmxlIGZhbGxiYWNrVmFsdWUpCiB7CiAgICAgLy8gU2VlIEhUTUw1IDIuNS40LjMgYFJlYWwgbnVt
YmVycy4nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
SWRpb21zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgK
aW5kZXggOGE3NzRmOWVlNDMyNWY3OTk2ZGNlZTgwMmU3ODU5MjFmMTIwMDcyMS4uNWYwMTg2ZDQ0
ZTMwYjk2NzBiMzRkODFkNWZkNmZkYzNiZDMxOWExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaApAQCAtMzAsNiArMzAsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlY2ltYWw7CisKIC8vIFNwYWNlIGNoYXJhY3RlcnMgYXMg
ZGVmaW5lZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLgogYm9vbCBpc0hUTUxTcGFjZShVQ2hh
cik7CiBib29sIGlzSFRNTExpbmVCcmVhayhVQ2hhcik7CkBAIC0zOSwxMSArNDEsMTQgQEAgYm9v
bCBpc05vdEhUTUxTcGFjZShVQ2hhcik7CiBTdHJpbmcgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdI
VE1MU3BhY2VzKGNvbnN0IFN0cmluZyYpOwogCiAvLyBBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg
SFRNTCBzcGVjaWZpY2F0aW9uJ3MgYWxnb3JpdGhtIHRvIGNvbnZlcnQgYSBudW1iZXIgdG8gYSBz
dHJpbmcgZm9yIG51bWJlciBhbmQgcmFuZ2UgdHlwZXMuCitTdHJpbmcgc2VyaWFsaXplRm9yTnVt
YmVyVHlwZShjb25zdCBEZWNpbWFsJik7CiBTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShk
b3VibGUpOwogCi0vLyBDb252ZXJ0IHRoZSBzcGVjaWZpZWQgc3RyaW5nIHRvIGEgZG91YmxlLiBJ
ZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxzZS4KKy8vIENv
bnZlcnQgdGhlIHNwZWNpZmllZCBzdHJpbmcgdG8gYSBkZWNpbWFsL2RvdWJsZS4gSWYgdGhlIGNv
bnZlcnNpb24gZmFpbHMsIHRoZSByZXR1cm4gdmFsdWUgaXMgZmFsbGJhY2sgdmFsdWUgb3IgTmFO
IGlmIG5vdCBzcGVjaWZpZWQuCiAvLyBMZWFkaW5nIG9yIHRyYWlsaW5nIGlsbGVnYWwgY2hhcmFj
dGVycyBjYXVzZSBmYWlsdXJlLCBhcyBkb2VzIHBhc3NpbmcgYW4gZW1wdHkgc3RyaW5nLgogLy8g
VGhlIGRvdWJsZSogcGFyYW1ldGVyIG1heSBiZSAwIHRvIGNoZWNrIGlmIHRoZSBzdHJpbmcgY2Fu
IGJlIHBhcnNlZCB3aXRob3V0IGdldHRpbmcgdGhlIHJlc3VsdC4KK0RlY2ltYWwgcGFyc2VUb0Rl
Y2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYpOworRGVjaW1hbCBwYXJzZVRvRGVjaW1h
bEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYgZmFsbGJhY2tWYWx1
ZSk7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJik7CiBk
b3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiwgZG91YmxlIGZh
bGxiYWNrVmFsdWUpOwogZG91YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2lt
YWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgdW5zaWduZWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IDMwODNhNzUwMDJjNjJh
YTI5YzFiZjgyMTM3NjEyYmQxMzQ5NjlkZTguLjRlNzE0YTAzOTFlNDZjYjFlZDJiYTFlZWE1NDE0
MmIyN2I1MDk0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRl
clRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcApAQCAtNTQsNyArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBp
bmxpbmUgc3RhdGljIElucHV0TnVtYmVyIHNsaWRlclBvc2l0aW9uKEhUTUxJbnB1dEVsZW1lbnQq
IGVsZW1lbnQpCiB7CiAgICAgY29uc3QgU3RlcFJhbmdlIHN0ZXBSYW5nZShlbGVtZW50LT5jcmVh
dGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7Ci0gICAgY29uc3QgZG91YmxlIG9sZFZhbHVlID0gcGFy
c2VUb0RvdWJsZUZvck51bWJlclR5cGUoZWxlbWVudC0+dmFsdWUoKSwgc3RlcFJhbmdlLmRlZmF1
bHRWYWx1ZSgpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBvbGRWYWx1ZSA9IHBhcnNlVG9EZWNp
bWFsRm9yTnVtYmVyVHlwZShlbGVtZW50LT52YWx1ZSgpLCBzdGVwUmFuZ2UuZGVmYXVsdFZhbHVl
KCkpOwogICAgIHJldHVybiBzdGVwUmFuZ2UucHJvcG9ydGlvbkZyb21WYWx1ZShzdGVwUmFuZ2Uu
Y2xhbXBWYWx1ZShvbGRWYWx1ZSkpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWJmNjVjMDJiNDhmNjYyNmE1MzIy
ODhkNzM3MzJiYjE4M2M5Y2ExZi4uYmIzODYxZWU3ZmUwOTMzZjVlMGNmNGI0MmFiN2IwZjM1ZTc3
NzE0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTA1ICBZb3NoaWZ1bWkgSW5vdWUg
IDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRyb2R1Y2UgRGVjaW1h
bCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5k
aW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yYW5nZS9yYW5n
ZS12YWx1ZS1yb3VuZGluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wNyAgWW9zaGlmdW1pIElu
b3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3Jtc10gSW1wcm92ZSB0ZXN0
IGNvdmVyYWdlIG9mIGlucHV0LW51bWJlci1zaXplLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjIyYmJiYzRlYTkyNzNhNWViYTFiOGIxY2QxOTgyZGYzMzFhNjIz
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2Ut
dmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjgwIEBACisKKzgwMDA5IElu
dHJvZHVjZSBEZWNpbWFsIGFyaXRobWV0aWMgdG8gZml4IHJvdW5kaW5nIGVycm9ycyBpbiBudW1i
ZXIvcmFuZ2UgaW5wdXQgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4xIiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4xIgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjEiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4x
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMiIsICIxZS0wIikudmFsdWUgaXMgIjAuMiIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4yIiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjMiLCAiMWUtMCIpLnZhbHVlIGlzICIw
LjMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMyIsICIxZS0wIikudmFsdWVBc051bWJl
ciBpcyAwLjMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC40IiwgIjFlLTAiKS52YWx1ZSBp
cyAiMC40IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjQiLCAiMWUtMCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC40CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNSIsICIxZS0wIikudmFs
dWUgaXMgIjAuNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC41IiwgIjFlLTAiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjYiLCAiMWUtMCIp
LnZhbHVlIGlzICIwLjYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNiIsICIxZS0wIiku
dmFsdWVBc051bWJlciBpcyAwLjYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC43IiwgIjFl
LTAiKS52YWx1ZSBpcyAiMC43IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjciLCAiMWUt
MCIpLnZhbHVlQXNOdW1iZXIgaXMgMC43CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuOCIs
ICIxZS0wIikudmFsdWUgaXMgIjAuOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC44Iiwg
IjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIw
LjkiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAu
OSIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAx
IiwgIjAuMDEiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDEiLCAiMC4wMSIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjAxCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMSIsICIwLjAyIiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMiIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAxIiwgIjAuMDIiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMyIsICIxZS0xIikudmFsdWUgaXMgIjAuMDMiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAzIiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDQiLCAiMWUtMSIpLnZhbHVlIGlz
ICIwLjA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNCIsICIxZS0xIikudmFsdWVB
c051bWJlciBpcyAwLjA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA1IiwgIjFlLTEi
KS52YWx1ZSBpcyAiMC4wNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDUiLCAiMWUt
MSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4w
NiIsICIxZS0xIikudmFsdWUgaXMgIjAuMDYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIw
LjA2IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAxIiwgIjAuMDciLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA3IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDEiLCAiMC4wNyIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA3CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMSIsICIwLjA4IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wOCIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAxIiwgIjAuMDgiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wOAor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOSIsICIxZS0xIikudmFsdWUgaXMgIjAuMDki
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA5IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMSIsICIxZS0yIikudmFs
dWUgaXMgIjAuMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAxIiwgIjFlLTIi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4w
MDIiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIs
ICIwLjAwMiIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAxIiwgIjAuMDAzIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDMiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDMiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDMK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNCIsICIxZS0yIikudmFsdWUgaXMgIjAu
MDA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA0IiwgIjFlLTIiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDUiLCAiMWUt
MiIpLnZhbHVlIGlzICIwLjAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNSIs
ICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAx
IiwgIjAuMDA2IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDYiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDEiLCAiMC4wMDYiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDYKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNyIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA3IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA3IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDgiLCAiMWUtMiIpLnZhbHVl
IGlzICIwLjAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwOCIsICIxZS0yIiku
dmFsdWVBc051bWJlciBpcyAwLjAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA5
IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAi
MC4wMDkiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDkKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDEiLCAiMC4wMDAxIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAxIgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDEiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMiIsICIxZS0zIikudmFsdWUg
aXMgIjAuMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAyIiwgIjFlLTMi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIw
LjAwMDMiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAxIiwgIjAuMDAwMyIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDMKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA0IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA0Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDQiLCAiMWUtMyIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNSIsICIxZS0z
IikudmFsdWUgaXMgIjAuMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA1
IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMSIsICIwLjAwMDYiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDYiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAxIiwgIjAuMDAwNiIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDYK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA3IiwgIjFlLTMiKS52YWx1ZSBpcyAi
MC4wMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDciLCAiMWUtMyIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAw
OCIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEi
LCAiMC4wMDA4IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwOAorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMSIsICIwLjAwMDkiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDkiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOSIsICIxZS0zIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDEiLCAiMWUtNCIp
LnZhbHVlIGlzICIwLjAwMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAw
MSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMSIsICIwLjAwMDAyIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMiIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDIiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMyIsICIxZS00Iiku
dmFsdWUgaXMgIjAuMDAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDAz
IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAxIiwgIjAuMDAwMDQiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA0IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNCIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA1IiwgIjFlLTQiKS52
YWx1ZSBpcyAiMC4wMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDUi
LCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDEiLCAiMC4wMDAwNiIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDYiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA2IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDciLCAiMWUtNCIpLnZh
bHVlIGlzICIwLjAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNyIs
ICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMSIsICIwLjAwMDA4IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwOCIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDgiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOSIsICIxZS00IikudmFs
dWUgaXMgIjAuMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA5Iiwg
IjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMSIsICIwLjAwMDAwMSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDAxIgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAxIiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDIiLCAiMWUt
NSIpLnZhbHVlIGlzICIwLjAwMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIw
LjAwMDAwMiIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAzIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDMi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDMiLCAiMWUtNSIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAw
MDAwNCIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAxIiwgIjAuMDAwMDA0IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA0CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDUiLCAiMWUtNSIpLnZhbHVlIGlz
ICIwLjAwMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNSIsICIx
ZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAxIiwgIjAuMDAwMDA2IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDYiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDYiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNyIsICIxZS01
IikudmFsdWUgaXMgIjAuMDAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAu
MDAwMDA3IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA3CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDgiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwOCIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOCIsICIxZS01IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAw
MDA5IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDEiLCAiMC4wMDAwMDkiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDkKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAxIiwgIjFlLTYiKS52YWx1ZSBp
cyAiMWUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAxIiwgIjFl
LTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlIGlzICIyZS03IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwMyIsICIx
ZS02IikudmFsdWUgaXMgIjNlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAu
MDAwMDAwMyIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDMKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYiKS52YWx1ZSBpcyAiNGUtNyIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIw
LjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlIGlzICI1ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMSIsICIwLjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA1
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNiIsICIxZS02IikudmFs
dWUgaXMgIjZlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNiIs
ICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZSBpcyAiN2UtNyIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDgi
LCAiMWUtNiIpLnZhbHVlIGlzICI4ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIs
ICIwLjAwMDAwMDgiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA4CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIxZS02IikudmFsdWUgaXMgIjll
LTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIxZS02Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAx
IiwgIjAuMDAwMDAwMDEiLCAiMWUtNyIpLnZhbHVlIGlzICIxZS04IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMSIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAyIiwg
IjFlLTciKS52YWx1ZSBpcyAiMmUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwg
IjAuMDAwMDAwMDIiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMyIsICIxZS03IikudmFsdWUgaXMg
IjNlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAzIiwgIjFl
LTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAxIiwgIjAuMDAwMDAwMDQiLCAiMWUtNyIpLnZhbHVlIGlzICI0ZS04IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNCIsICIxZS03IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAw
MDA1IiwgIjFlLTciKS52YWx1ZSBpcyAiNWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAxIiwgIjAuMDAwMDAwMDUiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNQor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNiIsICIxZS03IikudmFs
dWUgaXMgIjZlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA2
IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDciLCAiMWUtNyIpLnZhbHVlIGlzICI3ZS04IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNyIsICIxZS03IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIw
LjAwMDAwMDA4IiwgIjFlLTciKS52YWx1ZSBpcyAiOGUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAxIiwgIjAuMDAwMDAwMDgiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOSIsICIxZS03
IikudmFsdWUgaXMgIjllLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAw
MDAwMDA5IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDkKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMSIsICIxZS04IikudmFsdWUgaXMgIjFl
LTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDEiLCAiMWUt
OCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMiIsICIxZS04IikudmFsdWUgaXMgIjJlLTkiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDIiLCAiMWUtOCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMyIsICIxZS04IikudmFsdWUgaXMgIjNlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDMiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNCIs
ICIxZS04IikudmFsdWUgaXMgIjRlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDQiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDQKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNSIsICIxZS04IikudmFs
dWUgaXMgIjVlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDUiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNiIsICIxZS04IikudmFsdWUgaXMgIjZlLTki
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDYiLCAiMWUtOCIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwNyIsICIxZS04IikudmFsdWUgaXMgIjdlLTkiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDciLCAiMWUtOCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwOCIsICIxZS04IikudmFsdWUgaXMgIjhlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDgiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOSIsICIx
ZS04IikudmFsdWUgaXMgIjllLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDkiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDkKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAxIiwgIjFlLTkiKS52YWx1
ZSBpcyAiMWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDEKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAyIiwgIjFlLTkiKS52YWx1ZSBpcyAi
MmUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMiIs
ICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAzIiwgIjFlLTkiKS52YWx1ZSBpcyAiM2UtMTAi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMyIsICIxZS05
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA0IiwgIjFlLTkiKS52YWx1ZSBpcyAiNGUtMTAiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNCIsICIxZS05IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDA1IiwgIjFlLTkiKS52YWx1ZSBpcyAiNWUtMTAiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNSIsICIxZS05IikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDA2IiwgIjFlLTkiKS52YWx1ZSBpcyAiNmUtMTAiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNiIsICIxZS05IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDA3IiwgIjFlLTkiKS52YWx1ZSBpcyAiN2UtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNyIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA4
IiwgIjFlLTkiKS52YWx1ZSBpcyAiOGUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwOCIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA5IiwgIjFl
LTkiKS52YWx1ZSBpcyAiOWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwOSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDkKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDEiLCAiMWUtMTAi
KS52YWx1ZSBpcyAiMWUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAxIiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAxCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAyIiwgIjFlLTEw
IikudmFsdWUgaXMgIjJlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMiIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMyIsICIxZS0x
MCIpLnZhbHVlIGlzICIzZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDMiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDMK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDQiLCAiMWUt
MTAiKS52YWx1ZSBpcyAiNGUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDA0IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDA0
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA1IiwgIjFl
LTEwIikudmFsdWUgaXMgIjVlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwNSIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
NQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNiIsICIx
ZS0xMCIpLnZhbHVlIGlzICI2ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDYiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAw
MDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDciLCAi
MWUtMTAiKS52YWx1ZSBpcyAiN2UtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDA3IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA4Iiwg
IjFlLTEwIikudmFsdWUgaXMgIjhlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwOCIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwOSIs
ICIxZS0xMCIpLnZhbHVlIGlzICI5ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDkiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MSIsICIxZS0xMSIpLnZhbHVlIGlzICIxZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlIGlzICIyZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZhbHVlIGlzICIzZS0xMiIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0xMSIpLnZhbHVlIGlzICI0ZS0xMiIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0xMSIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIsICIxZS0xMSIpLnZhbHVlIGlzICI1ZS0xMiIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIsICIxZS0x
MSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNiIsICIxZS0xMSIpLnZhbHVlIGlzICI2ZS0x
MiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNiIs
ICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNyIsICIxZS0xMSIpLnZhbHVlIGlz
ICI3ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwNyIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDcKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOCIsICIxZS0xMSIpLnZh
bHVlIGlzICI4ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwOCIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDgKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOSIsICIxZS0x
MSIpLnZhbHVlIGlzICI5ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwOSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAx
IiwgIjFlLTEyIikudmFsdWUgaXMgIjFlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDEiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDIiLCAiMWUtMTIiKS52YWx1ZSBpcyAiMmUtMTMiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMiIsICIxZS0xMiIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMyIsICIxZS0xMiIpLnZhbHVlIGlzICIzZS0xMyIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAzIiwgIjFlLTEy
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA0IiwgIjFlLTEyIikudmFsdWUgaXMgIjRl
LTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDQiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNAorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDUiLCAiMWUtMTIiKS52
YWx1ZSBpcyAiNWUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDAwNSIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA1
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNiIs
ICIxZS0xMiIpLnZhbHVlIGlzICI2ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA2IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDA3IiwgIjFlLTEyIikudmFsdWUgaXMgIjdlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDciLCAiMWUtMTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDgiLCAiMWUtMTIiKS52YWx1ZSBpcyAiOGUtMTMiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOCIsICIxZS0xMiIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOSIsICIxZS0xMiIpLnZhbHVlIGlzICI5ZS0x
MyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA5
IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDkKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTMiKS52
YWx1ZSBpcyAiMWUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDAxIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAw
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDAyIiwgIjFlLTEzIikudmFsdWUgaXMgIjJlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMiIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwMyIsICIxZS0xMyIpLnZhbHVlIGlzICIzZS0xNCIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDMiLCAiMWUtMTMi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTMiKS52YWx1ZSBpcyAi
NGUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDA0IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA0CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA1IiwgIjFl
LTEzIikudmFsdWUgaXMgIjVlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMDAwNSIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwNiIsICIxZS0xMyIpLnZhbHVlIGlzICI2ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTMiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDciLCAiMWUtMTMiKS52YWx1ZSBpcyAiN2UtMTQiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA3Iiwg
IjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA4IiwgIjFlLTEzIikudmFs
dWUgaXMgIjhlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDAwOCIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAw
OAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAw
OSIsICIxZS0xMyIpLnZhbHVlIGlzICI5ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAwMDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDAwMSIsICIxZS0xNCIpLnZhbHVlIGlzICIxZS0xNSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMSIsICIxZS0x
NCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMiIsICIxZS0xNCIpLnZhbHVl
IGlzICIyZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDAwMiIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAw
MDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDAwMyIsICIxZS0xNCIpLnZhbHVlIGlzICIzZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMyIsICIxZS0xNCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNCIsICIxZS0xNCIpLnZhbHVlIGlzICI0ZS0xNSIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNCIs
ICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNSIsICIxZS0xNCIp
LnZhbHVlIGlzICI1ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDAwNSIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAwNiIsICIxZS0xNCIpLnZhbHVlIGlzICI2ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNiIsICIxZS0xNCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNyIsICIxZS0xNCIpLnZhbHVlIGlzICI3ZS0x
NSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDAwNyIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDcKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOCIsICIx
ZS0xNCIpLnZhbHVlIGlzICI4ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOCIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDAwOSIsICIxZS0xNCIpLnZhbHVlIGlzICI5ZS0xNSIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOSIsICIxZS0xNCIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVm
NmI2NWEzNDk0Mjk1OWYxNmMyNjk1ZmU3ODRhNGI5YzZiNWZmYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmcuaHRtbApA
QCAtMCwwICsxLDM2IEBACis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQgaWQ9ImZv
byIgdHlwZT1yYW5nZSBzdGVwPTAuMSB2YWx1ZT0wLjY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxkaXYgaWQ9InNsaWRlcnMiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCI8YSBo
cmVmPSdodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAwOSc+ODAwMDkg
SW50cm9kdWNlIERlY2ltYWwgYXJpdGhtZXRpYyB0byBmaXggcm91bmRpbmcgZXJyb3JzIGluIG51
bWJlci9yYW5nZSBpbnB1dCB0eXBlczwvYT4iKTsKKworZnVuY3Rpb24gY3JlYXRlU2FtcGxlKHN0
ZXAsIHZhbHVlLCBtYXgpCit7CisgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPXJh
bmdlIG1pbj0wIG1heD0nICsgbWF4ICsgJyBzdGVwPScgKyBzdGVwICsgJyB2YWx1ZT0nICsgdmFs
dWUgKyAnPjxicj4nOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXJzIikuYXBw
ZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAgICByZXR1cm4gY29udGFpbmVyLmZpcnN0Q2hpbGQ7Cit9
CisKK3ZhciB6ZXJvcyA9ICIwLiI7Citmb3IgKHZhciBleHBvbmVudCA9IDA7IGV4cG9uZW50IDwg
MTU7ICsrZXhwb25lbnQpIHsKKyAgICB2YXIgc3RlcCA9IHplcm9zICsgIjEiOworICAgIGZvciAo
dmFyIGRpZ2l0ID0gMTsgZGlnaXQgPD0gOTsgKytkaWdpdCkgeworICAgICAgICB2YXIgdmFsdWUg
PSB6ZXJvcyArIGRpZ2l0LnRvU3RyaW5nKCk7CisgICAgICAgIHZhciBzYW1wbGUgPSAnY3JlYXRl
U2FtcGxlKCInICsgc3RlcCArICciLCAiJyArIHZhbHVlICsgJyIsICIxZS0nICsgZXhwb25lbnQg
KyAnIiknOworICAgICAgICB2YXIgc3RlcEV4cG9uZW50ID0gZXhwb25lbnQgKyAxOworICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoc2FtcGxlICsgJy52YWx1ZScsIHN0ZXBFeHBvbmVudCA+
PSA3ID8gZGlnaXQgKyAiZS0iICsgc3RlcEV4cG9uZW50IDogdmFsdWUpOworICAgICAgICBzaG91
bGRCZShzYW1wbGUgKyAnLnZhbHVlQXNOdW1iZXInLCB2YWx1ZSk7CisgICAgfQorICAgIHplcm9z
ICs9ICIwIjsKK30KKworLy8gUmVtb3ZlIGdlbmVyYXRlZCBzbGlkZXJzLgorZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNsaWRlcnMiKS5pbm5lckhUTUwgPSAiIjsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146242</attachid>
            <date>2012-06-07 03:18:07 -0700</date>
            <delta_ts>2012-06-08 01:57:15 -0700</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-88383-20120607191806.patch</filename>
            <type>text/plain</type>
            <size>70574</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5Njk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMxMWI4NThmNmUzMmEy
ZmRhNWI1MzAwY2QzMGM3NzYwMWMxMjBiZC4uZjFmMDRlNzVjZjdhNmJhZTU2Zjg4NDNiZWE3MGIw
MjE2MjgyMDM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgdG8gRGVjaW1hbE9yTWlzc2luZy4KKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwvSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cp
OiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAg
ICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6dmFs
aWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cGFy
c2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFw
cGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAo
SW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2ltYXBsUGxhY2VzLgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
TnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5kZXJTaXplLgorICAgICAg
ICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBUaGlzIGZ1bmN0aW9uIHJl
cGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpOdW1i
ZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4K
KyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNv
cmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6ZS4KKyAgICAgICAgKFdl
YkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKTog
ZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJl
cklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNpbWFwbFBsYWNlcy4KKyAg
ICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdl
SW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisg
ICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IGRpdHRv
LgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBS
YW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBhbmQgY2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjphY2NlcHRhYmxlRXJy
b3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUgYW5kIHN0ZDo6bWluL21h
eC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVwKTogQ2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzLgorICAgICAg
ICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFuZ2VkIGZvciBEZWNpbWFs
IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcik6IENo
YW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRJ
bnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoRGVjaW1hbE9yTWlzc2luZyk6IFJl
cGxhY2VtZW50IG9mIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nLgorICAgICAgICAo
V2ViQ29yZTo6U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nOjpEZWNpbWFsT3JNaXNzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cm91bmRCeVN0ZXApOiBBZGRlZCBmb3Igc2hh
cmluZyBjb2RlLgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUZvck51bWJlclR5cGUpOiBBZGRlZCBEZWNpbWFsIHZl
cnNpb24uCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6IFVwZGF0ZWQg
Y29tbWVudHMgZm9yIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlLgorICAgICAgICAqIGh0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQ
b3NpdGlvbik6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKwogMjAxMi0wNi0wNyAgTGkgWWlu
ICA8bGkueWluQGludGVsLmNvbT4KIAogICAgICAgICBbRmlsZUFQSV0gRmlsZVJlYWRlciBzaG91
bGQgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIHdoZW4gcmVhZHlTdGF0ZSBp
cyBMT0FESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHAKaW5kZXggNzNlNDk5MjNiMDYwYjQ2MzUzOGRkODEyOGVkNzZmOWUwY2FhZTgwZC4u
Yzc2NjE5NDUyMjc4OWNiMWI0NDZkNGEyNmRiMDcwNWQxYTMyZWVjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMTM2LDcgKzEz
Niw3IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpwYXJzZVRvRGF0ZUNvbXBvbmVu
dHMoY29uc3QgU3RyaW5nJiBzb3VyY2UsIERhdGVDCiAKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpCisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKICAgICBpZiAo
IXNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJs
ZSh2YWx1ZSksICZkYXRlKSkKQEAgLTE0OSw5ICsxNDksOSBAQCBTdHJpbmcgQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoQ29tcG9uZW50cyhjb25zdCBEYXRlQ29tcG9uZW50
cyYgZAogICAgIElucHV0TnVtYmVyIHN0ZXA7CiAgICAgaWYgKCFlbGVtZW50KCktPmdldEFsbG93
ZWRWYWx1ZVN0ZXAoJnN0ZXApKQogICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZygpOwotICAg
IGlmICghZm1vZChzdGVwLCBtc2VjUGVyTWludXRlKSkKKyAgICBpZiAoc3RlcC5yZW1haW5kZXIo
bXNlY1Blck1pbnV0ZSkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERh
dGVDb21wb25lbnRzOjpOb25lKTsKLSAgICBpZiAoIWZtb2Qoc3RlcCwgbXNlY1BlclNlY29uZCkp
CisgICAgaWYgKHN0ZXAucmVtYWluZGVyKG1zZWNQZXJTZWNvbmQpLmlzWmVybygpKQogICAgICAg
ICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6U2Vjb25kKTsKICAgICByZXR1
cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6TWlsbGlzZWNvbmQpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKaW5kZXggODI5MzJiNWJkNzM4MWRjZjc0YWQxZDFh
N2Q1NjdiMWI0MDdkMTE1Yy4uYjAwMDEyOWNiZGQ2YWUyZmNjYzQ5M2QxMjk4ZDkyNDczZTNhZjZm
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC03Niw3ICs3Niw3IEBA
IFN0ZXBSYW5nZSBEYXRlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsK
ICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERh
dGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bURhdGUo
KSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBTdGVw
UmFuZ2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0
ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
c3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhp
bXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGM5Yzc0YzYxYTk5ZTU3MDNiMGQ4MjA4MjljYmZjN2Uw
NTk5MDYwZjguLjdmY2EyN2E2YzYzZjA3MGJiMDI5NTU3MTIzODNjNmNjNjIxMmYxYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC03NCw3ICs3NCw3IEBA
IFN0ZXBSYW5nZSBEYXRlVGltZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5k
bGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvCiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2Ug
PSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7
CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihE
YXRlQ29tcG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJl
ciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4
QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVt
RGF0ZVRpbWUoKSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1p
c3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERl
c2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBj
b25zdCBTdGVwUmFuZ2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VT
dGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5p
bXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAyMzYwZmYxZDc5MTg4
ODgxM2U4NmUwNTM5Yjg0NTdmMWI2ZWQ1OWIxLi4yYzRkNTU0ZTkyMTYwZDUyNTQyNTNjOTgzODE1
NGI2NjllM2ViYjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9j
YWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElu
cHV0VHlwZS5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgU3RlcFJhbmdlIERhdGVUaW1lTG9jYWxJbnB1
dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW4KICAg
ICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5p
bXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciks
IGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZVRp
bWUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXRO
dW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1EYXRlVGltZSgpKSk7Ci0gICAgU3RlcFJhbmdl
OjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJz
ZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0IFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlz
c2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVz
Y3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJl
dHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNj
cmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCBlMjNmOTJlOGQ5
OTJjNmZkODdhNzA3YmJmMzc2MjFkYzBlYmM5MjY3Li45YmI2MDI5NmM4ZWY2MjQ5YTZhZDBmMjY1
MDMwOWEwMTg5MWI5NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0yNTcsNyAr
MjU3LDcgQEAgYm9vbCBJbnB1dFR5cGU6OnJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYgdmFs
dWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVy
IG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFu
KG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG51bWVyaWNWYWx1ZSA8IGNyZWF0ZVN0ZXBS
YW5nZShSZWplY3RBbnkpLm1pbmltdW0oKTsKQEAgLTI2OSw3ICsyNjksNyBAQCBib29sIElucHV0
VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJz
ZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAg
IGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIHJldHVybiBudW1lcmljVmFsdWUgPiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5tYXhp
bXVtKCk7CkBAIC0zMDIsNyArMzAyLDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzSW5SYW5nZShjb25z
dCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25z
dCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwot
ICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmlu
aXRlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShj
cmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC0zMTUsNyArMzE1LDcgQEAgYm9vbCBJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJz
ZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAg
IGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC0z
MjgsNyArMzI4LDcgQEAgYm9vbCBJbnB1dFR5cGU6OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcm
IHZhbHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51
bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChp
c25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0
QW55KS5zdGVwTWlzbWF0Y2gobnVtZXJpY1ZhbHVlKTsKQEAgLTM2Niw3ICszNjYsNyBAQCBTdHJp
bmcgSW5wdXRUeXBlOjp2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFy
c2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAg
ICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFu
eSkpOwpAQCAtNDY2LDE0ICs0NjYsNyBAQCBJbnB1dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9O
dW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYQogCiBJbnB1
dE51bWJlciBJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJPck5hTihjb25zdCBTdHJpbmcmIHN0cmlu
ZykgY29uc3QKIHsKLSAgICByZXR1cm4gcGFyc2VUb051bWJlcihzdHJpbmcsIG51bWVyaWNfbGlt
aXRzPElucHV0TnVtYmVyPjo6cXVpZXRfTmFOKCkpOwotfQotCi1JbnB1dE51bWJlciBJbnB1dFR5
cGU6OnBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29u
c3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNv
bnN0Ci17Ci0gICAgaWYgKGRlY2ltYWxQbGFjZXMpCi0gICAgICAgICpkZWNpbWFsUGxhY2VzID0g
MDsKLSAgICByZXR1cm4gcGFyc2VUb051bWJlcihzcmMsIGRlZmF1bHRWYWx1ZSk7CisgICAgcmV0
dXJuIHBhcnNlVG9OdW1iZXIoc3RyaW5nLCBEZWNpbWFsOjpuYW4oKSk7CiB9CiAKIGJvb2wgSW5w
dXRUeXBlOjpwYXJzZVRvRGF0ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVu
dHMqKSBjb25zdApAQCAtODg2LDE1ICs4NzksMTMgQEAgdm9pZCBJbnB1dFR5cGU6OmFwcGx5U3Rl
cChpbnQgY291bnQsIEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIFRleHRGaWVsZEUK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKLSAgICB1bnNpZ25lZCBjdXJyZW50RGVjaW1h
bFBsYWNlczsKLSAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+dmFsdWUoKSwgbmFuLCAmY3VycmVudERlY2ltYWxQ
bGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICBjb25zdCBJbnB1dE51
bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7Cisg
ICAgaWYgKCFjdXJyZW50LmlzRmluaXRlKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRF
X0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBJbnB1dE51bWJlciBuZXdWYWx1ZSA9
IGN1cnJlbnQgKyBzdGVwUmFuZ2Uuc3RlcCgpICogY291bnQ7Ci0gICAgaWYgKGlzaW5mKG5ld1Zh
bHVlKSkgeworICAgIGlmICghbmV3VmFsdWUuaXNGaW5pdGUoKSkgewogICAgICAgICBlYyA9IElO
VkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTA5LDcgKzkwMCw3
IEBAIHZvaWQgSW5wdXRUeXBlOjphcHBseVN0ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcg
YW55U3RlcEhhbmRsaW5nLCBUZXh0RmllbGRFCiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0
ZXBTdHJpbmcgPSBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpOwogICAgIGlm
ICghZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIpKQotICAgICAgICBuZXdWYWx1
ZSA9IHN0ZXBSYW5nZS5hbGlnblZhbHVlRm9yU3RlcChjdXJyZW50LCBjdXJyZW50RGVjaW1hbFBs
YWNlcywgbmV3VmFsdWUpOworICAgICAgICBuZXdWYWx1ZSA9IHN0ZXBSYW5nZS5hbGlnblZhbHVl
Rm9yU3RlcChjdXJyZW50LCBuZXdWYWx1ZSk7CiAKICAgICBpZiAobmV3VmFsdWUgLSBzdGVwUmFu
Z2UubWF4aW11bSgpID4gYWNjZXB0YWJsZUVycm9yVmFsdWUpIHsKICAgICAgICAgZWMgPSBJTlZB
TElEX1NUQVRFX0VSUjsKQEAgLTEwMDksNyArMTAwMCw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVw
VXBGcm9tUmVuZGVyZXIoaW50IG4pCiAKICAgICBTdHJpbmcgY3VycmVudFN0cmluZ1ZhbHVlID0g
ZWxlbWVudCgpLT52YWx1ZSgpOwogICAgIElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJzZVRvTnVt
YmVyT3JOYU4oY3VycmVudFN0cmluZ1ZhbHVlKTsKLSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQp
KSB7CisgICAgaWYgKCFjdXJyZW50LmlzRmluaXRlKCkpIHsKICAgICAgICAgRXhjZXB0aW9uQ29k
ZSBlYzsKICAgICAgICAgY3VycmVudCA9IGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpOwogICAgICAg
ICBjb25zdCBJbnB1dE51bWJlciBuZXh0RGlmZiA9IHN0ZXAgKiBuOwpAQCAtMTAyNSwxNSArMTAx
NiwxMyBAQCB2b2lkIElucHV0VHlwZTo6c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgIH0g
ZWxzZSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAgICAgIGlmIChzdGVwTWlzbWF0
Y2goZWxlbWVudCgpLT52YWx1ZSgpKSkgewotICAgICAgICAgICAgQVNTRVJUKHN0ZXApOwotICAg
ICAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8
SW5wdXROdW1iZXI+KG1heChzdGVwUmFuZ2Uuc3RlcERlY2ltYWxQbGFjZXMoKSwgc3RlcFJhbmdl
LnN0ZXBCYXNlRGVjaW1hbFBsYWNlcygpKSkpOwotICAgICAgICAgICAgY29uc3QgSW5wdXROdW1i
ZXIgYmFzZSA9IHN0ZXBSYW5nZS5zdGVwQmFzZSgpOwotCi0gICAgICAgICAgICBJbnB1dE51bWJl
ciBuZXdWYWx1ZTsKKyAgICAgICAgICAgIEFTU0VSVCghc3RlcC5pc1plcm8oKSk7CisgICAgICAg
ICAgICBjb25zdCBEZWNpbWFsIGJhc2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKTsKKyAgICAgICAg
ICAgIERlY2ltYWwgbmV3VmFsdWU7CiAgICAgICAgICAgICBpZiAoc2lnbiA8IDApCi0gICAgICAg
ICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGZsb29yKChjdXJyZW50IC0gYmFzZSkg
LyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8gc2NhbGU7CisgICAgICAgICAgICAgICAgbmV3VmFs
dWUgPSBiYXNlICsgKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKS5mbG9vcigpICogc3RlcDsKICAg
ICAgICAgICAgIGVsc2UgaWYgKHNpZ24gPiAwKQotICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0g
cm91bmQoKGJhc2UgKyBjZWlsKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2Nh
bGUpIC8gc2NhbGU7CisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKChjdXJyZW50
IC0gYmFzZSkgLyBzdGVwKS5jZWlsaW5nKCkgKiBzdGVwOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIG5ld1ZhbHVlID0gY3VycmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgK
aW5kZXggNzZlYmQ0ODY0NzgzYzRjZTNlMTA4ZTkzODkwNjIzNjYwNDExYzA1Yy4uYjZiOWI3ODgy
MmFkZDc1MDVkZmJjN2ZhZmRiYjMyN2IyOTM3YTAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
CkBAIC0yNjYsMTEgKzI2Niw2IEBAIHB1YmxpYzoKICAgICAvLyByZXR1cm4gTmFOIG9yIEluZmlu
aXR5IG9ubHkgaWYgZGVmYXVsdFZhbHVlIGlzIE5hTiBvciBJbmZpbml0eS4KICAgICB2aXJ0dWFs
IElucHV0TnVtYmVyIHBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1i
ZXImIGRlZmF1bHRWYWx1ZSkgY29uc3Q7CiAKLSAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBz
dHJpbmcgZm9yIHRoZSB0eXBlIGFzIHBhcnNlVG9OdW1iZXIoKSBkb2VzLgotICAgIC8vIEluIGFk
ZGl0aW9uLCBpdCBzdG9yZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwg
cG9pbnQKLSAgICAvLyBpbnRvICpkZWNpbWFsUGxhY2VzLgotICAgIHZpcnR1YWwgSW5wdXROdW1i
ZXIgcGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElu
cHV0TnVtYmVyJiBkZWZhdWx0VmFsdWUsIHVuc2lnbmVkKiBkZWNpbWFsUGxhY2VzKSBjb25zdDsK
LQogICAgIC8vIFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBmb3IgdGhpcyBJbnB1dFR5cGUs
IGFuZCByZXR1cm5zIHRydWUgaWYgaXQKICAgICAvLyBpcyBzdWNjZXNzZnVsbHkgcGFyc2VkLiBB
biBpbnN0YW5jZSBwb2ludGVkIGJ5IHRoZSBEYXRlQ29tcG9uZW50cyoKICAgICAvLyBwYXJhbWV0
ZXIgd2lsbCBoYXZlIHBhcnNlZCB2YWx1ZXMgYW5kIGJlIG1vZGlmaWVkIGV2ZW4gaWYgdGhlIHBh
cnNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggYmExMmJlZjVk
OTlkMDQ4MWUxYjdiMzExYWNhNmZmNGEwNjM4YzA0Yy4uMTJlNmMwYmM2YTQ5ODIzNTJlMGUyMmRm
ODc0MmUzNDE0MzhkMDY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAK
QEAgLTEwNCw3ICsxMDQsNyBAQCBTdGVwUmFuZ2UgTW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBS
YW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0IElu
cHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRy
aWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRz
OjptaW5pbXVtTW9udGgoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJz
ZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERv
dWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKSk7CiAgICAg
Y29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29t
cG9uZW50czo6bWF4aW11bU1vbnRoKCkpKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNp
bWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFu
ZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBB
dHRyKSk7CisgICAgY29uc3QgU3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAgPSBTdGVw
UmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVu
dCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShz
dGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDY5MmU3OTkwNGFhZTgw
Nzc5Mzc2ZjMxZmQzNTE5MTI2NDlkNDcxNTEuLmI0MTc0OWU3YTJmMDhiMGEyYTRmMDUyMTFkM2Zl
ZTZlZDY5YTZhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRU
eXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAg
LTU0LDE5ICs1NCw0NCBAQCBzdGF0aWMgY29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsK
IHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25z
dCBpbnQgbnVtYmVyU3RlcFNjYWxlRmFjdG9yID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0
aEJlZm9yZURlY2ltYWxQb2ludChkb3VibGUgdmFsdWUpCitzdHJ1Y3QgUmVhbE51bWJlclJlbmRl
clNpemUKIHsKLSAgICAvLyBJZiB2YWx1ZSBpcyBuZWdhdGl2ZSwgJy0nIHNob3VsZCBiZSBjb3Vu
dGVkLgorICAgIHVuc2lnbmVkIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQ7CisgICAgdW5zaWduZWQg
c2l6ZUFmdGVEZWNpbWFsUG9pbnQ7CiAKLSAgICBkb3VibGUgYWJzb2x1dGVWYWx1ZSA9IGZhYnMo
dmFsdWUpOwotICAgIGlmIChhYnNvbHV0ZVZhbHVlIDwgMSkKLSAgICAgICAgcmV0dXJuIHZhbHVl
IDwgMCA/IDIgOiAxOworICAgIFJlYWxOdW1iZXJSZW5kZXJTaXplKHVuc2lnbmVkIGJlZm9yZSwg
dW5zaWduZWQgYWZ0ZXIpCisgICAgICAgIDogc2l6ZUJlZm9yZURlY2ltYWxQb2ludChiZWZvcmUp
CisgICAgICAgICwgc2l6ZUFmdGVEZWNpbWFsUG9pbnQoYWZ0ZXIpCisgICAgeworICAgIH0KIAot
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihsb2cxMChmbG9vcihh
YnNvbHV0ZVZhbHVlKSkpICsgMTsKLSAgICBpZiAodmFsdWUgPCAwKQotICAgICAgICBsZW5ndGgg
Kz0gMTsKKyAgICBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBtYXgoY29uc3QgUmVhbE51bWJlclJlbmRl
clNpemUmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5k
ZXJTaXplKAorICAgICAgICAgICAgc3RkOjptYXgoc2l6ZUJlZm9yZURlY2ltYWxQb2ludCwgb3Ro
ZXIuc2l6ZUJlZm9yZURlY2ltYWxQb2ludCksCisgICAgICAgICAgICBzdGQ6Om1heChzaXplQWZ0
ZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUFmdGVEZWNpbWFsUG9pbnQpKTsKKyAgICB9Cit9Owog
Ci0gICAgcmV0dXJuIGxlbmd0aDsKK3N0YXRpYyBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBjYWxjdWxh
dGVSZW5kZXJTaXplKGNvbnN0IERlY2ltYWwmIHZhbHVlKQoreworICAgIEFTU0VSVCh2YWx1ZS5p
c0Zpbml0ZSgpKTsKKyAgICBjb25zdCB1bnNpZ25lZCBzaXplT2ZEaWdpdHMgPSBTdHJpbmc6Om51
bWJlcih2YWx1ZS52YWx1ZSgpLmNvZWZmaWNpZW50KCkpLmxlbmd0aCgpOworICAgIGNvbnN0IHVu
c2lnbmVkIHNpemVPZlNpZ24gPSB2YWx1ZS5pc05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBjb25z
dCBpbnQgZXhwb25lbnQgPSB2YWx1ZS5leHBvbmVudCgpOworICAgIGlmIChleHBvbmVudCA+PSAw
KQorICAgICAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVP
ZkRpZ2l0cywgMCk7CisKKyAgICBjb25zdCBpbnQgc2l6ZUJlZm9yZURlY2ltYWxQb2ludCA9IGV4
cG9uZW50ICsgc2l6ZU9mRGlnaXRzOworICAgIGlmIChzaXplQmVmb3JlRGVjaW1hbFBvaW50ID4g
MCkgeworICAgICAgICAvLyBJbiBjYXNlIG9mICIxMjMuNDU2IgorICAgICAgICByZXR1cm4gUmVh
bE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQsIHNp
emVPZkRpZ2l0cyAtIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQpOworICAgIH0KKworICAgIC8vIElu
IGNhc2Ugb2YgIjAuMDAwMTIzNDUiCisgICAgY29uc3QgdW5zaWduZWQgc2l6ZU9mWmVybyA9IDE7
CisgICAgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZaZXJvQWZ0ZXJEZWNpbWFsUG9pbnQgPSAtc2l6
ZUJlZm9yZURlY2ltYWxQb2ludDsKKyAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6
ZU9mU2lnbiArIHNpemVPZlplcm8gLCBudW1iZXJPZlplcm9BZnRlckRlY2ltYWxQb2ludCArIHNp
emVPZkRpZ2l0cyk7CiB9CiAKIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBOdW1iZXJJbnB1dFR5cGU6
OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQpAQCAtMTI4LDE3ICsxNTMsMTIgQEAg
Ym9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5cGVNaXNtYXRjaCgpIGNvbnN0CiBTdGVwUmFuZ2UgTnVt
YmVySW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5k
bGluZykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0ZXBSYW5nZTo6
U3RlcERlc2NyaXB0aW9uLCBzdGVwRGVzY3JpcHRpb24sIChudW1iZXJEZWZhdWx0U3RlcCwgbnVt
YmVyRGVmYXVsdFN0ZXBCYXNlLCBudW1iZXJTdGVwU2NhbGVGYWN0b3IpKTsKLQotICAgIHVuc2ln
bmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNlczsKLSAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFz
ZVZhbHVlID0gcGFyc2VUb051bWJlcldpdGhEZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShtaW5BdHRyKSwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCAmc3RlcEJhc2VEZWNp
bWFsUGxhY2VzKTsKLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXBC
YXNlKHN0ZXBCYXNlVmFsdWUsIG1pbihzdGVwQmFzZURlY2ltYWxQbGFjZXMsIDE2dSkpOwotCisg
ICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5
cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBudW1iZXJEZWZhdWx0U3Rl
cEJhc2UpOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJs
ZT46Om1heCBmb3IgbnVtYmVyIGlucHV0IHR5cGUuCiAgICAgY29uc3QgSW5wdXROdW1iZXIgZmxv
YXRNYXggPSBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihudW1lcmljX2xpbWl0czxmbG9hdD46
Om1heCgpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIC1mbG9hdE1heCk7CiAgICAgY29u
c3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKG1heEF0dHIpLCBmbG9hdE1heCk7Ci0KLSAgICBTdGVwUmFuZ2U6Ok51bWJlcldp
dGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlT
dGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KHN0ZXBBdHRyKSk7CisgICAgY29uc3QgU3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nIHN0ZXAg
PSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwg
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBS
YW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsK
IH0KIApAQCAtMTQ2LDQ2ICsxNjYsMjUgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnNpemVTaG91
bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQgZGVmYXVsdFNpemUsIGludCYgcHJlZmVycmUKIHsKICAg
ICBwcmVmZXJyZWRTaXplID0gZGVmYXVsdFNpemU7CiAKLSAgICB1bnNpZ25lZCBtaW5WYWx1ZURl
Y2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1pblZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpOwotICAgIGRvdWJsZSBtaW5WYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3Vi
bGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWluVmFsdWUsICZtaW5WYWx1ZURlY2lt
YWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWluVmFsdWVEb3VibGUpKQorICAgIGNvbnN0
IFN0cmluZyBzdGVwU3RyaW5nID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRy
KTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICB1bnNpZ25lZCBtYXhWYWx1ZURlY2ltYWxQbGFjZXM7Ci0g
ICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
OwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBl
V2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZtYXhWYWx1ZURlY2ltYWxQbGFjZXMpOwotICAg
IGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUpKQorICAgIGNvbnN0IERlY2ltYWwgbWluaW11
bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1
dGUobWluQXR0cikpOworICAgIGlmICghbWluaW11bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVEb3VibGUgPCBtaW5WYWx1ZURvdWJsZSkgewot
ICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZhbHVlRG91YmxlOwotICAgICAgICBtYXhWYWx1
ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIHN0ZXBWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cik7Ci0g
ICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBWYWx1ZSwgImFueSIpKQorICAgIGNvbnN0IERl
Y2ltYWwgbWF4aW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUobWF4QXR0cikpOworICAgIGlmICghbWF4aW11bS5pc0Zpbml0ZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdW5zaWduZWQgc3RlcFZhbHVlRGVjaW1hbFBsYWNl
czsKLSAgICBkb3VibGUgc3RlcFZhbHVlRG91YmxlID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5
cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwVmFsdWUsICZzdGVwVmFsdWVEZWNpbWFsUGxhY2VzKTsK
LSAgICBpZiAoIWlzZmluaXRlKHN0ZXBWYWx1ZURvdWJsZSkpIHsKLSAgICAgICAgc3RlcFZhbHVl
RG91YmxlID0gMTsKLSAgICAgICAgc3RlcFZhbHVlRGVjaW1hbFBsYWNlcyA9IDA7Ci0gICAgfQog
Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gbGVuZ3RoQmVmb3JlRGVjaW1hbFBvaW50KG1pblZhbHVl
RG91YmxlKTsKLSAgICBsZW5ndGggPSBtYXgobGVuZ3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9p
bnQobWF4VmFsdWVEb3VibGUpKTsKLSAgICBsZW5ndGggPSBtYXgobGVuZ3RoLCBsZW5ndGhCZWZv
cmVEZWNpbWFsUG9pbnQoc3RlcFZhbHVlRG91YmxlKSk7CisgICAgY29uc3QgRGVjaW1hbCBzdGVw
ID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0ZXBTdHJpbmcsIDEpOworICAgIEFTU0VS
VChzdGVwLmlzRmluaXRlKCkpOwogCi0gICAgdW5zaWduZWQgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9p
bnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQg
PSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIG1heFZhbHVlRGVjaW1hbFBsYWNlcyk7Ci0g
ICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQs
IHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOworICAgIFJlYWxOdW1iZXJSZW5kZXJTaXplIHNpemUg
PSBjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXplKG1h
eGltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXplKHN0ZXApKSk7CiAKLSAgICAvLyAnLicgc2hv
dWxkIGJlIGNvdW50ZWQgaWYgdGhlIHZhbHVlIGhhcyBkZWNpbWFsIHBsYWNlcy4KLSAgICBpZiAo
bGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPiAwKQotICAgICAgICBsZW5ndGggKz0gbGVuZ3RoQWZ0
ZXJEZWNpbWFsUG9pbnQgKyAxOworICAgIHByZWZlcnJlZFNpemUgPSBzaXplLnNpemVCZWZvcmVE
ZWNpbWFsUG9pbnQgKyBzaXplLnNpemVBZnRlRGVjaW1hbFBvaW50ICsgKHNpemUuc2l6ZUFmdGVE
ZWNpbWFsUG9pbnQgPyAxIDogMCk7CiAKLSAgICBwcmVmZXJyZWRTaXplID0gbGVuZ3RoOwogICAg
IHJldHVybiB0cnVlOwogfQogCkBAIC0yMDgsMTkgKzIwNywxMiBAQCB2b2lkIE51bWJlcklucHV0
VHlwZTo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KiBldmVudCkKIAogSW5wdXROdW1iZXIg
TnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYgc3JjLCBjb25zdCBJ
bnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25zdAogewotICAgIHJldHVybiBjb252ZXJ0RG91
YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1bHRW
YWx1ZSkpOwotfQotCi1JbnB1dE51bWJlciBOdW1iZXJJbnB1dFR5cGU6OnBhcnNlVG9OdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRl
ZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0
aERlY2ltYWxQbGFjZXMoc3JjLCBkZWNpbWFsUGxhY2VzLCBkZWZhdWx0VmFsdWUpKTsKKyAgICBy
ZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0K
IAogU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKGNvbnN0IElucHV0TnVtYmVyJiB2
YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKHZhbHVlKTsKKyAg
ICByZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUp
IDogZW1wdHlTdHJpbmcoKTsKIH0KIAogdm9pZCBOdW1iZXJJbnB1dFR5cGU6OmhhbmRsZUJsdXJF
dmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaAppbmRleCBhZGFlMWQyNjFm
NmUyNmJlZjM3MWQxZDFjZTIzMWQyZWQxNGFhMmI4Li5iY2VkYzk2MDk4ZTZlZjhmYTFmNDc0NmQw
NjAyYTVjNjc3NDhlNjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklu
cHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKQEAg
LTUzLDcgKzUzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2
ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hl
ZWxFdmVudChXaGVlbEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBJbnB1dE51bWJlciBw
YXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJikgY29uc3QgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQ
bGFjZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImLCB1bnNpZ25lZCopIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJl
ciYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBsb2NhbGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYp
IGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRl
eCBjMmY3M2JlY2I0Mjk1NjZiNzI3ZmZmN2MyN2IzZWZlZDBmMDljYWJmLi4wYWE1YzQ4NGI0MDU2
MmJiODNjZWMwNjQxYWQyNzAzNzVmNzNmZTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5w
dXRUeXBlLmNwcApAQCAtMTA0LDExICsxMDQsMTEgQEAgU3RlcFJhbmdlIFJhbmdlSW5wdXRUeXBl
OjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QK
IAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcHJlY2lzaW9uVmFsdWUgPSBlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUocHJlY2lzaW9uQXR0cik7CiAgICAgaWYgKCFwcmVjaXNpb25WYWx1ZS5p
c051bGwoKSkgewotICAgICAgICBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JN
aXNzaW5nIHN0ZXAoMSwgIWVxdWFsSWdub3JpbmdDYXNlKHByZWNpc2lvblZhbHVlLCAiZmxvYXQi
KSk7CisgICAgICAgIGNvbnN0IFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwKDEsICFl
cXVhbElnbm9yaW5nQ2FzZShwcmVjaXNpb25WYWx1ZSwgImZsb2F0IikpOwogICAgICAgICByZXR1
cm4gU3RlcFJhbmdlKG1pbmltdW0sIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlw
dGlvbik7CiAgICAgfQogCi0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09y
TWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVw
RGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAg
IGNvbnN0IFN0ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJz
ZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2UobWluaW11bSwgbWlu
aW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQyLDcgKzE0
Miw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2
ZW50KiBldmVudCkKICAgICBjb25zdCBTdHJpbmcmIGtleSA9IGV2ZW50LT5rZXlJZGVudGlmaWVy
KCk7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFO
KGVsZW1lbnQoKS0+dmFsdWUoKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKGN1cnJlbnQpKTsKKyAg
ICBBU1NFUlQoY3VycmVudC5pc0Zpbml0ZSgpKTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2Uo
Y3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwogCkBAIC0yMTUsMTQgKzIxNSwxMiBAQCBSZW5k
ZXJPYmplY3QqIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJl
bmEsIFJlbmRlclN0eWxlKikgYwogCiBJbnB1dE51bWJlciBSYW5nZUlucHV0VHlwZTo6cGFyc2VU
b051bWJlcihjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1
ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIocGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGUoc3JjLCBkZWZhdWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFy
c2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5n
IFJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25z
dAogewotICAgIGlmICghaXNmaW5pdGUodmFsdWUpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpOworICAgIHJldHVybiB2
YWx1ZS5pc0Zpbml0ZSgpID8gc2VyaWFsaXplRm9yTnVtYmVyVHlwZSh2YWx1ZSkgOiBlbXB0eVN0
cmluZygpOwogfQogCiAvLyBGSVhNRTogQ291bGQgc2hhcmUgdGhpcyB3aXRoIEJhc2VDbGlja2Fi
bGVXaXRoS2V5SW5wdXRUeXBlIGFuZCBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlIGlmIHdlIGhhZCBh
IGNvbW1vbiBiYXNlIGNsYXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwCmluZGV4IDBkOGZj
Y2IzNzIxMTBkOTc0Yzc0ZjM1YmVlOTYxZWY4M2JmZjkwZTEuLjhmODZkMDFjNWVkYzdiYjY0NWE3
NTdhODVlMGZlZWI2MzNlYmY5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5jcHAKQEAgLTI0
LDEwICsyNCw5IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNl
cklkaW9tcy5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL2R0
b2EuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwpAQCAtMzcsOCArMzYsNiBAQCBTdGVwUmFuZ2U6OlN0ZXBSYW5nZSgpCiAgICAgLCBtX21pbmlt
dW0oMCkKICAgICAsIG1fc3RlcCgxKQogICAgICwgbV9zdGVwQmFzZSgwKQotICAgICwgbV9zdGVw
QmFzZURlY2ltYWxQbGFjZXMoMCkKLSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoMCkKICAgICAs
IG1faGFzU3RlcChmYWxzZSkKIHsKIH0KQEAgLTQ5LDUzICs0Niw0MyBAQCBTdGVwUmFuZ2U6OlN0
ZXBSYW5nZShjb25zdCBTdGVwUmFuZ2UmIHN0ZXBSYW5nZSkKICAgICAsIG1fc3RlcChzdGVwUmFu
Z2UubV9zdGVwKQogICAgICwgbV9zdGVwQmFzZShzdGVwUmFuZ2UubV9zdGVwQmFzZSkKICAgICAs
IG1fc3RlcERlc2NyaXB0aW9uKHN0ZXBSYW5nZS5tX3N0ZXBEZXNjcmlwdGlvbikKLSAgICAsIG1f
c3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBSYW5nZS5tX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcykK
LSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoc3RlcFJhbmdlLm1fc3RlcERlY2ltYWxQbGFjZXMp
CiAgICAgLCBtX2hhc1N0ZXAoc3RlcFJhbmdlLm1faGFzU3RlcCkKIHsKIH0KIAotU3RlcFJhbmdl
OjpTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMmIHN0ZXBCYXNlLCBjb25z
dCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0
IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nJiBzdGVwLCBjb25zdCBTdGVwRGVzY3Jp
cHRpb24mIHN0ZXBEZXNjcmlwdGlvbikKK1N0ZXBSYW5nZTo6U3RlcFJhbmdlKGNvbnN0IERlY2lt
YWwmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1i
ZXImIG1heGltdW0sIGNvbnN0IERlY2ltYWxPck1pc3NpbmcmIHN0ZXAsIGNvbnN0IFN0ZXBEZXNj
cmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9tYXhpbXVtKG1heGltdW0pCiAgICAg
LCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChzdGVwLnZhbHVlLnZhbHVlKQotICAg
ICwgbV9zdGVwQmFzZShzdGVwQmFzZS52YWx1ZSkKKyAgICAsIG1fc3RlcChzdGVwLnZhbHVlKQor
ICAgICwgbV9zdGVwQmFzZShzdGVwQmFzZSkKICAgICAsIG1fc3RlcERlc2NyaXB0aW9uKHN0ZXBE
ZXNjcmlwdGlvbikKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKHN0ZXBCYXNlLmRlY2lt
YWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2VzKHN0ZXAudmFsdWUuZGVjaW1hbFBs
YWNlcykKICAgICAsIG1faGFzU3RlcChzdGVwLmhhc1ZhbHVlKQogewotICAgIEFTU0VSVChpc2Zp
bml0ZShtX21heGltdW0pKTsKLSAgICBBU1NFUlQoaXNmaW5pdGUobV9taW5pbXVtKSk7Ci0gICAg
QVNTRVJUKGlzZmluaXRlKG1fc3RlcCkpOwotICAgIEFTU0VSVChpc2Zpbml0ZShtX3N0ZXBCYXNl
KSk7CisgICAgQVNTRVJUKG1fbWF4aW11bS5pc0Zpbml0ZSgpKTsKKyAgICBBU1NFUlQobV9taW5p
bXVtLmlzRmluaXRlKCkpOworICAgIEFTU0VSVChtX3N0ZXAuaXNGaW5pdGUoKSk7CisgICAgQVNT
RVJUKG1fc3RlcEJhc2UuaXNGaW5pdGUoKSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6
YWNjZXB0YWJsZUVycm9yKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zdGVwIC8gcG93KDIuMCwg
RkxUX01BTlRfRElHKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBEQkxfTUFOVF9ESUcg
aW5zdGVhZCBvZiBGTFRfTUFOVF9ESUcgcmVnYXJkaW5nIHRvIEhUTUw1IHNwZWNpZmljYXRpb24u
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0d29Qb3dlck9mRmxvYXRN
YW50aXNzYUJpdHMsIChEZWNpbWFsOjpQb3NpdGl2ZSwgMCwgVUlOVDY0X0MoMSkgPDwgRkxUX01B
TlRfRElHKSk7CisgICAgcmV0dXJuIG1fc3RlcCAvIHR3b1Bvd2VyT2ZGbG9hdE1hbnRpc3NhQml0
czsKIH0KIAotSW5wdXROdW1iZXIgU3RlcFJhbmdlOjphbGlnblZhbHVlRm9yU3RlcChjb25zdCBJ
bnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNpZ25lZCBjdXJyZW50RGVjaW1hbFBsYWNlcywg
Y29uc3QgSW5wdXROdW1iZXImIHByb3Bvc2VkVmFsdWUpIGNvbnN0CitJbnB1dE51bWJlciBTdGVw
UmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUs
IGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3QKIHsKLSAgICBpZiAocHJvcG9zZWRW
YWx1ZSA+PSBwb3coMTAuMCwgMjEuMCkpCi0gICAgICAgIHJldHVybiBwcm9wb3NlZFZhbHVlOwot
Ci0gICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBwcm9wb3NlZFZhbHVlOwotICAgIGlmIChzdGVw
TWlzbWF0Y2goY3VycmVudFZhbHVlKSkgewotICAgICAgICBjb25zdCBJbnB1dE51bWJlciBzY2Fs
ZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJlcj4obWF4KG1fc3RlcERlY2ltYWxQ
bGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwotICAgICAgICBuZXdWYWx1ZSA9IHJvdW5k
KG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgY29uc3Qg
SW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8SW5wdXROdW1iZXI+KG1h
eChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcykpKTsKLSAgICAg
ICAgbmV3VmFsdWUgPSByb3VuZChyb3VuZEJ5U3RlcChuZXdWYWx1ZSwgbV9zdGVwQmFzZSkgKiBz
Y2FsZSkgLyBzY2FsZTsKLSAgICB9CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNp
bWFsLCB0ZW5Qb3dlck9mMjEsIChEZWNpbWFsOjpQb3NpdGl2ZSwgMjEsIDEpKTsKKyAgICBpZiAo
bmV3VmFsdWUgPj0gdGVuUG93ZXJPZjIxKQorICAgICAgICByZXR1cm4gbmV3VmFsdWU7CiAKLSAg
ICByZXR1cm4gbmV3VmFsdWU7CisgICAgcmV0dXJuIHN0ZXBNaXNtYXRjaChjdXJyZW50VmFsdWUp
ID8gbmV3VmFsdWUgOiByb3VuZEJ5U3RlcChuZXdWYWx1ZSwgbV9zdGVwQmFzZSk7CiB9CiAKIElu
cHV0TnVtYmVyIFN0ZXBSYW5nZTo6Y2xhbXBWYWx1ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUp
IGNvbnN0CiB7Ci0gICAgY29uc3QgSW5wdXROdW1iZXIgaW5SYW5nZVZhbHVlID0gbWF4KG1fbWlu
aW11bSwgbWluKHZhbHVlLCBtX21heGltdW0pKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBpblJh
bmdlVmFsdWUgPSBzdGQ6Om1heChtX21pbmltdW0sIHN0ZDo6bWluKHZhbHVlLCBtX21heGltdW0p
KTsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGluUmFuZ2VWYWx1ZTsKICAg
ICAvLyBSb3VuZHMgaW5SYW5nZVZhbHVlIHRvIG1pbmltdW0gKyBOICogc3RlcC4KQEAgLTEwNiw3
MiArOTMsNzIgQEAgSW5wdXROdW1iZXIgU3RlcFJhbmdlOjpjbGFtcFZhbHVlKGNvbnN0IElucHV0
TnVtYmVyJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gY2xhbXBlZFZhbHVlOwogfQogCi1TdGVw
UmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nIFN0ZXBSYW5nZTo6cGFyc2VT
dGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdGlv
biYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN0ZXBTdHJpbmcpCitTdGVwUmFuZ2U6
OkRlY2ltYWxPck1pc3NpbmcgU3RlcFJhbmdlOjpwYXJzZVN0ZXAoQW55U3RlcEhhbmRsaW5nIGFu
eVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiBzdGVwRGVzY3JpcHRpb24sIGNv
bnN0IFN0cmluZyYgc3RlcFN0cmluZykKIHsKICAgICBpZiAoc3RlcFN0cmluZy5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyhzdGVwRGVz
Y3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOworICAgICAgICByZXR1cm4gRGVjaW1hbE9yTWlzc2lu
ZyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOwogCiAgICAgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkgewogICAgICAgICBzd2l0Y2ggKGFueVN0ZXBIYW5k
bGluZykgewogICAgICAgICBjYXNlIFJlamVjdEFueToKLSAgICAgICAgICAgIHJldHVybiBOdW1i
ZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyhOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcygxKSwg
ZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuIERlY2ltYWxPck1pc3NpbmcoRGVjaW1hbCgxKSwg
ZmFsc2UpOwogICAgICAgICBjYXNlIEFueUlzRGVmYXVsdFN0ZXA6Ci0gICAgICAgICAgICByZXR1
cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcoc3RlcERlc2NyaXB0aW9uLmRlZmF1
bHRWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsT3JNaXNzaW5nKHN0ZXBEZXNj
cmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgIH0KIAotICAgIE51bWJlcldpdGhE
ZWNpbWFsUGxhY2VzT3JNaXNzaW5nIHN0ZXAoMCk7Ci0gICAgc3RlcC52YWx1ZS52YWx1ZSA9IHBh
cnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3RlcFN0cmluZywgJnN0
ZXAudmFsdWUuZGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFpc2Zpbml0ZShzdGVwLnZhbHVlLnZh
bHVlKSB8fCBzdGVwLnZhbHVlLnZhbHVlIDw9IDAuMCkKLSAgICAgICAgcmV0dXJuIE51bWJlcldp
dGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7
CisgICAgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0ZXBTdHJp
bmcpOworICAgIGlmICghc3RlcC5pc0Zpbml0ZSgpIHx8IHN0ZXAgPD0gMCkKKyAgICAgICAgcmV0
dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKIAog
ICAgIHN3aXRjaCAoc3RlcERlc2NyaXB0aW9uLnN0ZXBWYWx1ZVNob3VsZEJlKSB7CiAgICAgY2Fz
ZSBTdGVwVmFsdWVTaG91bGRCZVJlYWw6Ci0gICAgICAgIHN0ZXAudmFsdWUudmFsdWUgKj0gc3Rl
cERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3RvcjsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3Jp
cHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBhcnNlZFN0
ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGUsIG1vbnRoLCBhbmQg
d2VlaywgdGhlIHBhcnNlZCB2YWx1ZSBzaG91bGQgYmUgYW4gaW50ZWdlciBmb3Igc29tZSB0eXBl
cy4KLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSA9IG1heChyb3VuZChzdGVwLnZhbHVlLnZhbHVl
KSwgMS4wKTsKLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3Rl
cFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwID0gc3RkOjptYXgoc3RlcC5yb3VuZCgpLCBEZWNp
bWFsKDEpKTsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9y
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjYWxlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdl
cjoKICAgICAgICAgLy8gRm9yIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgdGltZSwgdGhlIHJl
c3VsdCBzaG91bGQgYmUgYW4gaW50ZWdlci4KLSAgICAgICAgc3RlcC52YWx1ZS52YWx1ZSAqPSBz
dGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwotICAgICAgICBzdGVwLnZhbHVlLnZhbHVl
ID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUudmFsdWUpLCAxLjApOworICAgICAgICBzdGVwICo9IHN0
ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAgICAgIHN0ZXAgPSBzdGQ6Om1heChz
dGVwLnJvdW5kKCksIERlY2ltYWwoMSkpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICBBU1NFUlQoc3RlcC52
YWx1ZS52YWx1ZSA+IDApOwotICAgIHJldHVybiBzdGVwOworICAgIEFTU0VSVChzdGVwID4gMCk7
CisgICAgcmV0dXJuIERlY2ltYWxPck1pc3Npbmcoc3RlcCk7CiB9CiAKIElucHV0TnVtYmVyIFN0
ZXBSYW5nZTo6cm91bmRCeVN0ZXAoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlLCBjb25zdCBJbnB1
dE51bWJlciYgYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYmFzZSArIHJvdW5kKCh2YWx1ZSAt
IGJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcDsKKyAgICByZXR1cm4gYmFzZSArICgodmFsdWUgLSBi
YXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsKIH0KIAogYm9vbCBTdGVwUmFuZ2U6OnN0
ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYgdmFsdWVGb3JDaGVjaykgY29uc3QKIHsKICAg
ICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghaXNmaW5p
dGUodmFsdWVGb3JDaGVjaykpCisgICAgaWYgKCF2YWx1ZUZvckNoZWNrLmlzRmluaXRlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBJbnB1dE51bWJlciB2YWx1ZSA9IGZhYnMo
dmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpOwotICAgIGlmIChpc2luZih2YWx1ZSkpCisgICAg
Y29uc3QgSW5wdXROdW1iZXIgdmFsdWUgPSAodmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpLmFi
cygpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIC8vIElucHV0TnVtYmVyJ3MgZnJhY3Rpb25hbCBwYXJ0IHNpemUgaXMgREJMX01BTl9ESUct
Yml0LiBJZiB0aGUgY3VycmVudCB2YWx1ZQogICAgIC8vIGlzIGdyZWF0ZXIgdGhhbiBzdGVwKjJe
REJMX01BTlRfRElHLCB0aGUgZm9sbG93aW5nIGNvbXB1dGF0aW9uIGZvcgogICAgIC8vIHJlbWFp
bmRlciBtYWtlcyBubyBzZW5zZS4KLSAgICBpZiAodmFsdWUgLyBwb3coMi4wLCBEQkxfTUFOVF9E
SUcpID4gbV9zdGVwKQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgRGVjaW1hbCwgdHdv
UG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cywgKERlY2ltYWw6OlBvc2l0aXZlLCAwLCBVSU5UNjRf
QygxKSA8PCBEQkxfTUFOVF9ESUcpKTsKKyAgICBpZiAodmFsdWUgLyB0d29Qb3dlck9mRG91Ymxl
TWFudGlzc2FCaXRzID4gbV9zdGVwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gVGhl
IGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRNTDUgNC4xMC43LjIuMTAgYFRoZSBzdGVwIGF0dHJpYnV0
ZScgOgogICAgIC8vIC4uLiB0aGF0IG51bWJlciBzdWJ0cmFjdGVkIGZyb20gdGhlIHN0ZXAgYmFz
ZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVsdGlwbGUKICAgICAvLyBvZiB0aGUgYWxsb3dlZCB2YWx1
ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBzdWZmZXJpbmcgZnJvbSBhIHN0ZXAgbWlzbWF0Y2guCi0g
ICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gZmFicyh2YWx1ZSAtIG1fc3RlcCAqIHJv
dW5kKHZhbHVlIC8gbV9zdGVwKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0g
KHZhbHVlIC0gbV9zdGVwICogKHZhbHVlIC8gbV9zdGVwKS5yb3VuZCgpKS5hYnMoKTsKICAgICAv
LyBBY2NlcHRzIGVycm9zIGluIGxvd2VyIGZyYWN0aW9uYWwgcGFydCB3aGljaCBJRUVFIDc1NCBz
aW5nbGUtcHJlY2lzaW9uCiAgICAgLy8gY2FuJ3QgcmVwcmVzZW50LgogICAgIGNvbnN0IElucHV0
TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJsZUVycm9yID0gYWNjZXB0YWJsZUVycm9yKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TdGVwUmFuZ2UuaAppbmRleCBlYzc5MzZiMzU3NGQwZjE0MzQ4YzI3OTNlZDU3ZTJiMjVm
YjliODdiLi41YzE1YzA4OTY5M2YwMGEzZmJhNjMzODM2NzcxYWY2YjAyNzRkNGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNpZm5kZWYgU3RlcFJhbmdlX2gK
ICNkZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRlY2ltYWwuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC0zMCwzNyAr
MzEsMjYgQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAogZW51bSBBbnlTdGVwSGFuZGxpbmcg
eyBSZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAotLy8gRklYTUU6IFRoZSB0eXBlIElu
cHV0TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNpbWFsLgotdHlwZWRlZiBkb3VibGUg
SW5wdXROdW1iZXI7CisvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSBJbnB1dE51bWJlciB0byBE
ZWNpbWFsIGluIGFsbCBwbGFjZXMuCit0eXBlZGVmIERlY2ltYWwgSW5wdXROdW1iZXI7CiAKIGlu
bGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihkb3VibGUgZG91Ymxl
VmFsdWUpCiB7Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVlOworICAgIHJldHVybiBEZWNpbWFsOjpm
cm9tRG91YmxlKGRvdWJsZVZhbHVlKTsKIH0KIAogaW5saW5lIGRvdWJsZSBjb252ZXJ0SW5wdXRO
dW1iZXJUb0RvdWJsZShjb25zdCBJbnB1dE51bWJlciYgbnVtZXJpY1ZhbHVlKQogewotICAgIHJl
dHVybiBudW1lcmljVmFsdWU7CisgICAgcmV0dXJuIG51bWVyaWNWYWx1ZS50b0RvdWJsZSgpOwog
fQogCiBjbGFzcyBTdGVwUmFuZ2UgewogcHVibGljOgotICAgIHN0cnVjdCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlcyB7Ci0gICAgICAgIHVuc2lnbmVkIGRlY2ltYWxQbGFjZXM7Ci0gICAgICAgIElu
cHV0TnVtYmVyIHZhbHVlOwotCi0gICAgICAgIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKElucHV0
TnVtYmVyIHZhbHVlID0gMCwgdW5zaWduZWQgZGVjaW1hbFBsYWNlcyA9IDApCi0gICAgICAgICAg
ICA6IGRlY2ltYWxQbGFjZXMoZGVjaW1hbFBsYWNlcykKLSAgICAgICAgICAgICwgdmFsdWUodmFs
dWUpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBzdHJ1Y3QgTnVtYmVyV2l0
aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgeworICAgIHN0cnVjdCBEZWNpbWFsT3JNaXNzaW5nIHsK
ICAgICAgICAgYm9vbCBoYXNWYWx1ZTsKLSAgICAgICAgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMg
dmFsdWU7CisgICAgICAgIERlY2ltYWwgdmFsdWU7CiAKLSAgICAgICAgTnVtYmVyV2l0aERlY2lt
YWxQbGFjZXNPck1pc3NpbmcoTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgdmFsdWUsIGJvb2wgaGFz
VmFsdWUgPSB0cnVlKQorICAgICAgICBEZWNpbWFsT3JNaXNzaW5nKGNvbnN0IERlY2ltYWwmIHZh
bHVlLCBib29sIGhhc1ZhbHVlID0gdHJ1ZSkKICAgICAgICAgICAgIDogaGFzVmFsdWUoaGFzVmFs
dWUpCiAgICAgICAgICAgICAsIHZhbHVlKHZhbHVlKQogICAgICAgICB7CkBAIC0xMDMsMTggKzkz
LDE2IEBAIHB1YmxpYzoKIAogICAgIFN0ZXBSYW5nZSgpOwogICAgIFN0ZXBSYW5nZShjb25zdCBT
dGVwUmFuZ2UmKTsKLSAgICBTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMm
IHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1iZXIm
IG1heGltdW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nJiBzdGVwLCBj
b25zdCBTdGVwRGVzY3JpcHRpb24mKTsKKyAgICBTdGVwUmFuZ2UoY29uc3QgRGVjaW1hbCYgc3Rl
cEJhc2UsIGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4
aW11bSwgY29uc3QgRGVjaW1hbE9yTWlzc2luZyYgc3RlcCwgY29uc3QgU3RlcERlc2NyaXB0aW9u
Jik7CiAgICAgSW5wdXROdW1iZXIgYWNjZXB0YWJsZUVycm9yKCkgY29uc3Q7Ci0gICAgSW5wdXRO
dW1iZXIgYWxpZ25WYWx1ZUZvclN0ZXAoY29uc3QgSW5wdXROdW1iZXImIGN1cnJlbnRWYWx1ZSwg
dW5zaWduZWQgY3VycmVudERlY2ltYWxQbGFjZXMsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1
ZSkgY29uc3Q7CisgICAgSW5wdXROdW1iZXIgYWxpZ25WYWx1ZUZvclN0ZXAoY29uc3QgSW5wdXRO
dW1iZXImIGN1cnJlbnRWYWx1ZSwgY29uc3QgSW5wdXROdW1iZXImIG5ld1ZhbHVlKSBjb25zdDsK
ICAgICBJbnB1dE51bWJlciBjbGFtcFZhbHVlKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29u
c3Q7CiAgICAgYm9vbCBoYXNTdGVwKCkgY29uc3QgeyByZXR1cm4gbV9oYXNTdGVwOyB9CiAgICAg
SW5wdXROdW1iZXIgbWF4aW11bSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4aW11bTsgfQogICAgIElu
cHV0TnVtYmVyIG1pbmltdW0oKSBjb25zdCB7IHJldHVybiBtX21pbmltdW07IH0KLSAgICBzdGF0
aWMgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgcGFyc2VTdGVwKEFueVN0ZXBIYW5k
bGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiwgY29uc3QgU3RyaW5nJik7CisgICAgc3RhdGlj
IERlY2ltYWxPck1pc3NpbmcgcGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERl
c2NyaXB0aW9uJiwgY29uc3QgU3RyaW5nJik7CiAgICAgSW5wdXROdW1iZXIgc3RlcCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3RlcDsgfQogICAgIElucHV0TnVtYmVyIHN0ZXBCYXNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdGVwQmFzZTsgfQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNlcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzOyB9Ci0gICAgdW5zaWduZWQg
c3RlcERlY2ltYWxQbGFjZXMoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBEZWNpbWFsUGxhY2VzOyB9
CiAgICAgaW50IHN0ZXBTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcERlc2NyaXB0
aW9uLnN0ZXBTY2FsZUZhY3RvcjsgfQogICAgIGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IElucHV0
TnVtYmVyJikgY29uc3Q7CiAKQEAgLTE0OCw4ICsxMzYsNiBAQCBwcml2YXRlOgogICAgIGNvbnN0
IElucHV0TnVtYmVyIG1fc3RlcDsKICAgICBjb25zdCBJbnB1dE51bWJlciBtX3N0ZXBCYXNlOwog
ICAgIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiBtX3N0ZXBEZXNjcmlwdGlvbjsKLSAgICBjb25zdCB1
bnNpZ25lZCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlczsKLSAgICBjb25zdCB1bnNpZ25lZCBtX3N0
ZXBEZWNpbWFsUGxhY2VzOwogICAgIGNvbnN0IGJvb2wgbV9oYXNTdGVwOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKaW5kZXggODk1ODQ1MDJjZTEyYTMwYzRkMjFkMWNm
YzhhMGRhMzNiZDQ4MTliMC4uNWNkM2RiNjJjYjM4YjA2YWRiNTc1NjE2MzlmMmIzYWU2YzIyZTMz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCkBAIC04Niw3ICs4Niw3IEBA
IFN0ZXBSYW5nZSBUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9
IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsK
ICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERh
dGVDb21wb25lbnRzOjptaW5pbXVtVGltZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bVRpbWUo
KSkpOwotICAgIFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3Npbmcgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBTdGVw
UmFuZ2U6OkRlY2ltYWxPck1pc3Npbmcgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0
ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
c3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhp
bXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5w
dXRUeXBlLmNwcAppbmRleCA5YmI4NmFlMDIzNWJhYjIzOGZlMDhhNDQ0YjRhYjA3ZmZlNDFjMTVm
Li5jYTkxNDA2NjNlYjA2NDAwOWZmYTkwNTlmY2Y5MzJkZTQwOGYzMmUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgU3RlcFJhbmdlIFdlZWtJ
bnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5n
KSBjb25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIHdlZWtEZWZhdWx0U3RlcEJhc2Up
OwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIo
RGF0ZUNvbXBvbmVudHM6Om1pbmltdW1XZWVrKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBt
YXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0
ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtV2Vl
aygpKSk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlc09yTWlzc2luZyBz
dGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRp
b24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0IFN0
ZXBSYW5nZTo6RGVjaW1hbE9yTWlzc2luZyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55
U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1h
eGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKaW5kZXggYTk5YTIxYTA4ZTViZGQwODY1
ZmEzM2M3Mzk1NTA0MDE3MmMzOGIzMS4uZGJiNDE3OWUwMDU5ZjA5NmUxNWFjZTQ0MGRkODA4ZTA1
ODAyNzI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNl
cklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklk
aW9tcy5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJIVE1MUGFyc2VySWRpb21zLmgiCiAKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAjaW5jbHVkZSA8
bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2Eu
aD4KQEAgLTU4LDYgKzU5LDE1IEBAIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxT
cGFjZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZy5zdWJzdHJpbmco
bnVtTGVhZGluZ1NwYWNlcywgbGVuZ3RoIC0gKG51bUxlYWRpbmdTcGFjZXMgKyBudW1UcmFpbGlu
Z1NwYWNlcykpOwogfQogCitTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShjb25zdCBEZWNp
bWFsJiBudW1iZXIpCit7CisgICAgaWYgKG51bWJlci5pc1plcm8oKSkgeworICAgICAgICAvLyBE
ZWNpbWFsOjp0b1N0cmluZyBhcHBlbmQgZXhwb25lbnQsIGUuZy4gIjBlLTE4IgorICAgICAgICBy
ZXR1cm4gbnVtYmVyLmlzTmVnYXRpdmUoKSA/ICItMCIgOiAiMCI7CisgICAgfQorICAgIHJldHVy
biBudW1iZXIudG9TdHJpbmcoKTsKK30KKwogU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUo
ZG91YmxlIG51bWJlcikKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gSFRNTDUsICJ0aGUgYmVzdCBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG4gYXMgYSBmbG9hdGluZwpAQCAtNjYsNiArNzYs
MzUgQEAgU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoZG91YmxlIG51bWJlcikKICAgICBy
ZXR1cm4gU3RyaW5nKG51bWJlclRvU3RyaW5nKG51bWJlciwgYnVmZmVyKSk7CiB9CiAKK0RlY2lt
YWwgcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25z
dCBEZWNpbWFsJiBmYWxsYmFja1ZhbHVlKQoreworICAgIC8vIFNlZSBIVE1MNSAyLjUuNC4zIGBS
ZWFsIG51bWJlcnMuJyBhbmQgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUKKworICAgIC8vIFN0
cmluZzo6dG9Eb3VibGUoKSBhY2NlcHRzIGxlYWRpbmcgKyBhbmQgd2hpdGVzcGFjZSBjaGFyYWN0
ZXJzLCB3aGljaCBhcmUgbm90IHZhbGlkIGhlcmUuCisgICAgY29uc3QgVUNoYXIgZmlyc3RDaGFy
YWN0ZXIgPSBzdHJpbmdbMF07CisgICAgaWYgKGZpcnN0Q2hhcmFjdGVyICE9ICctJyAmJiBmaXJz
dENoYXJhY3RlciAhPSAnLicgJiYgIWlzQVNDSUlEaWdpdChmaXJzdENoYXJhY3RlcikpCisgICAg
ICAgIHJldHVybiBmYWxsYmFja1ZhbHVlOworCisgICAgY29uc3QgRGVjaW1hbCB2YWx1ZSA9IERl
Y2ltYWw6OmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICBpZiAoIXZhbHVlLmlzRmluaXRlKCkpCisg
ICAgICAgIHJldHVybiBmYWxsYmFja1ZhbHVlOworCisgICAgLy8gTnVtYmVycyBhcmUgY29uc2lk
ZXJlZCBmaW5pdGUgSUVFRSA3NTQgc2luZ2xlLXByZWNpc2lvbiBmbG9hdGluZyBwb2ludCB2YWx1
ZXMuCisgICAgLy8gU2VlIEhUTUw1IDIuNS40LjMgYFJlYWwgbnVtYmVycy4nCisgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB1c2UgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4IGZvciBudW1iZXIg
aW5wdXQgdHlwZS4KKyAgICBjb25zdCBEZWNpbWFsIGZsb2F0TWF4ID0gRGVjaW1hbDo6ZnJvbURv
dWJsZShzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpOworICAgIGlmICh2YWx1ZSA8
IC1mbG9hdE1heCB8fCB2YWx1ZSA+IGZsb2F0TWF4KQorICAgICAgICByZXR1cm4gZmFsbGJhY2tW
YWx1ZTsKKworICAgIC8vIFdlIHJldHVybiArMCBmb3IgLTAgY2FzZS4KKyAgICByZXR1cm4gdmFs
dWUuaXNaZXJvKCkgPyBEZWNpbWFsKDApIDogdmFsdWU7Cit9CisKK0RlY2ltYWwgcGFyc2VUb0Rl
Y2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIHJldHVybiBw
YXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoc3RyaW5nLCBEZWNpbWFsOjpuYW4oKSk7Cit9CisK
IGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywg
ZG91YmxlIGZhbGxiYWNrVmFsdWUpCiB7CiAgICAgLy8gU2VlIEhUTUw1IDIuNS40LjMgYFJlYWwg
bnVtYmVycy4nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFy
c2VySWRpb21zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21z
LmgKaW5kZXggOGE3NzRmOWVlNDMyNWY3OTk2ZGNlZTgwMmU3ODU5MjFmMTIwMDcyMS4uNWYwMTg2
ZDQ0ZTMwYjk2NzBiMzRkODFkNWZkNmZkYzNiZDMxOWExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaApAQCAtMzAsNiArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlY2ltYWw7CisKIC8vIFNwYWNlIGNoYXJhY3RlcnMg
YXMgZGVmaW5lZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLgogYm9vbCBpc0hUTUxTcGFjZShV
Q2hhcik7CiBib29sIGlzSFRNTExpbmVCcmVhayhVQ2hhcik7CkBAIC0zOSwxMSArNDEsMTQgQEAg
Ym9vbCBpc05vdEhUTUxTcGFjZShVQ2hhcik7CiBTdHJpbmcgc3RyaXBMZWFkaW5nQW5kVHJhaWxp
bmdIVE1MU3BhY2VzKGNvbnN0IFN0cmluZyYpOwogCiAvLyBBbiBpbXBsZW1lbnRhdGlvbiBvZiB0
aGUgSFRNTCBzcGVjaWZpY2F0aW9uJ3MgYWxnb3JpdGhtIHRvIGNvbnZlcnQgYSBudW1iZXIgdG8g
YSBzdHJpbmcgZm9yIG51bWJlciBhbmQgcmFuZ2UgdHlwZXMuCitTdHJpbmcgc2VyaWFsaXplRm9y
TnVtYmVyVHlwZShjb25zdCBEZWNpbWFsJik7CiBTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlw
ZShkb3VibGUpOwogCi0vLyBDb252ZXJ0IHRoZSBzcGVjaWZpZWQgc3RyaW5nIHRvIGEgZG91Ymxl
LiBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxzZS4KKy8v
IENvbnZlcnQgdGhlIHNwZWNpZmllZCBzdHJpbmcgdG8gYSBkZWNpbWFsL2RvdWJsZS4gSWYgdGhl
IGNvbnZlcnNpb24gZmFpbHMsIHRoZSByZXR1cm4gdmFsdWUgaXMgZmFsbGJhY2sgdmFsdWUgb3Ig
TmFOIGlmIG5vdCBzcGVjaWZpZWQuCiAvLyBMZWFkaW5nIG9yIHRyYWlsaW5nIGlsbGVnYWwgY2hh
cmFjdGVycyBjYXVzZSBmYWlsdXJlLCBhcyBkb2VzIHBhc3NpbmcgYW4gZW1wdHkgc3RyaW5nLgog
Ly8gVGhlIGRvdWJsZSogcGFyYW1ldGVyIG1heSBiZSAwIHRvIGNoZWNrIGlmIHRoZSBzdHJpbmcg
Y2FuIGJlIHBhcnNlZCB3aXRob3V0IGdldHRpbmcgdGhlIHJlc3VsdC4KK0RlY2ltYWwgcGFyc2VU
b0RlY2ltYWxGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYpOworRGVjaW1hbCBwYXJzZVRvRGVj
aW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYgZmFsbGJhY2tW
YWx1ZSk7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJik7
CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiwgZG91Ymxl
IGZhbGxiYWNrVmFsdWUpOwogZG91YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERl
Y2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgdW5zaWduZWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IDMwODNhNzUwMDJj
NjJhYTI5YzFiZjgyMTM3NjEyYmQxMzQ5NjlkZTguLjRlNzE0YTAzOTFlNDZjYjFlZDJiYTFlZWE1
NDE0MmIyN2I1MDk0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Ns
aWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xp
ZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtNTQsNyArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBpbmxpbmUgc3RhdGljIElucHV0TnVtYmVyIHNsaWRlclBvc2l0aW9uKEhUTUxJbnB1dEVsZW1l
bnQqIGVsZW1lbnQpCiB7CiAgICAgY29uc3QgU3RlcFJhbmdlIHN0ZXBSYW5nZShlbGVtZW50LT5j
cmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7Ci0gICAgY29uc3QgZG91YmxlIG9sZFZhbHVlID0g
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZWxlbWVudC0+dmFsdWUoKSwgc3RlcFJhbmdlLmRl
ZmF1bHRWYWx1ZSgpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBvbGRWYWx1ZSA9IHBhcnNlVG9E
ZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50LT52YWx1ZSgpLCBzdGVwUmFuZ2UuZGVmYXVsdFZh
bHVlKCkpOwogICAgIHJldHVybiBzdGVwUmFuZ2UucHJvcG9ydGlvbkZyb21WYWx1ZShzdGVwUmFu
Z2UuY2xhbXBWYWx1ZShvbGRWYWx1ZSkpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWJmNjVjMDJiNDhmNjYyNmE1
MzIyODhkNzM3MzJiYjE4M2M5Y2ExZi4uYmIzODYxZWU3ZmUwOTMzZjVlMGNmNGI0MmFiN2IwZjM1
ZTc3NzE0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTA1ICBZb3NoaWZ1bWkgSW5v
dWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRyb2R1Y2UgRGVj
aW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJv
dW5kaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yYW5nZS9y
YW5nZS12YWx1ZS1yb3VuZGluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wNyAgWW9zaGlmdW1p
IElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3Jtc10gSW1wcm92ZSB0
ZXN0IGNvdmVyYWdlIG9mIGlucHV0LW51bWJlci1zaXplLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIyYmJiYzRlYTkyNzNhNWViYTFiOGIxY2QxOTgyZGYzMzFh
NjIzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFu
Z2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjgwIEBACisKKzgwMDA5
IEludHJvZHVjZSBEZWNpbWFsIGFyaXRobWV0aWMgdG8gZml4IHJvdW5kaW5nIGVycm9ycyBpbiBu
dW1iZXIvcmFuZ2UgaW5wdXQgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4xIiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4xIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjEiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4xCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMiIsICIxZS0wIikudmFsdWUgaXMgIjAu
MiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4yIiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjMiLCAiMWUtMCIpLnZhbHVlIGlz
ICIwLjMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMyIsICIxZS0wIikudmFsdWVBc051
bWJlciBpcyAwLjMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC40IiwgIjFlLTAiKS52YWx1
ZSBpcyAiMC40IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjQiLCAiMWUtMCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC40CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNSIsICIxZS0wIiku
dmFsdWUgaXMgIjAuNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC41IiwgIjFlLTAiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjYiLCAiMWUt
MCIpLnZhbHVlIGlzICIwLjYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNiIsICIxZS0w
IikudmFsdWVBc051bWJlciBpcyAwLjYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC43Iiwg
IjFlLTAiKS52YWx1ZSBpcyAiMC43IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjciLCAi
MWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC43CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAu
OCIsICIxZS0wIikudmFsdWUgaXMgIjAuOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC44
IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIs
ICIwLjkiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwg
IjAuOSIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjkKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAxIiwgIjAuMDEiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjAxIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDEiLCAiMC4wMSIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjAxCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMSIsICIwLjAyIiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMiIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAxIiwgIjAuMDIiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMyIsICIxZS0xIikudmFsdWUgaXMgIjAuMDMi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAzIiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDQiLCAiMWUtMSIpLnZhbHVl
IGlzICIwLjA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNCIsICIxZS0xIikudmFs
dWVBc051bWJlciBpcyAwLjA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA1IiwgIjFl
LTEiKS52YWx1ZSBpcyAiMC4wNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDUiLCAi
MWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAi
MC4wNiIsICIxZS0xIikudmFsdWUgaXMgIjAuMDYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIs
ICIwLjA2IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDYKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAxIiwgIjAuMDciLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA3IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDEiLCAiMC4wNyIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA3CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA4IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wOCIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDgiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
OAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOSIsICIxZS0xIikudmFsdWUgaXMgIjAu
MDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA5IiwgIjFlLTEiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMSIsICIxZS0yIiku
dmFsdWUgaXMgIjAuMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAxIiwgIjFl
LTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAi
MC4wMDIiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MSIsICIwLjAwMiIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAxIiwgIjAuMDAzIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDMiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDMiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNCIsICIxZS0yIikudmFsdWUgaXMg
IjAuMDA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA0IiwgIjFlLTIiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDUiLCAi
MWUtMiIpLnZhbHVlIGlzICIwLjAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAw
NSIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAxIiwgIjAuMDA2IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDYiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDEiLCAiMC4wMDYiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDYKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNyIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA3Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA3IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDgiLCAiMWUtMiIpLnZh
bHVlIGlzICIwLjAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwOCIsICIxZS0y
IikudmFsdWVBc051bWJlciBpcyAwLjAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAu
MDA5IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEi
LCAiMC4wMDkiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDkKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDEiLCAiMC4wMDAxIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAxIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDEiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMiIsICIxZS0zIikudmFs
dWUgaXMgIjAuMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAyIiwgIjFl
LTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIs
ICIwLjAwMDMiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAxIiwgIjAuMDAwMyIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDMKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA0IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDA0
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDQiLCAiMWUtMyIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNSIsICIx
ZS0zIikudmFsdWUgaXMgIjAuMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4w
MDA1IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMSIsICIwLjAwMDYiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDYiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNiIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA3IiwgIjFlLTMiKS52YWx1ZSBp
cyAiMC4wMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDciLCAiMWUtMyIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAu
MDAwOCIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDEiLCAiMC4wMDA4IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwOAorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDkiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDkiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOSIsICIxZS0zIikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDEiLCAiMWUt
NCIpLnZhbHVlIGlzICIwLjAwMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4w
MDAwMSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAxCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMSIsICIwLjAwMDAyIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMiIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDIiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMyIsICIxZS00
IikudmFsdWUgaXMgIjAuMDAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAw
MDAzIiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAxIiwgIjAuMDAwMDQiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA0IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNCIsICIxZS00IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA1IiwgIjFlLTQi
KS52YWx1ZSBpcyAiMC4wMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAw
MDUiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDEiLCAiMC4wMDAwNiIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDYiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA2IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDciLCAiMWUtNCIp
LnZhbHVlIGlzICIwLjAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAw
NyIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMSIsICIwLjAwMDA4IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwOCIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDgiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOSIsICIxZS00Iiku
dmFsdWUgaXMgIjAuMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA5
IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMSIsICIwLjAwMDAwMSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDAxIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAxIiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDIiLCAi
MWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIs
ICIwLjAwMDAwMiIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAzIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAw
MDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDMiLCAiMWUtNSIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIw
LjAwMDAwNCIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA0IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAxIiwgIjAuMDAwMDA0IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA0
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDUiLCAiMWUtNSIpLnZhbHVl
IGlzICIwLjAwMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNSIs
ICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAxIiwgIjAuMDAwMDA2IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDYiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDYiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNyIsICIx
ZS01IikudmFsdWUgaXMgIjAuMDAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwg
IjAuMDAwMDA3IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA3CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDgiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAw
OCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOCIsICIxZS01IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAu
MDAwMDA5IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDEiLCAiMC4wMDAwMDkiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDkK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAxIiwgIjFlLTYiKS52YWx1
ZSBpcyAiMWUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAxIiwg
IjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlIGlzICIyZS03IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwMyIs
ICIxZS02IikudmFsdWUgaXMgIjNlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwg
IjAuMDAwMDAwMyIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDMKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYiKS52YWx1ZSBpcyAiNGUt
NyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIs
ICIwLjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlIGlzICI1ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMSIsICIwLjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNiIsICIxZS02Iiku
dmFsdWUgaXMgIjZlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAw
NiIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZSBpcyAiN2UtNyIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAw
MDgiLCAiMWUtNiIpLnZhbHVlIGlzICI4ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MSIsICIwLjAwMDAwMDgiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA4CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIxZS02IikudmFsdWUgaXMg
IjllLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIxZS02
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAxIiwgIjAuMDAwMDAwMDEiLCAiMWUtNyIpLnZhbHVlIGlzICIxZS04IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMSIsICIxZS03IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAy
IiwgIjFlLTciKS52YWx1ZSBpcyAiMmUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAx
IiwgIjAuMDAwMDAwMDIiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMyIsICIxZS03IikudmFsdWUg
aXMgIjNlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAzIiwg
IjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAxIiwgIjAuMDAwMDAwMDQiLCAiMWUtNyIpLnZhbHVlIGlzICI0ZS04IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNCIsICIxZS03IikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAw
MDAwMDA1IiwgIjFlLTciKS52YWx1ZSBpcyAiNWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAxIiwgIjAuMDAwMDAwMDUiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
NQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNiIsICIxZS03Iiku
dmFsdWUgaXMgIjZlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAw
MDA2IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDciLCAiMWUtNyIpLnZhbHVlIGlzICI3ZS04Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNyIsICIxZS03IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIs
ICIwLjAwMDAwMDA4IiwgIjFlLTciKS52YWx1ZSBpcyAiOGUtOCIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDgiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOSIsICIx
ZS03IikudmFsdWUgaXMgIjllLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIw
LjAwMDAwMDA5IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDkKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMSIsICIxZS04IikudmFsdWUgaXMg
IjFlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDEiLCAi
MWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMiIsICIxZS04IikudmFsdWUgaXMgIjJlLTkiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDIiLCAiMWUtOCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMyIsICIxZS04IikudmFsdWUgaXMgIjNlLTkiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDMiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
NCIsICIxZS04IikudmFsdWUgaXMgIjRlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDQiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDQK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNSIsICIxZS04Iiku
dmFsdWUgaXMgIjVlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDUiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDUKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNiIsICIxZS04IikudmFsdWUgaXMgIjZl
LTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDYiLCAiMWUt
OCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwNyIsICIxZS04IikudmFsdWUgaXMgIjdlLTkiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDciLCAiMWUtOCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwOCIsICIxZS04IikudmFsdWUgaXMgIjhlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDgiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwOSIs
ICIxZS04IikudmFsdWUgaXMgIjllLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDkiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDkKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAxIiwgIjFlLTkiKS52
YWx1ZSBpcyAiMWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDEKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAyIiwgIjFlLTkiKS52YWx1ZSBp
cyAiMmUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MiIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAzIiwgIjFlLTkiKS52YWx1ZSBpcyAiM2Ut
MTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMyIsICIx
ZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA0IiwgIjFlLTkiKS52YWx1ZSBpcyAiNGUtMTAiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNCIsICIxZS05Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDA1IiwgIjFlLTkiKS52YWx1ZSBpcyAiNWUtMTAiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNSIsICIxZS05IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDA2IiwgIjFlLTkiKS52YWx1ZSBpcyAiNmUtMTAiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNiIsICIxZS05IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDA3IiwgIjFlLTkiKS52YWx1ZSBpcyAiN2UtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNyIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDA4IiwgIjFlLTkiKS52YWx1ZSBpcyAiOGUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwOCIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA5Iiwg
IjFlLTkiKS52YWx1ZSBpcyAiOWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwOSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDkK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDEiLCAiMWUt
MTAiKS52YWx1ZSBpcyAiMWUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAxIiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAx
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAyIiwgIjFl
LTEwIikudmFsdWUgaXMgIjJlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMiIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMyIsICIx
ZS0xMCIpLnZhbHVlIGlzICIzZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDMiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAw
MDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDQiLCAi
MWUtMTAiKS52YWx1ZSBpcyAiNGUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDA0IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA1Iiwg
IjFlLTEwIikudmFsdWUgaXMgIjVlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwNSIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNiIs
ICIxZS0xMCIpLnZhbHVlIGlzICI2ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDYiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDci
LCAiMWUtMTAiKS52YWx1ZSBpcyAiN2UtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDA3IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA4
IiwgIjFlLTEwIikudmFsdWUgaXMgIjhlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwOCIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
OSIsICIxZS0xMCIpLnZhbHVlIGlzICI5ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDkiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMSIsICIxZS0xMSIpLnZhbHVlIGlzICIxZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlIGlzICIyZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZhbHVlIGlzICIzZS0xMiIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0xMSIpLnZhbHVlIGlzICI0ZS0xMiIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0xMSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIsICIxZS0xMSIpLnZhbHVlIGlzICI1ZS0xMiIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIsICIx
ZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNiIsICIxZS0xMSIpLnZhbHVlIGlzICI2
ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
NiIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNyIsICIxZS0xMSIpLnZhbHVl
IGlzICI3ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwNyIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDcKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOCIsICIxZS0xMSIp
LnZhbHVlIGlzICI4ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwOCIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDgK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOSIsICIx
ZS0xMSIpLnZhbHVlIGlzICI5ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwOSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAxIiwgIjFlLTEyIikudmFsdWUgaXMgIjFlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDEiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlz
IDAuMDAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDIiLCAiMWUtMTIiKS52YWx1ZSBpcyAiMmUtMTMiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMiIsICIxZS0xMiIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMyIsICIxZS0xMiIpLnZhbHVlIGlzICIzZS0xMyIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAzIiwgIjFl
LTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA0IiwgIjFlLTEyIikudmFsdWUgaXMg
IjRlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDQiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNAorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDUiLCAiMWUtMTIi
KS52YWx1ZSBpcyAiNWUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDAwNSIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAw
NiIsICIxZS0xMiIpLnZhbHVlIGlzICI2ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA2IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDA3IiwgIjFlLTEyIikudmFsdWUgaXMgIjdlLTEzIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDciLCAiMWUtMTIiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDgiLCAiMWUtMTIiKS52YWx1ZSBpcyAiOGUtMTMiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOCIsICIxZS0x
MiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOSIsICIxZS0xMiIpLnZhbHVlIGlzICI5
ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDA5IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDkKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTMi
KS52YWx1ZSBpcyAiMWUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDAxIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDAyIiwgIjFlLTEzIikudmFsdWUgaXMgIjJlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMiIsICIxZS0xMyIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMDAwMyIsICIxZS0xMyIpLnZhbHVlIGlzICIzZS0xNCIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDMiLCAiMWUt
MTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTMiKS52YWx1ZSBp
cyAiNGUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDA0IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA0CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA1Iiwg
IjFlLTEzIikudmFsdWUgaXMgIjVlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNSIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDAwNiIsICIxZS0xMyIpLnZhbHVlIGlzICI2ZS0xNCIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTMiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDciLCAiMWUtMTMiKS52YWx1ZSBpcyAiN2UtMTQi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA3
IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA4IiwgIjFlLTEzIiku
dmFsdWUgaXMgIjhlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwOCIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwOSIsICIxZS0xMyIpLnZhbHVlIGlzICI5ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTMiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDAwMSIsICIxZS0xNCIpLnZhbHVlIGlzICIxZS0xNSIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMSIsICIx
ZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMiIsICIxZS0xNCIpLnZh
bHVlIGlzICIyZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDAwMiIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDAwMyIsICIxZS0xNCIpLnZhbHVlIGlzICIzZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMyIsICIxZS0xNCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNCIsICIxZS0xNCIpLnZhbHVlIGlzICI0ZS0xNSIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAw
NCIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDQKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNSIsICIxZS0x
NCIpLnZhbHVlIGlzICI1ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDAwNSIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDAwNiIsICIxZS0xNCIpLnZhbHVlIGlzICI2ZS0xNSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNiIsICIxZS0xNCIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNyIsICIxZS0xNCIpLnZhbHVlIGlzICI3
ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwMDAwNyIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDcKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOCIs
ICIxZS0xNCIpLnZhbHVlIGlzICI4ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOCIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDAwOSIsICIxZS0xNCIpLnZhbHVlIGlzICI5ZS0xNSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOSIsICIxZS0x
NCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDkKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDVmNmI2NWEzNDk0Mjk1OWYxNmMyNjk1ZmU3ODRhNGI5YzZiNWZmYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmcuaHRt
bApAQCAtMCwwICsxLDM2IEBACis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQgaWQ9
ImZvbyIgdHlwZT1yYW5nZSBzdGVwPTAuMSB2YWx1ZT0wLjY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxkaXYgaWQ9InNsaWRlcnMiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCI8
YSBocmVmPSdodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAwOSc+ODAw
MDkgSW50cm9kdWNlIERlY2ltYWwgYXJpdGhtZXRpYyB0byBmaXggcm91bmRpbmcgZXJyb3JzIGlu
IG51bWJlci9yYW5nZSBpbnB1dCB0eXBlczwvYT4iKTsKKworZnVuY3Rpb24gY3JlYXRlU2FtcGxl
KHN0ZXAsIHZhbHVlLCBtYXgpCit7CisgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBl
PXJhbmdlIG1pbj0wIG1heD0nICsgbWF4ICsgJyBzdGVwPScgKyBzdGVwICsgJyB2YWx1ZT0nICsg
dmFsdWUgKyAnPjxicj4nOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXJzIiku
YXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAgICByZXR1cm4gY29udGFpbmVyLmZpcnN0Q2hpbGQ7
Cit9CisKK3ZhciB6ZXJvcyA9ICIwLiI7Citmb3IgKHZhciBleHBvbmVudCA9IDA7IGV4cG9uZW50
IDwgMTU7ICsrZXhwb25lbnQpIHsKKyAgICB2YXIgc3RlcCA9IHplcm9zICsgIjEiOworICAgIGZv
ciAodmFyIGRpZ2l0ID0gMTsgZGlnaXQgPD0gOTsgKytkaWdpdCkgeworICAgICAgICB2YXIgdmFs
dWUgPSB6ZXJvcyArIGRpZ2l0LnRvU3RyaW5nKCk7CisgICAgICAgIHZhciBzYW1wbGUgPSAnY3Jl
YXRlU2FtcGxlKCInICsgc3RlcCArICciLCAiJyArIHZhbHVlICsgJyIsICIxZS0nICsgZXhwb25l
bnQgKyAnIiknOworICAgICAgICB2YXIgc3RlcEV4cG9uZW50ID0gZXhwb25lbnQgKyAxOworICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoc2FtcGxlICsgJy52YWx1ZScsIHN0ZXBFeHBvbmVu
dCA+PSA3ID8gZGlnaXQgKyAiZS0iICsgc3RlcEV4cG9uZW50IDogdmFsdWUpOworICAgICAgICBz
aG91bGRCZShzYW1wbGUgKyAnLnZhbHVlQXNOdW1iZXInLCB2YWx1ZSk7CisgICAgfQorICAgIHpl
cm9zICs9ICIwIjsKK30KKworLy8gUmVtb3ZlIGdlbmVyYXRlZCBzbGlkZXJzLgorZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNsaWRlcnMiKS5pbm5lckhUTUwgPSAiIjsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146508</attachid>
            <date>2012-06-08 01:57:27 -0700</date>
            <delta_ts>2012-06-08 02:37:19 -0700</delta_ts>
            <desc>Patch 5</desc>
            <filename>bug-88383-20120608175725.patch</filename>
            <type>text/plain</type>
            <size>70023</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZlZTJhNDZmZWI2NzZi
N2U4MTQ4NzI1MzAzMzM1ZmIyZmZhZTM1Yy4uMDQzZWUwNzFiOTdmNjM1ZDc5ZTJjODljYmNjMmFk
NzUyMWUxNTc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXNPck1pc3NpbmcgdG8gRGVjaW1hbE9yTWlzc2luZy4KKyAg
ICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVj
aW1hbFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBSZXBsYWNlZCBOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlc09yTWlzc2luZyB0byBEZWNpbWFsT3JNaXNzaW5nLgorICAgICAgICAqIGh0bWwvSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cp
OiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAg
ICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6dmFs
aWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6cGFy
c2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFw
cGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBGcm9t
UmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAo
SW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2ltYXBsUGxhY2VzLgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
TnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5kZXJTaXplLgorICAgICAg
ICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBUaGlzIGZ1bmN0aW9uIHJl
cGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpOdW1i
ZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4K
KyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNv
cmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6ZS4KKyAgICAgICAgKFdl
YkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKTog
ZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJl
cklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNpbWFwbFBsYWNlcy4KKyAg
ICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdl
SW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisg
ICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IGRpdHRv
LgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBS
YW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBhbmQgY2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjphY2NlcHRhYmxlRXJy
b3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTdGVwUmFu
Z2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUgYW5kIHN0ZDo6bWluL21h
eC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVwKTogQ2hhbmdlZCBmb3Ig
RGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzLgorICAgICAg
ICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFuZ2VkIGZvciBEZWNpbWFs
IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcik6IENo
YW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRJ
bnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoRGVjaW1hbE9yTWlzc2luZyk6IFJl
cGxhY2VtZW50IG9mIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNzaW5nLgorICAgICAgICAo
V2ViQ29yZTo6U3RlcFJhbmdlOjpEZWNpbWFsT3JNaXNzaW5nOjpEZWNpbWFsT3JNaXNzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cm91bmRCeVN0ZXApOiBBZGRlZCBmb3Igc2hh
cmluZyBjb2RlLgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2lt
YWwgdHlwZS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUZvck51bWJlclR5cGUpOiBBZGRlZCBEZWNpbWFsIHZl
cnNpb24uCisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6IFVwZGF0ZWQg
Y29tbWVudHMgZm9yIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlLgorICAgICAgICAqIGh0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQ
b3NpdGlvbik6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKwogMjAxMi0wNi0wOCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEhUVFAgMjA0IE5vIENvbnRlbnQg
cmVzcG9uc2VzIHNob3VsZG4ndCB0cmlnZ2VyIE1JTUUgdHlwZSB3YXJuaW5ncyBpbiB0aGUgd2Vi
IGluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwCmluZGV4IDczZTQ5OTIzYjA2MGI0NjM1MzhkZDgxMjhlZDc2ZjllMGNhYWU4MGQu
LmM3NjYxOTQ1MjI3ODljYjFiNDQ2ZDRhMjZkYjA3MDVkMWEzMmVlY2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTEzNiw3ICsx
MzYsNyBAQCBib29sIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cGFyc2VUb0RhdGVDb21wb25l
bnRzKGNvbnN0IFN0cmluZyYgc291cmNlLCBEYXRlQwogCiBTdHJpbmcgQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdAogewot
ICAgIGlmICghaXNmaW5pdGUodmFsdWUpKQorICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAg
ICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgIERhdGVDb21wb25lbnRzIGRhdGU7CiAgICAgaWYg
KCFzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoY29udmVydElucHV0TnVtYmVyVG9Eb3Vi
bGUodmFsdWUpLCAmZGF0ZSkpCkBAIC0xNDksOSArMTQ5LDkgQEAgU3RyaW5nIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENvbXBvbmVudHMoY29uc3QgRGF0ZUNvbXBvbmVu
dHMmIGQKICAgICBJbnB1dE51bWJlciBzdGVwOwogICAgIGlmICghZWxlbWVudCgpLT5nZXRBbGxv
d2VkVmFsdWVTdGVwKCZzdGVwKSkKICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTsKLSAg
ICBpZiAoIWZtb2Qoc3RlcCwgbXNlY1Blck1pbnV0ZSkpCisgICAgaWYgKHN0ZXAucmVtYWluZGVy
KG1zZWNQZXJNaW51dGUpLmlzWmVybygpKQogICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZyhE
YXRlQ29tcG9uZW50czo6Tm9uZSk7Ci0gICAgaWYgKCFmbW9kKHN0ZXAsIG1zZWNQZXJTZWNvbmQp
KQorICAgIGlmIChzdGVwLnJlbWFpbmRlcihtc2VjUGVyU2Vjb25kKS5pc1plcm8oKSkKICAgICAg
ICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6OlNlY29uZCk7CiAgICAgcmV0
dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6Ok1pbGxpc2Vjb25kKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDdlNjNkODI3MWJjMDgyNjk0ZTczOTQ5
ZTEzOThhYWNmNzA2YmI0NzIuLjEwNDQ0N2VhNWE2NmFjMWU2MGE4MGIzMTM5YzVkNWNmNzQyOGJh
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtNzYsNyArNzYsNyBA
QCBTdGVwUmFuZ2UgRGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGlu
ZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2Ug
PSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7
CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihE
YXRlQ29tcG9uZW50czo6bWluaW11bURhdGUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1h
eGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRy
KSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1EYXRl
KCkpKTsKLSAgICBjb25zdCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAg
PSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwg
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3QgSW5wdXRO
dW1iZXIgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERl
c2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICBy
ZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVz
Y3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1l
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3Bw
CmluZGV4IDkwZGM2Y2JkZWNjMmMyZGYzNTk3OTMwMDExZDAzY2YwNTZhZjJhODAuLmNkM2NhNzk3
MjUwYWVkMTRkYzY5NWM0NjI2YmMyZWFhMjZkMmI5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFN0ZXBSYW5nZSBEYXRlVGlt
ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxp
bmcpIGNvCiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJzZVRvTnVtYmVyKGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7CiAgICAgY29uc3QgSW5wdXRO
dW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWlu
aW11bURhdGVUaW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VU
b051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3Vi
bGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0ZVRpbWUoKSkpOwotICAg
IGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5n
ZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBzdGVw
ID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24s
IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVw
UmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0
VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3Bw
CmluZGV4IDAwY2RlMmQ3NjA3ZDM5NzA2NWYwODQ0ZTRiOGE4OWI2YmM3YzdjYWYuLjE2NGFiMDQx
MDVhMGFkYzJmMGRjYjFkNTM0ZWFhMzhlNGIxNGJlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtODAsNyArODAsNyBAQCBTdGVwUmFu
Z2UgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGlu
ZyBhbnlTdGVwSGFuZGxpbgogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VU
b051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNv
bnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBv
bmVudHM6Om1pbmltdW1EYXRlVGltZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11
bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBj
b252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bURhdGVUaW1l
KCkpKTsKLSAgICBjb25zdCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAg
PSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwg
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3QgSW5wdXRO
dW1iZXIgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERl
c2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICBy
ZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVz
Y3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggZTIzZjkyZThk
OTkyYzZmZDg3YTcwN2JiZjM3NjIxZGMwZWJjOTI2Ny4uOWJiNjAyOTZjOGVmNjI0OWE2YWQwZjI2
NTAzMDlhMDE4OTFiOTYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjU3LDcg
KzI1Nyw3IEBAIGJvb2wgSW5wdXRUeXBlOjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZh
bHVlKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJl
ciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25h
bihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBudW1lcmljVmFsdWUgPCBjcmVhdGVTdGVw
UmFuZ2UoUmVqZWN0QW55KS5taW5pbXVtKCk7CkBAIC0yNjksNyArMjY5LDcgQEAgYm9vbCBJbnB1
dFR5cGU6OnJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFy
c2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAg
ICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICByZXR1cm4gbnVtZXJpY1ZhbHVlID4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkubWF4
aW11bSgpOwpAQCAtMzAyLDcgKzMwMiw3IEBAIGJvb2wgSW5wdXRUeXBlOjppc0luUmFuZ2UoY29u
c3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29u
c3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZhbHVlKTsK
LSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zp
bml0ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2Uo
Y3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwpAQCAtMzE1LDcgKzMxNSw3IEBAIGJvb2wgSW5w
dXRUeXBlOjppc091dE9mUmFuZ2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFy
c2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAg
ICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwpAQCAt
MzI4LDcgKzMyOCw3IEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5n
JiB2YWx1ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXRO
dW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAo
aXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVj
dEFueSkuc3RlcE1pc21hdGNoKG51bWVyaWNWYWx1ZSk7CkBAIC0zNjYsNyArMzY2LDcgQEAgU3Ry
aW5nIElucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBh
cnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisg
ICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7CiAKICAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RB
bnkpKTsKQEAgLTQ2NiwxNCArNDY2LDcgQEAgSW5wdXROdW1iZXIgSW5wdXRUeXBlOjpwYXJzZVRv
TnVtYmVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZhdWx0VmEKIAogSW5w
dXROdW1iZXIgSW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyT3JOYU4oY29uc3QgU3RyaW5nJiBzdHJp
bmcpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHBhcnNlVG9OdW1iZXIoc3RyaW5nLCBudW1lcmljX2xp
bWl0czxJbnB1dE51bWJlcj46OnF1aWV0X05hTigpKTsKLX0KLQotSW5wdXROdW1iZXIgSW5wdXRU
eXBlOjpwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiBzcmMsIGNv
bnN0IElucHV0TnVtYmVyJiBkZWZhdWx0VmFsdWUsIHVuc2lnbmVkICpkZWNpbWFsUGxhY2VzKSBj
b25zdAotewotICAgIGlmIChkZWNpbWFsUGxhY2VzKQotICAgICAgICAqZGVjaW1hbFBsYWNlcyA9
IDA7Ci0gICAgcmV0dXJuIHBhcnNlVG9OdW1iZXIoc3JjLCBkZWZhdWx0VmFsdWUpOworICAgIHJl
dHVybiBwYXJzZVRvTnVtYmVyKHN0cmluZywgRGVjaW1hbDo6bmFuKCkpOwogfQogCiBib29sIElu
cHV0VHlwZTo6cGFyc2VUb0RhdGVDb21wb25lbnRzKGNvbnN0IFN0cmluZyYsIERhdGVDb21wb25l
bnRzKikgY29uc3QKQEAgLTg4NiwxNSArODc5LDEzIEBAIHZvaWQgSW5wdXRUeXBlOjphcHBseVN0
ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBUZXh0RmllbGRF
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgdW5zaWduZWQgY3VycmVudERlY2lt
YWxQbGFjZXM7Ci0gICAgY29uc3QgSW5wdXROdW1iZXIgY3VycmVudCA9IHBhcnNlVG9OdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyhlbGVtZW50KCktPnZhbHVlKCksIG5hbiwgJmN1cnJlbnREZWNpbWFs
UGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgY29uc3QgSW5wdXRO
dW1iZXIgY3VycmVudCA9IHBhcnNlVG9OdW1iZXJPck5hTihlbGVtZW50KCktPnZhbHVlKCkpOwor
ICAgIGlmICghY3VycmVudC5pc0Zpbml0ZSgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgSW5wdXROdW1iZXIgbmV3VmFsdWUg
PSBjdXJyZW50ICsgc3RlcFJhbmdlLnN0ZXAoKSAqIGNvdW50OwotICAgIGlmIChpc2luZihuZXdW
YWx1ZSkpIHsKKyAgICBpZiAoIW5ld1ZhbHVlLmlzRmluaXRlKCkpIHsKICAgICAgICAgZWMgPSBJ
TlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTkwOSw3ICs5MDAs
NyBAQCB2b2lkIElucHV0VHlwZTo6YXBwbHlTdGVwKGludCBjb3VudCwgQW55U3RlcEhhbmRsaW5n
IGFueVN0ZXBIYW5kbGluZywgVGV4dEZpZWxkRQogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBz
dGVwU3RyaW5nID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKTsKICAgICBp
ZiAoIWVxdWFsSWdub3JpbmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkKLSAgICAgICAgbmV3VmFs
dWUgPSBzdGVwUmFuZ2UuYWxpZ25WYWx1ZUZvclN0ZXAoY3VycmVudCwgY3VycmVudERlY2ltYWxQ
bGFjZXMsIG5ld1ZhbHVlKTsKKyAgICAgICAgbmV3VmFsdWUgPSBzdGVwUmFuZ2UuYWxpZ25WYWx1
ZUZvclN0ZXAoY3VycmVudCwgbmV3VmFsdWUpOwogCiAgICAgaWYgKG5ld1ZhbHVlIC0gc3RlcFJh
bmdlLm1heGltdW0oKSA+IGFjY2VwdGFibGVFcnJvclZhbHVlKSB7CiAgICAgICAgIGVjID0gSU5W
QUxJRF9TVEFURV9FUlI7CkBAIC0xMDA5LDcgKzEwMDAsNyBAQCB2b2lkIElucHV0VHlwZTo6c3Rl
cFVwRnJvbVJlbmRlcmVyKGludCBuKQogCiAgICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9
IGVsZW1lbnQoKS0+dmFsdWUoKTsKICAgICBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051
bWJlck9yTmFOKGN1cnJlbnRTdHJpbmdWYWx1ZSk7Ci0gICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50
KSkgeworICAgIGlmICghY3VycmVudC5pc0Zpbml0ZSgpKSB7CiAgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWM7CiAgICAgICAgIGN1cnJlbnQgPSBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKTsKICAgICAg
ICAgY29uc3QgSW5wdXROdW1iZXIgbmV4dERpZmYgPSBzdGVwICogbjsKQEAgLTEwMjUsMTUgKzEw
MTYsMTMgQEAgdm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKICAgICB9
IGVsc2UgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgICAgICBpZiAoc3RlcE1pc21h
dGNoKGVsZW1lbnQoKS0+dmFsdWUoKSkpIHsKLSAgICAgICAgICAgIEFTU0VSVChzdGVwKTsKLSAg
ICAgICAgICAgIGNvbnN0IElucHV0TnVtYmVyIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0
PElucHV0TnVtYmVyPihtYXgoc3RlcFJhbmdlLnN0ZXBEZWNpbWFsUGxhY2VzKCksIHN0ZXBSYW5n
ZS5zdGVwQmFzZURlY2ltYWxQbGFjZXMoKSkpKTsKLSAgICAgICAgICAgIGNvbnN0IElucHV0TnVt
YmVyIGJhc2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKTsKLQotICAgICAgICAgICAgSW5wdXROdW1i
ZXIgbmV3VmFsdWU7CisgICAgICAgICAgICBBU1NFUlQoIXN0ZXAuaXNaZXJvKCkpOworICAgICAg
ICAgICAgY29uc3QgRGVjaW1hbCBiYXNlID0gc3RlcFJhbmdlLnN0ZXBCYXNlKCk7CisgICAgICAg
ICAgICBEZWNpbWFsIG5ld1ZhbHVlOwogICAgICAgICAgICAgaWYgKHNpZ24gPCAwKQotICAgICAg
ICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBmbG9vcigoY3VycmVudCAtIGJhc2Up
IC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNjYWxlOworICAgICAgICAgICAgICAgIG5ld1Zh
bHVlID0gYmFzZSArICgoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkuZmxvb3IoKSAqIHN0ZXA7CiAg
ICAgICAgICAgICBlbHNlIGlmIChzaWduID4gMCkKLSAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9
IHJvdW5kKChiYXNlICsgY2VpbCgoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNj
YWxlKSAvIHNjYWxlOworICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gYmFzZSArICgoY3VycmVu
dCAtIGJhc2UpIC8gc3RlcCkuY2VpbGluZygpICogc3RlcDsKICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGN1cnJlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
CmluZGV4IDc2ZWJkNDg2NDc4M2M0Y2UzZTEwOGU5Mzg5MDYyMzY2MDQxMWMwNWMuLmI2YjliNzg4
MjJhZGQ3NTA1ZGZiYzdmYWZkYmIzMjdiMjkzN2EwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aApAQCAtMjY2LDExICsyNjYsNiBAQCBwdWJsaWM6CiAgICAgLy8gcmV0dXJuIE5hTiBvciBJbmZp
bml0eSBvbmx5IGlmIGRlZmF1bHRWYWx1ZSBpcyBOYU4gb3IgSW5maW5pdHkuCiAgICAgdmlydHVh
bCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVt
YmVyJiBkZWZhdWx0VmFsdWUpIGNvbnN0OwogCi0gICAgLy8gUGFyc2VzIHRoZSBzcGVjaWZpZWQg
c3RyaW5nIGZvciB0aGUgdHlwZSBhcyBwYXJzZVRvTnVtYmVyKCkgZG9lcy4KLSAgICAvLyBJbiBh
ZGRpdGlvbiwgaXQgc3RvcmVzIHRoZSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFs
IHBvaW50Ci0gICAgLy8gaW50byAqZGVjaW1hbFBsYWNlcy4KLSAgICB2aXJ0dWFsIElucHV0TnVt
YmVyIHBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmLCBjb25zdCBJ
bnB1dE51bWJlciYgZGVmYXVsdFZhbHVlLCB1bnNpZ25lZCogZGVjaW1hbFBsYWNlcykgY29uc3Q7
Ci0KICAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcgZm9yIHRoaXMgSW5wdXRUeXBl
LCBhbmQgcmV0dXJucyB0cnVlIGlmIGl0CiAgICAgLy8gaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4g
QW4gaW5zdGFuY2UgcG9pbnRlZCBieSB0aGUgRGF0ZUNvbXBvbmVudHMqCiAgICAgLy8gcGFyYW1l
dGVyIHdpbGwgaGF2ZSBwYXJzZWQgdmFsdWVzIGFuZCBiZSBtb2RpZmllZCBldmVuIGlmIHRoZSBw
YXJzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IGJkMTA0OTE0
M2U5MGE1MDVlOWViZGY4ZTRjZmM1NjFhYjFlMzIwOTMuLmExMWE3MzUxYmU5ZjdmYTc1ZGQyZjk4
YjEwZmE5YjQ3MWNjZmQ4YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
CkBAIC0xMDQsNyArMTA0LDcgQEAgU3RlcFJhbmdlIE1vbnRoSW5wdXRUeXBlOjpjcmVhdGVTdGVw
UmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJ
bnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50
czo6bWluaW11bU1vbnRoKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFy
c2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnRE
b3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSkpOwogICAg
IGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNv
bXBvbmVudHM6Om1heGltdW1Nb250aCgpKSk7Ci0gICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRs
aW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0
cikpOworICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChh
bnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwg
bWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9O
dW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDU3ZmNhZmMxOWFmZmE5YTE4MGEyYTNiZjQ0MjE2Y2Mw
MDY1MzM1YjkuLjY2YWYyYjYwMWQ4ZGEwOGI4NzI5MGNiYWI1MzFkY2VkMzYwZjhkZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTU0LDE5ICs1NCw0NCBAQCBz
dGF0aWMgY29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQg
bnVtYmVyRGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyU3RlcFNj
YWxlRmFjdG9yID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0aEJlZm9yZURlY2ltYWxQb2lu
dChkb3VibGUgdmFsdWUpCitzdHJ1Y3QgUmVhbE51bWJlclJlbmRlclNpemUKIHsKLSAgICAvLyBJ
ZiB2YWx1ZSBpcyBuZWdhdGl2ZSwgJy0nIHNob3VsZCBiZSBjb3VudGVkLgorICAgIHVuc2lnbmVk
IHNpemVCZWZvcmVEZWNpbWFsUG9pbnQ7CisgICAgdW5zaWduZWQgc2l6ZUFmdGVEZWNpbWFsUG9p
bnQ7CiAKLSAgICBkb3VibGUgYWJzb2x1dGVWYWx1ZSA9IGZhYnModmFsdWUpOwotICAgIGlmIChh
YnNvbHV0ZVZhbHVlIDwgMSkKLSAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IDIgOiAxOworICAg
IFJlYWxOdW1iZXJSZW5kZXJTaXplKHVuc2lnbmVkIGJlZm9yZSwgdW5zaWduZWQgYWZ0ZXIpCisg
ICAgICAgIDogc2l6ZUJlZm9yZURlY2ltYWxQb2ludChiZWZvcmUpCisgICAgICAgICwgc2l6ZUFm
dGVEZWNpbWFsUG9pbnQoYWZ0ZXIpCisgICAgeworICAgIH0KIAotICAgIHVuc2lnbmVkIGxlbmd0
aCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihsb2cxMChmbG9vcihhYnNvbHV0ZVZhbHVlKSkpICsg
MTsKLSAgICBpZiAodmFsdWUgPCAwKQotICAgICAgICBsZW5ndGggKz0gMTsKKyAgICBSZWFsTnVt
YmVyUmVuZGVyU2l6ZSBtYXgoY29uc3QgUmVhbE51bWJlclJlbmRlclNpemUmIG90aGVyKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXplKAorICAgICAgICAg
ICAgc3RkOjptYXgoc2l6ZUJlZm9yZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUJlZm9yZURlY2lt
YWxQb2ludCksCisgICAgICAgICAgICBzdGQ6Om1heChzaXplQWZ0ZURlY2ltYWxQb2ludCwgb3Ro
ZXIuc2l6ZUFmdGVEZWNpbWFsUG9pbnQpKTsKKyAgICB9Cit9OwogCi0gICAgcmV0dXJuIGxlbmd0
aDsKK3N0YXRpYyBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBjYWxjdWxhdGVSZW5kZXJTaXplKGNvbnN0
IERlY2ltYWwmIHZhbHVlKQoreworICAgIEFTU0VSVCh2YWx1ZS5pc0Zpbml0ZSgpKTsKKyAgICBj
b25zdCB1bnNpZ25lZCBzaXplT2ZEaWdpdHMgPSBTdHJpbmc6Om51bWJlcih2YWx1ZS52YWx1ZSgp
LmNvZWZmaWNpZW50KCkpLmxlbmd0aCgpOworICAgIGNvbnN0IHVuc2lnbmVkIHNpemVPZlNpZ24g
PSB2YWx1ZS5pc05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBjb25zdCBpbnQgZXhwb25lbnQgPSB2
YWx1ZS5leHBvbmVudCgpOworICAgIGlmIChleHBvbmVudCA+PSAwKQorICAgICAgICByZXR1cm4g
UmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZkRpZ2l0cywgMCk7CisKKyAg
ICBjb25zdCBpbnQgc2l6ZUJlZm9yZURlY2ltYWxQb2ludCA9IGV4cG9uZW50ICsgc2l6ZU9mRGln
aXRzOworICAgIGlmIChzaXplQmVmb3JlRGVjaW1hbFBvaW50ID4gMCkgeworICAgICAgICAvLyBJ
biBjYXNlIG9mICIxMjMuNDU2IgorICAgICAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUo
c2l6ZU9mU2lnbiArIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQsIHNpemVPZkRpZ2l0cyAtIHNpemVC
ZWZvcmVEZWNpbWFsUG9pbnQpOworICAgIH0KKworICAgIC8vIEluIGNhc2Ugb2YgIjAuMDAwMTIz
NDUiCisgICAgY29uc3QgdW5zaWduZWQgc2l6ZU9mWmVybyA9IDE7CisgICAgY29uc3QgdW5zaWdu
ZWQgbnVtYmVyT2ZaZXJvQWZ0ZXJEZWNpbWFsUG9pbnQgPSAtc2l6ZUJlZm9yZURlY2ltYWxQb2lu
dDsKKyAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZlpl
cm8gLCBudW1iZXJPZlplcm9BZnRlckRlY2ltYWxQb2ludCArIHNpemVPZkRpZ2l0cyk7CiB9CiAK
IFBhc3NPd25QdHI8SW5wdXRUeXBlPiBOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRF
bGVtZW50KiBlbGVtZW50KQpAQCAtMTI4LDE2ICsxNTMsMTIgQEAgYm9vbCBOdW1iZXJJbnB1dFR5
cGU6OnR5cGVNaXNtYXRjaCgpIGNvbnN0CiBTdGVwUmFuZ2UgTnVtYmVySW5wdXRUeXBlOjpjcmVh
dGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0ZXBSYW5nZTo6U3RlcERlc2NyaXB0aW9uLCBz
dGVwRGVzY3JpcHRpb24sIChudW1iZXJEZWZhdWx0U3RlcCwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNl
LCBudW1iZXJTdGVwU2NhbGVGYWN0b3IpKTsKLQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1h
bFBsYWNlczsKLSAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZVZhbHVlID0gcGFyc2VUb051
bWJlcldpdGhEZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCAmc3RlcEJhc2VEZWNpbWFsUGxhY2VzKTsKLSAgICBT
dGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXBCYXNlKHN0ZXBCYXNlVmFsdWUs
IG1pbihzdGVwQmFzZURlY2ltYWxQbGFjZXMsIDE2dSkpOwotCisgICAgY29uc3QgSW5wdXROdW1i
ZXIgc3RlcEJhc2UgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBudW1iZXJEZWZhdWx0U3RlcEJhc2UpOwogICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVy
IGlucHV0IHR5cGUuCiAgICAgY29uc3QgSW5wdXROdW1iZXIgZmxvYXRNYXggPSBjb252ZXJ0RG91
YmxlVG9JbnB1dE51bWJlcihudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKICAgICBjb25z
dCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWluQXR0ciksIC1mbG9hdE1heCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIp
LCBmbG9hdE1heCk7Ci0gICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNl
cyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3Jp
cHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0
IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcs
IHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7
CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwg
c3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQ1LDQ2ICsxNjYsMjUgQEAgYm9vbCBOdW1iZXJJ
bnB1dFR5cGU6OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQgZGVmYXVsdFNpemUsIGlu
dCYgcHJlZmVycmUKIHsKICAgICBwcmVmZXJyZWRTaXplID0gZGVmYXVsdFNpemU7CiAKLSAgICB1
bnNpZ25lZCBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1pblZhbHVlID0gZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpOwotICAgIGRvdWJsZSBtaW5WYWx1ZURv
dWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWluVmFs
dWUsICZtaW5WYWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWluVmFsdWVE
b3VibGUpKQorICAgIGNvbnN0IFN0cmluZyBzdGVwU3RyaW5nID0gZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKHN0ZXBBdHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmlu
ZywgImFueSIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB1bnNpZ25lZCBtYXhWYWx1
ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKG1heEF0dHIpOwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9IHBhcnNlVG9E
b3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZtYXhWYWx1ZURl
Y2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUpKQorICAgIGNv
bnN0IERlY2ltYWwgbWluaW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0cikpOworICAgIGlmICghbWluaW11bS5pc0Zpbml0
ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVEb3VibGUgPCBt
aW5WYWx1ZURvdWJsZSkgewotICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZhbHVlRG91Ymxl
OwotICAgICAgICBtYXhWYWx1ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7
Ci0gICAgfQotCi0gICAgU3RyaW5nIHN0ZXBWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShzdGVwQXR0cik7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBWYWx1ZSwgImFu
eSIpKQorICAgIGNvbnN0IERlY2ltYWwgbWF4aW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVy
VHlwZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0cikpOworICAgIGlmICghbWF4
aW11bS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdW5zaWduZWQgc3Rl
cFZhbHVlRGVjaW1hbFBsYWNlczsKLSAgICBkb3VibGUgc3RlcFZhbHVlRG91YmxlID0gcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwVmFsdWUsICZzdGVwVmFs
dWVEZWNpbWFsUGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKHN0ZXBWYWx1ZURvdWJsZSkpIHsK
LSAgICAgICAgc3RlcFZhbHVlRG91YmxlID0gMTsKLSAgICAgICAgc3RlcFZhbHVlRGVjaW1hbFBs
YWNlcyA9IDA7Ci0gICAgfQogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gbGVuZ3RoQmVmb3JlRGVj
aW1hbFBvaW50KG1pblZhbHVlRG91YmxlKTsKLSAgICBsZW5ndGggPSBtYXgobGVuZ3RoLCBsZW5n
dGhCZWZvcmVEZWNpbWFsUG9pbnQobWF4VmFsdWVEb3VibGUpKTsKLSAgICBsZW5ndGggPSBtYXgo
bGVuZ3RoLCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQoc3RlcFZhbHVlRG91YmxlKSk7CisgICAg
Y29uc3QgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0ZXBTdHJp
bmcsIDEpOworICAgIEFTU0VSVChzdGVwLmlzRmluaXRlKCkpOwogCi0gICAgdW5zaWduZWQgbGVu
Z3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgbGVuZ3Ro
QWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIG1heFZhbHVl
RGVjaW1hbFBsYWNlcyk7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3Ro
QWZ0ZXJEZWNpbWFsUG9pbnQsIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOworICAgIFJlYWxOdW1i
ZXJSZW5kZXJTaXplIHNpemUgPSBjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0pLm1heChjYWxj
dWxhdGVSZW5kZXJTaXplKG1heGltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXplKHN0ZXApKSk7
CiAKLSAgICAvLyAnLicgc2hvdWxkIGJlIGNvdW50ZWQgaWYgdGhlIHZhbHVlIGhhcyBkZWNpbWFs
IHBsYWNlcy4KLSAgICBpZiAobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPiAwKQotICAgICAgICBs
ZW5ndGggKz0gbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgKyAxOworICAgIHByZWZlcnJlZFNpemUg
PSBzaXplLnNpemVCZWZvcmVEZWNpbWFsUG9pbnQgKyBzaXplLnNpemVBZnRlRGVjaW1hbFBvaW50
ICsgKHNpemUuc2l6ZUFmdGVEZWNpbWFsUG9pbnQgPyAxIDogMCk7CiAKLSAgICBwcmVmZXJyZWRT
aXplID0gbGVuZ3RoOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDcsMTkgKzIwNywxMiBA
QCB2b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KiBldmVu
dCkKIAogSW5wdXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyKGNvbnN0IFN0
cmluZyYgc3JjLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25zdAogewotICAg
IHJldHVybiBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91YmxlRm9yTnVtYmVy
VHlwZShzcmMsIGRlZmF1bHRWYWx1ZSkpOwotfQotCi1JbnB1dE51bWJlciBOdW1iZXJJbnB1dFR5
cGU6OnBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29u
c3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKHBhcnNlVG9Eb3Vi
bGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3JjLCBkZWNpbWFsUGxhY2VzLCBkZWZh
dWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywg
ZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKGNv
bnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVl
KSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1i
ZXJUeXBlKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNlcmlhbGl6ZUZv
ck51bWJlclR5cGUodmFsdWUpIDogU3RyaW5nKCk7CiB9CiAKIHZvaWQgTnVtYmVySW5wdXRUeXBl
OjpoYW5kbGVCbHVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1i
ZXJJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKaW5k
ZXggYWRhZTFkMjYxZjZlMjZiZWYzNzFkMWQxY2UyMzFkMmVkMTRhYTJiOC4uYmNlZGM5NjA5OGU2
ZWY4ZmExZjQ3NDZkMDYwMmE1YzY3NzQ4ZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9OdW1iZXJJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklu
cHV0VHlwZS5oCkBAIC01Myw3ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
SW5wdXROdW1iZXIgcGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51bWJl
ciYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJl
cldpdGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiwgdW5z
aWduZWQqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemUoY29u
c3QgSW5wdXROdW1iZXImKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
Qmx1ckV2ZW50KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVWYWx1ZShj
b25zdCBTdHJpbmcmKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0
VHlwZS5jcHAKaW5kZXggNWQ4ZTU2OWJmYTk1OTFiODVhMzUwMWNmYjUyOGIyOGZkMTIyYTUwNi4u
MjFiMmZjYTc0YzdlODdhYzk4ZDA2NzljODI2NGM4OGMzZGFiODc1MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTEwNCwxMSArMTA0LDExIEBAIFN0ZXBSYW5nZSBS
YW5nZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFu
ZGxpbmcpIGNvbnN0CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHByZWNpc2lvblZhbHVlID0g
ZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHByZWNpc2lvbkF0dHIpOwogICAgIGlmICghcHJl
Y2lzaW9uVmFsdWUuaXNOdWxsKCkpIHsKLSAgICAgICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyBzdGVwKGVxdWFsSWdub3JpbmdDYXNlKHByZWNpc2lvblZhbHVlLCAi
ZmxvYXQiKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgOiAxKTsK
KyAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcCA9IGVxdWFsSWdub3JpbmdDYXNlKHByZWNp
c2lvblZhbHVlLCAiZmxvYXQiKSA/IERlY2ltYWw6Om5hbigpIDogMTsKICAgICAgICAgcmV0dXJu
IFN0ZXBSYW5nZShtaW5pbXVtLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRp
b24pOwogICAgIH0KIAotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFj
ZXMgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2Ny
aXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25z
dCBJbnB1dE51bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5n
LCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikp
OwogICAgIHJldHVybiBTdGVwUmFuZ2UobWluaW11bSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwg
c3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmFuZ2VJbnB1
dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBjb25z
dCBTdHJpbmcmIGtleSA9IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CiAKICAgICBjb25zdCBJbnB1
dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7
Ci0gICAgQVNTRVJUKGlzZmluaXRlKGN1cnJlbnQpKTsKKyAgICBBU1NFUlQoY3VycmVudC5pc0Zp
bml0ZSgpKTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVj
dEFueSkpOwogCkBAIC0yMTUsMTQgKzIxNSwxMiBAQCBSZW5kZXJPYmplY3QqIFJhbmdlSW5wdXRU
eXBlOjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikgYwog
CiBJbnB1dE51bWJlciBSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcm
IHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1
cm4gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUo
c3JjLCBkZWZhdWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJU
eXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRUeXBlOjpzZXJp
YWxpemUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICghaXNmaW5p
dGUodmFsdWUpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIHNlcmlhbGl6
ZUZvck51bWJlclR5cGUodmFsdWUpOworICAgIHJldHVybiB2YWx1ZS5pc0Zpbml0ZSgpID8gc2Vy
aWFsaXplRm9yTnVtYmVyVHlwZSh2YWx1ZSkgOiBTdHJpbmcoKTsKIH0KIAogLy8gRklYTUU6IENv
dWxkIHNoYXJlIHRoaXMgd2l0aCBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSBhbmQgQmFz
ZUNoZWNrYWJsZUlucHV0VHlwZSBpZiB3ZSBoYWQgYSBjb21tb24gYmFzZSBjbGFzcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3RlcFJhbmdlLmNwcAppbmRleCA4OGViYzk1ZTc3ZWZjZTJkZTE3MzlkODY1MTc4YTQ0
OTIyNmEzODlmLi40ZjM5YWYwMjA3NWQ2MDY3NTUwNzljNDk3ZDRhNWZhY2ViODdiZjQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwCkBAIC0yNCwxMCArMjQsOSBAQAogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTM3LDggKzM2LDYgQEAgU3RlcFJh
bmdlOjpTdGVwUmFuZ2UoKQogICAgICwgbV9taW5pbXVtKDApCiAgICAgLCBtX3N0ZXAoMSkKICAg
ICAsIG1fc3RlcEJhc2UoMCkKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKDApCi0gICAg
LCBtX3N0ZXBEZWNpbWFsUGxhY2VzKDApCiAgICAgLCBtX2hhc1N0ZXAoZmFsc2UpCiB7CiB9CkBA
IC00OSw1MyArNDYsNDMgQEAgU3RlcFJhbmdlOjpTdGVwUmFuZ2UoY29uc3QgU3RlcFJhbmdlJiBz
dGVwUmFuZ2UpCiAgICAgLCBtX3N0ZXAoc3RlcFJhbmdlLm1fc3RlcCkKICAgICAsIG1fc3RlcEJh
c2Uoc3RlcFJhbmdlLm1fc3RlcEJhc2UpCiAgICAgLCBtX3N0ZXBEZXNjcmlwdGlvbihzdGVwUmFu
Z2UubV9zdGVwRGVzY3JpcHRpb24pCi0gICAgLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcyhzdGVw
UmFuZ2UubV9zdGVwQmFzZURlY2ltYWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2Vz
KHN0ZXBSYW5nZS5tX3N0ZXBEZWNpbWFsUGxhY2VzKQogICAgICwgbV9oYXNTdGVwKHN0ZXBSYW5n
ZS5tX2hhc1N0ZXApCiB7CiB9CiAKLVN0ZXBSYW5nZTo6U3RlcFJhbmdlKGNvbnN0IE51bWJlcldp
dGhEZWNpbWFsUGxhY2VzJiBzdGVwQmFzZSwgY29uc3QgSW5wdXROdW1iZXImIG1pbmltdW0sIGNv
bnN0IElucHV0TnVtYmVyJiBtYXhpbXVtLCBjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyYg
c3RlcCwgY29uc3QgU3RlcERlc2NyaXB0aW9uJiBzdGVwRGVzY3JpcHRpb24pCitTdGVwUmFuZ2U6
OlN0ZXBSYW5nZShjb25zdCBJbnB1dE51bWJlciYgc3RlcEJhc2UsIGNvbnN0IElucHV0TnVtYmVy
JiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgSW5wdXROdW1iZXIm
IHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9t
YXhpbXVtKG1heGltdW0pCiAgICAgLCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChp
c2Zpbml0ZShzdGVwLnZhbHVlKSA/IHN0ZXAudmFsdWUgOiAxKQotICAgICwgbV9zdGVwQmFzZShp
c2Zpbml0ZShzdGVwQmFzZS52YWx1ZSkgPyBzdGVwQmFzZS52YWx1ZSA6IDEpCisgICAgLCBtX3N0
ZXAoc3RlcC5pc0Zpbml0ZSgpID8gc3RlcCA6IDEpCisgICAgLCBtX3N0ZXBCYXNlKHN0ZXBCYXNl
LmlzRmluaXRlKCkgPyBzdGVwQmFzZSA6IDEpCiAgICAgLCBtX3N0ZXBEZXNjcmlwdGlvbihzdGVw
RGVzY3JpcHRpb24pCi0gICAgLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcyhzdGVwQmFzZS5kZWNp
bWFsUGxhY2VzKQotICAgICwgbV9zdGVwRGVjaW1hbFBsYWNlcyhzdGVwLmRlY2ltYWxQbGFjZXMp
Ci0gICAgLCBtX2hhc1N0ZXAoaXNmaW5pdGUoc3RlcC52YWx1ZSkpCisgICAgLCBtX2hhc1N0ZXAo
c3RlcC5pc0Zpbml0ZSgpKQogewotICAgIEFTU0VSVChpc2Zpbml0ZShtX21heGltdW0pKTsKLSAg
ICBBU1NFUlQoaXNmaW5pdGUobV9taW5pbXVtKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKG1fc3Rl
cCkpOwotICAgIEFTU0VSVChpc2Zpbml0ZShtX3N0ZXBCYXNlKSk7CisgICAgQVNTRVJUKG1fbWF4
aW11bS5pc0Zpbml0ZSgpKTsKKyAgICBBU1NFUlQobV9taW5pbXVtLmlzRmluaXRlKCkpOworICAg
IEFTU0VSVChtX3N0ZXAuaXNGaW5pdGUoKSk7CisgICAgQVNTRVJUKG1fc3RlcEJhc2UuaXNGaW5p
dGUoKSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6YWNjZXB0YWJsZUVycm9yKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9zdGVwIC8gcG93KDIuMCwgRkxUX01BTlRfRElHKTsKKyAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBEQkxfTUFOVF9ESUcgaW5zdGVhZCBvZiBGTFRfTUFOVF9E
SUcgcmVnYXJkaW5nIHRvIEhUTUw1IHNwZWNpZmljYXRpb24uCisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBEZWNpbWFsLCB0d29Qb3dlck9mRmxvYXRNYW50aXNzYUJpdHMsIChEZWNpbWFs
OjpQb3NpdGl2ZSwgMCwgVUlOVDY0X0MoMSkgPDwgRkxUX01BTlRfRElHKSk7CisgICAgcmV0dXJu
IG1fc3RlcCAvIHR3b1Bvd2VyT2ZGbG9hdE1hbnRpc3NhQml0czsKIH0KIAotSW5wdXROdW1iZXIg
U3RlcFJhbmdlOjphbGlnblZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZh
bHVlLCB1bnNpZ25lZCBjdXJyZW50RGVjaW1hbFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIHBy
b3Bvc2VkVmFsdWUpIGNvbnN0CitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JT
dGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBu
ZXdWYWx1ZSkgY29uc3QKIHsKLSAgICBpZiAocHJvcG9zZWRWYWx1ZSA+PSBwb3coMTAuMCwgMjEu
MCkpCi0gICAgICAgIHJldHVybiBwcm9wb3NlZFZhbHVlOwotCi0gICAgSW5wdXROdW1iZXIgbmV3
VmFsdWUgPSBwcm9wb3NlZFZhbHVlOwotICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVl
KSkgewotICAgICAgICBjb25zdCBJbnB1dE51bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNf
Y2FzdDxJbnB1dE51bWJlcj4obWF4KG1fc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFs
UGxhY2VzKSkpOwotICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2NhbGUpIC8g
c2NhbGU7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBw
b3coMTAuMCwgc3RhdGljX2Nhc3Q8SW5wdXROdW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2Vz
LCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcykpKTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZChy
b3VuZEJ5U3RlcChuZXdWYWx1ZSwgbV9zdGVwQmFzZSkgKiBzY2FsZSkgLyBzY2FsZTsKLSAgICB9
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0ZW5Qb3dlck9mMjEsIChE
ZWNpbWFsOjpQb3NpdGl2ZSwgMjEsIDEpKTsKKyAgICBpZiAobmV3VmFsdWUgPj0gdGVuUG93ZXJP
ZjIxKQorICAgICAgICByZXR1cm4gbmV3VmFsdWU7CiAKLSAgICByZXR1cm4gbmV3VmFsdWU7Cisg
ICAgcmV0dXJuIHN0ZXBNaXNtYXRjaChjdXJyZW50VmFsdWUpID8gbmV3VmFsdWUgOiByb3VuZEJ5
U3RlcChuZXdWYWx1ZSwgbV9zdGVwQmFzZSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6
Y2xhbXBWYWx1ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgY29uc3Qg
SW5wdXROdW1iZXIgaW5SYW5nZVZhbHVlID0gbWF4KG1fbWluaW11bSwgbWluKHZhbHVlLCBtX21h
eGltdW0pKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBpblJhbmdlVmFsdWUgPSBzdGQ6Om1heCht
X21pbmltdW0sIHN0ZDo6bWluKHZhbHVlLCBtX21heGltdW0pKTsKICAgICBpZiAoIW1faGFzU3Rl
cCkKICAgICAgICAgcmV0dXJuIGluUmFuZ2VWYWx1ZTsKICAgICAvLyBSb3VuZHMgaW5SYW5nZVZh
bHVlIHRvIG1pbmltdW0gKyBOICogc3RlcC4KQEAgLTEwNiw3MiArOTMsNzIgQEAgSW5wdXROdW1i
ZXIgU3RlcFJhbmdlOjpjbGFtcFZhbHVlKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QK
ICAgICByZXR1cm4gY2xhbXBlZFZhbHVlOwogfQogCi1TdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNp
bWFsUGxhY2VzIFN0ZXBSYW5nZTo6cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFu
ZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJp
bmcmIHN0ZXBTdHJpbmcpCitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OnBhcnNlU3RlcChBbnlTdGVw
SGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNj
cmlwdGlvbiwgY29uc3QgU3RyaW5nJiBzdGVwU3RyaW5nKQogewogICAgIGlmIChzdGVwU3RyaW5n
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKHN0ZXBE
ZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7CisgICAgICAgIHJldHVybiBzdGVwRGVzY3JpcHRp
b24uZGVmYXVsdFZhbHVlKCk7CiAKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmlu
ZywgImFueSIpKSB7CiAgICAgICAgIHN3aXRjaCAoYW55U3RlcEhhbmRsaW5nKSB7CiAgICAgICAg
IGNhc2UgUmVqZWN0QW55OgotICAgICAgICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxh
Y2VzKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOworICAgICAgICAg
ICAgcmV0dXJuIERlY2ltYWw6Om5hbigpOwogICAgICAgICBjYXNlIEFueUlzRGVmYXVsdFN0ZXA6
Ci0gICAgICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoc3RlcERlc2NyaXB0
aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzdGVwRGVzY3JpcHRpb24u
ZGVmYXVsdFZhbHVlKCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgIH0KIAotICAgIE51bWJlcldpdGhEZWNpbWFsUGxh
Y2VzIHN0ZXAoMCk7Ci0gICAgc3RlcC52YWx1ZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBl
V2l0aERlY2ltYWxQbGFjZXMoc3RlcFN0cmluZywgJnN0ZXAuZGVjaW1hbFBsYWNlcyk7Ci0gICAg
aWYgKCFpc2Zpbml0ZShzdGVwLnZhbHVlKSB8fCBzdGVwLnZhbHVlIDw9IDAuMCkKLSAgICAgICAg
cmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFs
dWUoKSk7CisgICAgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0
ZXBTdHJpbmcpOworICAgIGlmICghc3RlcC5pc0Zpbml0ZSgpIHx8IHN0ZXAgPD0gMCkKKyAgICAg
ICAgcmV0dXJuIHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKTsKIAogICAgIHN3aXRjaCAo
c3RlcERlc2NyaXB0aW9uLnN0ZXBWYWx1ZVNob3VsZEJlKSB7CiAgICAgY2FzZSBTdGVwVmFsdWVT
aG91bGRCZVJlYWw6Ci0gICAgICAgIHN0ZXAudmFsdWUgKj0gc3RlcERlc2NyaXB0aW9uLnN0ZXBT
Y2FsZUZhY3RvcjsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFj
dG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBhcnNlZFN0ZXBWYWx1ZVNob3VsZEJlSW50
ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGUsIG1vbnRoLCBhbmQgd2VlaywgdGhlIHBhcnNlZCB2
YWx1ZSBzaG91bGQgYmUgYW4gaW50ZWdlciBmb3Igc29tZSB0eXBlcy4KLSAgICAgICAgc3RlcC52
YWx1ZSA9IG1heChyb3VuZChzdGVwLnZhbHVlKSwgMS4wKTsKLSAgICAgICAgc3RlcC52YWx1ZSAq
PSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwID0gc3RkOjpt
YXgoc3RlcC5yb3VuZCgpLCBEZWNpbWFsKDEpKTsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3Jp
cHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjYWxlZFN0
ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGV0aW1lLCBkYXRldGlt
ZS1sb2NhbCwgdGltZSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgYW4gaW50ZWdlci4KLSAgICAgICAg
c3RlcC52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwotICAgICAgICBz
dGVwLnZhbHVlID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUpLCAxLjApOworICAgICAgICBzdGVwICo9
IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAgICAgIHN0ZXAgPSBzdGQ6Om1h
eChzdGVwLnJvdW5kKCksIERlY2ltYWwoMSkpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICBBU1NFUlQoc3Rl
cC52YWx1ZSA+IDApOworICAgIEFTU0VSVChzdGVwID4gMCk7CiAgICAgcmV0dXJuIHN0ZXA7CiB9
CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6cm91bmRCeVN0ZXAoY29uc3QgSW5wdXROdW1iZXIm
IHZhbHVlLCBjb25zdCBJbnB1dE51bWJlciYgYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYmFz
ZSArIHJvdW5kKCh2YWx1ZSAtIGJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcDsKKyAgICByZXR1cm4g
YmFzZSArICgodmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsKIH0KIAog
Ym9vbCBTdGVwUmFuZ2U6OnN0ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYgdmFsdWVGb3JD
aGVjaykgY29uc3QKIHsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICghaXNmaW5pdGUodmFsdWVGb3JDaGVjaykpCisgICAgaWYgKCF2YWx1ZUZvckNo
ZWNrLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBJbnB1dE51
bWJlciB2YWx1ZSA9IGZhYnModmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpOwotICAgIGlmIChp
c2luZih2YWx1ZSkpCisgICAgY29uc3QgSW5wdXROdW1iZXIgdmFsdWUgPSAodmFsdWVGb3JDaGVj
ayAtIG1fc3RlcEJhc2UpLmFicygpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIElucHV0TnVtYmVyJ3MgZnJhY3Rpb25hbCBwYXJ0IHNp
emUgaXMgREJMX01BTl9ESUctYml0LiBJZiB0aGUgY3VycmVudCB2YWx1ZQogICAgIC8vIGlzIGdy
ZWF0ZXIgdGhhbiBzdGVwKjJeREJMX01BTlRfRElHLCB0aGUgZm9sbG93aW5nIGNvbXB1dGF0aW9u
IGZvcgogICAgIC8vIHJlbWFpbmRlciBtYWtlcyBubyBzZW5zZS4KLSAgICBpZiAodmFsdWUgLyBw
b3coMi4wLCBEQkxfTUFOVF9ESUcpID4gbV9zdGVwKQorICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgRGVjaW1hbCwgdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cywgKERlY2ltYWw6OlBv
c2l0aXZlLCAwLCBVSU5UNjRfQygxKSA8PCBEQkxfTUFOVF9ESUcpKTsKKyAgICBpZiAodmFsdWUg
LyB0d29Qb3dlck9mRG91YmxlTWFudGlzc2FCaXRzID4gbV9zdGVwKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgLy8gVGhlIGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRNTDUgNC4xMC43LjIuMTAg
YFRoZSBzdGVwIGF0dHJpYnV0ZScgOgogICAgIC8vIC4uLiB0aGF0IG51bWJlciBzdWJ0cmFjdGVk
IGZyb20gdGhlIHN0ZXAgYmFzZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVsdGlwbGUKICAgICAvLyBv
ZiB0aGUgYWxsb3dlZCB2YWx1ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBzdWZmZXJpbmcgZnJvbSBh
IHN0ZXAgbWlzbWF0Y2guCi0gICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gZmFicyh2
YWx1ZSAtIG1fc3RlcCAqIHJvdW5kKHZhbHVlIC8gbV9zdGVwKSk7CisgICAgY29uc3QgSW5wdXRO
dW1iZXIgcmVtYWluZGVyID0gKHZhbHVlIC0gbV9zdGVwICogKHZhbHVlIC8gbV9zdGVwKS5yb3Vu
ZCgpKS5hYnMoKTsKICAgICAvLyBBY2NlcHRzIGVycm9zIGluIGxvd2VyIGZyYWN0aW9uYWwgcGFy
dCB3aGljaCBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uCiAgICAgLy8gY2FuJ3QgcmVwcmVzZW50
LgogICAgIGNvbnN0IElucHV0TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJsZUVycm9yID0gYWNjZXB0
YWJsZUVycm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjYzVkNmY3YmYyNjc4MDIy
YzAxYzNmNWE4ZmY5ZmE1ZDc0NWVlMDM4Li5iMjlmYTZjYTFhNzRlZjM3MTM4N2NkN2I4NDlkMWM3
OTg0MzM1ZWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNp
Zm5kZWYgU3RlcFJhbmdlX2gKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRlY2lt
YWwuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCkBAIC0zMCwzMiArMzEsMjEgQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAogZW51
bSBBbnlTdGVwSGFuZGxpbmcgeyBSZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAotLy8g
RklYTUU6IFRoZSB0eXBlIElucHV0TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNpbWFs
LgotdHlwZWRlZiBkb3VibGUgSW5wdXROdW1iZXI7CisvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFt
ZSBJbnB1dE51bWJlciB0byBEZWNpbWFsIGluIGFsbCBwbGFjZXMuCit0eXBlZGVmIERlY2ltYWwg
SW5wdXROdW1iZXI7CiAKIGlubGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1dE51
bWJlcihkb3VibGUgZG91YmxlVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVlOworICAg
IHJldHVybiBEZWNpbWFsOjpmcm9tRG91YmxlKGRvdWJsZVZhbHVlKTsKIH0KIAogaW5saW5lIGRv
dWJsZSBjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJsZShjb25zdCBJbnB1dE51bWJlciYgbnVtZXJp
Y1ZhbHVlKQogewotICAgIHJldHVybiBudW1lcmljVmFsdWU7CisgICAgcmV0dXJuIG51bWVyaWNW
YWx1ZS50b0RvdWJsZSgpOwogfQogCiBjbGFzcyBTdGVwUmFuZ2UgewogcHVibGljOgotICAgIHN0
cnVjdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyB7Ci0gICAgICAgIHVuc2lnbmVkIGRlY2ltYWxQ
bGFjZXM7Ci0gICAgICAgIElucHV0TnVtYmVyIHZhbHVlOwotCi0gICAgICAgIE51bWJlcldpdGhE
ZWNpbWFsUGxhY2VzKElucHV0TnVtYmVyIHZhbHVlID0gMCwgdW5zaWduZWQgZGVjaW1hbFBsYWNl
cyA9IDApCi0gICAgICAgICAgICA6IGRlY2ltYWxQbGFjZXMoZGVjaW1hbFBsYWNlcykKLSAgICAg
ICAgICAgICwgdmFsdWUodmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0KICAg
ICBlbnVtIFN0ZXBWYWx1ZVNob3VsZEJlIHsKICAgICAgICAgU3RlcFZhbHVlU2hvdWxkQmVSZWFs
LAogICAgICAgICBQYXJzZWRTdGVwVmFsdWVTaG91bGRCZUludGVnZXIsCkBAIC05MiwxOCArODIs
MTYgQEAgcHVibGljOgogCiAgICAgU3RlcFJhbmdlKCk7CiAgICAgU3RlcFJhbmdlKGNvbnN0IFN0
ZXBSYW5nZSYpOwotICAgIFN0ZXBSYW5nZShjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyYg
c3RlcEJhc2UsIGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYg
bWF4aW11bSwgY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMmIHN0ZXAsIGNvbnN0IFN0ZXBE
ZXNjcmlwdGlvbiYpOworICAgIFN0ZXBSYW5nZShjb25zdCBJbnB1dE51bWJlciYgc3RlcEJhc2Us
IGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwg
Y29uc3QgSW5wdXROdW1iZXImIHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYpOwogICAgIElu
cHV0TnVtYmVyIGFjY2VwdGFibGVFcnJvcigpIGNvbnN0OwotICAgIElucHV0TnVtYmVyIGFsaWdu
VmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUsIHVuc2lnbmVkIGN1
cnJlbnREZWNpbWFsUGxhY2VzLCBjb25zdCBJbnB1dE51bWJlciYgbmV3VmFsdWUpIGNvbnN0Owor
ICAgIElucHV0TnVtYmVyIGFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJy
ZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3Q7CiAgICAgSW5wdXRO
dW1iZXIgY2xhbXBWYWx1ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0OwogICAgIGJv
b2wgaGFzU3RlcCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzU3RlcDsgfQogICAgIElucHV0TnVtYmVy
IG1heGltdW0oKSBjb25zdCB7IHJldHVybiBtX21heGltdW07IH0KICAgICBJbnB1dE51bWJlciBt
aW5pbXVtKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtOyB9Ci0gICAgc3RhdGljIE51bWJlcldp
dGhEZWNpbWFsUGxhY2VzIHBhcnNlU3RlcChBbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNj
cmlwdGlvbiYsIGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBJbnB1dE51bWJlciBwYXJzZVN0
ZXAoQW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mLCBjb25zdCBTdHJpbmcm
KTsKICAgICBJbnB1dE51bWJlciBzdGVwKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwOyB9CiAgICAg
SW5wdXROdW1iZXIgc3RlcEJhc2UoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBCYXNlOyB9Ci0gICAg
dW5zaWduZWQgc3RlcEJhc2VEZWNpbWFsUGxhY2VzKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwQmFz
ZURlY2ltYWxQbGFjZXM7IH0KLSAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcygpIGNvbnN0
IHsgcmV0dXJuIG1fc3RlcERlY2ltYWxQbGFjZXM7IH0KICAgICBpbnQgc3RlcFNjYWxlRmFjdG9y
KCkgY29uc3QgeyByZXR1cm4gbV9zdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOyB9CiAg
ICAgYm9vbCBzdGVwTWlzbWF0Y2goY29uc3QgSW5wdXROdW1iZXImKSBjb25zdDsKIApAQCAtMTM3
LDggKzEyNSw2IEBAIHByaXZhdGU6CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbV9zdGVwOwogICAg
IGNvbnN0IElucHV0TnVtYmVyIG1fc3RlcEJhc2U7CiAgICAgY29uc3QgU3RlcERlc2NyaXB0aW9u
IG1fc3RlcERlc2NyaXB0aW9uOwotICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcEJhc2VEZWNpbWFs
UGxhY2VzOwotICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcERlY2ltYWxQbGFjZXM7CiAgICAgY29u
c3QgYm9vbCBtX2hhc1N0ZXA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cAppbmRleCAyMzM5NzVkZGEzOGJiODg3MWI3NmQ5YmY1YzRkZDgzODg3ZTA3ZDgwLi41Mzc5MmE5
OThhOTI4OTMyYTVjMmI3NDRlNDU4MzVhNDliNjNhY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgU3RlcFJhbmdlIFRpbWVJbnB1dFR5cGU6
OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAog
ICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1p
bmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1l
KCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVt
YmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtVGltZSgpKSk7Ci0gICAgY29uc3QgU3RlcFJhbmdl
OjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55
U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShzdGVwQXR0cikpOworICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBh
cnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwg
bWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKaW5kZXggNDVhNGQwMWNkN2RjYzI4NDRiZTI4ODIxMjJm
YzNiMTNiNTJhOWRmYi4uZjhhZWEwYWMxNmUzMDNhOGJkNDM1YjJlYzliODI2YTIwOTYzYjdmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0
ZXBSYW5nZSBXZWVrSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFu
eVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBh
cnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCB3ZWVrRGVm
YXVsdFN0ZXBCYXNlKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051
bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVU
b0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtV2VlaygpKSk7CiAgICAgY29uc3Qg
SW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50
czo6bWF4aW11bVdlZWsoKSkpOwotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2lt
YWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3Rl
cERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAg
ICBjb25zdCBJbnB1dE51bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhh
bmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVw
QXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0s
IHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKaW5kZXggYTk5YTIxYTA4ZTViZGQwODY1ZmEzM2M3
Mzk1NTA0MDE3MmMzOGIzMS4uYzNiZWNjMzYwZDRmYWZmNTcxNDU3ZjMwOTUwYTYxYTY4ODYzMDY5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9t
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5j
cHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1M
UGFyc2VySWRpb21zLmgiCiAKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAjaW5jbHVkZSA8bGltaXRz
PgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KQEAg
LTU4LDYgKzU5LDE1IEBAIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMo
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZy5zdWJzdHJpbmcobnVtTGVh
ZGluZ1NwYWNlcywgbGVuZ3RoIC0gKG51bUxlYWRpbmdTcGFjZXMgKyBudW1UcmFpbGluZ1NwYWNl
cykpOwogfQogCitTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShjb25zdCBEZWNpbWFsJiBu
dW1iZXIpCit7CisgICAgaWYgKG51bWJlci5pc1plcm8oKSkgeworICAgICAgICAvLyBEZWNpbWFs
Ojp0b1N0cmluZyBhcHBlbmRzIGV4cG9uZW50LCBlLmcuICIwZS0xOCIKKyAgICAgICAgcmV0dXJu
IG51bWJlci5pc05lZ2F0aXZlKCkgPyAiLTAiIDogIjAiOworICAgIH0KKyAgICByZXR1cm4gbnVt
YmVyLnRvU3RyaW5nKCk7Cit9CisKIFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJs
ZSBudW1iZXIpCiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIEhUTUw1LCAidGhlIGJlc3QgcmVwcmVz
ZW50YXRpb24gb2YgdGhlIG51bWJlciBuIGFzIGEgZmxvYXRpbmcKQEAgLTY2LDYgKzc2LDM1IEBA
IFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW1iZXIpCiAgICAgcmV0dXJu
IFN0cmluZyhudW1iZXJUb1N0cmluZyhudW1iZXIsIGJ1ZmZlcikpOwogfQogCitEZWNpbWFsIHBh
cnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRGVj
aW1hbCYgZmFsbGJhY2tWYWx1ZSkKK3sKKyAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVhbCBu
dW1iZXJzLicgYW5kIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlCisKKyAgICAvLyBTdHJpbmc6
OnRvRG91YmxlKCkgYWNjZXB0cyBsZWFkaW5nICsgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycywg
d2hpY2ggYXJlIG5vdCB2YWxpZCBoZXJlLgorICAgIGNvbnN0IFVDaGFyIGZpcnN0Q2hhcmFjdGVy
ID0gc3RyaW5nWzBdOworICAgIGlmIChmaXJzdENoYXJhY3RlciAhPSAnLScgJiYgZmlyc3RDaGFy
YWN0ZXIgIT0gJy4nICYmICFpc0FTQ0lJRGlnaXQoZmlyc3RDaGFyYWN0ZXIpKQorICAgICAgICBy
ZXR1cm4gZmFsbGJhY2tWYWx1ZTsKKworICAgIGNvbnN0IERlY2ltYWwgdmFsdWUgPSBEZWNpbWFs
Ojpmcm9tU3RyaW5nKHN0cmluZyk7CisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQorICAgICAg
ICByZXR1cm4gZmFsbGJhY2tWYWx1ZTsKKworICAgIC8vIE51bWJlcnMgYXJlIGNvbnNpZGVyZWQg
ZmluaXRlIElFRUUgNzU0IHNpbmdsZS1wcmVjaXNpb24gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLgor
ICAgIC8vIFNlZSBIVE1MNSAyLjUuNC4zIGBSZWFsIG51bWJlcnMuJworICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0
IHR5cGUuCisgICAgY29uc3QgRGVjaW1hbCBmbG9hdE1heCA9IERlY2ltYWw6OmZyb21Eb3VibGUo
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKKyAgICBpZiAodmFsdWUgPCAtZmxv
YXRNYXggfHwgdmFsdWUgPiBmbG9hdE1heCkKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7
CisKKyAgICAvLyBXZSByZXR1cm4gKzAgZm9yIC0wIGNhc2UuCisgICAgcmV0dXJuIHZhbHVlLmlz
WmVybygpID8gRGVjaW1hbCgwKSA6IHZhbHVlOworfQorCitEZWNpbWFsIHBhcnNlVG9EZWNpbWFs
Rm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICByZXR1cm4gcGFyc2VU
b0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0cmluZywgRGVjaW1hbDo6bmFuKCkpOworfQorCiBkb3Vi
bGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGRvdWJs
ZSBmYWxsYmFja1ZhbHVlKQogewogICAgIC8vIFNlZSBIVE1MNSAyLjUuNC4zIGBSZWFsIG51bWJl
cnMuJwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklk
aW9tcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCmlu
ZGV4IDhhNzc0ZjllZTQzMjVmNzk5NmRjZWU4MDJlNzg1OTIxZjEyMDA3MjEuLjVmMDE4NmQ0NGUz
MGI5NjcwYjM0ZDgxZDVmZDZmZGMzYmQzMTlhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKQEAgLTMwLDYgKzMwLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBEZWNpbWFsOworCiAvLyBTcGFjZSBjaGFyYWN0ZXJzIGFzIGRl
ZmluZWQgYnkgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4KIGJvb2wgaXNIVE1MU3BhY2UoVUNoYXIp
OwogYm9vbCBpc0hUTUxMaW5lQnJlYWsoVUNoYXIpOwpAQCAtMzksMTEgKzQxLDE0IEBAIGJvb2wg
aXNOb3RIVE1MU3BhY2UoVUNoYXIpOwogU3RyaW5nIHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRN
TFNwYWNlcyhjb25zdCBTdHJpbmcmKTsKIAogLy8gQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEhU
TUwgc3BlY2lmaWNhdGlvbidzIGFsZ29yaXRobSB0byBjb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3Ry
aW5nIGZvciBudW1iZXIgYW5kIHJhbmdlIHR5cGVzLgorU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJl
clR5cGUoY29uc3QgRGVjaW1hbCYpOwogU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoZG91
YmxlKTsKIAotLy8gQ29udmVydCB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGRvdWJsZS4gSWYg
dGhlIGNvbnZlcnNpb24gZmFpbHMsIHRoZSByZXR1cm4gdmFsdWUgaXMgZmFsc2UuCisvLyBDb252
ZXJ0IHRoZSBzcGVjaWZpZWQgc3RyaW5nIHRvIGEgZGVjaW1hbC9kb3VibGUuIElmIHRoZSBjb252
ZXJzaW9uIGZhaWxzLCB0aGUgcmV0dXJuIHZhbHVlIGlzIGZhbGxiYWNrIHZhbHVlIG9yIE5hTiBp
ZiBub3Qgc3BlY2lmaWVkLgogLy8gTGVhZGluZyBvciB0cmFpbGluZyBpbGxlZ2FsIGNoYXJhY3Rl
cnMgY2F1c2UgZmFpbHVyZSwgYXMgZG9lcyBwYXNzaW5nIGFuIGVtcHR5IHN0cmluZy4KIC8vIFRo
ZSBkb3VibGUqIHBhcmFtZXRlciBtYXkgYmUgMCB0byBjaGVjayBpZiB0aGUgc3RyaW5nIGNhbiBi
ZSBwYXJzZWQgd2l0aG91dCBnZXR0aW5nIHRoZSByZXN1bHQuCitEZWNpbWFsIHBhcnNlVG9EZWNp
bWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmKTsKK0RlY2ltYWwgcGFyc2VUb0RlY2ltYWxG
b3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IERlY2ltYWwmIGZhbGxiYWNrVmFsdWUp
OwogZG91YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYpOwogZG91
YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSBmYWxs
YmFja1ZhbHVlKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZVdpdGhEZWNpbWFs
UGxhY2VzKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAppbmRleCAzMDgzYTc1MDAyYzYyYWEy
OWMxYmY4MjEzNzYxMmJkMTM0OTY5ZGU4Li40ZTcxNGEwMzkxZTQ2Y2IxZWQyYmExZWVhNTQxNDJi
MjdiNTA5NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRo
dW1iRWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5s
aW5lIHN0YXRpYyBJbnB1dE51bWJlciBzbGlkZXJQb3NpdGlvbihIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KQogewogICAgIGNvbnN0IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoZWxlbWVudC0+Y3JlYXRl
U3RlcFJhbmdlKFJlamVjdEFueSkpOwotICAgIGNvbnN0IGRvdWJsZSBvbGRWYWx1ZSA9IHBhcnNl
VG9Eb3VibGVGb3JOdW1iZXJUeXBlKGVsZW1lbnQtPnZhbHVlKCksIHN0ZXBSYW5nZS5kZWZhdWx0
VmFsdWUoKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgb2xkVmFsdWUgPSBwYXJzZVRvRGVjaW1h
bEZvck51bWJlclR5cGUoZWxlbWVudC0+dmFsdWUoKSwgc3RlcFJhbmdlLmRlZmF1bHRWYWx1ZSgp
KTsKICAgICByZXR1cm4gc3RlcFJhbmdlLnByb3BvcnRpb25Gcm9tVmFsdWUoc3RlcFJhbmdlLmNs
YW1wVmFsdWUob2xkVmFsdWUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY5YTNhMjJkMTEzYTdlOTYwZDBmYzRk
MmEyYmI2OWYxNTI2M2IzOWIuLjZjYWNiMWNiZGQxNDg1ZDY1MDljNDFlZWZiYmEzMWQ3NGE3NjJi
MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0wNSAgWW9zaGlmdW1pIElub3VlICA8
eW9zaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtGb3Jtc10gSW50cm9kdWNlIERlY2ltYWwg
YmVoaW5kIHRoZSBJbnB1dE51bWJlciB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04ODM4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGlu
Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmFuZ2UvcmFuZ2Ut
dmFsdWUtcm91bmRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMDggIFpvbHRhbiBBcnZhaSAg
PHphcnZhaUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRl
bmluZy4gU2tpcCB0ZXN0cyB1c2luZyBkaXNhYmxlZCBTSEFET1dfRE9NIGZlYXR1cmUgb24gUXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJv
dW5kaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2Ut
dmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyMmJiYmM0ZWE5MjczYTVl
YmExYjhiMWNkMTk4MmRmMzMxYTYyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDI4MCBAQAorCis4MDAwOSBJbnRyb2R1Y2UgRGVjaW1hbCBhcml0aG1ldGljIHRvIGZpeCBy
b3VuZGluZyBlcnJvcnMgaW4gbnVtYmVyL3JhbmdlIGlucHV0IHR5cGVzCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMSIsICIxZS0w
IikudmFsdWUgaXMgIjAuMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4xIiwgIjFlLTAi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjIiLCAi
MWUtMCIpLnZhbHVlIGlzICIwLjIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMiIsICIx
ZS0wIikudmFsdWVBc051bWJlciBpcyAwLjIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4z
IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4zIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjMi
LCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4zCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwg
IjAuNCIsICIxZS0wIikudmFsdWUgaXMgIjAuNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAi
MC40IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MSIsICIwLjUiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4x
IiwgIjAuNSIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjUKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjEiLCAiMC42IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC42IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMSIsICIwLjYiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC42CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4xIiwgIjAuNyIsICIxZS0wIikudmFsdWUgaXMgIjAuNyIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjEiLCAiMC43IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNworUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMSIsICIwLjgiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjgiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4xIiwgIjAuOCIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjgKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjEiLCAiMC45IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC45IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMSIsICIwLjkiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC45CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAxIiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMSIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDEiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMiIsICIxZS0xIikudmFsdWUg
aXMgIjAuMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAyIiwgIjFlLTEiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDMiLCAiMWUt
MSIpLnZhbHVlIGlzICIwLjAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMyIsICIx
ZS0xIikudmFsdWVBc051bWJlciBpcyAwLjAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIw
LjA0IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwg
IjAuMDQiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDEiLCAiMC4wNSIsICIxZS0xIikudmFsdWUgaXMgIjAuMDUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMSIsICIwLjA1IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDUKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAxIiwgIjAuMDYiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA2IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNiIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA2
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA3IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4w
NyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDciLCAiMWUtMSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOCIsICIxZS0xIikudmFs
dWUgaXMgIjAuMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA4IiwgIjFlLTEiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDkiLCAi
MWUtMSIpLnZhbHVlIGlzICIwLjA5IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOSIs
ICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEi
LCAiMC4wMDEiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMSIsICIwLjAwMSIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAyIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDIiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDIiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMyIsICIxZS0yIikudmFsdWUg
aXMgIjAuMDAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAzIiwgIjFlLTIiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDQi
LCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIw
LjAwNCIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAxIiwgIjAuMDA1IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDUiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDEiLCAiMC4wMDUiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDUKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNiIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA2
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA2IiwgIjFlLTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDciLCAiMWUtMiIp
LnZhbHVlIGlzICIwLjAwNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNyIsICIx
ZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwg
IjAuMDA4IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDEiLCAiMC4wMDgiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDgKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMSIsICIwLjAwOSIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA5IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA5IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMSIsICIxZS0zIikudmFsdWUg
aXMgIjAuMDAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAxIiwgIjFlLTMi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIw
LjAwMDIiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAxIiwgIjAuMDAwMiIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAzIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAzIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDMiLCAiMWUtMyIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNCIsICIxZS0z
IikudmFsdWUgaXMgIjAuMDAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA0
IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMSIsICIwLjAwMDUiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDUiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAxIiwgIjAuMDAwNSIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDUK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA2IiwgIjFlLTMiKS52YWx1ZSBpcyAi
MC4wMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDYiLCAiMWUtMyIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAw
NyIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEi
LCAiMC4wMDA3IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNworUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMSIsICIwLjAwMDgiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDgiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOCIsICIxZS0zIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA5IiwgIjFlLTMiKS52
YWx1ZSBpcyAiMC4wMDA5IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDkiLCAi
MWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MSIsICIwLjAwMDAxIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAxIiwgIjAuMDAwMDEiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMiIsICIxZS00IikudmFsdWUg
aXMgIjAuMDAwMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDAyIiwgIjFl
LTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAx
IiwgIjAuMDAwMDMiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDAzIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDEiLCAiMC4wMDAwMyIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA0IiwgIjFlLTQiKS52YWx1ZSBp
cyAiMC4wMDAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDQiLCAiMWUt
NCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEi
LCAiMC4wMDAwNSIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMSIsICIwLjAwMDA1IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDUK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDYiLCAiMWUtNCIpLnZhbHVlIGlz
ICIwLjAwMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNiIsICIxZS00
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIs
ICIwLjAwMDA3IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwNyIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAxIiwgIjAuMDAwMDciLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNwor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOCIsICIxZS00IikudmFsdWUgaXMg
IjAuMDAwMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA4IiwgIjFlLTQi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwg
IjAuMDAwMDkiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA5IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDEiLCAiMC4wMDAwOSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA5CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDEiLCAiMWUtNSIpLnZhbHVlIGlz
ICIwLjAwMDAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwMSIsICIx
ZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAxIiwgIjAuMDAwMDAyIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDIiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDIiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwMyIsICIxZS01
IikudmFsdWUgaXMgIjAuMDAwMDAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAu
MDAwMDAzIiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAzCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDQiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwNCIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNCIsICIxZS01IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAw
MDA1IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDEiLCAiMC4wMDAwMDUiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDUKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNiIsICIxZS01IikudmFsdWUgaXMg
IjAuMDAwMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA2IiwgIjFl
LTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDEiLCAiMC4wMDAwMDciLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwNyIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNyIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA4IiwgIjFlLTUi
KS52YWx1ZSBpcyAiMC4wMDAwMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4w
MDAwMDgiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDgKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA5Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA5IiwgIjFlLTUiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAw
MDAwMSIsICIxZS02IikudmFsdWUgaXMgIjFlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAxIiwgIjAuMDAwMDAwMSIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDEKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAyIiwgIjFlLTYiKS52YWx1ZSBp
cyAiMmUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAyIiwgIjFl
LTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMSIsICIwLjAwMDAwMDMiLCAiMWUtNiIpLnZhbHVlIGlzICIzZS03IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDMiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNCIsICIx
ZS02IikudmFsdWUgaXMgIjRlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAu
MDAwMDAwNCIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA1IiwgIjFlLTYiKS52YWx1ZSBpcyAiNWUtNyIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA1IiwgIjFlLTYiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIw
LjAwMDAwMDYiLCAiMWUtNiIpLnZhbHVlIGlzICI2ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMSIsICIwLjAwMDAwMDYiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA2
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNyIsICIxZS02IikudmFs
dWUgaXMgIjdlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNyIs
ICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDEiLCAiMC4wMDAwMDA4IiwgIjFlLTYiKS52YWx1ZSBpcyAiOGUtNyIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA4IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDki
LCAiMWUtNiIpLnZhbHVlIGlzICI5ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIs
ICIwLjAwMDAwMDkiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA5CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAxIiwgIjFlLTciKS52YWx1ZSBpcyAi
MWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDEiLCAiMWUt
NyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMiIsICIxZS03IikudmFsdWUgaXMgIjJlLTgiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAyIiwgIjFlLTciKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAw
MDMiLCAiMWUtNyIpLnZhbHVlIGlzICIzZS04IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMyIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAzCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA0IiwgIjFlLTciKS52YWx1
ZSBpcyAiNGUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDQi
LCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNSIsICIxZS03IikudmFsdWUgaXMgIjVlLTgiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA1IiwgIjFlLTciKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAu
MDAwMDAwMDYiLCAiMWUtNyIpLnZhbHVlIGlzICI2ZS04IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDEiLCAiMC4wMDAwMDAwNiIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA3IiwgIjFlLTci
KS52YWx1ZSBpcyAiN2UtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAw
MDAwMDciLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNworUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOCIsICIxZS03IikudmFsdWUgaXMgIjhlLTgi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA4IiwgIjFlLTciKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAx
IiwgIjAuMDAwMDAwMDkiLCAiMWUtNyIpLnZhbHVlIGlzICI5ZS04IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOSIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDEi
LCAiMWUtOCIpLnZhbHVlIGlzICIxZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAxIiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAxCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDIiLCAiMWUtOCIpLnZh
bHVlIGlzICIyZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAyIiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDMiLCAiMWUtOCIpLnZhbHVlIGlzICIzZS05
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAzIiwgIjFlLTgi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDQiLCAiMWUtOCIpLnZhbHVlIGlzICI0ZS05IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA0IiwgIjFlLTgiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDUiLCAiMWUtOCIpLnZhbHVlIGlzICI1ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA1IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDYiLCAi
MWUtOCIpLnZhbHVlIGlzICI2ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDA2IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA2CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDciLCAiMWUtOCIpLnZhbHVl
IGlzICI3ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA3
IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDgiLCAiMWUtOCIpLnZhbHVlIGlzICI4ZS05Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA4IiwgIjFlLTgiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDkiLCAiMWUtOCIpLnZhbHVlIGlzICI5ZS05IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA5IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMSIsICIxZS05IikudmFsdWUgaXMgIjFlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDEiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MiIsICIxZS05IikudmFsdWUgaXMgIjJlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDIiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMyIsICIx
ZS05IikudmFsdWUgaXMgIjNlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDMiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAzCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNCIsICIxZS05Iiku
dmFsdWUgaXMgIjRlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDQiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA0CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNSIsICIxZS05IikudmFsdWUg
aXMgIjVlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDUiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNiIsICIxZS05IikudmFsdWUgaXMgIjZl
LTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDYiLCAi
MWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNyIsICIxZS05IikudmFsdWUgaXMgIjdlLTEwIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDciLCAiMWUtOSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwOCIsICIxZS05IikudmFsdWUgaXMgIjhlLTEwIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDgiLCAiMWUtOSIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwOSIsICIxZS05IikudmFsdWUgaXMgIjllLTEwIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDkiLCAiMWUtOSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAxIiwgIjFlLTEwIikudmFsdWUgaXMgIjFlLTExIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMSIsICIxZS0xMCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMiIsICIxZS0xMCIpLnZhbHVlIGlzICIyZS0xMSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDIiLCAiMWUtMTAiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDMiLCAiMWUtMTAiKS52YWx1ZSBpcyAiM2UtMTEiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAzIiwgIjFlLTEwIikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDA0IiwgIjFlLTEwIikudmFsdWUgaXMgIjRlLTExIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNCIsICIxZS0xMCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwNSIsICIxZS0xMCIpLnZhbHVlIGlzICI1ZS0xMSIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDUiLCAiMWUtMTAiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDYiLCAiMWUtMTAiKS52YWx1ZSBpcyAiNmUtMTEiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA2IiwgIjFlLTEwIikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDA3IiwgIjFlLTEwIikudmFsdWUgaXMgIjdlLTExIgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNyIsICIxZS0xMCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwOCIsICIxZS0xMCIpLnZhbHVlIGlzICI4ZS0xMSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDgiLCAiMWUtMTAiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDkiLCAiMWUtMTAiKS52YWx1ZSBpcyAiOWUtMTEiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA5IiwgIjFlLTEwIikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDEiLCAiMWUtMTEiKS52YWx1ZSBpcyAiMWUtMTIiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDEiLCAiMWUtMTEi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDIiLCAiMWUtMTEiKS52YWx1ZSBpcyAiMmUtMTIi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDIiLCAi
MWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDMiLCAiMWUtMTEiKS52YWx1ZSBpcyAi
M2UtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDMiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAzCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDQiLCAiMWUtMTEiKS52YWx1
ZSBpcyAiNGUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDQiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA0CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDUiLCAiMWUtMTEi
KS52YWx1ZSBpcyAiNWUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDUiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA1
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDYiLCAi
MWUtMTEiKS52YWx1ZSBpcyAiNmUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMDYiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDciLCAiMWUtMTEiKS52YWx1ZSBpcyAiN2UtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDciLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDgiLCAiMWUtMTEiKS52YWx1ZSBpcyAiOGUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDgiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDkiLCAiMWUtMTEiKS52YWx1ZSBpcyAiOWUtMTIiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDkiLCAiMWUtMTEiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMSIsICIxZS0xMiIpLnZhbHVlIGlzICIxZS0xMyIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAxIiwgIjFlLTEy
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAyIiwgIjFlLTEyIikudmFsdWUgaXMgIjJl
LTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDIiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDMiLCAiMWUtMTIiKS52
YWx1ZSBpcyAiM2UtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDAwMyIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNCIs
ICIxZS0xMiIpLnZhbHVlIGlzICI0ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA0IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDA1IiwgIjFlLTEyIikudmFsdWUgaXMgIjVlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDUiLCAiMWUtMTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDYiLCAiMWUtMTIiKS52YWx1ZSBpcyAiNmUtMTMiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNiIsICIxZS0xMiIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNyIsICIxZS0xMiIpLnZhbHVlIGlzICI3ZS0x
MyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA3
IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDcKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA4IiwgIjFlLTEyIikudmFs
dWUgaXMgIjhlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDgiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwOAor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDkiLCAi
MWUtMTIiKS52YWx1ZSBpcyAiOWUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwOSIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAxIiwgIjFlLTEzIikudmFsdWUgaXMgIjFlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMSIsICIxZS0xMyIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMiIsICIxZS0xMyIpLnZhbHVlIGlzICIyZS0xNCIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDIiLCAi
MWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDMiLCAiMWUtMTMiKS52YWx1
ZSBpcyAiM2UtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDAzIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA0
IiwgIjFlLTEzIikudmFsdWUgaXMgIjRlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNCIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwNSIsICIxZS0xMyIpLnZhbHVlIGlzICI1ZS0xNCIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDUiLCAiMWUtMTMiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTMiKS52YWx1ZSBpcyAiNmUt
MTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDA2IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA2CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA3IiwgIjFlLTEz
IikudmFsdWUgaXMgIjdlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwNyIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDAwOCIsICIxZS0xMyIpLnZhbHVlIGlzICI4ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTMiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTMiKS52YWx1ZSBpcyAiOWUtMTQiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA5IiwgIjFl
LTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTQiKS52YWx1
ZSBpcyAiMWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDAwMDEiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAw
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwMDIiLCAiMWUtMTQiKS52YWx1ZSBpcyAiMmUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDIiLCAiMWUtMTQiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDMiLCAiMWUtMTQiKS52YWx1ZSBpcyAiM2UtMTUiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDMi
LCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDAzCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTQi
KS52YWx1ZSBpcyAiNGUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwMDUiLCAiMWUtMTQiKS52YWx1ZSBpcyAiNWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDUiLCAiMWUtMTQiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTQiKS52YWx1ZSBpcyAiNmUt
MTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwMDYiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA2CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDciLCAi
MWUtMTQiKS52YWx1ZSBpcyAiN2UtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDciLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTQiKS52YWx1ZSBpcyAiOGUtMTUiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTQi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTQiKS52YWx1ZSBp
cyAiOWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwMDkiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA5
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGlu
Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1ZjZiNjVhMzQ5NDI5NTlmMTZjMjY5NWZlNzg0YTRiOWM2YjVm
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3Jhbmdl
LXZhbHVlLXJvdW5kaW5nLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGlucHV0IGlkPSJmb28iIHR5cGU9cmFuZ2Ugc3RlcD0wLjEgdmFsdWU9MC42Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJzbGlkZXJzIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiPGEgaHJlZj0naHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODAwMDknPjgwMDA5IEludHJvZHVjZSBEZWNpbWFsIGFyaXRobWV0aWMgdG8gZml4
IHJvdW5kaW5nIGVycm9ycyBpbiBudW1iZXIvcmFuZ2UgaW5wdXQgdHlwZXM8L2E+Iik7CisKK2Z1
bmN0aW9uIGNyZWF0ZVNhbXBsZShzdGVwLCB2YWx1ZSwgbWF4KQoreworICAgIHZhciBjb250YWlu
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgY29udGFpbmVyLmlubmVy
SFRNTCA9ICc8aW5wdXQgdHlwZT1yYW5nZSBtaW49MCBtYXg9JyArIG1heCArICcgc3RlcD0nICsg
c3RlcCArICcgdmFsdWU9JyArIHZhbHVlICsgJz48YnI+JzsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2xpZGVycyIpLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisgICAgcmV0dXJuIGNv
bnRhaW5lci5maXJzdENoaWxkOworfQorCit2YXIgemVyb3MgPSAiMC4iOworZm9yICh2YXIgZXhw
b25lbnQgPSAwOyBleHBvbmVudCA8IDE1OyArK2V4cG9uZW50KSB7CisgICAgdmFyIHN0ZXAgPSB6
ZXJvcyArICIxIjsKKyAgICBmb3IgKHZhciBkaWdpdCA9IDE7IGRpZ2l0IDw9IDk7ICsrZGlnaXQp
IHsKKyAgICAgICAgdmFyIHZhbHVlID0gemVyb3MgKyBkaWdpdC50b1N0cmluZygpOworICAgICAg
ICB2YXIgc2FtcGxlID0gJ2NyZWF0ZVNhbXBsZSgiJyArIHN0ZXAgKyAnIiwgIicgKyB2YWx1ZSAr
ICciLCAiMWUtJyArIGV4cG9uZW50ICsgJyIpJzsKKyAgICAgICAgdmFyIHN0ZXBFeHBvbmVudCA9
IGV4cG9uZW50ICsgMTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKHNhbXBsZSArICcu
dmFsdWUnLCBzdGVwRXhwb25lbnQgPj0gNyA/IGRpZ2l0ICsgImUtIiArIHN0ZXBFeHBvbmVudCA6
IHZhbHVlKTsKKyAgICAgICAgc2hvdWxkQmUoc2FtcGxlICsgJy52YWx1ZUFzTnVtYmVyJywgdmFs
dWUpOworICAgIH0KKyAgICB6ZXJvcyArPSAiMCI7Cit9CisKKy8vIFJlbW92ZSBnZW5lcmF0ZWQg
c2xpZGVycy4KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXJzIikuaW5uZXJIVE1MID0g
IiI7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146522</attachid>
            <date>2012-06-08 02:37:24 -0700</date>
            <delta_ts>2012-06-08 05:17:20 -0700</delta_ts>
            <desc>Patch 6 - Update ChnageLog</desc>
            <filename>bug-88383-20120608183723.patch</filename>
            <type>text/plain</type>
            <size>69950</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFlMzY5ZWZiODM1NjQ5
NzZmYjAwNDU4NDc2ZTkzYWIyMWMxY2FmYS4uYTM3YzE4NmYwODZiYmE1OGMyN2ZhMDM2MmY4ZWVi
YWNiZTEyYTcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgdG8gSW5wdXROdW1iZXIuCisgICAgICAgICogaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUlucHV0VHlw
ZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgdG8g
SW5wdXROdW1iZXIuCisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5n
ZSk6IFJlcGxhY2VkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHRvIElucHV0TnVtYmVyLgorICAg
ICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6
cmFuZ2VVbmRlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUu
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpJbnB1dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6cGFyc2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpJbnB1dFR5cGU6OmFwcGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRU
eXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlw
ZS5oOgorICAgICAgICAoSW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2lt
YXBsUGxhY2VzLgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERl
Y2ltYWwgdHlwZS4KKyAgICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsTnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5k
ZXJTaXplLgorICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBU
aGlzIGZ1bmN0aW9uIHJlcGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAg
IChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9y
IERlY2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNo
b3VsZEluY2x1ZGVEZWNvcmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6
ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENo
YW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlw
ZTo6c2VyaWFsaXplKTogZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoK
KyAgICAgICAgKE51bWJlcklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNp
bWFwbFBsYWNlcy4KKyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBE
ZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5
ZG93bkV2ZW50KTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFy
c2VUb051bWJlcik6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNl
cmlhbGl6ZSk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBh
bmQgY2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdl
OjphY2NlcHRhYmxlRXJyb3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChX
ZWJDb3JlOjpTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTdGVwUmFuZ2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUg
YW5kIHN0ZDo6bWluL21heC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVw
KTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFs
UGxhY2VzLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFu
Z2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcik6IENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OmNvbnZlcnRJbnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBs
ZW1lbnRhdGlvbi4KKyAgICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoSW5wdXRO
dW1iZXIpOiBSZXBsYWNlbWVudCBvZiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcy4KKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6SW5wdXROdW1iZXI6OklucHV0TnVtYmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6cm91bmRCeVN0ZXApOiBBZGRlZCBmb3Igc2hhcmluZyBjb2Rl
LgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUu
CisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
ZWtJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNlcmlhbGl6ZUZvck51bWJlclR5cGUpOiBBZGRlZCBEZWNpbWFsIHZlcnNpb24uCisg
ICAgICAgIChXZWJDb3JlOjpwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUpOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6IFVwZGF0ZWQgY29tbWVudHMg
Zm9yIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlLgorICAgICAgICAqIGh0bWwvc2hhZG93L1Ns
aWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQb3NpdGlvbik6
IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKwogMjAxMi0wNi0wOCAgS2VudGFybyBIYXJhICA8
aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiByMTE5ODAyOiBSZW1v
dmUgdW5uZWNlc3NhcnkgQVNTRVJUKCFtX2RlbGV0aW9uSGFzQmVndW4pIGZyb20gRG9jdW1lbnQu
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3Bw
CmluZGV4IDczZTQ5OTIzYjA2MGI0NjM1MzhkZDgxMjhlZDc2ZjllMGNhYWU4MGQuLmM3NjYxOTQ1
MjI3ODljYjFiNDQ2ZDRhMjZkYjA3MDVkMWEzMmVlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCBi
b29sIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cGFyc2VUb0RhdGVDb21wb25lbnRzKGNvbnN0
IFN0cmluZyYgc291cmNlLCBEYXRlQwogCiBTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
OjpzZXJpYWxpemUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICgh
aXNmaW5pdGUodmFsdWUpKQorICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwogICAgIERhdGVDb21wb25lbnRzIGRhdGU7CiAgICAgaWYgKCFzZXRNaWxs
aXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoY29udmVydElucHV0TnVtYmVyVG9Eb3VibGUodmFsdWUp
LCAmZGF0ZSkpCkBAIC0xNDksOSArMTQ5LDkgQEAgU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZTo6c2VyaWFsaXplV2l0aENvbXBvbmVudHMoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGQKICAg
ICBJbnB1dE51bWJlciBzdGVwOwogICAgIGlmICghZWxlbWVudCgpLT5nZXRBbGxvd2VkVmFsdWVT
dGVwKCZzdGVwKSkKICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTsKLSAgICBpZiAoIWZt
b2Qoc3RlcCwgbXNlY1Blck1pbnV0ZSkpCisgICAgaWYgKHN0ZXAucmVtYWluZGVyKG1zZWNQZXJN
aW51dGUpLmlzWmVybygpKQogICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9u
ZW50czo6Tm9uZSk7Ci0gICAgaWYgKCFmbW9kKHN0ZXAsIG1zZWNQZXJTZWNvbmQpKQorICAgIGlm
IChzdGVwLnJlbWFpbmRlcihtc2VjUGVyU2Vjb25kKS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJu
IGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6OlNlY29uZCk7CiAgICAgcmV0dXJuIGRhdGUu
dG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6Ok1pbGxpc2Vjb25kKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDdlNjNkODI3MWJjMDgyNjk0ZTczOTQ5ZTEzOThhYWNm
NzA2YmI0NzIuLjEwNDQ0N2VhNWE2NmFjMWU2MGE4MGIzMTM5YzVkNWNmNzQyOGJhZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtNzYsNyArNzYsNyBAQCBTdGVwUmFu
Z2UgRGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVw
SGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJzZVRv
TnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7CiAgICAgY29u
c3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9u
ZW50czo6bWluaW11bURhdGUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBw
YXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVy
dERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1EYXRlKCkpKTsKLSAg
ICBjb25zdCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAgPSBTdGVwUmFu
Z2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3Rl
cFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24p
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDkw
ZGM2Y2JkZWNjMmMyZGYzNTk3OTMwMDExZDAzY2YwNTZhZjJhODAuLmNkM2NhNzk3MjUwYWVkMTRk
YzY5NWM0NjI2YmMyZWFhMjZkMmI5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJ
bnB1dFR5cGUuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFN0ZXBSYW5nZSBEYXRlVGltZUlucHV0VHlw
ZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvCiAg
ICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2UgPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+
ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgMCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWlu
aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIp
LCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGVU
aW1lKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0
TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0ZVRpbWUoKSkpOwotICAgIGNvbnN0IFN0
ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VT
dGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwID0gU3RlcFJh
bmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3Rl
cEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCmluZGV4IDAw
Y2RlMmQ3NjA3ZDM5NzA2NWYwODQ0ZTRiOGE4OWI2YmM3YzdjYWYuLjE2NGFiMDQxMDVhMGFkYzJm
MGRjYjFkNTM0ZWFhMzhlNGIxNGJlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtODAsNyArODAsNyBAQCBTdGVwUmFuZ2UgRGF0ZVRp
bWVMb2NhbElucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVw
SGFuZGxpbgogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0
TnVtYmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShtaW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1p
bmltdW1EYXRlVGltZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNl
VG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91
YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bURhdGVUaW1lKCkpKTsKLSAg
ICBjb25zdCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAgPSBTdGVwUmFu
Z2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3Rl
cFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24p
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggZTIzZjkyZThkOTkyYzZmZDg3
YTcwN2JiZjM3NjIxZGMwZWJjOTI2Ny4uOWJiNjAyOTZjOGVmNjI0OWE2YWQwZjI2NTAzMDlhMDE4
OTFiOTYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBA
IGJvb2wgSW5wdXRUeXBlOjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25z
dAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBudW1lcmlj
VmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFsdWUpOwotICAgIGlmIChpc25hbihudW1lcmlj
VmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIHJldHVybiBudW1lcmljVmFsdWUgPCBjcmVhdGVTdGVwUmFuZ2UoUmVq
ZWN0QW55KS5taW5pbXVtKCk7CkBAIC0yNjksNyArMjY5LDcgQEAgYm9vbCBJbnB1dFR5cGU6OnJh
bmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJl
ck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51
bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1
cm4gbnVtZXJpY1ZhbHVlID4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkubWF4aW11bSgpOwpA
QCAtMzAyLDcgKzMwMiw3IEBAIGJvb2wgSW5wdXRUeXBlOjppc0luUmFuZ2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXRO
dW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAo
aXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3Rl
cFJhbmdlKFJlamVjdEFueSkpOwpAQCAtMzE1LDcgKzMxNSw3IEBAIGJvb2wgSW5wdXRUeXBlOjpp
c091dE9mUmFuZ2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFyc2VUb051bWJl
ck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51
bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFN0ZXBS
YW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwpAQCAtMzI4LDcgKzMy
OCw3IEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVt
ZXJpY1ZhbHVlID0gcGFyc2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVt
ZXJpY1ZhbHVlKSkKKyAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkuc3Rl
cE1pc21hdGNoKG51bWVyaWNWYWx1ZSk7CkBAIC0zNjYsNyArMzY2LDcgQEAgU3RyaW5nIElucHV0
VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgICAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1i
ZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFu
dW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAK
ICAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKQEAg
LTQ2NiwxNCArNDY2LDcgQEAgSW5wdXROdW1iZXIgSW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyKGNv
bnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZhdWx0VmEKIAogSW5wdXROdW1iZXIg
SW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyT3JOYU4oY29uc3QgU3RyaW5nJiBzdHJpbmcpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHBhcnNlVG9OdW1iZXIoc3RyaW5nLCBudW1lcmljX2xpbWl0czxJbnB1
dE51bWJlcj46OnF1aWV0X05hTigpKTsKLX0KLQotSW5wdXROdW1iZXIgSW5wdXRUeXBlOjpwYXJz
ZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiBzcmMsIGNvbnN0IElucHV0
TnVtYmVyJiBkZWZhdWx0VmFsdWUsIHVuc2lnbmVkICpkZWNpbWFsUGxhY2VzKSBjb25zdAotewot
ICAgIGlmIChkZWNpbWFsUGxhY2VzKQotICAgICAgICAqZGVjaW1hbFBsYWNlcyA9IDA7Ci0gICAg
cmV0dXJuIHBhcnNlVG9OdW1iZXIoc3JjLCBkZWZhdWx0VmFsdWUpOworICAgIHJldHVybiBwYXJz
ZVRvTnVtYmVyKHN0cmluZywgRGVjaW1hbDo6bmFuKCkpOwogfQogCiBib29sIElucHV0VHlwZTo6
cGFyc2VUb0RhdGVDb21wb25lbnRzKGNvbnN0IFN0cmluZyYsIERhdGVDb21wb25lbnRzKikgY29u
c3QKQEAgLTg4NiwxNSArODc5LDEzIEBAIHZvaWQgSW5wdXRUeXBlOjphcHBseVN0ZXAoaW50IGNv
dW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBUZXh0RmllbGRFCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgdW5zaWduZWQgY3VycmVudERlY2ltYWxQbGFjZXM7
Ci0gICAgY29uc3QgSW5wdXROdW1iZXIgY3VycmVudCA9IHBhcnNlVG9OdW1iZXJXaXRoRGVjaW1h
bFBsYWNlcyhlbGVtZW50KCktPnZhbHVlKCksIG5hbiwgJmN1cnJlbnREZWNpbWFsUGxhY2VzKTsK
LSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgY29uc3QgSW5wdXROdW1iZXIgY3Vy
cmVudCA9IHBhcnNlVG9OdW1iZXJPck5hTihlbGVtZW50KCktPnZhbHVlKCkpOworICAgIGlmICgh
Y3VycmVudC5pc0Zpbml0ZSgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBjdXJyZW50
ICsgc3RlcFJhbmdlLnN0ZXAoKSAqIGNvdW50OwotICAgIGlmIChpc2luZihuZXdWYWx1ZSkpIHsK
KyAgICBpZiAoIW5ld1ZhbHVlLmlzRmluaXRlKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTkwOSw3ICs5MDAsNyBAQCB2b2lk
IElucHV0VHlwZTo6YXBwbHlTdGVwKGludCBjb3VudCwgQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBI
YW5kbGluZywgVGV4dEZpZWxkRQogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGVwU3RyaW5n
ID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKTsKICAgICBpZiAoIWVxdWFs
SWdub3JpbmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkKLSAgICAgICAgbmV3VmFsdWUgPSBzdGVw
UmFuZ2UuYWxpZ25WYWx1ZUZvclN0ZXAoY3VycmVudCwgY3VycmVudERlY2ltYWxQbGFjZXMsIG5l
d1ZhbHVlKTsKKyAgICAgICAgbmV3VmFsdWUgPSBzdGVwUmFuZ2UuYWxpZ25WYWx1ZUZvclN0ZXAo
Y3VycmVudCwgbmV3VmFsdWUpOwogCiAgICAgaWYgKG5ld1ZhbHVlIC0gc3RlcFJhbmdlLm1heGlt
dW0oKSA+IGFjY2VwdGFibGVFcnJvclZhbHVlKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7CkBAIC0xMDA5LDcgKzEwMDAsNyBAQCB2b2lkIElucHV0VHlwZTo6c3RlcFVwRnJvbVJl
bmRlcmVyKGludCBuKQogCiAgICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9IGVsZW1lbnQo
KS0+dmFsdWUoKTsKICAgICBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFO
KGN1cnJlbnRTdHJpbmdWYWx1ZSk7Ci0gICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50KSkgeworICAg
IGlmICghY3VycmVudC5pc0Zpbml0ZSgpKSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAg
ICAgICAgIGN1cnJlbnQgPSBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKTsKICAgICAgICAgY29uc3Qg
SW5wdXROdW1iZXIgbmV4dERpZmYgPSBzdGVwICogbjsKQEAgLTEwMjUsMTUgKzEwMTYsMTMgQEAg
dm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKICAgICB9IGVsc2Ugewog
ICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgICAgICBpZiAoc3RlcE1pc21hdGNoKGVsZW1l
bnQoKS0+dmFsdWUoKSkpIHsKLSAgICAgICAgICAgIEFTU0VSVChzdGVwKTsKLSAgICAgICAgICAg
IGNvbnN0IElucHV0TnVtYmVyIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0PElucHV0TnVt
YmVyPihtYXgoc3RlcFJhbmdlLnN0ZXBEZWNpbWFsUGxhY2VzKCksIHN0ZXBSYW5nZS5zdGVwQmFz
ZURlY2ltYWxQbGFjZXMoKSkpKTsKLSAgICAgICAgICAgIGNvbnN0IElucHV0TnVtYmVyIGJhc2Ug
PSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKTsKLQotICAgICAgICAgICAgSW5wdXROdW1iZXIgbmV3VmFs
dWU7CisgICAgICAgICAgICBBU1NFUlQoIXN0ZXAuaXNaZXJvKCkpOworICAgICAgICAgICAgY29u
c3QgRGVjaW1hbCBiYXNlID0gc3RlcFJhbmdlLnN0ZXBCYXNlKCk7CisgICAgICAgICAgICBEZWNp
bWFsIG5ld1ZhbHVlOwogICAgICAgICAgICAgaWYgKHNpZ24gPCAwKQotICAgICAgICAgICAgICAg
IG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBmbG9vcigoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkg
KiBzdGVwKSAqIHNjYWxlKSAvIHNjYWxlOworICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gYmFz
ZSArICgoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkuZmxvb3IoKSAqIHN0ZXA7CiAgICAgICAgICAg
ICBlbHNlIGlmIChzaWduID4gMCkKLSAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChi
YXNlICsgY2VpbCgoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNj
YWxlOworICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gYmFzZSArICgoY3VycmVudCAtIGJhc2Up
IC8gc3RlcCkuY2VpbGluZygpICogc3RlcDsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICBuZXdWYWx1ZSA9IGN1cnJlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IDc2
ZWJkNDg2NDc4M2M0Y2UzZTEwOGU5Mzg5MDYyMzY2MDQxMWMwNWMuLmI2YjliNzg4MjJhZGQ3NTA1
ZGZiYzdmYWZkYmIzMjdiMjkzN2EwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMjY2
LDExICsyNjYsNiBAQCBwdWJsaWM6CiAgICAgLy8gcmV0dXJuIE5hTiBvciBJbmZpbml0eSBvbmx5
IGlmIGRlZmF1bHRWYWx1ZSBpcyBOYU4gb3IgSW5maW5pdHkuCiAgICAgdmlydHVhbCBJbnB1dE51
bWJlciBwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZh
dWx0VmFsdWUpIGNvbnN0OwogCi0gICAgLy8gUGFyc2VzIHRoZSBzcGVjaWZpZWQgc3RyaW5nIGZv
ciB0aGUgdHlwZSBhcyBwYXJzZVRvTnVtYmVyKCkgZG9lcy4KLSAgICAvLyBJbiBhZGRpdGlvbiwg
aXQgc3RvcmVzIHRoZSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50Ci0g
ICAgLy8gaW50byAqZGVjaW1hbFBsYWNlcy4KLSAgICB2aXJ0dWFsIElucHV0TnVtYmVyIHBhcnNl
VG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51bWJl
ciYgZGVmYXVsdFZhbHVlLCB1bnNpZ25lZCogZGVjaW1hbFBsYWNlcykgY29uc3Q7Ci0KICAgICAv
LyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcgZm9yIHRoaXMgSW5wdXRUeXBlLCBhbmQgcmV0
dXJucyB0cnVlIGlmIGl0CiAgICAgLy8gaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4gQW4gaW5zdGFu
Y2UgcG9pbnRlZCBieSB0aGUgRGF0ZUNvbXBvbmVudHMqCiAgICAgLy8gcGFyYW1ldGVyIHdpbGwg
aGF2ZSBwYXJzZWQgdmFsdWVzIGFuZCBiZSBtb2RpZmllZCBldmVuIGlmIHRoZSBwYXJzaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IGJkMTA0OTE0M2U5MGE1MDVl
OWViZGY4ZTRjZmM1NjFhYjFlMzIwOTMuLmExMWE3MzUxYmU5ZjdmYTc1ZGQyZjk4YjEwZmE5YjQ3
MWNjZmQ4YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCkBAIC0xMDQs
NyArMTA0LDcgQEAgU3RlcFJhbmdlIE1vbnRoSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55
U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJl
ciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1p
bkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWluaW11
bU1vbnRoKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJl
cihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lu
cHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSkpOwogICAgIGNvbnN0IElu
cHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6
Om1heGltdW1Nb250aCgpKSk7Ci0gICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVw
RGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAg
IGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFu
ZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBB
dHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwg
c3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1
dFR5cGUuY3BwCmluZGV4IDU3ZmNhZmMxOWFmZmE5YTE4MGEyYTNiZjQ0MjE2Y2MwMDY1MzM1Yjku
LjY2YWYyYjYwMWQ4ZGEwOGI4NzI5MGNiYWI1MzFkY2VkMzYwZjhkZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTU0LDE5ICs1NCw0NCBAQCBzdGF0aWMgY29u
c3QgaW50IG51bWJlckRlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyRGVm
YXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgbnVtYmVyU3RlcFNjYWxlRmFjdG9y
ID0gMTsKIAotc3RhdGljIHVuc2lnbmVkIGxlbmd0aEJlZm9yZURlY2ltYWxQb2ludChkb3VibGUg
dmFsdWUpCitzdHJ1Y3QgUmVhbE51bWJlclJlbmRlclNpemUKIHsKLSAgICAvLyBJZiB2YWx1ZSBp
cyBuZWdhdGl2ZSwgJy0nIHNob3VsZCBiZSBjb3VudGVkLgorICAgIHVuc2lnbmVkIHNpemVCZWZv
cmVEZWNpbWFsUG9pbnQ7CisgICAgdW5zaWduZWQgc2l6ZUFmdGVEZWNpbWFsUG9pbnQ7CiAKLSAg
ICBkb3VibGUgYWJzb2x1dGVWYWx1ZSA9IGZhYnModmFsdWUpOwotICAgIGlmIChhYnNvbHV0ZVZh
bHVlIDwgMSkKLSAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IDIgOiAxOworICAgIFJlYWxOdW1i
ZXJSZW5kZXJTaXplKHVuc2lnbmVkIGJlZm9yZSwgdW5zaWduZWQgYWZ0ZXIpCisgICAgICAgIDog
c2l6ZUJlZm9yZURlY2ltYWxQb2ludChiZWZvcmUpCisgICAgICAgICwgc2l6ZUFmdGVEZWNpbWFs
UG9pbnQoYWZ0ZXIpCisgICAgeworICAgIH0KIAotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihsb2cxMChmbG9vcihhYnNvbHV0ZVZhbHVlKSkpICsgMTsKLSAgICBp
ZiAodmFsdWUgPCAwKQotICAgICAgICBsZW5ndGggKz0gMTsKKyAgICBSZWFsTnVtYmVyUmVuZGVy
U2l6ZSBtYXgoY29uc3QgUmVhbE51bWJlclJlbmRlclNpemUmIG90aGVyKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXplKAorICAgICAgICAgICAgc3RkOjpt
YXgoc2l6ZUJlZm9yZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUJlZm9yZURlY2ltYWxQb2ludCks
CisgICAgICAgICAgICBzdGQ6Om1heChzaXplQWZ0ZURlY2ltYWxQb2ludCwgb3RoZXIuc2l6ZUFm
dGVEZWNpbWFsUG9pbnQpKTsKKyAgICB9Cit9OwogCi0gICAgcmV0dXJuIGxlbmd0aDsKK3N0YXRp
YyBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBjYWxjdWxhdGVSZW5kZXJTaXplKGNvbnN0IERlY2ltYWwm
IHZhbHVlKQoreworICAgIEFTU0VSVCh2YWx1ZS5pc0Zpbml0ZSgpKTsKKyAgICBjb25zdCB1bnNp
Z25lZCBzaXplT2ZEaWdpdHMgPSBTdHJpbmc6Om51bWJlcih2YWx1ZS52YWx1ZSgpLmNvZWZmaWNp
ZW50KCkpLmxlbmd0aCgpOworICAgIGNvbnN0IHVuc2lnbmVkIHNpemVPZlNpZ24gPSB2YWx1ZS5p
c05lZ2F0aXZlKCkgPyAxIDogMDsKKyAgICBjb25zdCBpbnQgZXhwb25lbnQgPSB2YWx1ZS5leHBv
bmVudCgpOworICAgIGlmIChleHBvbmVudCA+PSAwKQorICAgICAgICByZXR1cm4gUmVhbE51bWJl
clJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZkRpZ2l0cywgMCk7CisKKyAgICBjb25zdCBp
bnQgc2l6ZUJlZm9yZURlY2ltYWxQb2ludCA9IGV4cG9uZW50ICsgc2l6ZU9mRGlnaXRzOworICAg
IGlmIChzaXplQmVmb3JlRGVjaW1hbFBvaW50ID4gMCkgeworICAgICAgICAvLyBJbiBjYXNlIG9m
ICIxMjMuNDU2IgorICAgICAgICByZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2ln
biArIHNpemVCZWZvcmVEZWNpbWFsUG9pbnQsIHNpemVPZkRpZ2l0cyAtIHNpemVCZWZvcmVEZWNp
bWFsUG9pbnQpOworICAgIH0KKworICAgIC8vIEluIGNhc2Ugb2YgIjAuMDAwMTIzNDUiCisgICAg
Y29uc3QgdW5zaWduZWQgc2l6ZU9mWmVybyA9IDE7CisgICAgY29uc3QgdW5zaWduZWQgbnVtYmVy
T2ZaZXJvQWZ0ZXJEZWNpbWFsUG9pbnQgPSAtc2l6ZUJlZm9yZURlY2ltYWxQb2ludDsKKyAgICBy
ZXR1cm4gUmVhbE51bWJlclJlbmRlclNpemUoc2l6ZU9mU2lnbiArIHNpemVPZlplcm8gLCBudW1i
ZXJPZlplcm9BZnRlckRlY2ltYWxQb2ludCArIHNpemVPZkRpZ2l0cyk7CiB9CiAKIFBhc3NPd25Q
dHI8SW5wdXRUeXBlPiBOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KQpAQCAtMTI4LDE2ICsxNTMsMTIgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5cGVN
aXNtYXRjaCgpIGNvbnN0CiBTdGVwUmFuZ2UgTnVtYmVySW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFu
Z2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykgY29uc3QKIHsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0ZXBSYW5nZTo6U3RlcERlc2NyaXB0aW9uLCBzdGVwRGVzY3Jp
cHRpb24sIChudW1iZXJEZWZhdWx0U3RlcCwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlLCBudW1iZXJT
dGVwU2NhbGVGYWN0b3IpKTsKLQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNlczsK
LSAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZVZhbHVlID0gcGFyc2VUb051bWJlcldpdGhE
ZWNpbWFsUGxhY2VzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgbnVtYmVy
RGVmYXVsdFN0ZXBCYXNlLCAmc3RlcEJhc2VEZWNpbWFsUGxhY2VzKTsKLSAgICBTdGVwUmFuZ2U6
Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXBCYXNlKHN0ZXBCYXNlVmFsdWUsIG1pbihzdGVw
QmFzZURlY2ltYWxQbGFjZXMsIDE2dSkpOwotCisgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJh
c2UgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKG1pbkF0dHIpLCBudW1iZXJEZWZhdWx0U3RlcEJhc2UpOwogICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgdXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0IHR5
cGUuCiAgICAgY29uc3QgSW5wdXROdW1iZXIgZmxvYXRNYXggPSBjb252ZXJ0RG91YmxlVG9JbnB1
dE51bWJlcihudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKICAgICBjb25zdCBJbnB1dE51
bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
bWluQXR0ciksIC1mbG9hdE1heCk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBh
cnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBmbG9hdE1h
eCk7Ci0gICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBzdGVwID0g
U3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0IElucHV0TnVt
YmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNj
cmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0
dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2Ny
aXB0aW9uKTsKIH0KIApAQCAtMTQ1LDQ2ICsxNjYsMjUgQEAgYm9vbCBOdW1iZXJJbnB1dFR5cGU6
OnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihpbnQgZGVmYXVsdFNpemUsIGludCYgcHJlZmVy
cmUKIHsKICAgICBwcmVmZXJyZWRTaXplID0gZGVmYXVsdFNpemU7CiAKLSAgICB1bnNpZ25lZCBt
aW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgU3RyaW5nIG1pblZhbHVlID0gZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpOwotICAgIGRvdWJsZSBtaW5WYWx1ZURvdWJsZSA9IHBh
cnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWluVmFsdWUsICZtaW5W
YWx1ZURlY2ltYWxQbGFjZXMpOwotICAgIGlmICghaXNmaW5pdGUobWluVmFsdWVEb3VibGUpKQor
ICAgIGNvbnN0IFN0cmluZyBzdGVwU3RyaW5nID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KHN0ZXBBdHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB1bnNpZ25lZCBtYXhWYWx1ZURlY2ltYWxQ
bGFjZXM7Ci0gICAgU3RyaW5nIG1heFZhbHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KG1heEF0dHIpOwotICAgIGRvdWJsZSBtYXhWYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JO
dW1iZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMobWF4VmFsdWUsICZtYXhWYWx1ZURlY2ltYWxQbGFj
ZXMpOwotICAgIGlmICghaXNmaW5pdGUobWF4VmFsdWVEb3VibGUpKQorICAgIGNvbnN0IERlY2lt
YWwgbWluaW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVtZW50KCktPmZhc3RH
ZXRBdHRyaWJ1dGUobWluQXR0cikpOworICAgIGlmICghbWluaW11bS5pc0Zpbml0ZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobWF4VmFsdWVEb3VibGUgPCBtaW5WYWx1ZURv
dWJsZSkgewotICAgICAgICBtYXhWYWx1ZURvdWJsZSA9IG1pblZhbHVlRG91YmxlOwotICAgICAg
ICBtYXhWYWx1ZURlY2ltYWxQbGFjZXMgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIHN0ZXBWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVw
QXR0cik7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBWYWx1ZSwgImFueSIpKQorICAg
IGNvbnN0IERlY2ltYWwgbWF4aW11bSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0cikpOworICAgIGlmICghbWF4aW11bS5pc0Zp
bml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdW5zaWduZWQgc3RlcFZhbHVlRGVj
aW1hbFBsYWNlczsKLSAgICBkb3VibGUgc3RlcFZhbHVlRG91YmxlID0gcGFyc2VUb0RvdWJsZUZv
ck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwVmFsdWUsICZzdGVwVmFsdWVEZWNpbWFs
UGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKHN0ZXBWYWx1ZURvdWJsZSkpIHsKLSAgICAgICAg
c3RlcFZhbHVlRG91YmxlID0gMTsKLSAgICAgICAgc3RlcFZhbHVlRGVjaW1hbFBsYWNlcyA9IDA7
Ci0gICAgfQogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gbGVuZ3RoQmVmb3JlRGVjaW1hbFBvaW50
KG1pblZhbHVlRG91YmxlKTsKLSAgICBsZW5ndGggPSBtYXgobGVuZ3RoLCBsZW5ndGhCZWZvcmVE
ZWNpbWFsUG9pbnQobWF4VmFsdWVEb3VibGUpKTsKLSAgICBsZW5ndGggPSBtYXgobGVuZ3RoLCBs
ZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQoc3RlcFZhbHVlRG91YmxlKSk7CisgICAgY29uc3QgRGVj
aW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0ZXBTdHJpbmcsIDEpOwor
ICAgIEFTU0VSVChzdGVwLmlzRmluaXRlKCkpOwogCi0gICAgdW5zaWduZWQgbGVuZ3RoQWZ0ZXJE
ZWNpbWFsUG9pbnQgPSBtaW5WYWx1ZURlY2ltYWxQbGFjZXM7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNp
bWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQsIG1heFZhbHVlRGVjaW1hbFBs
YWNlcyk7Ci0gICAgbGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPSBtYXgobGVuZ3RoQWZ0ZXJEZWNp
bWFsUG9pbnQsIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMpOworICAgIFJlYWxOdW1iZXJSZW5kZXJT
aXplIHNpemUgPSBjYWxjdWxhdGVSZW5kZXJTaXplKG1pbmltdW0pLm1heChjYWxjdWxhdGVSZW5k
ZXJTaXplKG1heGltdW0pLm1heChjYWxjdWxhdGVSZW5kZXJTaXplKHN0ZXApKSk7CiAKLSAgICAv
LyAnLicgc2hvdWxkIGJlIGNvdW50ZWQgaWYgdGhlIHZhbHVlIGhhcyBkZWNpbWFsIHBsYWNlcy4K
LSAgICBpZiAobGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgPiAwKQotICAgICAgICBsZW5ndGggKz0g
bGVuZ3RoQWZ0ZXJEZWNpbWFsUG9pbnQgKyAxOworICAgIHByZWZlcnJlZFNpemUgPSBzaXplLnNp
emVCZWZvcmVEZWNpbWFsUG9pbnQgKyBzaXplLnNpemVBZnRlRGVjaW1hbFBvaW50ICsgKHNpemUu
c2l6ZUFmdGVEZWNpbWFsUG9pbnQgPyAxIDogMCk7CiAKLSAgICBwcmVmZXJyZWRTaXplID0gbGVu
Z3RoOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDcsMTkgKzIwNywxMiBAQCB2b2lkIE51
bWJlcklucHV0VHlwZTo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KiBldmVudCkKIAogSW5w
dXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyKGNvbnN0IFN0cmluZyYgc3Jj
LCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBjb25zdAogewotICAgIHJldHVybiBj
b252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzcmMs
IGRlZmF1bHRWYWx1ZSkpOwotfQotCi1JbnB1dE51bWJlciBOdW1iZXJJbnB1dFR5cGU6OnBhcnNl
VG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5wdXRO
dW1iZXImIGRlZmF1bHRWYWx1ZSwgdW5zaWduZWQgKmRlY2ltYWxQbGFjZXMpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKHBhcnNlVG9Eb3VibGVGb3JOdW1i
ZXJUeXBlV2l0aERlY2ltYWxQbGFjZXMoc3JjLCBkZWNpbWFsUGxhY2VzLCBkZWZhdWx0VmFsdWUp
KTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywgZGVmYXVsdFZh
bHVlKTsKIH0KIAogU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2VyaWFsaXplKGNvbnN0IElucHV0
TnVtYmVyJiB2YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKLSAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKHZh
bHVlKTsKKyAgICByZXR1cm4gdmFsdWUuaXNGaW5pdGUoKSA/IHNlcmlhbGl6ZUZvck51bWJlclR5
cGUodmFsdWUpIDogU3RyaW5nKCk7CiB9CiAKIHZvaWQgTnVtYmVySW5wdXRUeXBlOjpoYW5kbGVC
bHVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKaW5kZXggYWRhZTFk
MjYxZjZlMjZiZWYzNzFkMWQxY2UyMzFkMmVkMTRhYTJiOC4uYmNlZGM5NjA5OGU2ZWY4ZmExZjQ3
NDZkMDYwMmE1YzY3NzQ4ZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1i
ZXJJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5o
CkBAIC01Myw3ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRv
d25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgSW5wdXROdW1i
ZXIgcGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51bWJlciYpIGNvbnN0
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJlcldpdGhEZWNp
bWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVyJiwgdW5zaWduZWQqKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemUoY29uc3QgSW5wdXRO
dW1iZXImKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQmx1ckV2ZW50
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVWYWx1ZShjb25zdCBTdHJp
bmcmKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAK
aW5kZXggNWQ4ZTU2OWJmYTk1OTFiODVhMzUwMWNmYjUyOGIyOGZkMTIyYTUwNi4uMjFiMmZjYTc0
YzdlODdhYzk4ZDA2NzljODI2NGM4OGMzZGFiODc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5n
ZUlucHV0VHlwZS5jcHAKQEAgLTEwNCwxMSArMTA0LDExIEBAIFN0ZXBSYW5nZSBSYW5nZUlucHV0
VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcpIGNv
bnN0CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHByZWNpc2lvblZhbHVlID0gZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHByZWNpc2lvbkF0dHIpOwogICAgIGlmICghcHJlY2lzaW9uVmFs
dWUuaXNOdWxsKCkpIHsKLSAgICAgICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1h
bFBsYWNlcyBzdGVwKGVxdWFsSWdub3JpbmdDYXNlKHByZWNpc2lvblZhbHVlLCAiZmxvYXQiKSA/
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgOiAxKTsKKyAgICAgICAg
Y29uc3QgSW5wdXROdW1iZXIgc3RlcCA9IGVxdWFsSWdub3JpbmdDYXNlKHByZWNpc2lvblZhbHVl
LCAiZmxvYXQiKSA/IERlY2ltYWw6Om5hbigpIDogMTsKICAgICAgICAgcmV0dXJuIFN0ZXBSYW5n
ZShtaW5pbXVtLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogICAg
IH0KIAotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCA9
IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1dE51
bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVz
Y3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJl
dHVybiBTdGVwUmFuZ2UobWluaW11bSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2Ny
aXB0aW9uKTsKIH0KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6Omhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBjb25zdCBTdHJpbmcm
IGtleSA9IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CiAKICAgICBjb25zdCBJbnB1dE51bWJlciBj
dXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7Ci0gICAgQVNT
RVJUKGlzZmluaXRlKGN1cnJlbnQpKTsKKyAgICBBU1NFUlQoY3VycmVudC5pc0Zpbml0ZSgpKTsK
IAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOwog
CkBAIC0yMTUsMTQgKzIxNSwxMiBAQCBSZW5kZXJPYmplY3QqIFJhbmdlSW5wdXRUeXBlOjpjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikgYwogCiBJbnB1dE51
bWJlciBSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmIHNyYywgY29u
c3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY29udmVy
dERvdWJsZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoc3JjLCBkZWZh
dWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHNyYywg
ZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUoY29u
c3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICghaXNmaW5pdGUodmFsdWUp
KQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJl
clR5cGUodmFsdWUpOworICAgIHJldHVybiB2YWx1ZS5pc0Zpbml0ZSgpID8gc2VyaWFsaXplRm9y
TnVtYmVyVHlwZSh2YWx1ZSkgOiBTdHJpbmcoKTsKIH0KIAogLy8gRklYTUU6IENvdWxkIHNoYXJl
IHRoaXMgd2l0aCBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSBhbmQgQmFzZUNoZWNrYWJs
ZUlucHV0VHlwZSBpZiB3ZSBoYWQgYSBjb21tb24gYmFzZSBjbGFzcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmNwcAppbmRleCA4OGViYzk1ZTc3ZWZjZTJkZTE3MzlkODY1MTc4YTQ0OTIyNmEzODlm
Li40ZjM5YWYwMjA3NWQ2MDY3NTUwNzljNDk3ZDRhNWZhY2ViODdiZjQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuY3BwCkBAIC0yNCwxMCArMjQsOSBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgorI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTM3LDggKzM2LDYgQEAgU3RlcFJhbmdlOjpTdGVw
UmFuZ2UoKQogICAgICwgbV9taW5pbXVtKDApCiAgICAgLCBtX3N0ZXAoMSkKICAgICAsIG1fc3Rl
cEJhc2UoMCkKLSAgICAsIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKDApCi0gICAgLCBtX3N0ZXBE
ZWNpbWFsUGxhY2VzKDApCiAgICAgLCBtX2hhc1N0ZXAoZmFsc2UpCiB7CiB9CkBAIC00OSw1MyAr
NDYsNDMgQEAgU3RlcFJhbmdlOjpTdGVwUmFuZ2UoY29uc3QgU3RlcFJhbmdlJiBzdGVwUmFuZ2Up
CiAgICAgLCBtX3N0ZXAoc3RlcFJhbmdlLm1fc3RlcCkKICAgICAsIG1fc3RlcEJhc2Uoc3RlcFJh
bmdlLm1fc3RlcEJhc2UpCiAgICAgLCBtX3N0ZXBEZXNjcmlwdGlvbihzdGVwUmFuZ2UubV9zdGVw
RGVzY3JpcHRpb24pCi0gICAgLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcyhzdGVwUmFuZ2UubV9z
dGVwQmFzZURlY2ltYWxQbGFjZXMpCi0gICAgLCBtX3N0ZXBEZWNpbWFsUGxhY2VzKHN0ZXBSYW5n
ZS5tX3N0ZXBEZWNpbWFsUGxhY2VzKQogICAgICwgbV9oYXNTdGVwKHN0ZXBSYW5nZS5tX2hhc1N0
ZXApCiB7CiB9CiAKLVN0ZXBSYW5nZTo6U3RlcFJhbmdlKGNvbnN0IE51bWJlcldpdGhEZWNpbWFs
UGxhY2VzJiBzdGVwQmFzZSwgY29uc3QgSW5wdXROdW1iZXImIG1pbmltdW0sIGNvbnN0IElucHV0
TnVtYmVyJiBtYXhpbXVtLCBjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyYgc3RlcCwgY29u
c3QgU3RlcERlc2NyaXB0aW9uJiBzdGVwRGVzY3JpcHRpb24pCitTdGVwUmFuZ2U6OlN0ZXBSYW5n
ZShjb25zdCBJbnB1dE51bWJlciYgc3RlcEJhc2UsIGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVt
LCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgSW5wdXROdW1iZXImIHN0ZXAsIGNv
bnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQogICAgIDogbV9tYXhpbXVtKG1h
eGltdW0pCiAgICAgLCBtX21pbmltdW0obWluaW11bSkKLSAgICAsIG1fc3RlcChpc2Zpbml0ZShz
dGVwLnZhbHVlKSA/IHN0ZXAudmFsdWUgOiAxKQotICAgICwgbV9zdGVwQmFzZShpc2Zpbml0ZShz
dGVwQmFzZS52YWx1ZSkgPyBzdGVwQmFzZS52YWx1ZSA6IDEpCisgICAgLCBtX3N0ZXAoc3RlcC5p
c0Zpbml0ZSgpID8gc3RlcCA6IDEpCisgICAgLCBtX3N0ZXBCYXNlKHN0ZXBCYXNlLmlzRmluaXRl
KCkgPyBzdGVwQmFzZSA6IDEpCiAgICAgLCBtX3N0ZXBEZXNjcmlwdGlvbihzdGVwRGVzY3JpcHRp
b24pCi0gICAgLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcyhzdGVwQmFzZS5kZWNpbWFsUGxhY2Vz
KQotICAgICwgbV9zdGVwRGVjaW1hbFBsYWNlcyhzdGVwLmRlY2ltYWxQbGFjZXMpCi0gICAgLCBt
X2hhc1N0ZXAoaXNmaW5pdGUoc3RlcC52YWx1ZSkpCisgICAgLCBtX2hhc1N0ZXAoc3RlcC5pc0Zp
bml0ZSgpKQogewotICAgIEFTU0VSVChpc2Zpbml0ZShtX21heGltdW0pKTsKLSAgICBBU1NFUlQo
aXNmaW5pdGUobV9taW5pbXVtKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKG1fc3RlcCkpOwotICAg
IEFTU0VSVChpc2Zpbml0ZShtX3N0ZXBCYXNlKSk7CisgICAgQVNTRVJUKG1fbWF4aW11bS5pc0Zp
bml0ZSgpKTsKKyAgICBBU1NFUlQobV9taW5pbXVtLmlzRmluaXRlKCkpOworICAgIEFTU0VSVCht
X3N0ZXAuaXNGaW5pdGUoKSk7CisgICAgQVNTRVJUKG1fc3RlcEJhc2UuaXNGaW5pdGUoKSk7CiB9
CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6YWNjZXB0YWJsZUVycm9yKCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gbV9zdGVwIC8gcG93KDIuMCwgRkxUX01BTlRfRElHKTsKKyAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHVzZSBEQkxfTUFOVF9ESUcgaW5zdGVhZCBvZiBGTFRfTUFOVF9ESUcgcmVnYXJk
aW5nIHRvIEhUTUw1IHNwZWNpZmljYXRpb24uCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBEZWNpbWFsLCB0d29Qb3dlck9mRmxvYXRNYW50aXNzYUJpdHMsIChEZWNpbWFsOjpQb3NpdGl2
ZSwgMCwgVUlOVDY0X0MoMSkgPDwgRkxUX01BTlRfRElHKSk7CisgICAgcmV0dXJuIG1fc3RlcCAv
IHR3b1Bvd2VyT2ZGbG9hdE1hbnRpc3NhQml0czsKIH0KIAotSW5wdXROdW1iZXIgU3RlcFJhbmdl
OjphbGlnblZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNp
Z25lZCBjdXJyZW50RGVjaW1hbFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIHByb3Bvc2VkVmFs
dWUpIGNvbnN0CitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKGNvbnN0
IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUsIGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkg
Y29uc3QKIHsKLSAgICBpZiAocHJvcG9zZWRWYWx1ZSA+PSBwb3coMTAuMCwgMjEuMCkpCi0gICAg
ICAgIHJldHVybiBwcm9wb3NlZFZhbHVlOwotCi0gICAgSW5wdXROdW1iZXIgbmV3VmFsdWUgPSBw
cm9wb3NlZFZhbHVlOwotICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVlKSkgewotICAg
ICAgICBjb25zdCBJbnB1dE51bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1
dE51bWJlcj4obWF4KG1fc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkp
OwotICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwg
c3RhdGljX2Nhc3Q8SW5wdXROdW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBtX3N0ZXBC
YXNlRGVjaW1hbFBsYWNlcykpKTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZChyb3VuZEJ5U3Rl
cChuZXdWYWx1ZSwgbV9zdGVwQmFzZSkgKiBzY2FsZSkgLyBzY2FsZTsKLSAgICB9CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBEZWNpbWFsLCB0ZW5Qb3dlck9mMjEsIChEZWNpbWFsOjpQ
b3NpdGl2ZSwgMjEsIDEpKTsKKyAgICBpZiAobmV3VmFsdWUgPj0gdGVuUG93ZXJPZjIxKQorICAg
ICAgICByZXR1cm4gbmV3VmFsdWU7CiAKLSAgICByZXR1cm4gbmV3VmFsdWU7CisgICAgcmV0dXJu
IHN0ZXBNaXNtYXRjaChjdXJyZW50VmFsdWUpID8gbmV3VmFsdWUgOiByb3VuZEJ5U3RlcChuZXdW
YWx1ZSwgbV9zdGVwQmFzZSk7CiB9CiAKIElucHV0TnVtYmVyIFN0ZXBSYW5nZTo6Y2xhbXBWYWx1
ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0CiB7Ci0gICAgY29uc3QgSW5wdXROdW1i
ZXIgaW5SYW5nZVZhbHVlID0gbWF4KG1fbWluaW11bSwgbWluKHZhbHVlLCBtX21heGltdW0pKTsK
KyAgICBjb25zdCBJbnB1dE51bWJlciBpblJhbmdlVmFsdWUgPSBzdGQ6Om1heChtX21pbmltdW0s
IHN0ZDo6bWluKHZhbHVlLCBtX21heGltdW0pKTsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAg
ICAgcmV0dXJuIGluUmFuZ2VWYWx1ZTsKICAgICAvLyBSb3VuZHMgaW5SYW5nZVZhbHVlIHRvIG1p
bmltdW0gKyBOICogc3RlcC4KQEAgLTEwNiw3MiArOTMsNzIgQEAgSW5wdXROdW1iZXIgU3RlcFJh
bmdlOjpjbGFtcFZhbHVlKGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKICAgICByZXR1
cm4gY2xhbXBlZFZhbHVlOwogfQogCi1TdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2Vz
IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIGNv
bnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN0ZXBT
dHJpbmcpCitJbnB1dE51bWJlciBTdGVwUmFuZ2U6OnBhcnNlU3RlcChBbnlTdGVwSGFuZGxpbmcg
YW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbiwg
Y29uc3QgU3RyaW5nJiBzdGVwU3RyaW5nKQogewogICAgIGlmIChzdGVwU3RyaW5nLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKHN0ZXBEZXNjcmlwdGlv
bi5kZWZhdWx0VmFsdWUoKSk7CisgICAgICAgIHJldHVybiBzdGVwRGVzY3JpcHRpb24uZGVmYXVs
dFZhbHVlKCk7CiAKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uoc3RlcFN0cmluZywgImFueSIp
KSB7CiAgICAgICAgIHN3aXRjaCAoYW55U3RlcEhhbmRsaW5nKSB7CiAgICAgICAgIGNhc2UgUmVq
ZWN0QW55OgotICAgICAgICAgICAgcmV0dXJuIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzKHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOworICAgICAgICAgICAgcmV0dXJu
IERlY2ltYWw6Om5hbigpOwogICAgICAgICBjYXNlIEFueUlzRGVmYXVsdFN0ZXA6Ci0gICAgICAg
ICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoc3RlcERlc2NyaXB0aW9uLmRlZmF1
bHRWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZh
bHVlKCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgfQogICAgIH0KIAotICAgIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAo
MCk7Ci0gICAgc3RlcC52YWx1ZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlV2l0aERlY2lt
YWxQbGFjZXMoc3RlcFN0cmluZywgJnN0ZXAuZGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFpc2Zp
bml0ZShzdGVwLnZhbHVlKSB8fCBzdGVwLnZhbHVlIDw9IDAuMCkKLSAgICAgICAgcmV0dXJuIE51
bWJlcldpdGhEZWNpbWFsUGxhY2VzKHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKSk7Cisg
ICAgRGVjaW1hbCBzdGVwID0gcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKHN0ZXBTdHJpbmcp
OworICAgIGlmICghc3RlcC5pc0Zpbml0ZSgpIHx8IHN0ZXAgPD0gMCkKKyAgICAgICAgcmV0dXJu
IHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKTsKIAogICAgIHN3aXRjaCAoc3RlcERlc2Ny
aXB0aW9uLnN0ZXBWYWx1ZVNob3VsZEJlKSB7CiAgICAgY2FzZSBTdGVwVmFsdWVTaG91bGRCZVJl
YWw6Ci0gICAgICAgIHN0ZXAudmFsdWUgKj0gc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3Rv
cjsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFBhcnNlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAg
ICAgICAgLy8gRm9yIGRhdGUsIG1vbnRoLCBhbmQgd2VlaywgdGhlIHBhcnNlZCB2YWx1ZSBzaG91
bGQgYmUgYW4gaW50ZWdlciBmb3Igc29tZSB0eXBlcy4KLSAgICAgICAgc3RlcC52YWx1ZSA9IG1h
eChyb3VuZChzdGVwLnZhbHVlKSwgMS4wKTsKLSAgICAgICAgc3RlcC52YWx1ZSAqPSBzdGVwRGVz
Y3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwID0gc3RkOjptYXgoc3RlcC5y
b3VuZCgpLCBEZWNpbWFsKDEpKTsKKyAgICAgICAgc3RlcCAqPSBzdGVwRGVzY3JpcHRpb24uc3Rl
cFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjYWxlZFN0ZXBWYWx1ZVNo
b3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwg
dGltZSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgYW4gaW50ZWdlci4KLSAgICAgICAgc3RlcC52YWx1
ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwotICAgICAgICBzdGVwLnZhbHVl
ID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUpLCAxLjApOworICAgICAgICBzdGVwICo9IHN0ZXBEZXNj
cmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAgICAgIHN0ZXAgPSBzdGQ6Om1heChzdGVwLnJv
dW5kKCksIERlY2ltYWwoMSkpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICBBU1NFUlQoc3RlcC52YWx1ZSA+
IDApOworICAgIEFTU0VSVChzdGVwID4gMCk7CiAgICAgcmV0dXJuIHN0ZXA7CiB9CiAKIElucHV0
TnVtYmVyIFN0ZXBSYW5nZTo6cm91bmRCeVN0ZXAoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlLCBj
b25zdCBJbnB1dE51bWJlciYgYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYmFzZSArIHJvdW5k
KCh2YWx1ZSAtIGJhc2UpIC8gbV9zdGVwKSAqIG1fc3RlcDsKKyAgICByZXR1cm4gYmFzZSArICgo
dmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkucm91bmQoKSAqIG1fc3RlcDsKIH0KIAogYm9vbCBTdGVw
UmFuZ2U6OnN0ZXBNaXNtYXRjaChjb25zdCBJbnB1dE51bWJlciYgdmFsdWVGb3JDaGVjaykgY29u
c3QKIHsKICAgICBpZiAoIW1faGFzU3RlcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlm
ICghaXNmaW5pdGUodmFsdWVGb3JDaGVjaykpCisgICAgaWYgKCF2YWx1ZUZvckNoZWNrLmlzRmlu
aXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBJbnB1dE51bWJlciB2YWx1
ZSA9IGZhYnModmFsdWVGb3JDaGVjayAtIG1fc3RlcEJhc2UpOwotICAgIGlmIChpc2luZih2YWx1
ZSkpCisgICAgY29uc3QgSW5wdXROdW1iZXIgdmFsdWUgPSAodmFsdWVGb3JDaGVjayAtIG1fc3Rl
cEJhc2UpLmFicygpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIC8vIElucHV0TnVtYmVyJ3MgZnJhY3Rpb25hbCBwYXJ0IHNpemUgaXMgREJM
X01BTl9ESUctYml0LiBJZiB0aGUgY3VycmVudCB2YWx1ZQogICAgIC8vIGlzIGdyZWF0ZXIgdGhh
biBzdGVwKjJeREJMX01BTlRfRElHLCB0aGUgZm9sbG93aW5nIGNvbXB1dGF0aW9uIGZvcgogICAg
IC8vIHJlbWFpbmRlciBtYWtlcyBubyBzZW5zZS4KLSAgICBpZiAodmFsdWUgLyBwb3coMi4wLCBE
QkxfTUFOVF9ESUcpID4gbV9zdGVwKQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgRGVj
aW1hbCwgdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cywgKERlY2ltYWw6OlBvc2l0aXZlLCAw
LCBVSU5UNjRfQygxKSA8PCBEQkxfTUFOVF9ESUcpKTsKKyAgICBpZiAodmFsdWUgLyB0d29Qb3dl
ck9mRG91YmxlTWFudGlzc2FCaXRzID4gbV9zdGVwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgLy8gVGhlIGNvbXB1dGF0aW9uIGZvbGxvd3MgSFRNTDUgNC4xMC43LjIuMTAgYFRoZSBzdGVw
IGF0dHJpYnV0ZScgOgogICAgIC8vIC4uLiB0aGF0IG51bWJlciBzdWJ0cmFjdGVkIGZyb20gdGhl
IHN0ZXAgYmFzZSBpcyBub3QgYW4gaW50ZWdyYWwgbXVsdGlwbGUKICAgICAvLyBvZiB0aGUgYWxs
b3dlZCB2YWx1ZSBzdGVwLCB0aGUgZWxlbWVudCBpcyBzdWZmZXJpbmcgZnJvbSBhIHN0ZXAgbWlz
bWF0Y2guCi0gICAgY29uc3QgSW5wdXROdW1iZXIgcmVtYWluZGVyID0gZmFicyh2YWx1ZSAtIG1f
c3RlcCAqIHJvdW5kKHZhbHVlIC8gbV9zdGVwKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgcmVt
YWluZGVyID0gKHZhbHVlIC0gbV9zdGVwICogKHZhbHVlIC8gbV9zdGVwKS5yb3VuZCgpKS5hYnMo
KTsKICAgICAvLyBBY2NlcHRzIGVycm9zIGluIGxvd2VyIGZyYWN0aW9uYWwgcGFydCB3aGljaCBJ
RUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uCiAgICAgLy8gY2FuJ3QgcmVwcmVzZW50LgogICAgIGNv
bnN0IElucHV0TnVtYmVyIGNvbXB1dGVkQWNjZXB0YWJsZUVycm9yID0gYWNjZXB0YWJsZUVycm9y
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjYzVkNmY3YmYyNjc4MDIyYzAxYzNmNWE4
ZmY5ZmE1ZDc0NWVlMDM4Li5iMjlmYTZjYTFhNzRlZjM3MTM4N2NkN2I4NDlkMWM3OTg0MzM1ZWQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNpZm5kZWYgU3Rl
cFJhbmdlX2gKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAorI2luY2x1ZGUgIkRlY2ltYWwuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBA
IC0zMCwzMiArMzEsMjEgQEAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAogZW51bSBBbnlTdGVw
SGFuZGxpbmcgeyBSZWplY3RBbnksIEFueUlzRGVmYXVsdFN0ZXAgfTsKIAotLy8gRklYTUU6IFRo
ZSB0eXBlIElucHV0TnVtYmVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBEZWNpbWFsLgotdHlwZWRl
ZiBkb3VibGUgSW5wdXROdW1iZXI7CisvLyBGSVhNRTogV2Ugc2hvdWxkIHJlbmFtZSBJbnB1dE51
bWJlciB0byBEZWNpbWFsIGluIGFsbCBwbGFjZXMuCit0eXBlZGVmIERlY2ltYWwgSW5wdXROdW1i
ZXI7CiAKIGlubGluZSBJbnB1dE51bWJlciBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihkb3Vi
bGUgZG91YmxlVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGRvdWJsZVZhbHVlOworICAgIHJldHVybiBE
ZWNpbWFsOjpmcm9tRG91YmxlKGRvdWJsZVZhbHVlKTsKIH0KIAogaW5saW5lIGRvdWJsZSBjb252
ZXJ0SW5wdXROdW1iZXJUb0RvdWJsZShjb25zdCBJbnB1dE51bWJlciYgbnVtZXJpY1ZhbHVlKQog
ewotICAgIHJldHVybiBudW1lcmljVmFsdWU7CisgICAgcmV0dXJuIG51bWVyaWNWYWx1ZS50b0Rv
dWJsZSgpOwogfQogCiBjbGFzcyBTdGVwUmFuZ2UgewogcHVibGljOgotICAgIHN0cnVjdCBOdW1i
ZXJXaXRoRGVjaW1hbFBsYWNlcyB7Ci0gICAgICAgIHVuc2lnbmVkIGRlY2ltYWxQbGFjZXM7Ci0g
ICAgICAgIElucHV0TnVtYmVyIHZhbHVlOwotCi0gICAgICAgIE51bWJlcldpdGhEZWNpbWFsUGxh
Y2VzKElucHV0TnVtYmVyIHZhbHVlID0gMCwgdW5zaWduZWQgZGVjaW1hbFBsYWNlcyA9IDApCi0g
ICAgICAgICAgICA6IGRlY2ltYWxQbGFjZXMoZGVjaW1hbFBsYWNlcykKLSAgICAgICAgICAgICwg
dmFsdWUodmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0KICAgICBlbnVtIFN0
ZXBWYWx1ZVNob3VsZEJlIHsKICAgICAgICAgU3RlcFZhbHVlU2hvdWxkQmVSZWFsLAogICAgICAg
ICBQYXJzZWRTdGVwVmFsdWVTaG91bGRCZUludGVnZXIsCkBAIC05MiwxOCArODIsMTYgQEAgcHVi
bGljOgogCiAgICAgU3RlcFJhbmdlKCk7CiAgICAgU3RlcFJhbmdlKGNvbnN0IFN0ZXBSYW5nZSYp
OwotICAgIFN0ZXBSYW5nZShjb25zdCBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyYgc3RlcEJhc2Us
IGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwg
Y29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMmIHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlv
biYpOworICAgIFN0ZXBSYW5nZShjb25zdCBJbnB1dE51bWJlciYgc3RlcEJhc2UsIGNvbnN0IElu
cHV0TnVtYmVyJiBtaW5pbXVtLCBjb25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgSW5w
dXROdW1iZXImIHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYpOwogICAgIElucHV0TnVtYmVy
IGFjY2VwdGFibGVFcnJvcigpIGNvbnN0OwotICAgIElucHV0TnVtYmVyIGFsaWduVmFsdWVGb3JT
dGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUsIHVuc2lnbmVkIGN1cnJlbnREZWNp
bWFsUGxhY2VzLCBjb25zdCBJbnB1dE51bWJlciYgbmV3VmFsdWUpIGNvbnN0OworICAgIElucHV0
TnVtYmVyIGFsaWduVmFsdWVGb3JTdGVwKGNvbnN0IElucHV0TnVtYmVyJiBjdXJyZW50VmFsdWUs
IGNvbnN0IElucHV0TnVtYmVyJiBuZXdWYWx1ZSkgY29uc3Q7CiAgICAgSW5wdXROdW1iZXIgY2xh
bXBWYWx1ZShjb25zdCBJbnB1dE51bWJlciYgdmFsdWUpIGNvbnN0OwogICAgIGJvb2wgaGFzU3Rl
cCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzU3RlcDsgfQogICAgIElucHV0TnVtYmVyIG1heGltdW0o
KSBjb25zdCB7IHJldHVybiBtX21heGltdW07IH0KICAgICBJbnB1dE51bWJlciBtaW5pbXVtKCkg
Y29uc3QgeyByZXR1cm4gbV9taW5pbXVtOyB9Ci0gICAgc3RhdGljIE51bWJlcldpdGhEZWNpbWFs
UGxhY2VzIHBhcnNlU3RlcChBbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYs
IGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBJbnB1dE51bWJlciBwYXJzZVN0ZXAoQW55U3Rl
cEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mLCBjb25zdCBTdHJpbmcmKTsKICAgICBJ
bnB1dE51bWJlciBzdGVwKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwOyB9CiAgICAgSW5wdXROdW1i
ZXIgc3RlcEJhc2UoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBCYXNlOyB9Ci0gICAgdW5zaWduZWQg
c3RlcEJhc2VEZWNpbWFsUGxhY2VzKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwQmFzZURlY2ltYWxQ
bGFjZXM7IH0KLSAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcygpIGNvbnN0IHsgcmV0dXJu
IG1fc3RlcERlY2ltYWxQbGFjZXM7IH0KICAgICBpbnQgc3RlcFNjYWxlRmFjdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOyB9CiAgICAgYm9vbCBz
dGVwTWlzbWF0Y2goY29uc3QgSW5wdXROdW1iZXImKSBjb25zdDsKIApAQCAtMTM3LDggKzEyNSw2
IEBAIHByaXZhdGU6CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbV9zdGVwOwogICAgIGNvbnN0IElu
cHV0TnVtYmVyIG1fc3RlcEJhc2U7CiAgICAgY29uc3QgU3RlcERlc2NyaXB0aW9uIG1fc3RlcERl
c2NyaXB0aW9uOwotICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzOwot
ICAgIGNvbnN0IHVuc2lnbmVkIG1fc3RlcERlY2ltYWxQbGFjZXM7CiAgICAgY29uc3QgYm9vbCBt
X2hhc1N0ZXA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAy
MzM5NzVkZGEzOGJiODg3MWI3NmQ5YmY1YzRkZDgzODg3ZTA3ZDgwLi41Mzc5MmE5OThhOTI4OTMy
YTVjMmI3NDRlNDU4MzVhNDliNjNhY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgU3RlcFJhbmdlIFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVN0
ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBjb25zdAogICAgIGNvbnN0
IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBw
YXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVy
dERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1lKCkpKTsKICAg
ICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVD
b21wb25lbnRzOjptYXhpbXVtVGltZSgpKSk7Ci0gICAgY29uc3QgU3RlcFJhbmdlOjpOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRs
aW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0
cikpOworICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChh
bnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmli
dXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVwQmFzZSwgbWluaW11bSwg
bWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vl
a0lucHV0VHlwZS5jcHAKaW5kZXggNDVhNGQwMWNkN2RjYzI4NDRiZTI4ODIxMjJmYzNiMTNiNTJh
OWRmYi4uZjhhZWEwYWMxNmUzMDNhOGJkNDM1YjJlYzliODI2YTIwOTYzYjdmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0ZXBSYW5nZSBX
ZWVrSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5k
bGluZykgY29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1i
ZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCB3ZWVrRGVmYXVsdFN0ZXBC
YXNlKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVt
YmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtV2VlaygpKSk7CiAgICAgY29uc3QgSW5wdXROdW1i
ZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1h
eEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11
bVdlZWsoKSkpOwotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMg
c3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0
aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJ
bnB1dE51bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBz
dGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwog
ICAgIHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0
ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlcklkaW9tcy5jcHAKaW5kZXggYTk5YTIxYTA4ZTViZGQwODY1ZmEzM2M3Mzk1NTA0MDE3
MmMzOGIzMS4uYzNiZWNjMzYwZDRmYWZmNTcxNDU3ZjMwOTUwYTYxYTY4ODYzMDY5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKQEAgLTI1
LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KQEAgLTU4LDYgKzU5
LDE1IEBAIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZy5zdWJzdHJpbmcobnVtTGVhZGluZ1NwYWNl
cywgbGVuZ3RoIC0gKG51bUxlYWRpbmdTcGFjZXMgKyBudW1UcmFpbGluZ1NwYWNlcykpOwogfQog
CitTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShjb25zdCBEZWNpbWFsJiBudW1iZXIpCit7
CisgICAgaWYgKG51bWJlci5pc1plcm8oKSkgeworICAgICAgICAvLyBEZWNpbWFsOjp0b1N0cmlu
ZyBhcHBlbmRzIGV4cG9uZW50LCBlLmcuICIwZS0xOCIKKyAgICAgICAgcmV0dXJuIG51bWJlci5p
c05lZ2F0aXZlKCkgPyAiLTAiIDogIjAiOworICAgIH0KKyAgICByZXR1cm4gbnVtYmVyLnRvU3Ry
aW5nKCk7Cit9CisKIFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW1iZXIp
CiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIEhUTUw1LCAidGhlIGJlc3QgcmVwcmVzZW50YXRpb24g
b2YgdGhlIG51bWJlciBuIGFzIGEgZmxvYXRpbmcKQEAgLTY2LDYgKzc2LDM1IEBAIFN0cmluZyBz
ZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW1iZXIpCiAgICAgcmV0dXJuIFN0cmluZyhu
dW1iZXJUb1N0cmluZyhudW1iZXIsIGJ1ZmZlcikpOwogfQogCitEZWNpbWFsIHBhcnNlVG9EZWNp
bWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRGVjaW1hbCYgZmFs
bGJhY2tWYWx1ZSkKK3sKKyAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVhbCBudW1iZXJzLicg
YW5kIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlCisKKyAgICAvLyBTdHJpbmc6OnRvRG91Ymxl
KCkgYWNjZXB0cyBsZWFkaW5nICsgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycywgd2hpY2ggYXJl
IG5vdCB2YWxpZCBoZXJlLgorICAgIGNvbnN0IFVDaGFyIGZpcnN0Q2hhcmFjdGVyID0gc3RyaW5n
WzBdOworICAgIGlmIChmaXJzdENoYXJhY3RlciAhPSAnLScgJiYgZmlyc3RDaGFyYWN0ZXIgIT0g
Jy4nICYmICFpc0FTQ0lJRGlnaXQoZmlyc3RDaGFyYWN0ZXIpKQorICAgICAgICByZXR1cm4gZmFs
bGJhY2tWYWx1ZTsKKworICAgIGNvbnN0IERlY2ltYWwgdmFsdWUgPSBEZWNpbWFsOjpmcm9tU3Ry
aW5nKHN0cmluZyk7CisgICAgaWYgKCF2YWx1ZS5pc0Zpbml0ZSgpKQorICAgICAgICByZXR1cm4g
ZmFsbGJhY2tWYWx1ZTsKKworICAgIC8vIE51bWJlcnMgYXJlIGNvbnNpZGVyZWQgZmluaXRlIElF
RUUgNzU0IHNpbmdsZS1wcmVjaXNpb24gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLgorICAgIC8vIFNl
ZSBIVE1MNSAyLjUuNC4zIGBSZWFsIG51bWJlcnMuJworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
dXNlIG51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCBmb3IgbnVtYmVyIGlucHV0IHR5cGUuCisg
ICAgY29uc3QgRGVjaW1hbCBmbG9hdE1heCA9IERlY2ltYWw6OmZyb21Eb3VibGUoc3RkOjpudW1l
cmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKKyAgICBpZiAodmFsdWUgPCAtZmxvYXRNYXggfHwg
dmFsdWUgPiBmbG9hdE1heCkKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7CisKKyAgICAv
LyBXZSByZXR1cm4gKzAgZm9yIC0wIGNhc2UuCisgICAgcmV0dXJuIHZhbHVlLmlzWmVybygpID8g
RGVjaW1hbCgwKSA6IHZhbHVlOworfQorCitEZWNpbWFsIHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVy
VHlwZShjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxG
b3JOdW1iZXJUeXBlKHN0cmluZywgRGVjaW1hbDo6bmFuKCkpOworfQorCiBkb3VibGUgcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGRvdWJsZSBmYWxsYmFj
a1ZhbHVlKQogewogICAgIC8vIFNlZSBIVE1MNSAyLjUuNC4zIGBSZWFsIG51bWJlcnMuJwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCmluZGV4IDhhNzc0
ZjllZTQzMjVmNzk5NmRjZWU4MDJlNzg1OTIxZjEyMDA3MjEuLjVmMDE4NmQ0NGUzMGI5NjcwYjM0
ZDgxZDVmZDZmZGMzYmQzMTlhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VySWRpb21zLmgKQEAgLTMwLDYgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBEZWNpbWFsOworCiAvLyBTcGFjZSBjaGFyYWN0ZXJzIGFzIGRlZmluZWQgYnkg
dGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4KIGJvb2wgaXNIVE1MU3BhY2UoVUNoYXIpOwogYm9vbCBp
c0hUTUxMaW5lQnJlYWsoVUNoYXIpOwpAQCAtMzksMTEgKzQxLDE0IEBAIGJvb2wgaXNOb3RIVE1M
U3BhY2UoVUNoYXIpOwogU3RyaW5nIHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhj
b25zdCBTdHJpbmcmKTsKIAogLy8gQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEhUTUwgc3BlY2lm
aWNhdGlvbidzIGFsZ29yaXRobSB0byBjb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3RyaW5nIGZvciBu
dW1iZXIgYW5kIHJhbmdlIHR5cGVzLgorU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoY29u
c3QgRGVjaW1hbCYpOwogU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoZG91YmxlKTsKIAot
Ly8gQ29udmVydCB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGRvdWJsZS4gSWYgdGhlIGNvbnZl
cnNpb24gZmFpbHMsIHRoZSByZXR1cm4gdmFsdWUgaXMgZmFsc2UuCisvLyBDb252ZXJ0IHRoZSBz
cGVjaWZpZWQgc3RyaW5nIHRvIGEgZGVjaW1hbC9kb3VibGUuIElmIHRoZSBjb252ZXJzaW9uIGZh
aWxzLCB0aGUgcmV0dXJuIHZhbHVlIGlzIGZhbGxiYWNrIHZhbHVlIG9yIE5hTiBpZiBub3Qgc3Bl
Y2lmaWVkLgogLy8gTGVhZGluZyBvciB0cmFpbGluZyBpbGxlZ2FsIGNoYXJhY3RlcnMgY2F1c2Ug
ZmFpbHVyZSwgYXMgZG9lcyBwYXNzaW5nIGFuIGVtcHR5IHN0cmluZy4KIC8vIFRoZSBkb3VibGUq
IHBhcmFtZXRlciBtYXkgYmUgMCB0byBjaGVjayBpZiB0aGUgc3RyaW5nIGNhbiBiZSBwYXJzZWQg
d2l0aG91dCBnZXR0aW5nIHRoZSByZXN1bHQuCitEZWNpbWFsIHBhcnNlVG9EZWNpbWFsRm9yTnVt
YmVyVHlwZShjb25zdCBTdHJpbmcmKTsKK0RlY2ltYWwgcGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJU
eXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IERlY2ltYWwmIGZhbGxiYWNrVmFsdWUpOwogZG91Ymxl
IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYpOwogZG91YmxlIHBhcnNl
VG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSBmYWxsYmFja1ZhbHVl
KTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZVdpdGhEZWNpbWFsUGxhY2VzKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAppbmRleCAzMDgzYTc1MDAyYzYyYWEyOWMxYmY4MjEz
NzYxMmJkMTM0OTY5ZGU4Li40ZTcxNGEwMzkxZTQ2Y2IxZWQyYmExZWVhNTQxNDJiMjdiNTA5NDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5lIHN0YXRp
YyBJbnB1dE51bWJlciBzbGlkZXJQb3NpdGlvbihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQog
ewogICAgIGNvbnN0IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoZWxlbWVudC0+Y3JlYXRlU3RlcFJhbmdl
KFJlamVjdEFueSkpOwotICAgIGNvbnN0IGRvdWJsZSBvbGRWYWx1ZSA9IHBhcnNlVG9Eb3VibGVG
b3JOdW1iZXJUeXBlKGVsZW1lbnQtPnZhbHVlKCksIHN0ZXBSYW5nZS5kZWZhdWx0VmFsdWUoKSk7
CisgICAgY29uc3QgSW5wdXROdW1iZXIgb2xkVmFsdWUgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJl
clR5cGUoZWxlbWVudC0+dmFsdWUoKSwgc3RlcFJhbmdlLmRlZmF1bHRWYWx1ZSgpKTsKICAgICBy
ZXR1cm4gc3RlcFJhbmdlLnByb3BvcnRpb25Gcm9tVmFsdWUoc3RlcFJhbmdlLmNsYW1wVmFsdWUo
b2xkVmFsdWUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk5ZmRmMjYxMTA3ZmNmZWFlMmE0OGFmYzk1YmZlZDVi
ZDRmZTIwODIuLmQwNmFjMDliOTA3Mzg2YTk4ZTJjNjA1MTcyMDA2NDJhYmVjZjZjZjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0wNSAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtGb3Jtc10gSW50cm9kdWNlIERlY2ltYWwgYmVoaW5kIHRo
ZSBJbnB1dE51bWJlciB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04ODM4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91
bmRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMDggIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jk
b25AZ21haWwuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUnVuIG9wdGltaXplLWJhc2VsaW5l
cyBvdmVyIGNhbnZhcy10b0RhdGFVUkwtd2VicC5odG1sIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIyYmJiYzRlYTkyNzNhNWViYTFiOGIxY2QxOTgyZGYz
MzFhNjIzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2Uv
cmFuZ2UtdmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjgwIEBACisKKzgw
MDA5IEludHJvZHVjZSBEZWNpbWFsIGFyaXRobWV0aWMgdG8gZml4IHJvdW5kaW5nIGVycm9ycyBp
biBudW1iZXIvcmFuZ2UgaW5wdXQgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4xIiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4x
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjEiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4xCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMiIsICIxZS0wIikudmFsdWUgaXMg
IjAuMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4yIiwgIjFlLTAiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjMiLCAiMWUtMCIpLnZhbHVl
IGlzICIwLjMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMyIsICIxZS0wIikudmFsdWVB
c051bWJlciBpcyAwLjMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC40IiwgIjFlLTAiKS52
YWx1ZSBpcyAiMC40IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjQiLCAiMWUtMCIpLnZh
bHVlQXNOdW1iZXIgaXMgMC40CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNSIsICIxZS0w
IikudmFsdWUgaXMgIjAuNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC41IiwgIjFlLTAi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjYiLCAi
MWUtMCIpLnZhbHVlIGlzICIwLjYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuNiIsICIx
ZS0wIikudmFsdWVBc051bWJlciBpcyAwLjYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC43
IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC43IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjci
LCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC43CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwg
IjAuOCIsICIxZS0wIikudmFsdWUgaXMgIjAuOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAi
MC44IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MSIsICIwLjkiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4x
IiwgIjAuOSIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjkKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAxIiwgIjAuMDEiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjAxIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDEiLCAiMC4wMSIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjAxCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAyIiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMiIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDIiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMyIsICIxZS0xIikudmFsdWUgaXMgIjAu
MDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAzIiwgIjFlLTEiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDQiLCAiMWUtMSIpLnZh
bHVlIGlzICIwLjA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNCIsICIxZS0xIiku
dmFsdWVBc051bWJlciBpcyAwLjA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA1Iiwg
IjFlLTEiKS52YWx1ZSBpcyAiMC4wNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDUi
LCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEi
LCAiMC4wNiIsICIxZS0xIikudmFsdWUgaXMgIjAuMDYiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MSIsICIwLjA2IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDYKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAxIiwgIjAuMDciLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA3IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDEiLCAiMC4wNyIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA3CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA4IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wOCIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDgiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOSIsICIxZS0xIikudmFsdWUgaXMg
IjAuMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA5IiwgIjFlLTEiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMSIsICIxZS0y
IikudmFsdWUgaXMgIjAuMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAxIiwg
IjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEi
LCAiMC4wMDIiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMSIsICIwLjAwMiIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAzIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDMiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDMiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNCIsICIxZS0yIikudmFsdWUg
aXMgIjAuMDA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA0IiwgIjFlLTIiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDUi
LCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIw
LjAwNSIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAxIiwgIjAuMDA2IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDYiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDEiLCAiMC4wMDYiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDYKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNyIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA3
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA3IiwgIjFlLTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDgiLCAiMWUtMiIp
LnZhbHVlIGlzICIwLjAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwOCIsICIx
ZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwg
IjAuMDA5IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDEiLCAiMC4wMDkiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDkKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAxIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAxIgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDEiLCAiMWUtMyIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMiIsICIxZS0zIiku
dmFsdWUgaXMgIjAuMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAyIiwg
IjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MSIsICIwLjAwMDMiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDMiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAxIiwgIjAuMDAwMyIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDMKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA0IiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4w
MDA0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDQiLCAiMWUtMyIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNSIs
ICIxZS0zIikudmFsdWUgaXMgIjAuMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAi
MC4wMDA1IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNQorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMSIsICIwLjAwMDYiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDYiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNiIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAw
LjAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA3IiwgIjFlLTMiKS52YWx1
ZSBpcyAiMC4wMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDciLCAiMWUt
MyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwg
IjAuMDAwOCIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDEiLCAiMC4wMDA4IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwOAorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDkiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDki
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOSIsICIxZS0zIikudmFsdWVBc051
bWJlciBpcyAwLjAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDEiLCAi
MWUtNCIpLnZhbHVlIGlzICIwLjAwMDAxIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAi
MC4wMDAwMSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAxCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMSIsICIwLjAwMDAyIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMiIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDIiLCAiMWUtNCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMyIsICIx
ZS00IikudmFsdWUgaXMgIjAuMDAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIw
LjAwMDAzIiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDMKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAxIiwgIjAuMDAwMDQiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA0IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNCIsICIxZS00IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA1IiwgIjFl
LTQiKS52YWx1ZSBpcyAiMC4wMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAu
MDAwMDUiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNQorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDEiLCAiMC4wMDAwNiIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDYiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA2IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDciLCAiMWUt
NCIpLnZhbHVlIGlzICIwLjAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4w
MDAwNyIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA3CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMSIsICIwLjAwMDA4IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwOCIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDgiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOSIsICIxZS00
IikudmFsdWUgaXMgIjAuMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAw
MDA5IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMSIsICIwLjAwMDAwMSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDAxIgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAxIiwgIjFlLTUiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDIi
LCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MSIsICIwLjAwMDAwMiIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDAzIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4w
MDAwMDMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDMiLCAiMWUtNSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIs
ICIwLjAwMDAwNCIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA0IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA0IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDUiLCAiMWUtNSIpLnZh
bHVlIGlzICIwLjAwMDAwNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAw
NSIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAxIiwgIjAuMDAwMDA2IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDYiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDYiLCAiMWUtNSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNyIs
ICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA3IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAx
IiwgIjAuMDAwMDA3IiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA3CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDgiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAw
MDAwOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOCIsICIxZS01Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwg
IjAuMDAwMDA5IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDkiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDkiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAxIiwgIjFlLTYiKS52
YWx1ZSBpcyAiMWUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAx
IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlIGlzICIyZS03IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDIiLCAiMWUtNiIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAw
MyIsICIxZS02IikudmFsdWUgaXMgIjNlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAx
IiwgIjAuMDAwMDAwMyIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDMKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYiKS52YWx1ZSBpcyAi
NGUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA0IiwgIjFlLTYi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MSIsICIwLjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlIGlzICI1ZS03IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDUiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNiIsICIxZS02
IikudmFsdWUgaXMgIjZlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAw
MDAwNiIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDYKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZSBpcyAiN2UtNyIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA3IiwgIjFlLTYiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAw
MDAwMDgiLCAiMWUtNiIpLnZhbHVlIGlzICI4ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMSIsICIwLjAwMDAwMDgiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA4CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIxZS02IikudmFsdWUg
aXMgIjllLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwOSIsICIx
ZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAxIiwgIjAuMDAwMDAwMDEiLCAiMWUtNyIpLnZhbHVlIGlzICIxZS04IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMSIsICIxZS03IikudmFsdWVBc051bWJl
ciBpcyAwLjAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAw
MDAyIiwgIjFlLTciKS52YWx1ZSBpcyAiMmUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAxIiwgIjAuMDAwMDAwMDIiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwMyIsICIxZS03IikudmFs
dWUgaXMgIjNlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAz
IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDQiLCAiMWUtNyIpLnZhbHVlIGlzICI0ZS04IgorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNCIsICIxZS03IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIw
LjAwMDAwMDA1IiwgIjFlLTciKS52YWx1ZSBpcyAiNWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAxIiwgIjAuMDAwMDAwMDUiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNiIsICIxZS03
IikudmFsdWUgaXMgIjZlLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAw
MDAwMDA2IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDYKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDciLCAiMWUtNyIpLnZhbHVlIGlzICI3ZS04
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNyIsICIxZS03Iiku
dmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MSIsICIwLjAwMDAwMDA4IiwgIjFlLTciKS52YWx1ZSBpcyAiOGUtOCIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDgiLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOSIs
ICIxZS03IikudmFsdWUgaXMgIjllLTgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIs
ICIwLjAwMDAwMDA5IiwgIjFlLTciKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDkKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMSIsICIxZS04IikudmFsdWUg
aXMgIjFlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDEi
LCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMiIsICIxZS04IikudmFsdWUgaXMgIjJlLTkiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDIiLCAiMWUtOCIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMyIsICIxZS04IikudmFsdWUgaXMgIjNlLTkiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDMiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwNCIsICIxZS04IikudmFsdWUgaXMgIjRlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDQiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNSIsICIxZS04
IikudmFsdWUgaXMgIjVlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDUiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDUKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNiIsICIxZS04IikudmFsdWUgaXMg
IjZlLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDYiLCAi
MWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMSIsICIwLjAwMDAwMDAwNyIsICIxZS04IikudmFsdWUgaXMgIjdlLTkiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDciLCAiMWUtOCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwOCIsICIxZS04IikudmFsdWUgaXMgIjhlLTkiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDgiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
OSIsICIxZS04IikudmFsdWUgaXMgIjllLTkiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDkiLCAiMWUtOCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDkK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAxIiwgIjFlLTki
KS52YWx1ZSBpcyAiMWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDEKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAyIiwgIjFlLTkiKS52YWx1
ZSBpcyAiMmUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAwMiIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAzIiwgIjFlLTkiKS52YWx1ZSBpcyAi
M2UtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMyIs
ICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA0IiwgIjFlLTkiKS52YWx1ZSBpcyAiNGUtMTAi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNCIsICIxZS05
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA1IiwgIjFlLTkiKS52YWx1ZSBpcyAiNWUtMTAiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNSIsICIxZS05IikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDA2IiwgIjFlLTkiKS52YWx1ZSBpcyAiNmUtMTAiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNiIsICIxZS05IikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDA3IiwgIjFlLTkiKS52YWx1ZSBpcyAiN2UtMTAiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNyIsICIxZS05IikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDA4IiwgIjFlLTkiKS52YWx1ZSBpcyAiOGUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwOCIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDA5
IiwgIjFlLTkiKS52YWx1ZSBpcyAiOWUtMTAiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwOSIsICIxZS05IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDEiLCAi
MWUtMTAiKS52YWx1ZSBpcyAiMWUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAxIiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAw
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAyIiwg
IjFlLTEwIikudmFsdWUgaXMgIjJlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMiIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMyIs
ICIxZS0xMCIpLnZhbHVlIGlzICIzZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDMiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDQi
LCAiMWUtMTAiKS52YWx1ZSBpcyAiNGUtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDA0IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA1
IiwgIjFlLTEwIikudmFsdWUgaXMgIjVlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwNSIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
NiIsICIxZS0xMCIpLnZhbHVlIGlzICI2ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwMDYiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDciLCAiMWUtMTAiKS52YWx1ZSBpcyAiN2UtMTEiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDA3IiwgIjFlLTEwIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDA4IiwgIjFlLTEwIikudmFsdWUgaXMgIjhlLTExIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwOCIsICIxZS0xMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwOSIsICIxZS0xMCIpLnZhbHVlIGlzICI5ZS0xMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDkiLCAiMWUtMTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMSIsICIxZS0xMSIpLnZhbHVlIGlzICIxZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlIGlzICIyZS0xMiIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMiIsICIxZS0xMSIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZhbHVlIGlzICIzZS0xMiIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMyIsICIxZS0xMSIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0xMSIpLnZhbHVlIGlzICI0ZS0xMiIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNCIsICIxZS0x
MSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIsICIxZS0xMSIpLnZhbHVlIGlzICI1ZS0x
MiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNSIs
ICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNiIsICIxZS0xMSIpLnZhbHVlIGlz
ICI2ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDAwNiIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDYKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwNyIsICIxZS0xMSIpLnZh
bHVlIGlzICI3ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwNyIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDcKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOCIsICIxZS0x
MSIpLnZhbHVlIGlzICI4ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwOCIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAw
MDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwOSIs
ICIxZS0xMSIpLnZhbHVlIGlzICI5ZS0xMiIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwOSIsICIxZS0xMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDAxIiwgIjFlLTEyIikudmFsdWUgaXMgIjFlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDEiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDIiLCAiMWUtMTIiKS52YWx1ZSBpcyAiMmUtMTMiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMiIsICIxZS0xMiIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMyIsICIxZS0xMiIpLnZhbHVlIGlzICIzZS0xMyIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAzIiwg
IjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA0IiwgIjFlLTEyIikudmFsdWUg
aXMgIjRlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDQiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNAorUEFT
UyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDUiLCAiMWUt
MTIiKS52YWx1ZSBpcyAiNWUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDAwNSIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MDAwNiIsICIxZS0xMiIpLnZhbHVlIGlzICI2ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA2IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDA3IiwgIjFlLTEyIikudmFsdWUgaXMgIjdlLTEzIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDciLCAiMWUtMTIiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDgiLCAiMWUtMTIiKS52YWx1ZSBpcyAiOGUtMTMiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOCIsICIx
ZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwOSIsICIxZS0xMiIpLnZhbHVlIGlz
ICI5ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDA5IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDkKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDEiLCAiMWUt
MTMiKS52YWx1ZSBpcyAiMWUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDAxIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAyIiwgIjFlLTEzIikudmFsdWUgaXMgIjJlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMiIsICIxZS0xMyIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMyIsICIxZS0xMyIpLnZhbHVlIGlzICIzZS0xNCIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDMiLCAi
MWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTMiKS52YWx1
ZSBpcyAiNGUtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDA0IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA0
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA1
IiwgIjFlLTEzIikudmFsdWUgaXMgIjVlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNSIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwNiIsICIxZS0xMyIpLnZhbHVlIGlzICI2ZS0xNCIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTMiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDciLCAiMWUtMTMiKS52YWx1ZSBpcyAiN2Ut
MTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDA3IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA3CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA4IiwgIjFlLTEz
IikudmFsdWUgaXMgIjhlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwOCIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDAwOSIsICIxZS0xMyIpLnZhbHVlIGlzICI5ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTMiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDkKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMSIsICIxZS0xNCIpLnZhbHVlIGlzICIxZS0xNSIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMSIs
ICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMiIsICIxZS0xNCIp
LnZhbHVlIGlzICIyZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDAwMDAwMiIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAwMyIsICIxZS0xNCIpLnZhbHVlIGlzICIzZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwMyIsICIxZS0xNCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDMKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNCIsICIxZS0xNCIpLnZhbHVlIGlzICI0ZS0x
NSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDAwNCIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDQKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNSIsICIx
ZS0xNCIpLnZhbHVlIGlzICI1ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNSIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAwMDAwNiIsICIxZS0xNCIpLnZhbHVlIGlzICI2ZS0xNSIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNiIsICIxZS0xNCIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDYKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwNyIsICIxZS0xNCIpLnZhbHVlIGlz
ICI3ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAwNyIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDcK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAw
OCIsICIxZS0xNCIpLnZhbHVlIGlzICI4ZS0xNSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAw
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOCIsICIxZS0xNCIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMDAwMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDAwOSIsICIxZS0xNCIpLnZhbHVlIGlzICI5ZS0xNSIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDAwOSIsICIx
ZS0xNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMDkKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDVmNmI2NWEzNDk0Mjk1OWYxNmMyNjk1ZmU3ODRhNGI5YzZiNWZmYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUtcm91bmRpbmcu
aHRtbApAQCAtMCwwICsxLDM2IEBACis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQg
aWQ9ImZvbyIgdHlwZT1yYW5nZSBzdGVwPTAuMSB2YWx1ZT0wLjY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxkaXYgaWQ9InNsaWRlcnMiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCI8YSBocmVmPSdodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAwOSc+
ODAwMDkgSW50cm9kdWNlIERlY2ltYWwgYXJpdGhtZXRpYyB0byBmaXggcm91bmRpbmcgZXJyb3Jz
IGluIG51bWJlci9yYW5nZSBpbnB1dCB0eXBlczwvYT4iKTsKKworZnVuY3Rpb24gY3JlYXRlU2Ft
cGxlKHN0ZXAsIHZhbHVlLCBtYXgpCit7CisgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxpbnB1dCB0
eXBlPXJhbmdlIG1pbj0wIG1heD0nICsgbWF4ICsgJyBzdGVwPScgKyBzdGVwICsgJyB2YWx1ZT0n
ICsgdmFsdWUgKyAnPjxicj4nOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXJz
IikuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAgICByZXR1cm4gY29udGFpbmVyLmZpcnN0Q2hp
bGQ7Cit9CisKK3ZhciB6ZXJvcyA9ICIwLiI7Citmb3IgKHZhciBleHBvbmVudCA9IDA7IGV4cG9u
ZW50IDwgMTU7ICsrZXhwb25lbnQpIHsKKyAgICB2YXIgc3RlcCA9IHplcm9zICsgIjEiOworICAg
IGZvciAodmFyIGRpZ2l0ID0gMTsgZGlnaXQgPD0gOTsgKytkaWdpdCkgeworICAgICAgICB2YXIg
dmFsdWUgPSB6ZXJvcyArIGRpZ2l0LnRvU3RyaW5nKCk7CisgICAgICAgIHZhciBzYW1wbGUgPSAn
Y3JlYXRlU2FtcGxlKCInICsgc3RlcCArICciLCAiJyArIHZhbHVlICsgJyIsICIxZS0nICsgZXhw
b25lbnQgKyAnIiknOworICAgICAgICB2YXIgc3RlcEV4cG9uZW50ID0gZXhwb25lbnQgKyAxOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoc2FtcGxlICsgJy52YWx1ZScsIHN0ZXBFeHBv
bmVudCA+PSA3ID8gZGlnaXQgKyAiZS0iICsgc3RlcEV4cG9uZW50IDogdmFsdWUpOworICAgICAg
ICBzaG91bGRCZShzYW1wbGUgKyAnLnZhbHVlQXNOdW1iZXInLCB2YWx1ZSk7CisgICAgfQorICAg
IHplcm9zICs9ICIwIjsKK30KKworLy8gUmVtb3ZlIGdlbmVyYXRlZCBzbGlkZXJzLgorZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInNsaWRlcnMiKS5pbm5lckhUTUwgPSAiIjsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146542</attachid>
            <date>2012-06-08 05:17:26 -0700</date>
            <delta_ts>2012-06-10 19:30:58 -0700</delta_ts>
            <desc>Patch 7</desc>
            <filename>bug-88383-20120608211725.patch</filename>
            <type>text/plain</type>
            <size>69111</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFlMzY5ZWZiODM1NjQ5
NzZmYjAwNDU4NDc2ZTkzYWIyMWMxY2FmYS4uODM0NDljN2I3ZWFmMDQyMWUzMzQ3ZTg2NDkwMDNk
ZTEyNDhiMmMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2IEBACisyMDEyLTA2LTA2ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Zvcm1zXSBJbnRy
b2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGRl
Y2ltYWwgYXJpdGhtZXRpYyBmb3Igc3RlcHBhYmxlIGlucHV0IHR5cGVzLAorICAgICAgICBlLmcu
IGRhdGUsIGRhdGV0aW1lLCBudW1iZXIsIHJhbmdlLCBhbmQgc28gb24sIHRvIGF2b2lkIHJvdW5k
aW5nIGVycm9yCisgICAgICAgIGNhdXNlZCBieSBiYXNlIDIgZmxvYXRpbmcgcG9pbnQgcmVwcmVz
ZW50YXRpb24sIGUuZy4gQy9DKysgZG91YmxlIHR5cGUuCisKKyAgICAgICAgTW9zdCBvZiBkZWNp
bWFsIGFyaXRobWV0aWMgY2FsY3VsYXRpb25zIGFyZSBpbXBsZW1lbnRlZCBpbiBTdGVwUmFuZ2UK
KyAgICAgICAgY2xhc3MsIHJlcGxhY2luZyAiZG91YmxlIiB3aXRoICJEZWNpbWFsIiwgSW5wdXRU
eXBlOjphcHBseVN0ZXAsIGFuZAorICAgICAgICBJbnB1dFR5cGU6OnN0ZXBGcm9tUmVuZGVyZXIu
CisKKyAgICAgICAgQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2ggYXJlIHN0aWxsIGlu
dGVybWVkaWF0ZSBzdGF0ZS4KKyAgICAgICAgRm9sbG93aW5nIHBhdGNoIHdpbGwgcmVwbGFjZSBJ
bnB1dE51bWJlciB0eXBlIHRvIERlY2ltYWwgdHlwZSBmb3IKKyAgICAgICAgY29tcGxldGlvbiBv
ZiBpbnRyb2R1Y2luZyBkZWNpbWFsIGFyaXRobWV0aWMuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGluZy5odG1sCisKKyAgICAgICAgKiBodG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6IENoYW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplV2l0aENv
bXBvbmVudHMpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQg
TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgdG8gSW5wdXROdW1iZXIuCisgICAgICAgICogaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUlucHV0VHlw
ZTo6Y3JlYXRlU3RlcFJhbmdlKTogUmVwbGFjZWQgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgdG8g
SW5wdXROdW1iZXIuCisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5n
ZSk6IFJlcGxhY2VkIE51bWJlcldpdGhEZWNpbWFsUGxhY2VzIHRvIElucHV0TnVtYmVyLgorICAg
ICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6
cmFuZ2VVbmRlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6OnJhbmdlT3ZlcmZsb3cpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUu
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1pbmltdW0pOiBDaGFuZ2VkIGZvciBEZWNp
bWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aXNJblJhbmdlKTogZGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpJbnB1dFR5cGU6OmlzT3V0T2ZSYW5nZSk6IGRpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2gpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6cGFyc2VUb051bWJlck9yTmFOKTogZGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpJbnB1dFR5cGU6OmFwcGx5U3RlcCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRU
eXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0lucHV0VHlw
ZS5oOgorICAgICAgICAoSW5wdXRUeXBlKTogUmVtb3ZlZCBwYXJzZVRvTnVtYmVyV0l0aERlY2lt
YXBsUGxhY2VzLgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9yIERl
Y2ltYWwgdHlwZS4KKyAgICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsTnVtYmVyUmVuZGVyU2l6ZSk6IEFkZGVkIGZvciBjYWxjdWxhdGVSZW5k
ZXJTaXplLgorICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlUmVuZGVyU2l6ZSk6IEFkZGVkLiBU
aGlzIGZ1bmN0aW9uIHJlcGxhY2VzcyBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQuCisgICAgICAg
IChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZSk6IENoYW5nZWQgZm9y
IERlY2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2l6ZVNo
b3VsZEluY2x1ZGVEZWNvcmF0aW9uKTogQ2hhbmdlZCB0byB1c2UgY2FsY3VsYXRlUmVuZGVyU2l6
ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcik6IENo
YW5nZWQgZm9yIERlY2ltYWwgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlw
ZTo6c2VyaWFsaXplKTogZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoK
KyAgICAgICAgKE51bWJlcklucHV0VHlwZSk6IFJlbW92ZWQgcGFyc2VUb051bWJlcldJdGhEZWNp
bWFwbFBsYWNlcy4KKyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBE
ZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5
ZG93bkV2ZW50KTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6cGFy
c2VUb051bWJlcik6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNl
cmlhbGl6ZSk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvU3RlcFJhbmdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6U3RlcFJhbmdlKTogUmVtb3ZlZCBkZWNpbWFsIHBsYWNlcyBh
bmQgY2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdl
OjphY2NlcHRhYmxlRXJyb3IpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChX
ZWJDb3JlOjpTdGVwUmFuZ2U6OmFsaWduVmFsdWVGb3JTdGVwKTogZGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTdGVwUmFuZ2U6OmNsYW1wVmFsdWUpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUg
YW5kIHN0ZDo6bWluL21heC4KKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVw
KTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlIGFuZCByZW1vdmVkIE51bWJlcldpdGhEZWNpbWFs
UGxhY2VzLgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2gpOiBDaGFu
Z2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcik6IENoYW5nZWQgdG8gcmVhbCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OmNvbnZlcnRJbnB1dE51bWJlclRvRG91YmxlKTogIENoYW5nZWQgdG8gcmVhbCBpbXBs
ZW1lbnRhdGlvbi4KKyAgICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAoSW5wdXRO
dW1iZXIpOiBSZXBsYWNlbWVudCBvZiBOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcy4KKyAgICAgICAg
KFdlYkNvcmU6OlN0ZXBSYW5nZTo6SW5wdXROdW1iZXI6OklucHV0TnVtYmVyKToKKyAgICAgICAg
KiBodG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZUlucHV0VHlw
ZTo6Y3JlYXRlU3RlcFJhbmdlKTogQ2hhbmdlZCBmb3IgRGVjaW1hbCB0eXBlLgorICAgICAgICAq
IGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWVrSW5wdXRUeXBl
OjpjcmVhdGVTdGVwUmFuZ2UpOiBDaGFuZ2VkIGZvciBEZWNpbWFsIHR5cGUuCisgICAgICAgICog
aHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXJp
YWxpemVGb3JOdW1iZXJUeXBlKTogQWRkZWQgRGVjaW1hbCB2ZXJzaW9uLgorICAgICAgICAoV2Vi
Q29yZTo6cGFyc2VUb0RlY2ltYWxGb3JOdW1iZXJUeXBlKTogQWRkZWQuCisgICAgICAgICogaHRt
bC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oOiBVcGRhdGVkIGNvbW1lbnRzIGZvciBwYXJzZVRv
RG91YmxlRm9yTnVtYmVyVHlwZS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2xpZGVyUG9zaXRpb24pOiBDaGFuZ2VkIGZv
ciBEZWNpbWFsIHR5cGUuCisKIDIwMTItMDYtMDggIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gcjExOTgwMjogUmVtb3ZlIHVubmVjZXNz
YXJ5IEFTU0VSVCghbV9kZWxldGlvbkhhc0JlZ3VuKSBmcm9tIERvY3VtZW50LmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA3M2U0
OTkyM2IwNjBiNDYzNTM4ZGQ4MTI4ZWQ3NmY5ZTBjYWFlODBkLi5jNzY2MTk0NTIyNzg5Y2IxYjQ0
NmQ0YTI2ZGIwNzA1ZDFhMzJlZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBCYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhjb25zdCBTdHJpbmcmIHNv
dXJjZSwgRGF0ZUMKIAogU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXpl
KGNvbnN0IElucHV0TnVtYmVyJiB2YWx1ZSkgY29uc3QKIHsKLSAgICBpZiAoIWlzZmluaXRlKHZh
bHVlKSkKKyAgICBpZiAoIXZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmco
KTsKICAgICBEYXRlQ29tcG9uZW50cyBkYXRlOwogICAgIGlmICghc2V0TWlsbGlzZWNvbmRUb0Rh
dGVDb21wb25lbnRzKGNvbnZlcnRJbnB1dE51bWJlclRvRG91YmxlKHZhbHVlKSwgJmRhdGUpKQpA
QCAtMTQ5LDkgKzE0OSw5IEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlh
bGl6ZVdpdGhDb21wb25lbnRzKGNvbnN0IERhdGVDb21wb25lbnRzJiBkCiAgICAgSW5wdXROdW1i
ZXIgc3RlcDsKICAgICBpZiAoIWVsZW1lbnQoKS0+Z2V0QWxsb3dlZFZhbHVlU3RlcCgmc3RlcCkp
CiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKCk7Ci0gICAgaWYgKCFmbW9kKHN0ZXAsIG1z
ZWNQZXJNaW51dGUpKQorICAgIGlmIChzdGVwLnJlbWFpbmRlcihtc2VjUGVyTWludXRlKS5pc1pl
cm8oKSkKICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6Ok5vbmUp
OwotICAgIGlmICghZm1vZChzdGVwLCBtc2VjUGVyU2Vjb25kKSkKKyAgICBpZiAoc3RlcC5yZW1h
aW5kZXIobXNlY1BlclNlY29uZCkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3Ry
aW5nKERhdGVDb21wb25lbnRzOjpTZWNvbmQpOwogICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERh
dGVDb21wb25lbnRzOjpNaWxsaXNlY29uZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRU
eXBlLmNwcAppbmRleCA3ZTYzZDgyNzFiYzA4MjY5NGU3Mzk0OWUxMzk4YWFjZjcwNmJiNDcyLi4x
MDQ0NDdlYTVhNjZhYzFlNjBhODBiMzEzOWM1ZDVjZjc0MjhiYWZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZUlucHV0VHlwZS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgU3RlcFJhbmdlIERhdGVJbnB1
dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBj
b25zdAogICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVt
ZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVt
YmVyIG1pbmltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZSht
aW5BdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmlt
dW1EYXRlKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtYXhpbXVtID0gcGFyc2VUb051bWJl
cihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIGNvbnZlcnREb3VibGVUb0lu
cHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtRGF0ZSgpKSk7Ci0gICAgY29uc3QgU3Rl
cFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0
ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0
dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFu
Z2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVw
QmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA5MGRjNmNiZGVjYzJj
MmRmMzU5NzkzMDAxMWQwM2NmMDU2YWYyYTgwLi5jZDNjYTc5NzI1MGFlZDE0ZGM2OTVjNDYyNmJj
MmVhYTI2ZDJiOTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNw
cApAQCAtNzQsNyArNzQsNyBAQCBTdGVwUmFuZ2UgRGF0ZVRpbWVJbnB1dFR5cGU6OmNyZWF0ZVN0
ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nKSBjbwogICAgIGNvbnN0IElu
cHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRy
aWJ1dGUobWluQXR0ciksIDApOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1pbmltdW0gPSBwYXJz
ZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29udmVydERv
dWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1EYXRlVGltZSgpKSk7CiAg
ICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihEYXRl
Q29tcG9uZW50czo6bWF4aW11bURhdGVUaW1lKCkpKTsKLSAgICBjb25zdCBTdGVwUmFuZ2U6Ok51
bWJlcldpdGhEZWNpbWFsUGxhY2VzIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVw
SGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0
ZXBBdHRyKSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VT
dGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5p
bXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAwMGNkZTJkNzYwN2Qz
OTcwNjVmMDg0NGU0YjhhODliNmJjN2M3Y2FmLi4xNjRhYjA0MTA1YTBhZGMyZjBkY2IxZDUzNGVh
YTM4ZTRiMTRiZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9j
YWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElu
cHV0VHlwZS5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgU3RlcFJhbmdlIERhdGVUaW1lTG9jYWxJbnB1
dFR5cGU6OmNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW4KICAg
ICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBtaW5p
bXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciks
IGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZVRp
bWUoKSkpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXRO
dW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1heGltdW1EYXRlVGltZSgpKSk7Ci0gICAgY29uc3QgU3Rl
cFJhbmdlOjpOdW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0
ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0
dHJpYnV0ZShzdGVwQXR0cikpOworICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXAgPSBTdGVwUmFu
Z2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxpbmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRyKSk7CiAgICAgcmV0dXJuIFN0ZXBSYW5nZShzdGVw
QmFzZSwgbWluaW11bSwgbWF4aW11bSwgc3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IGUyM2Y5MmU4ZDk5MmM2ZmQ4N2E3MDdiYmYzNzYy
MWRjMGViYzkyNjcuLjliYjYwMjk2YzhlZjYyNDlhNmFkMGYyNjUwMzA5YTAxODkxYjk2MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1Nyw3ICsyNTcsNyBAQCBib29sIElucHV0
VHlwZTo6cmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgY29uc3QgSW5wdXROdW1iZXIgbnVtZXJpY1ZhbHVlID0gcGFy
c2VUb051bWJlck9yTmFOKHZhbHVlKTsKLSAgICBpZiAoaXNuYW4obnVtZXJpY1ZhbHVlKSkKKyAg
ICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICByZXR1cm4gbnVtZXJpY1ZhbHVlIDwgY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkubWlu
aW11bSgpOwpAQCAtMjY5LDcgKzI2OSw3IEBAIGJvb2wgSW5wdXRUeXBlOjpyYW5nZU92ZXJmbG93
KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1
ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFsdWUu
aXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG51bWVyaWNW
YWx1ZSA+IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1heGltdW0oKTsKQEAgLTMwMiw3ICsz
MDIsNyBAQCBib29sIElucHV0VHlwZTo6aXNJblJhbmdlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNv
bnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVy
aWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVy
aWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWpl
Y3RBbnkpKTsKQEAgLTMxNSw3ICszMTUsNyBAQCBib29sIElucHV0VHlwZTo6aXNPdXRPZlJhbmdl
KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1
ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkpCisgICAgaWYgKCFudW1lcmljVmFsdWUu
aXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBTdGVwUmFuZ2Ugc3RlcFJh
bmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKQEAgLTMyOCw3ICszMjgsNyBAQCBib29s
IElucHV0VHlwZTo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IElucHV0TnVtYmVyIG51bWVyaWNWYWx1ZSA9
IHBhcnNlVG9OdW1iZXJPck5hTih2YWx1ZSk7Ci0gICAgaWYgKGlzbmFuKG51bWVyaWNWYWx1ZSkp
CisgICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgcmV0dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLnN0ZXBNaXNtYXRjaChu
dW1lcmljVmFsdWUpOwpAQCAtMzY2LDcgKzM2Niw3IEBAIFN0cmluZyBJbnB1dFR5cGU6OnZhbGlk
YXRpb25NZXNzYWdlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAg
ICBjb25zdCBJbnB1dE51bWJlciBudW1lcmljVmFsdWUgPSBwYXJzZVRvTnVtYmVyT3JOYU4odmFs
dWUpOwotICAgIGlmIChpc25hbihudW1lcmljVmFsdWUpKQorICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgU3RlcFJh
bmdlIHN0ZXBSYW5nZShjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KSk7CkBAIC00NjYsMTQgKzQ2
Niw3IEBAIElucHV0TnVtYmVyIElucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcm
LCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhCiAKIElucHV0TnVtYmVyIElucHV0VHlwZTo6
cGFyc2VUb051bWJlck9yTmFOKGNvbnN0IFN0cmluZyYgc3RyaW5nKSBjb25zdAogewotICAgIHJl
dHVybiBwYXJzZVRvTnVtYmVyKHN0cmluZywgbnVtZXJpY19saW1pdHM8SW5wdXROdW1iZXI+Ojpx
dWlldF9OYU4oKSk7Ci19Ci0KLUlucHV0TnVtYmVyIElucHV0VHlwZTo6cGFyc2VUb051bWJlcldp
dGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYgc3JjLCBjb25zdCBJbnB1dE51bWJlciYgZGVm
YXVsdFZhbHVlLCB1bnNpZ25lZCAqZGVjaW1hbFBsYWNlcykgY29uc3QKLXsKLSAgICBpZiAoZGVj
aW1hbFBsYWNlcykKLSAgICAgICAgKmRlY2ltYWxQbGFjZXMgPSAwOwotICAgIHJldHVybiBwYXJz
ZVRvTnVtYmVyKHNyYywgZGVmYXVsdFZhbHVlKTsKKyAgICByZXR1cm4gcGFyc2VUb051bWJlcihz
dHJpbmcsIERlY2ltYWw6Om5hbigpKTsKIH0KIAogYm9vbCBJbnB1dFR5cGU6OnBhcnNlVG9EYXRl
Q29tcG9uZW50cyhjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0CkBAIC04ODYs
MTUgKzg3OSwxMyBAQCB2b2lkIElucHV0VHlwZTo6YXBwbHlTdGVwKGludCBjb3VudCwgQW55U3Rl
cEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZywgVGV4dEZpZWxkRQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1
aWV0X05hTigpOwotICAgIHVuc2lnbmVkIGN1cnJlbnREZWNpbWFsUGxhY2VzOwotICAgIGNvbnN0
IElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJzZVRvTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoZWxl
bWVudCgpLT52YWx1ZSgpLCBuYW4sICZjdXJyZW50RGVjaW1hbFBsYWNlcyk7Ci0gICAgaWYgKCFp
c2Zpbml0ZShjdXJyZW50KSkgeworICAgIGNvbnN0IElucHV0TnVtYmVyIGN1cnJlbnQgPSBwYXJz
ZVRvTnVtYmVyT3JOYU4oZWxlbWVudCgpLT52YWx1ZSgpKTsKKyAgICBpZiAoIWN1cnJlbnQuaXNG
aW5pdGUoKSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIElucHV0TnVtYmVyIG5ld1ZhbHVlID0gY3VycmVudCArIHN0ZXBSYW5n
ZS5zdGVwKCkgKiBjb3VudDsKLSAgICBpZiAoaXNpbmYobmV3VmFsdWUpKSB7CisgICAgaWYgKCFu
ZXdWYWx1ZS5pc0Zpbml0ZSgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC05MDksNyArOTAwLDcgQEAgdm9pZCBJbnB1dFR5cGU6
OmFwcGx5U3RlcChpbnQgY291bnQsIEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIFRl
eHRGaWVsZEUKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc3RlcFN0cmluZyA9IGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cik7CiAgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2Fz
ZShzdGVwU3RyaW5nLCAiYW55IikpCi0gICAgICAgIG5ld1ZhbHVlID0gc3RlcFJhbmdlLmFsaWdu
VmFsdWVGb3JTdGVwKGN1cnJlbnQsIGN1cnJlbnREZWNpbWFsUGxhY2VzLCBuZXdWYWx1ZSk7Cisg
ICAgICAgIG5ld1ZhbHVlID0gc3RlcFJhbmdlLmFsaWduVmFsdWVGb3JTdGVwKGN1cnJlbnQsIG5l
d1ZhbHVlKTsKIAogICAgIGlmIChuZXdWYWx1ZSAtIHN0ZXBSYW5nZS5tYXhpbXVtKCkgPiBhY2Nl
cHRhYmxlRXJyb3JWYWx1ZSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwpAQCAt
MTAwOSw3ICsxMDAwLDcgQEAgdm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQg
bikKIAogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUgPSBlbGVtZW50KCktPnZhbHVlKCk7
CiAgICAgSW5wdXROdW1iZXIgY3VycmVudCA9IHBhcnNlVG9OdW1iZXJPck5hTihjdXJyZW50U3Ry
aW5nVmFsdWUpOwotICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICBpZiAoIWN1cnJl
bnQuaXNGaW5pdGUoKSkgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgICAgICBjdXJy
ZW50ID0gZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCk7CiAgICAgICAgIGNvbnN0IElucHV0TnVtYmVy
IG5leHREaWZmID0gc3RlcCAqIG47CkBAIC0xMDI1LDE1ICsxMDE2LDEzIEBAIHZvaWQgSW5wdXRU
eXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50IG4pCiAgICAgfSBlbHNlIHsKICAgICAgICAgRXhj
ZXB0aW9uQ29kZSBlYzsKICAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChlbGVtZW50KCktPnZhbHVl
KCkpKSB7Ci0gICAgICAgICAgICBBU1NFUlQoc3RlcCk7Ci0gICAgICAgICAgICBjb25zdCBJbnB1
dE51bWJlciBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxJbnB1dE51bWJlcj4obWF4KHN0
ZXBSYW5nZS5zdGVwRGVjaW1hbFBsYWNlcygpLCBzdGVwUmFuZ2Uuc3RlcEJhc2VEZWNpbWFsUGxh
Y2VzKCkpKSk7Ci0gICAgICAgICAgICBjb25zdCBJbnB1dE51bWJlciBiYXNlID0gc3RlcFJhbmdl
LnN0ZXBCYXNlKCk7Ci0KLSAgICAgICAgICAgIElucHV0TnVtYmVyIG5ld1ZhbHVlOworICAgICAg
ICAgICAgQVNTRVJUKCFzdGVwLmlzWmVybygpKTsKKyAgICAgICAgICAgIGNvbnN0IERlY2ltYWwg
YmFzZSA9IHN0ZXBSYW5nZS5zdGVwQmFzZSgpOworICAgICAgICAgICAgRGVjaW1hbCBuZXdWYWx1
ZTsKICAgICAgICAgICAgIGlmIChzaWduIDwgMCkKLSAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9
IHJvdW5kKChiYXNlICsgZmxvb3IoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBz
Y2FsZSkgLyBzY2FsZTsKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGJhc2UgKyAoKGN1cnJl
bnQgLSBiYXNlKSAvIHN0ZXApLmZsb29yKCkgKiBzdGVwOwogICAgICAgICAgICAgZWxzZSBpZiAo
c2lnbiA+IDApCi0gICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwo
KGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAg
ICAgICAgICAgICBuZXdWYWx1ZSA9IGJhc2UgKyAoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApLmNl
aWxpbmcoKSAqIHN0ZXA7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbmV3VmFs
dWUgPSBjdXJyZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA3NmViZDQ4NjQ3ODNj
NGNlM2UxMDhlOTM4OTA2MjM2NjA0MTFjMDVjLi5iNmI5Yjc4ODIyYWRkNzUwNWRmYmM3ZmFmZGJi
MzI3YjI5MzdhMDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTI2NiwxMSArMjY2LDYg
QEAgcHVibGljOgogICAgIC8vIHJldHVybiBOYU4gb3IgSW5maW5pdHkgb25seSBpZiBkZWZhdWx0
VmFsdWUgaXMgTmFOIG9yIEluZmluaXR5LgogICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VU
b051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1dE51bWJlciYgZGVmYXVsdFZhbHVlKSBj
b25zdDsKIAotICAgIC8vIFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBmb3IgdGhlIHR5cGUg
YXMgcGFyc2VUb051bWJlcigpIGRvZXMuCi0gICAgLy8gSW4gYWRkaXRpb24sIGl0IHN0b3JlcyB0
aGUgbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludAotICAgIC8vIGludG8g
KmRlY2ltYWxQbGFjZXMuCi0gICAgdmlydHVhbCBJbnB1dE51bWJlciBwYXJzZVRvTnVtYmVyV2l0
aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiwgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRW
YWx1ZSwgdW5zaWduZWQqIGRlY2ltYWxQbGFjZXMpIGNvbnN0OwotCiAgICAgLy8gUGFyc2VzIHRo
ZSBzcGVjaWZpZWQgc3RyaW5nIGZvciB0aGlzIElucHV0VHlwZSwgYW5kIHJldHVybnMgdHJ1ZSBp
ZiBpdAogICAgIC8vIGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuIEFuIGluc3RhbmNlIHBvaW50ZWQg
YnkgdGhlIERhdGVDb21wb25lbnRzKgogICAgIC8vIHBhcmFtZXRlciB3aWxsIGhhdmUgcGFyc2Vk
IHZhbHVlcyBhbmQgYmUgbW9kaWZpZWQgZXZlbiBpZiB0aGUgcGFyc2luZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRleCBiZDEwNDkxNDNlOTBhNTA1ZTllYmRmOGU0Y2Zj
NTYxYWIxZTMyMDkzLi5hMTFhNzM1MWJlOWY3ZmE3NWRkMmY5OGIxMGZhOWI0NzFjY2ZkOGMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcApAQCAtMTA0LDcgKzEwNCw3IEBA
IFN0ZXBSYW5nZSBNb250aElucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGlu
ZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJhc2Ug
PSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgY29u
dmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKSk7
CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgp
LT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihE
YXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkpKTsKICAgICBjb25zdCBJbnB1dE51bWJlciBt
YXhpbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0
ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptYXhpbXVtTW9u
dGgoKSkpOwotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3Rl
cCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9u
LCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1
dE51bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVw
RGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAg
IHJldHVybiBTdGVwUmFuZ2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBE
ZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVy
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcApp
bmRleCA1N2ZjYWZjMTlhZmZhOWExODBhMmEzYmY0NDIxNmNjMDA2NTMzNWI5Li4xZDZhNDc5MThl
Zjk5N2VkZjNkM2U0N2Y1NWFjNjQyNTRlN2MyNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1i
ZXJJbnB1dFR5cGUuY3BwCkBAIC01NCwxOSArNTQsNDQgQEAgc3RhdGljIGNvbnN0IGludCBudW1i
ZXJEZWZhdWx0U3RlcCA9IDE7CiBzdGF0aWMgY29uc3QgaW50IG51bWJlckRlZmF1bHRTdGVwQmFz
ZSA9IDA7CiBzdGF0aWMgY29uc3QgaW50IG51bWJlclN0ZXBTY2FsZUZhY3RvciA9IDE7CiAKLXN0
YXRpYyB1bnNpZ25lZCBsZW5ndGhCZWZvcmVEZWNpbWFsUG9pbnQoZG91YmxlIHZhbHVlKQorc3Ry
dWN0IFJlYWxOdW1iZXJSZW5kZXJTaXplCiB7Ci0gICAgLy8gSWYgdmFsdWUgaXMgbmVnYXRpdmUs
ICctJyBzaG91bGQgYmUgY291bnRlZC4KKyAgICB1bnNpZ25lZCBzaXplQmVmb3JlRGVjaW1hbFBv
aW50OworICAgIHVuc2lnbmVkIHNpemVBZnRlRGVjaW1hbFBvaW50OwogCi0gICAgZG91YmxlIGFi
c29sdXRlVmFsdWUgPSBmYWJzKHZhbHVlKTsKLSAgICBpZiAoYWJzb2x1dGVWYWx1ZSA8IDEpCi0g
ICAgICAgIHJldHVybiB2YWx1ZSA8IDAgPyAyIDogMTsKKyAgICBSZWFsTnVtYmVyUmVuZGVyU2l6
ZSh1bnNpZ25lZCBiZWZvcmUsIHVuc2lnbmVkIGFmdGVyKQorICAgICAgICA6IHNpemVCZWZvcmVE
ZWNpbWFsUG9pbnQoYmVmb3JlKQorICAgICAgICAsIHNpemVBZnRlRGVjaW1hbFBvaW50KGFmdGVy
KQorICAgIHsKKyAgICB9CiAKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4obG9nMTAoZmxvb3IoYWJzb2x1dGVWYWx1ZSkpKSArIDE7Ci0gICAgaWYgKHZhbHVlIDwg
MCkKLSAgICAgICAgbGVuZ3RoICs9IDE7CisgICAgUmVhbE51bWJlclJlbmRlclNpemUgbWF4KGNv
bnN0IFJlYWxOdW1iZXJSZW5kZXJTaXplJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBSZWFsTnVtYmVyUmVuZGVyU2l6ZSgKKyAgICAgICAgICAgIHN0ZDo6bWF4KHNpemVCZWZv
cmVEZWNpbWFsUG9pbnQsIG90aGVyLnNpemVCZWZvcmVEZWNpbWFsUG9pbnQpLAorICAgICAgICAg
ICAgc3RkOjptYXgoc2l6ZUFmdGVEZWNpbWFsUG9pbnQsIG90aGVyLnNpemVBZnRlRGVjaW1hbFBv
aW50KSk7CisgICAgfQorfTsKIAotICAgIHJldHVybiBsZW5ndGg7CitzdGF0aWMgUmVhbE51bWJl
clJlbmRlclNpemUgY2FsY3VsYXRlUmVuZGVyU2l6ZShjb25zdCBEZWNpbWFsJiB2YWx1ZSkKK3sK
KyAgICBBU1NFUlQodmFsdWUuaXNGaW5pdGUoKSk7CisgICAgY29uc3QgdW5zaWduZWQgc2l6ZU9m
RGlnaXRzID0gU3RyaW5nOjpudW1iZXIodmFsdWUudmFsdWUoKS5jb2VmZmljaWVudCgpKS5sZW5n
dGgoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBzaXplT2ZTaWduID0gdmFsdWUuaXNOZWdhdGl2ZSgp
ID8gMSA6IDA7CisgICAgY29uc3QgaW50IGV4cG9uZW50ID0gdmFsdWUuZXhwb25lbnQoKTsKKyAg
ICBpZiAoZXhwb25lbnQgPj0gMCkKKyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXpl
KHNpemVPZlNpZ24gKyBzaXplT2ZEaWdpdHMsIDApOworCisgICAgY29uc3QgaW50IHNpemVCZWZv
cmVEZWNpbWFsUG9pbnQgPSBleHBvbmVudCArIHNpemVPZkRpZ2l0czsKKyAgICBpZiAoc2l6ZUJl
Zm9yZURlY2ltYWxQb2ludCA+IDApIHsKKyAgICAgICAgLy8gSW4gY2FzZSBvZiAiMTIzLjQ1NiIK
KyAgICAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5kZXJTaXplKHNpemVPZlNpZ24gKyBzaXplQmVm
b3JlRGVjaW1hbFBvaW50LCBzaXplT2ZEaWdpdHMgLSBzaXplQmVmb3JlRGVjaW1hbFBvaW50KTsK
KyAgICB9CisKKyAgICAvLyBJbiBjYXNlIG9mICIwLjAwMDEyMzQ1IgorICAgIGNvbnN0IHVuc2ln
bmVkIHNpemVPZlplcm8gPSAxOworICAgIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mWmVyb0FmdGVy
RGVjaW1hbFBvaW50ID0gLXNpemVCZWZvcmVEZWNpbWFsUG9pbnQ7CisgICAgcmV0dXJuIFJlYWxO
dW1iZXJSZW5kZXJTaXplKHNpemVPZlNpZ24gKyBzaXplT2ZaZXJvICwgbnVtYmVyT2ZaZXJvQWZ0
ZXJEZWNpbWFsUG9pbnQgKyBzaXplT2ZEaWdpdHMpOwogfQogCiBQYXNzT3duUHRyPElucHV0VHlw
ZT4gTnVtYmVySW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKQEAg
LTEyOCwxNiArMTUzLDEyIEBAIGJvb2wgTnVtYmVySW5wdXRUeXBlOjp0eXBlTWlzbWF0Y2goKSBj
b25zdAogU3RlcFJhbmdlIE51bWJlcklucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBI
YW5kbGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBTdGVwUmFuZ2U6OlN0ZXBEZXNjcmlwdGlvbiwgc3RlcERlc2NyaXB0aW9uLCAobnVt
YmVyRGVmYXVsdFN0ZXAsIG51bWJlckRlZmF1bHRTdGVwQmFzZSwgbnVtYmVyU3RlcFNjYWxlRmFj
dG9yKSk7Ci0KLSAgICB1bnNpZ25lZCBzdGVwQmFzZURlY2ltYWxQbGFjZXM7Ci0gICAgY29uc3Qg
SW5wdXROdW1iZXIgc3RlcEJhc2VWYWx1ZSA9IHBhcnNlVG9OdW1iZXJXaXRoRGVjaW1hbFBsYWNl
cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIG51bWJlckRlZmF1bHRTdGVw
QmFzZSwgJnN0ZXBCYXNlRGVjaW1hbFBsYWNlcyk7Ci0gICAgU3RlcFJhbmdlOjpOdW1iZXJXaXRo
RGVjaW1hbFBsYWNlcyBzdGVwQmFzZShzdGVwQmFzZVZhbHVlLCBtaW4oc3RlcEJhc2VEZWNpbWFs
UGxhY2VzLCAxNnUpKTsKLQorICAgIGNvbnN0IElucHV0TnVtYmVyIHN0ZXBCYXNlID0gcGFyc2VU
b0RlY2ltYWxGb3JOdW1iZXJUeXBlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgbnVtYmVyRGVmYXVsdFN0ZXBCYXNlKTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBu
dW1lcmljX2xpbWl0czxkb3VibGU+OjptYXggZm9yIG51bWJlciBpbnB1dCB0eXBlLgogICAgIGNv
bnN0IElucHV0TnVtYmVyIGZsb2F0TWF4ID0gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIobnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11
bSA9IHBhcnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAt
ZmxvYXRNYXgpOwogICAgIGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVy
KGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgZmxvYXRNYXgpOwotICAgIGNv
bnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5nZTo6
cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZh
c3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwID0g
U3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFu
Z2Uoc3RlcEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9
CiAKQEAgLTE0NSw0NiArMTY2LDI1IEBAIGJvb2wgTnVtYmVySW5wdXRUeXBlOjpzaXplU2hvdWxk
SW5jbHVkZURlY29yYXRpb24oaW50IGRlZmF1bHRTaXplLCBpbnQmIHByZWZlcnJlCiB7CiAgICAg
cHJlZmVycmVkU2l6ZSA9IGRlZmF1bHRTaXplOwogCi0gICAgdW5zaWduZWQgbWluVmFsdWVEZWNp
bWFsUGxhY2VzOwotICAgIFN0cmluZyBtaW5WYWx1ZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtaW5BdHRyKTsKLSAgICBkb3VibGUgbWluVmFsdWVEb3VibGUgPSBwYXJzZVRvRG91Ymxl
Rm9yTnVtYmVyVHlwZVdpdGhEZWNpbWFsUGxhY2VzKG1pblZhbHVlLCAmbWluVmFsdWVEZWNpbWFs
UGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKG1pblZhbHVlRG91YmxlKSkKKyAgICBjb25zdCBT
dHJpbmcgc3RlcFN0cmluZyA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cik7
CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgdW5zaWduZWQgbWF4VmFsdWVEZWNpbWFsUGxhY2VzOwotICAg
IFN0cmluZyBtYXhWYWx1ZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKTsK
LSAgICBkb3VibGUgbWF4VmFsdWVEb3VibGUgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZVdp
dGhEZWNpbWFsUGxhY2VzKG1heFZhbHVlLCAmbWF4VmFsdWVEZWNpbWFsUGxhY2VzKTsKLSAgICBp
ZiAoIWlzZmluaXRlKG1heFZhbHVlRG91YmxlKSkKKyAgICBjb25zdCBEZWNpbWFsIG1pbmltdW0g
PSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KG1pbkF0dHIpKTsKKyAgICBpZiAoIW1pbmltdW0uaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgaWYgKG1heFZhbHVlRG91YmxlIDwgbWluVmFsdWVEb3VibGUpIHsKLSAg
ICAgICAgbWF4VmFsdWVEb3VibGUgPSBtaW5WYWx1ZURvdWJsZTsKLSAgICAgICAgbWF4VmFsdWVE
ZWNpbWFsUGxhY2VzID0gbWluVmFsdWVEZWNpbWFsUGxhY2VzOwotICAgIH0KLQotICAgIFN0cmlu
ZyBzdGVwVmFsdWUgPSBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpOwotICAg
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShzdGVwVmFsdWUsICJhbnkiKSkKKyAgICBjb25zdCBEZWNp
bWFsIG1heGltdW0gPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1heEF0dHIpKTsKKyAgICBpZiAoIW1heGltdW0uaXNGaW5pdGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHVuc2lnbmVkIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXM7
Ci0gICAgZG91YmxlIHN0ZXBWYWx1ZURvdWJsZSA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBl
V2l0aERlY2ltYWxQbGFjZXMoc3RlcFZhbHVlLCAmc3RlcFZhbHVlRGVjaW1hbFBsYWNlcyk7Ci0g
ICAgaWYgKCFpc2Zpbml0ZShzdGVwVmFsdWVEb3VibGUpKSB7Ci0gICAgICAgIHN0ZXBWYWx1ZURv
dWJsZSA9IDE7Ci0gICAgICAgIHN0ZXBWYWx1ZURlY2ltYWxQbGFjZXMgPSAwOwotICAgIH0KIAot
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IGxlbmd0aEJlZm9yZURlY2ltYWxQb2ludChtaW5WYWx1ZURv
dWJsZSk7Ci0gICAgbGVuZ3RoID0gbWF4KGxlbmd0aCwgbGVuZ3RoQmVmb3JlRGVjaW1hbFBvaW50
KG1heFZhbHVlRG91YmxlKSk7Ci0gICAgbGVuZ3RoID0gbWF4KGxlbmd0aCwgbGVuZ3RoQmVmb3Jl
RGVjaW1hbFBvaW50KHN0ZXBWYWx1ZURvdWJsZSkpOworICAgIGNvbnN0IERlY2ltYWwgc3RlcCA9
IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzdGVwU3RyaW5nLCAxKTsKKyAgICBBU1NFUlQo
c3RlcC5pc0Zpbml0ZSgpKTsKIAotICAgIHVuc2lnbmVkIGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50
ID0gbWluVmFsdWVEZWNpbWFsUGxhY2VzOwotICAgIGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50ID0g
bWF4KGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50LCBtYXhWYWx1ZURlY2ltYWxQbGFjZXMpOwotICAg
IGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50ID0gbWF4KGxlbmd0aEFmdGVyRGVjaW1hbFBvaW50LCBz
dGVwVmFsdWVEZWNpbWFsUGxhY2VzKTsKKyAgICBSZWFsTnVtYmVyUmVuZGVyU2l6ZSBzaXplID0g
Y2FsY3VsYXRlUmVuZGVyU2l6ZShtaW5pbXVtKS5tYXgoY2FsY3VsYXRlUmVuZGVyU2l6ZShtYXhp
bXVtKS5tYXgoY2FsY3VsYXRlUmVuZGVyU2l6ZShzdGVwKSkpOwogCi0gICAgLy8gJy4nIHNob3Vs
ZCBiZSBjb3VudGVkIGlmIHRoZSB2YWx1ZSBoYXMgZGVjaW1hbCBwbGFjZXMuCi0gICAgaWYgKGxl
bmd0aEFmdGVyRGVjaW1hbFBvaW50ID4gMCkKLSAgICAgICAgbGVuZ3RoICs9IGxlbmd0aEFmdGVy
RGVjaW1hbFBvaW50ICsgMTsKKyAgICBwcmVmZXJyZWRTaXplID0gc2l6ZS5zaXplQmVmb3JlRGVj
aW1hbFBvaW50ICsgc2l6ZS5zaXplQWZ0ZURlY2ltYWxQb2ludCArIChzaXplLnNpemVBZnRlRGVj
aW1hbFBvaW50ID8gMSA6IDApOwogCi0gICAgcHJlZmVycmVkU2l6ZSA9IGxlbmd0aDsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjA3LDE3ICsyMDcsMTIgQEAgdm9pZCBOdW1iZXJJbnB1dFR5
cGU6OmhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCogZXZlbnQpCiAKIElucHV0TnVtYmVyIE51
bWJlcklucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgSW5w
dXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoc3JjLCBkZWZhdWx0VmFs
dWUpKTsKLX0KLQotSW5wdXROdW1iZXIgTnVtYmVySW5wdXRUeXBlOjpwYXJzZVRvTnVtYmVyV2l0
aERlY2ltYWxQbGFjZXMoY29uc3QgU3RyaW5nJiBzcmMsIGNvbnN0IElucHV0TnVtYmVyJiBkZWZh
dWx0VmFsdWUsIHVuc2lnbmVkICpkZWNpbWFsUGxhY2VzKSBjb25zdAotewotICAgIHJldHVybiBj
b252ZXJ0RG91YmxlVG9JbnB1dE51bWJlcihwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZVdpdGhE
ZWNpbWFsUGxhY2VzKHNyYywgZGVjaW1hbFBsYWNlcywgZGVmYXVsdFZhbHVlKSk7CisgICAgcmV0
dXJuIHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzcmMsIGRlZmF1bHRWYWx1ZSk7CiB9CiAK
IFN0cmluZyBOdW1iZXJJbnB1dFR5cGU6OnNlcmlhbGl6ZShjb25zdCBJbnB1dE51bWJlciYgdmFs
dWUpIGNvbnN0CiB7Ci0gICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpCisgICAgaWYgKCF2YWx1ZS5p
c0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgcmV0dXJuIHNlcmlhbGl6
ZUZvck51bWJlclR5cGUodmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9OdW1iZXJJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBl
LmgKaW5kZXggYWRhZTFkMjYxZjZlMjZiZWYzNzFkMWQxY2UyMzFkMmVkMTRhYTJiOC4uYmNlZGM5
NjA5OGU2ZWY4ZmExZjQ3NDZkMDYwMmE1YzY3NzQ4ZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051
bWJlcklucHV0VHlwZS5oCkBAIC01Myw3ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgSW5wdXROdW1iZXIgcGFyc2VUb051bWJlcihjb25zdCBTdHJpbmcmLCBjb25zdCBJbnB1
dE51bWJlciYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgSW5wdXROdW1iZXIgcGFyc2VU
b051bWJlcldpdGhEZWNpbWFsUGxhY2VzKGNvbnN0IFN0cmluZyYsIGNvbnN0IElucHV0TnVtYmVy
JiwgdW5zaWduZWQqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxp
emUoY29uc3QgSW5wdXROdW1iZXImKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlQmx1ckV2ZW50KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVW
YWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5n
ZUlucHV0VHlwZS5jcHAKaW5kZXggNWQ4ZTU2OWJmYTk1OTFiODVhMzUwMWNmYjUyOGIyOGZkMTIy
YTUwNi4uZmI4YmUwZWVkZTZjOGQ2ZDE4YmZiNzZiNjk1NDQ1OWY0MGJiYTBmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTEwNCwxMSArMTA0LDExIEBAIFN0ZXBS
YW5nZSBSYW5nZUlucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZyBhbnlT
dGVwSGFuZGxpbmcpIGNvbnN0CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHByZWNpc2lvblZh
bHVlID0gZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHByZWNpc2lvbkF0dHIpOwogICAgIGlm
ICghcHJlY2lzaW9uVmFsdWUuaXNOdWxsKCkpIHsKLSAgICAgICAgY29uc3QgU3RlcFJhbmdlOjpO
dW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBzdGVwKGVxdWFsSWdub3JpbmdDYXNlKHByZWNpc2lvblZh
bHVlLCAiZmxvYXQiKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkg
OiAxKTsKKyAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcCA9IGVxdWFsSWdub3JpbmdDYXNl
KHByZWNpc2lvblZhbHVlLCAiZmxvYXQiKSA/IERlY2ltYWw6Om5hbigpIDogMTsKICAgICAgICAg
cmV0dXJuIFN0ZXBSYW5nZShtaW5pbXVtLCBtaW5pbXVtLCBtYXhpbXVtLCBzdGVwLCBzdGVwRGVz
Y3JpcHRpb24pOwogICAgIH0KIAotICAgIGNvbnN0IFN0ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2lt
YWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFueVN0ZXBIYW5kbGluZywgc3Rl
cERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAg
ICBjb25zdCBJbnB1dE51bWJlciBzdGVwID0gU3RlcFJhbmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhh
bmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVw
QXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2UobWluaW11bSwgbWluaW11bSwgbWF4aW11bSwg
c3RlcCwgc3RlcERlc2NyaXB0aW9uKTsKIH0KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmFu
Z2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAg
ICBjb25zdCBTdHJpbmcmIGtleSA9IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CiAKICAgICBjb25z
dCBJbnB1dE51bWJlciBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFs
dWUoKSk7Ci0gICAgQVNTRVJUKGlzZmluaXRlKGN1cnJlbnQpKTsKKyAgICBBU1NFUlQoY3VycmVu
dC5pc0Zpbml0ZSgpKTsKIAogICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdl
KFJlamVjdEFueSkpOwogCkBAIC0yMTUsMTIgKzIxNSwxMiBAQCBSZW5kZXJPYmplY3QqIFJhbmdl
SW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxl
KikgYwogCiBJbnB1dE51bWJlciBSYW5nZUlucHV0VHlwZTo6cGFyc2VUb051bWJlcihjb25zdCBT
dHJpbmcmIHNyYywgY29uc3QgSW5wdXROdW1iZXImIGRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKLSAg
ICByZXR1cm4gY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIocGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoc3JjLCBkZWZhdWx0VmFsdWUpKTsKKyAgICByZXR1cm4gcGFyc2VUb0RlY2ltYWxGb3JO
dW1iZXJUeXBlKHNyYywgZGVmYXVsdFZhbHVlKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRUeXBl
OjpzZXJpYWxpemUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdAogewotICAgIGlmICgh
aXNmaW5pdGUodmFsdWUpKQorICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwogICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKHZhbHVlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcAppbmRleCA4OGViYzk1ZTc3ZWZjZTJkZTE3Mzlk
ODY1MTc4YTQ0OTIyNmEzODlmLi45OWY5ZGU2YjNmZjYwNGYxYTJjYWQ1MjMwNTI2YmQzNDEwNTRj
NDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwCkBAIC0zNyw4ICszNyw2IEBAIFN0ZXBS
YW5nZTo6U3RlcFJhbmdlKCkKICAgICAsIG1fbWluaW11bSgwKQogICAgICwgbV9zdGVwKDEpCiAg
ICAgLCBtX3N0ZXBCYXNlKDApCi0gICAgLCBtX3N0ZXBCYXNlRGVjaW1hbFBsYWNlcygwKQotICAg
ICwgbV9zdGVwRGVjaW1hbFBsYWNlcygwKQogICAgICwgbV9oYXNTdGVwKGZhbHNlKQogewogfQpA
QCAtNDksNDggKzQ3LDM4IEBAIFN0ZXBSYW5nZTo6U3RlcFJhbmdlKGNvbnN0IFN0ZXBSYW5nZSYg
c3RlcFJhbmdlKQogICAgICwgbV9zdGVwKHN0ZXBSYW5nZS5tX3N0ZXApCiAgICAgLCBtX3N0ZXBC
YXNlKHN0ZXBSYW5nZS5tX3N0ZXBCYXNlKQogICAgICwgbV9zdGVwRGVzY3JpcHRpb24oc3RlcFJh
bmdlLm1fc3RlcERlc2NyaXB0aW9uKQotICAgICwgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXMoc3Rl
cFJhbmdlLm1fc3RlcEJhc2VEZWNpbWFsUGxhY2VzKQotICAgICwgbV9zdGVwRGVjaW1hbFBsYWNl
cyhzdGVwUmFuZ2UubV9zdGVwRGVjaW1hbFBsYWNlcykKICAgICAsIG1faGFzU3RlcChzdGVwUmFu
Z2UubV9oYXNTdGVwKQogewogfQogCi1TdGVwUmFuZ2U6OlN0ZXBSYW5nZShjb25zdCBOdW1iZXJX
aXRoRGVjaW1hbFBsYWNlcyYgc3RlcEJhc2UsIGNvbnN0IElucHV0TnVtYmVyJiBtaW5pbXVtLCBj
b25zdCBJbnB1dE51bWJlciYgbWF4aW11bSwgY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMm
IHN0ZXAsIGNvbnN0IFN0ZXBEZXNjcmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uKQorU3RlcFJhbmdl
OjpTdGVwUmFuZ2UoY29uc3QgSW5wdXROdW1iZXImIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJl
ciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1heGltdW0sIGNvbnN0IElucHV0TnVtYmVy
JiBzdGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mIHN0ZXBEZXNjcmlwdGlvbikKICAgICA6IG1f
bWF4aW11bShtYXhpbXVtKQogICAgICwgbV9taW5pbXVtKG1pbmltdW0pCi0gICAgLCBtX3N0ZXAo
aXNmaW5pdGUoc3RlcC52YWx1ZSkgPyBzdGVwLnZhbHVlIDogMSkKLSAgICAsIG1fc3RlcEJhc2Uo
aXNmaW5pdGUoc3RlcEJhc2UudmFsdWUpID8gc3RlcEJhc2UudmFsdWUgOiAxKQorICAgICwgbV9z
dGVwKHN0ZXAuaXNGaW5pdGUoKSA/IHN0ZXAgOiAxKQorICAgICwgbV9zdGVwQmFzZShzdGVwQmFz
ZS5pc0Zpbml0ZSgpID8gc3RlcEJhc2UgOiAxKQogICAgICwgbV9zdGVwRGVzY3JpcHRpb24oc3Rl
cERlc2NyaXB0aW9uKQotICAgICwgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXMoc3RlcEJhc2UuZGVj
aW1hbFBsYWNlcykKLSAgICAsIG1fc3RlcERlY2ltYWxQbGFjZXMoc3RlcC5kZWNpbWFsUGxhY2Vz
KQotICAgICwgbV9oYXNTdGVwKGlzZmluaXRlKHN0ZXAudmFsdWUpKQorICAgICwgbV9oYXNTdGVw
KHN0ZXAuaXNGaW5pdGUoKSkKIHsKLSAgICBBU1NFUlQoaXNmaW5pdGUobV9tYXhpbXVtKSk7Ci0g
ICAgQVNTRVJUKGlzZmluaXRlKG1fbWluaW11bSkpOwotICAgIEFTU0VSVChpc2Zpbml0ZShtX3N0
ZXApKTsKLSAgICBBU1NFUlQoaXNmaW5pdGUobV9zdGVwQmFzZSkpOworICAgIEFTU0VSVChtX21h
eGltdW0uaXNGaW5pdGUoKSk7CisgICAgQVNTRVJUKG1fbWluaW11bS5pc0Zpbml0ZSgpKTsKKyAg
ICBBU1NFUlQobV9zdGVwLmlzRmluaXRlKCkpOworICAgIEFTU0VSVChtX3N0ZXBCYXNlLmlzRmlu
aXRlKCkpOwogfQogCiBJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmFjY2VwdGFibGVFcnJvcigpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fc3RlcCAvIHBvdygyLjAsIEZMVF9NQU5UX0RJRyk7CisgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB1c2UgREJMX01BTlRfRElHIGluc3RlYWQgb2YgRkxUX01BTlRf
RElHIHJlZ2FyZGluZyB0byBIVE1MNSBzcGVjaWZpY2F0aW9uLgorICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgRGVjaW1hbCwgdHdvUG93ZXJPZkZsb2F0TWFudGlzc2FCaXRzLCAoRGVjaW1h
bDo6UG9zaXRpdmUsIDAsIFVJTlQ2NF9DKDEpIDw8IEZMVF9NQU5UX0RJRykpOworICAgIHJldHVy
biBtX3N0ZXAgLyB0d29Qb3dlck9mRmxvYXRNYW50aXNzYUJpdHM7CiB9CiAKLUlucHV0TnVtYmVy
IFN0ZXBSYW5nZTo6YWxpZ25WYWx1ZUZvclN0ZXAoY29uc3QgSW5wdXROdW1iZXImIGN1cnJlbnRW
YWx1ZSwgdW5zaWduZWQgY3VycmVudERlY2ltYWxQbGFjZXMsIGNvbnN0IElucHV0TnVtYmVyJiBw
cm9wb3NlZFZhbHVlKSBjb25zdAorSW5wdXROdW1iZXIgU3RlcFJhbmdlOjphbGlnblZhbHVlRm9y
U3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCBjb25zdCBJbnB1dE51bWJlciYg
bmV3VmFsdWUpIGNvbnN0CiB7Ci0gICAgaWYgKHByb3Bvc2VkVmFsdWUgPj0gcG93KDEwLjAsIDIx
LjApKQotICAgICAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZTsKLQotICAgIElucHV0TnVtYmVyIG5l
d1ZhbHVlID0gcHJvcG9zZWRWYWx1ZTsKLSAgICBpZiAoc3RlcE1pc21hdGNoKGN1cnJlbnRWYWx1
ZSkpIHsKLSAgICAgICAgY29uc3QgSW5wdXROdW1iZXIgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGlj
X2Nhc3Q8SW5wdXROdW1iZXI+KG1heChtX3N0ZXBEZWNpbWFsUGxhY2VzLCBjdXJyZW50RGVjaW1h
bFBsYWNlcykpKTsKLSAgICAgICAgbmV3VmFsdWUgPSByb3VuZChuZXdWYWx1ZSAqIHNjYWxlKSAv
IHNjYWxlOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvbnN0IElucHV0TnVtYmVyIHNjYWxlID0g
cG93KDEwLjAsIHN0YXRpY19jYXN0PElucHV0TnVtYmVyPihtYXgobV9zdGVwRGVjaW1hbFBsYWNl
cywgbV9zdGVwQmFzZURlY2ltYWxQbGFjZXMpKSk7Ci0gICAgICAgIG5ld1ZhbHVlID0gcm91bmQo
cm91bmRCeVN0ZXAobmV3VmFsdWUsIG1fc3RlcEJhc2UpICogc2NhbGUpIC8gc2NhbGU7Ci0gICAg
fQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgRGVjaW1hbCwgdGVuUG93ZXJPZjIxLCAo
RGVjaW1hbDo6UG9zaXRpdmUsIDIxLCAxKSk7CisgICAgaWYgKG5ld1ZhbHVlID49IHRlblBvd2Vy
T2YyMSkKKyAgICAgICAgcmV0dXJuIG5ld1ZhbHVlOwogCi0gICAgcmV0dXJuIG5ld1ZhbHVlOwor
ICAgIHJldHVybiBzdGVwTWlzbWF0Y2goY3VycmVudFZhbHVlKSA/IG5ld1ZhbHVlIDogcm91bmRC
eVN0ZXAobmV3VmFsdWUsIG1fc3RlcEJhc2UpOwogfQogCiBJbnB1dE51bWJlciBTdGVwUmFuZ2U6
OmNsYW1wVmFsdWUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdApAQCAtMTA2LDcyICs5
NCw3MiBAQCBJbnB1dE51bWJlciBTdGVwUmFuZ2U6OmNsYW1wVmFsdWUoY29uc3QgSW5wdXROdW1i
ZXImIHZhbHVlKSBjb25zdAogICAgIHJldHVybiBjbGFtcGVkVmFsdWU7CiB9CiAKLVN0ZXBSYW5n
ZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgU3RlcFJhbmdlOjpwYXJzZVN0ZXAoQW55U3RlcEhh
bmRsaW5nIGFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiBzdGVwRGVzY3Jp
cHRpb24sIGNvbnN0IFN0cmluZyYgc3RlcFN0cmluZykKK0lucHV0TnVtYmVyIFN0ZXBSYW5nZTo6
cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNj
cmlwdGlvbiYgc3RlcERlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN0ZXBTdHJpbmcpCiB7CiAg
ICAgaWYgKHN0ZXBTdHJpbmcuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERl
Y2ltYWxQbGFjZXMoc3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKTsKIAogICAgIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShzdGVwU3RyaW5nLCAiYW55IikpIHsKICAgICAgICAgc3dpdGNoIChhbnlTdGVwSGFu
ZGxpbmcpIHsKICAgICAgICAgY2FzZSBSZWplY3RBbnk6Ci0gICAgICAgICAgICByZXR1cm4gTnVt
YmVyV2l0aERlY2ltYWxQbGFjZXMoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9O
YU4oKSk7CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbDo6bmFuKCk7CiAgICAgICAgIGNhc2Ug
QW55SXNEZWZhdWx0U3RlcDoKLSAgICAgICAgICAgIHJldHVybiBOdW1iZXJXaXRoRGVjaW1hbFBs
YWNlcyhzdGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCkpOworICAgICAgICAgICAgcmV0dXJu
IHN0ZXBEZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUoKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgTnVt
YmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCgwKTsKLSAgICBzdGVwLnZhbHVlID0gcGFyc2VUb0Rv
dWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBsYWNlcyhzdGVwU3RyaW5nLCAmc3RlcC5kZWNp
bWFsUGxhY2VzKTsKLSAgICBpZiAoIWlzZmluaXRlKHN0ZXAudmFsdWUpIHx8IHN0ZXAudmFsdWUg
PD0gMC4wKQotICAgICAgICByZXR1cm4gTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMoc3RlcERlc2Ny
aXB0aW9uLmRlZmF1bHRWYWx1ZSgpKTsKKyAgICBEZWNpbWFsIHN0ZXAgPSBwYXJzZVRvRGVjaW1h
bEZvck51bWJlclR5cGUoc3RlcFN0cmluZyk7CisgICAgaWYgKCFzdGVwLmlzRmluaXRlKCkgfHwg
c3RlcCA8PSAwKQorICAgICAgICByZXR1cm4gc3RlcERlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSgp
OwogCiAgICAgc3dpdGNoIChzdGVwRGVzY3JpcHRpb24uc3RlcFZhbHVlU2hvdWxkQmUpIHsKICAg
ICBjYXNlIFN0ZXBWYWx1ZVNob3VsZEJlUmVhbDoKLSAgICAgICAgc3RlcC52YWx1ZSAqPSBzdGVw
RGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOworICAgICAgICBzdGVwICo9IHN0ZXBEZXNjcmlw
dGlvbi5zdGVwU2NhbGVGYWN0b3I7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyc2VkU3Rl
cFZhbHVlU2hvdWxkQmVJbnRlZ2VyOgogICAgICAgICAvLyBGb3IgZGF0ZSwgbW9udGgsIGFuZCB3
ZWVrLCB0aGUgcGFyc2VkIHZhbHVlIHNob3VsZCBiZSBhbiBpbnRlZ2VyIGZvciBzb21lIHR5cGVz
LgotICAgICAgICBzdGVwLnZhbHVlID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUpLCAxLjApOwotICAg
ICAgICBzdGVwLnZhbHVlICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAg
ICAgIHN0ZXAgPSBtYXgoc3RlcC5yb3VuZCgpLCBEZWNpbWFsKDEpKTsKKyAgICAgICAgc3RlcCAq
PSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9yOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNjYWxlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcjoKICAgICAgICAgLy8gRm9yIGRhdGV0
aW1lLCBkYXRldGltZS1sb2NhbCwgdGltZSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgYW4gaW50ZWdl
ci4KLSAgICAgICAgc3RlcC52YWx1ZSAqPSBzdGVwRGVzY3JpcHRpb24uc3RlcFNjYWxlRmFjdG9y
OwotICAgICAgICBzdGVwLnZhbHVlID0gbWF4KHJvdW5kKHN0ZXAudmFsdWUpLCAxLjApOworICAg
ICAgICBzdGVwICo9IHN0ZXBEZXNjcmlwdGlvbi5zdGVwU2NhbGVGYWN0b3I7CisgICAgICAgIHN0
ZXAgPSBtYXgoc3RlcC5yb3VuZCgpLCBEZWNpbWFsKDEpKTsKICAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogCi0gICAgQVNT
RVJUKHN0ZXAudmFsdWUgPiAwKTsKKyAgICBBU1NFUlQoc3RlcCA+IDApOwogICAgIHJldHVybiBz
dGVwOwogfQogCiBJbnB1dE51bWJlciBTdGVwUmFuZ2U6OnJvdW5kQnlTdGVwKGNvbnN0IElucHV0
TnVtYmVyJiB2YWx1ZSwgY29uc3QgSW5wdXROdW1iZXImIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGJhc2UgKyByb3VuZCgodmFsdWUgLSBiYXNlKSAvIG1fc3RlcCkgKiBtX3N0ZXA7CisgICAg
cmV0dXJuIGJhc2UgKyAoKHZhbHVlIC0gYmFzZSkgLyBtX3N0ZXApLnJvdW5kKCkgKiBtX3N0ZXA7
CiB9CiAKIGJvb2wgU3RlcFJhbmdlOjpzdGVwTWlzbWF0Y2goY29uc3QgSW5wdXROdW1iZXImIHZh
bHVlRm9yQ2hlY2spIGNvbnN0CiB7CiAgICAgaWYgKCFtX2hhc1N0ZXApCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlRm9yQ2hlY2spKQorICAgIGlmICghdmFs
dWVGb3JDaGVjay5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY29uc3Qg
SW5wdXROdW1iZXIgdmFsdWUgPSBmYWJzKHZhbHVlRm9yQ2hlY2sgLSBtX3N0ZXBCYXNlKTsKLSAg
ICBpZiAoaXNpbmYodmFsdWUpKQorICAgIGNvbnN0IElucHV0TnVtYmVyIHZhbHVlID0gKHZhbHVl
Rm9yQ2hlY2sgLSBtX3N0ZXBCYXNlKS5hYnMoKTsKKyAgICBpZiAoIXZhbHVlLmlzRmluaXRlKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBJbnB1dE51bWJlcidzIGZyYWN0aW9uYWwg
cGFydCBzaXplIGlzIERCTF9NQU5fRElHLWJpdC4gSWYgdGhlIGN1cnJlbnQgdmFsdWUKICAgICAv
LyBpcyBncmVhdGVyIHRoYW4gc3RlcCoyXkRCTF9NQU5UX0RJRywgdGhlIGZvbGxvd2luZyBjb21w
dXRhdGlvbiBmb3IKICAgICAvLyByZW1haW5kZXIgbWFrZXMgbm8gc2Vuc2UuCi0gICAgaWYgKHZh
bHVlIC8gcG93KDIuMCwgREJMX01BTlRfRElHKSA+IG1fc3RlcCkKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IERlY2ltYWwsIHR3b1Bvd2VyT2ZEb3VibGVNYW50aXNzYUJpdHMsIChEZWNp
bWFsOjpQb3NpdGl2ZSwgMCwgVUlOVDY0X0MoMSkgPDwgREJMX01BTlRfRElHKSk7CisgICAgaWYg
KHZhbHVlIC8gdHdvUG93ZXJPZkRvdWJsZU1hbnRpc3NhQml0cyA+IG1fc3RlcCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIC8vIFRoZSBjb21wdXRhdGlvbiBmb2xsb3dzIEhUTUw1IDQuMTAu
Ny4yLjEwIGBUaGUgc3RlcCBhdHRyaWJ1dGUnIDoKICAgICAvLyAuLi4gdGhhdCBudW1iZXIgc3Vi
dHJhY3RlZCBmcm9tIHRoZSBzdGVwIGJhc2UgaXMgbm90IGFuIGludGVncmFsIG11bHRpcGxlCiAg
ICAgLy8gb2YgdGhlIGFsbG93ZWQgdmFsdWUgc3RlcCwgdGhlIGVsZW1lbnQgaXMgc3VmZmVyaW5n
IGZyb20gYSBzdGVwIG1pc21hdGNoLgotICAgIGNvbnN0IElucHV0TnVtYmVyIHJlbWFpbmRlciA9
IGZhYnModmFsdWUgLSBtX3N0ZXAgKiByb3VuZCh2YWx1ZSAvIG1fc3RlcCkpOworICAgIGNvbnN0
IElucHV0TnVtYmVyIHJlbWFpbmRlciA9ICh2YWx1ZSAtIG1fc3RlcCAqICh2YWx1ZSAvIG1fc3Rl
cCkucm91bmQoKSkuYWJzKCk7CiAgICAgLy8gQWNjZXB0cyBlcnJvcyBpbiBsb3dlciBmcmFjdGlv
bmFsIHBhcnQgd2hpY2ggSUVFRSA3NTQgc2luZ2xlLXByZWNpc2lvbgogICAgIC8vIGNhbid0IHJl
cHJlc2VudC4KICAgICBjb25zdCBJbnB1dE51bWJlciBjb21wdXRlZEFjY2VwdGFibGVFcnJvciA9
IGFjY2VwdGFibGVFcnJvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2M1ZDZmN2Jm
MjY3ODAyMmMwMWMzZjVhOGZmOWZhNWQ3NDVlZTAzOC4uYjI5ZmE2Y2ExYTc0ZWYzNzEzODdjZDdi
ODQ5ZDFjNzk4NDMzNWVkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFu
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMSw2ICsyMSw3
IEBACiAjaWZuZGVmIFN0ZXBSYW5nZV9oCiAjZGVmaW5lIFN0ZXBSYW5nZV9oCiAKKyNpbmNsdWRl
ICJEZWNpbWFsLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIApAQCAtMzAsMzIgKzMxLDIxIEBAIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7
CiAKIGVudW0gQW55U3RlcEhhbmRsaW5nIHsgUmVqZWN0QW55LCBBbnlJc0RlZmF1bHRTdGVwIH07
CiAKLS8vIEZJWE1FOiBUaGUgdHlwZSBJbnB1dE51bWJlciB3aWxsIGJlIHJlcGxhY2VkIHdpdGgg
RGVjaW1hbC4KLXR5cGVkZWYgZG91YmxlIElucHV0TnVtYmVyOworLy8gRklYTUU6IFdlIHNob3Vs
ZCByZW5hbWUgSW5wdXROdW1iZXIgdG8gRGVjaW1hbCBpbiBhbGwgcGxhY2VzLgordHlwZWRlZiBE
ZWNpbWFsIElucHV0TnVtYmVyOwogCiBpbmxpbmUgSW5wdXROdW1iZXIgY29udmVydERvdWJsZVRv
SW5wdXROdW1iZXIoZG91YmxlIGRvdWJsZVZhbHVlKQogewotICAgIHJldHVybiBkb3VibGVWYWx1
ZTsKKyAgICByZXR1cm4gRGVjaW1hbDo6ZnJvbURvdWJsZShkb3VibGVWYWx1ZSk7CiB9CiAKIGlu
bGluZSBkb3VibGUgY29udmVydElucHV0TnVtYmVyVG9Eb3VibGUoY29uc3QgSW5wdXROdW1iZXIm
IG51bWVyaWNWYWx1ZSkKIHsKLSAgICByZXR1cm4gbnVtZXJpY1ZhbHVlOworICAgIHJldHVybiBu
dW1lcmljVmFsdWUudG9Eb3VibGUoKTsKIH0KIAogY2xhc3MgU3RlcFJhbmdlIHsKIHB1YmxpYzoK
LSAgICBzdHJ1Y3QgTnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgewotICAgICAgICB1bnNpZ25lZCBk
ZWNpbWFsUGxhY2VzOwotICAgICAgICBJbnB1dE51bWJlciB2YWx1ZTsKLQotICAgICAgICBOdW1i
ZXJXaXRoRGVjaW1hbFBsYWNlcyhJbnB1dE51bWJlciB2YWx1ZSA9IDAsIHVuc2lnbmVkIGRlY2lt
YWxQbGFjZXMgPSAwKQotICAgICAgICAgICAgOiBkZWNpbWFsUGxhY2VzKGRlY2ltYWxQbGFjZXMp
Ci0gICAgICAgICAgICAsIHZhbHVlKHZhbHVlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9
OwotCiAgICAgZW51bSBTdGVwVmFsdWVTaG91bGRCZSB7CiAgICAgICAgIFN0ZXBWYWx1ZVNob3Vs
ZEJlUmVhbCwKICAgICAgICAgUGFyc2VkU3RlcFZhbHVlU2hvdWxkQmVJbnRlZ2VyLApAQCAtOTIs
MTggKzgyLDE2IEBAIHB1YmxpYzoKIAogICAgIFN0ZXBSYW5nZSgpOwogICAgIFN0ZXBSYW5nZShj
b25zdCBTdGVwUmFuZ2UmKTsKLSAgICBTdGVwUmFuZ2UoY29uc3QgTnVtYmVyV2l0aERlY2ltYWxQ
bGFjZXMmIHN0ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXRO
dW1iZXImIG1heGltdW0sIGNvbnN0IE51bWJlcldpdGhEZWNpbWFsUGxhY2VzJiBzdGVwLCBjb25z
dCBTdGVwRGVzY3JpcHRpb24mKTsKKyAgICBTdGVwUmFuZ2UoY29uc3QgSW5wdXROdW1iZXImIHN0
ZXBCYXNlLCBjb25zdCBJbnB1dE51bWJlciYgbWluaW11bSwgY29uc3QgSW5wdXROdW1iZXImIG1h
eGltdW0sIGNvbnN0IElucHV0TnVtYmVyJiBzdGVwLCBjb25zdCBTdGVwRGVzY3JpcHRpb24mKTsK
ICAgICBJbnB1dE51bWJlciBhY2NlcHRhYmxlRXJyb3IoKSBjb25zdDsKLSAgICBJbnB1dE51bWJl
ciBhbGlnblZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJlciYgY3VycmVudFZhbHVlLCB1bnNp
Z25lZCBjdXJyZW50RGVjaW1hbFBsYWNlcywgY29uc3QgSW5wdXROdW1iZXImIG5ld1ZhbHVlKSBj
b25zdDsKKyAgICBJbnB1dE51bWJlciBhbGlnblZhbHVlRm9yU3RlcChjb25zdCBJbnB1dE51bWJl
ciYgY3VycmVudFZhbHVlLCBjb25zdCBJbnB1dE51bWJlciYgbmV3VmFsdWUpIGNvbnN0OwogICAg
IElucHV0TnVtYmVyIGNsYW1wVmFsdWUoY29uc3QgSW5wdXROdW1iZXImIHZhbHVlKSBjb25zdDsK
ICAgICBib29sIGhhc1N0ZXAoKSBjb25zdCB7IHJldHVybiBtX2hhc1N0ZXA7IH0KICAgICBJbnB1
dE51bWJlciBtYXhpbXVtKCkgY29uc3QgeyByZXR1cm4gbV9tYXhpbXVtOyB9CiAgICAgSW5wdXRO
dW1iZXIgbWluaW11bSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bTsgfQotICAgIHN0YXRpYyBO
dW1iZXJXaXRoRGVjaW1hbFBsYWNlcyBwYXJzZVN0ZXAoQW55U3RlcEhhbmRsaW5nLCBjb25zdCBT
dGVwRGVzY3JpcHRpb24mLCBjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgSW5wdXROdW1iZXIg
cGFyc2VTdGVwKEFueVN0ZXBIYW5kbGluZywgY29uc3QgU3RlcERlc2NyaXB0aW9uJiwgY29uc3Qg
U3RyaW5nJik7CiAgICAgSW5wdXROdW1iZXIgc3RlcCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcDsg
fQogICAgIElucHV0TnVtYmVyIHN0ZXBCYXNlKCkgY29uc3QgeyByZXR1cm4gbV9zdGVwQmFzZTsg
fQotICAgIHVuc2lnbmVkIHN0ZXBCYXNlRGVjaW1hbFBsYWNlcygpIGNvbnN0IHsgcmV0dXJuIG1f
c3RlcEJhc2VEZWNpbWFsUGxhY2VzOyB9Ci0gICAgdW5zaWduZWQgc3RlcERlY2ltYWxQbGFjZXMo
KSBjb25zdCB7IHJldHVybiBtX3N0ZXBEZWNpbWFsUGxhY2VzOyB9CiAgICAgaW50IHN0ZXBTY2Fs
ZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fc3RlcERlc2NyaXB0aW9uLnN0ZXBTY2FsZUZhY3Rv
cjsgfQogICAgIGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IElucHV0TnVtYmVyJikgY29uc3Q7CiAK
QEAgLTEzNyw4ICsxMjUsNiBAQCBwcml2YXRlOgogICAgIGNvbnN0IElucHV0TnVtYmVyIG1fc3Rl
cDsKICAgICBjb25zdCBJbnB1dE51bWJlciBtX3N0ZXBCYXNlOwogICAgIGNvbnN0IFN0ZXBEZXNj
cmlwdGlvbiBtX3N0ZXBEZXNjcmlwdGlvbjsKLSAgICBjb25zdCB1bnNpZ25lZCBtX3N0ZXBCYXNl
RGVjaW1hbFBsYWNlczsKLSAgICBjb25zdCB1bnNpZ25lZCBtX3N0ZXBEZWNpbWFsUGxhY2VzOwog
ICAgIGNvbnN0IGJvb2wgbV9oYXNTdGVwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0
VHlwZS5jcHAKaW5kZXggMjMzOTc1ZGRhMzhiYjg4NzFiNzZkOWJmNWM0ZGQ4Mzg4N2UwN2Q4MC4u
NTM3OTJhOTk4YTkyODkzMmE1YzJiNzQ0ZTQ1ODM1YTQ5YjYzYWNkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1RpbWVJbnB1dFR5cGUuY3BwCkBAIC04Niw3ICs4Niw3IEBAIFN0ZXBSYW5nZSBUaW1lSW5w
dXRUeXBlOjpjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZykg
Y29uc3QKICAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwQmFzZSA9IHBhcnNlVG9OdW1iZXIoZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCAwKTsKICAgICBjb25zdCBJbnB1dE51
bWJlciBtaW5pbXVtID0gcGFyc2VUb051bWJlcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
bWluQXR0ciksIGNvbnZlcnREb3VibGVUb0lucHV0TnVtYmVyKERhdGVDb21wb25lbnRzOjptaW5p
bXVtVGltZSgpKSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWF4aW11bSA9IHBhcnNlVG9OdW1i
ZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpLCBjb252ZXJ0RG91YmxlVG9J
bnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWF4aW11bVRpbWUoKSkpOwotICAgIGNvbnN0IFN0
ZXBSYW5nZTo6TnVtYmVyV2l0aERlY2ltYWxQbGFjZXMgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VT
dGVwKGFueVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUoc3RlcEF0dHIpKTsKKyAgICBjb25zdCBJbnB1dE51bWJlciBzdGVwID0gU3RlcFJh
bmdlOjpwYXJzZVN0ZXAoYW55U3RlcEhhbmRsaW5nLCBzdGVwRGVzY3JpcHRpb24sIGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShzdGVwQXR0cikpOwogICAgIHJldHVybiBTdGVwUmFuZ2Uoc3Rl
cEJhc2UsIG1pbmltdW0sIG1heGltdW0sIHN0ZXAsIHN0ZXBEZXNjcmlwdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCmluZGV4IDQ1YTRkMDFjZDdkY2MyODQ0YmUy
ODgyMTIyZmMzYjEzYjUyYTlkZmIuLmY4YWVhMGFjMTZlMzAzYThiZDQzNWIyZWM5YjgyNmEyMDk2
M2I3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAtNjgsNyArNjgs
NyBAQCBTdGVwUmFuZ2UgV2Vla0lucHV0VHlwZTo6Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5k
bGluZyBhbnlTdGVwSGFuZGxpbmcpIGNvbnN0CiAgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcEJh
c2UgPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwg
d2Vla0RlZmF1bHRTdGVwQmFzZSk7CiAgICAgY29uc3QgSW5wdXROdW1iZXIgbWluaW11bSA9IHBh
cnNlVG9OdW1iZXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBjb252ZXJ0
RG91YmxlVG9JbnB1dE51bWJlcihEYXRlQ29tcG9uZW50czo6bWluaW11bVdlZWsoKSkpOwogICAg
IGNvbnN0IElucHV0TnVtYmVyIG1heGltdW0gPSBwYXJzZVRvTnVtYmVyKGVsZW1lbnQoKS0+ZmFz
dEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgY29udmVydERvdWJsZVRvSW5wdXROdW1iZXIoRGF0ZUNv
bXBvbmVudHM6Om1heGltdW1XZWVrKCkpKTsKLSAgICBjb25zdCBTdGVwUmFuZ2U6Ok51bWJlcldp
dGhEZWNpbWFsUGxhY2VzIHN0ZXAgPSBTdGVwUmFuZ2U6OnBhcnNlU3RlcChhbnlTdGVwSGFuZGxp
bmcsIHN0ZXBEZXNjcmlwdGlvbiwgZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKHN0ZXBBdHRy
KSk7CisgICAgY29uc3QgSW5wdXROdW1iZXIgc3RlcCA9IFN0ZXBSYW5nZTo6cGFyc2VTdGVwKGFu
eVN0ZXBIYW5kbGluZywgc3RlcERlc2NyaXB0aW9uLCBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1
dGUoc3RlcEF0dHIpKTsKICAgICByZXR1cm4gU3RlcFJhbmdlKHN0ZXBCYXNlLCBtaW5pbXVtLCBt
YXhpbXVtLCBzdGVwLCBzdGVwRGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwCmluZGV4IGE5OWEyMWEwOGU1YmRkMDg2
NWZhMzNjNzM5NTUwNDAxNzJjMzhiMzEuLmMzYmVjYzM2MGQ0ZmFmZjU3MTQ1N2YzMDk1MGE2MWE2
ODg2MzA2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJz
ZXJJZGlvbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJ
ZGlvbXMuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUg
PGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9kdG9h
Lmg+CkBAIC01OCw2ICs1OSwxNSBAQCBTdHJpbmcgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1M
U3BhY2VzKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHJldHVybiBzdHJpbmcuc3Vic3RyaW5n
KG51bUxlYWRpbmdTcGFjZXMsIGxlbmd0aCAtIChudW1MZWFkaW5nU3BhY2VzICsgbnVtVHJhaWxp
bmdTcGFjZXMpKTsKIH0KIAorU3RyaW5nIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoY29uc3QgRGVj
aW1hbCYgbnVtYmVyKQoreworICAgIGlmIChudW1iZXIuaXNaZXJvKCkpIHsKKyAgICAgICAgLy8g
RGVjaW1hbDo6dG9TdHJpbmcgYXBwZW5kcyBleHBvbmVudCwgZS5nLiAiMGUtMTgiCisgICAgICAg
IHJldHVybiBudW1iZXIuaXNOZWdhdGl2ZSgpID8gIi0wIiA6ICIwIjsKKyAgICB9CisgICAgcmV0
dXJuIG51bWJlci50b1N0cmluZygpOworfQorCiBTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlw
ZShkb3VibGUgbnVtYmVyKQogewogICAgIC8vIEFjY29yZGluZyB0byBIVE1MNSwgInRoZSBiZXN0
IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIgbiBhcyBhIGZsb2F0aW5nCkBAIC02Niw2ICs3
NiwzNSBAQCBTdHJpbmcgc2VyaWFsaXplRm9yTnVtYmVyVHlwZShkb3VibGUgbnVtYmVyKQogICAg
IHJldHVybiBTdHJpbmcobnVtYmVyVG9TdHJpbmcobnVtYmVyLCBidWZmZXIpKTsKIH0KIAorRGVj
aW1hbCBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNv
bnN0IERlY2ltYWwmIGZhbGxiYWNrVmFsdWUpCit7CisgICAgLy8gU2VlIEhUTUw1IDIuNS40LjMg
YFJlYWwgbnVtYmVycy4nIGFuZCBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZQorCisgICAgLy8g
U3RyaW5nOjp0b0RvdWJsZSgpIGFjY2VwdHMgbGVhZGluZyArIGFuZCB3aGl0ZXNwYWNlIGNoYXJh
Y3RlcnMsIHdoaWNoIGFyZSBub3QgdmFsaWQgaGVyZS4KKyAgICBjb25zdCBVQ2hhciBmaXJzdENo
YXJhY3RlciA9IHN0cmluZ1swXTsKKyAgICBpZiAoZmlyc3RDaGFyYWN0ZXIgIT0gJy0nICYmIGZp
cnN0Q2hhcmFjdGVyICE9ICcuJyAmJiAhaXNBU0NJSURpZ2l0KGZpcnN0Q2hhcmFjdGVyKSkKKyAg
ICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7CisKKyAgICBjb25zdCBEZWNpbWFsIHZhbHVlID0g
RGVjaW1hbDo6ZnJvbVN0cmluZyhzdHJpbmcpOworICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSkK
KyAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7CisKKyAgICAvLyBOdW1iZXJzIGFyZSBjb25z
aWRlcmVkIGZpbml0ZSBJRUVFIDc1NCBzaW5nbGUtcHJlY2lzaW9uIGZsb2F0aW5nIHBvaW50IHZh
bHVlcy4KKyAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVhbCBudW1iZXJzLicKKyAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIHVzZSBudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXggZm9yIG51bWJl
ciBpbnB1dCB0eXBlLgorICAgIGNvbnN0IERlY2ltYWwgZmxvYXRNYXggPSBEZWNpbWFsOjpmcm9t
RG91YmxlKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSk7CisgICAgaWYgKHZhbHVl
IDwgLWZsb2F0TWF4IHx8IHZhbHVlID4gZmxvYXRNYXgpCisgICAgICAgIHJldHVybiBmYWxsYmFj
a1ZhbHVlOworCisgICAgLy8gV2UgcmV0dXJuICswIGZvciAtMCBjYXNlLgorICAgIHJldHVybiB2
YWx1ZS5pc1plcm8oKSA/IERlY2ltYWwoMCkgOiB2YWx1ZTsKK30KKworRGVjaW1hbCBwYXJzZVRv
RGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7CisgICAgcmV0dXJu
IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShzdHJpbmcsIERlY2ltYWw6Om5hbigpKTsKK30K
KwogZG91YmxlIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBkb3VibGUgZmFsbGJhY2tWYWx1ZSkKIHsKICAgICAvLyBTZWUgSFRNTDUgMi41LjQuMyBgUmVh
bCBudW1iZXJzLicKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJJZGlvbXMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlv
bXMuaAppbmRleCA4YTc3NGY5ZWU0MzI1Zjc5OTZkY2VlODAyZTc4NTkyMWYxMjAwNzIxLi41ZjAx
ODZkNDRlMzBiOTY3MGIzNGQ4MWQ1ZmQ2ZmRjM2JkMzE5YTFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCkBAIC0zMCw2ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVjaW1hbDsKKwogLy8gU3BhY2UgY2hhcmFjdGVy
cyBhcyBkZWZpbmVkIGJ5IHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCiBib29sIGlzSFRNTFNwYWNl
KFVDaGFyKTsKIGJvb2wgaXNIVE1MTGluZUJyZWFrKFVDaGFyKTsKQEAgLTM5LDExICs0MSwxNCBA
QCBib29sIGlzTm90SFRNTFNwYWNlKFVDaGFyKTsKIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFp
bGluZ0hUTUxTcGFjZXMoY29uc3QgU3RyaW5nJik7CiAKIC8vIEFuIGltcGxlbWVudGF0aW9uIG9m
IHRoZSBIVE1MIHNwZWNpZmljYXRpb24ncyBhbGdvcml0aG0gdG8gY29udmVydCBhIG51bWJlciB0
byBhIHN0cmluZyBmb3IgbnVtYmVyIGFuZCByYW5nZSB0eXBlcy4KK1N0cmluZyBzZXJpYWxpemVG
b3JOdW1iZXJUeXBlKGNvbnN0IERlY2ltYWwmKTsKIFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJU
eXBlKGRvdWJsZSk7CiAKLS8vIENvbnZlcnQgdGhlIHNwZWNpZmllZCBzdHJpbmcgdG8gYSBkb3Vi
bGUuIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCB0aGUgcmV0dXJuIHZhbHVlIGlzIGZhbHNlLgor
Ly8gQ29udmVydCB0aGUgc3BlY2lmaWVkIHN0cmluZyB0byBhIGRlY2ltYWwvZG91YmxlLiBJZiB0
aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxsYmFjayB2YWx1ZSBv
ciBOYU4gaWYgbm90IHNwZWNpZmllZC4KIC8vIExlYWRpbmcgb3IgdHJhaWxpbmcgaWxsZWdhbCBj
aGFyYWN0ZXJzIGNhdXNlIGZhaWx1cmUsIGFzIGRvZXMgcGFzc2luZyBhbiBlbXB0eSBzdHJpbmcu
CiAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAgdG8gY2hlY2sgaWYgdGhlIHN0cmlu
ZyBjYW4gYmUgcGFyc2VkIHdpdGhvdXQgZ2V0dGluZyB0aGUgcmVzdWx0LgorRGVjaW1hbCBwYXJz
ZVRvRGVjaW1hbEZvck51bWJlclR5cGUoY29uc3QgU3RyaW5nJik7CitEZWNpbWFsIHBhcnNlVG9E
ZWNpbWFsRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBEZWNpbWFsJiBmYWxsYmFj
a1ZhbHVlKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcm
KTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmLCBkb3Vi
bGUgZmFsbGJhY2tWYWx1ZSk7CiBkb3VibGUgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRo
RGVjaW1hbFBsYWNlcyhjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKaW5kZXggMzA4M2E3NTAw
MmM2MmFhMjljMWJmODIxMzc2MTJiZDEzNDk2OWRlOC4uNGU3MTRhMDM5MWU0NmNiMWVkMmJhMWVl
YTU0MTQyYjI3YjUwOTQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
U2xpZGVyVGh1bWJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9T
bGlkZXJUaHVtYkVsZW1lbnQuY3BwCkBAIC01NCw3ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGlubGluZSBzdGF0aWMgSW5wdXROdW1iZXIgc2xpZGVyUG9zaXRpb24oSFRNTElucHV0RWxl
bWVudCogZWxlbWVudCkKIHsKICAgICBjb25zdCBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGVsZW1lbnQt
PmNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKLSAgICBjb25zdCBkb3VibGUgb2xkVmFsdWUg
PSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShlbGVtZW50LT52YWx1ZSgpLCBzdGVwUmFuZ2Uu
ZGVmYXVsdFZhbHVlKCkpOworICAgIGNvbnN0IElucHV0TnVtYmVyIG9sZFZhbHVlID0gcGFyc2VU
b0RlY2ltYWxGb3JOdW1iZXJUeXBlKGVsZW1lbnQtPnZhbHVlKCksIHN0ZXBSYW5nZS5kZWZhdWx0
VmFsdWUoKSk7CiAgICAgcmV0dXJuIHN0ZXBSYW5nZS5wcm9wb3J0aW9uRnJvbVZhbHVlKHN0ZXBS
YW5nZS5jbGFtcFZhbHVlKG9sZFZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5OWZkZjI2MTEwN2ZjZmVh
ZTJhNDhhZmM5NWJmZWQ1YmQ0ZmUyMDgyLi5kMDZhYzA5YjkwNzM4NmE5OGUyYzYwNTE3MjAwNjQy
YWJlY2Y2Y2Y0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMDUgIFlvc2hpZnVtaSBJ
bm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9ybXNdIEludHJvZHVjZSBE
ZWNpbWFsIGJlaGluZCB0aGUgSW5wdXROdW1iZXIgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgzODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdmFsdWUt
cm91bmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Jhbmdl
L3JhbmdlLXZhbHVlLXJvdW5kaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTA4ICBOb2VsIEdv
cmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFJ1biBv
cHRpbWl6ZS1iYXNlbGluZXMgb3ZlciBjYW52YXMtdG9EYXRhVVJMLXdlYnAuaHRtbCByZXN1bHRz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJv
dW5kaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2Ut
dmFsdWUtcm91bmRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyMmJiYmM0ZWE5MjczYTVl
YmExYjhiMWNkMTk4MmRmMzMxYTYyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3JhbmdlL3JhbmdlLXZhbHVlLXJvdW5kaW5nLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDI4MCBAQAorCis4MDAwOSBJbnRyb2R1Y2UgRGVjaW1hbCBhcml0aG1ldGljIHRvIGZpeCBy
b3VuZGluZyBlcnJvcnMgaW4gbnVtYmVyL3JhbmdlIGlucHV0IHR5cGVzCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMSIsICIxZS0w
IikudmFsdWUgaXMgIjAuMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4xIiwgIjFlLTAi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjIiLCAi
MWUtMCIpLnZhbHVlIGlzICIwLjIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwgIjAuMiIsICIx
ZS0wIikudmFsdWVBc051bWJlciBpcyAwLjIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAiMC4z
IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC4zIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMSIsICIwLjMi
LCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4zCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4xIiwg
IjAuNCIsICIxZS0wIikudmFsdWUgaXMgIjAuNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjEiLCAi
MC40IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MSIsICIwLjUiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4x
IiwgIjAuNSIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjUKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjEiLCAiMC42IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC42IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMSIsICIwLjYiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC42CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4xIiwgIjAuNyIsICIxZS0wIikudmFsdWUgaXMgIjAuNyIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjEiLCAiMC43IiwgIjFlLTAiKS52YWx1ZUFzTnVtYmVyIGlzIDAuNworUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMSIsICIwLjgiLCAiMWUtMCIpLnZhbHVlIGlzICIwLjgiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4xIiwgIjAuOCIsICIxZS0wIikudmFsdWVBc051bWJlciBpcyAwLjgKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjEiLCAiMC45IiwgIjFlLTAiKS52YWx1ZSBpcyAiMC45IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMSIsICIwLjkiLCAiMWUtMCIpLnZhbHVlQXNOdW1iZXIgaXMgMC45CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAxIiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wMSIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDEiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIg
aXMgMC4wMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMiIsICIxZS0xIikudmFsdWUg
aXMgIjAuMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjAyIiwgIjFlLTEiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDMiLCAiMWUt
MSIpLnZhbHVlIGlzICIwLjAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wMyIsICIx
ZS0xIikudmFsdWVBc051bWJlciBpcyAwLjAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIw
LjA0IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4wNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwg
IjAuMDQiLCAiMWUtMSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDEiLCAiMC4wNSIsICIxZS0xIikudmFsdWUgaXMgIjAuMDUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMSIsICIwLjA1IiwgIjFlLTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDUKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAxIiwgIjAuMDYiLCAiMWUtMSIpLnZhbHVlIGlzICIwLjA2IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wNiIsICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA2
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA3IiwgIjFlLTEiKS52YWx1ZSBpcyAiMC4w
NyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDciLCAiMWUtMSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOCIsICIxZS0xIikudmFs
dWUgaXMgIjAuMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMSIsICIwLjA4IiwgIjFlLTEiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAxIiwgIjAuMDkiLCAi
MWUtMSIpLnZhbHVlIGlzICIwLjA5IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDEiLCAiMC4wOSIs
ICIxZS0xIikudmFsdWVBc051bWJlciBpcyAwLjA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEi
LCAiMC4wMDEiLCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMSIsICIwLjAwMSIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwMQorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAyIiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDIiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDIiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwMyIsICIxZS0yIikudmFsdWUg
aXMgIjAuMDAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDAzIiwgIjFlLTIiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDQi
LCAiMWUtMiIpLnZhbHVlIGlzICIwLjAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIw
LjAwNCIsICIxZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAxIiwgIjAuMDA1IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDUiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDEiLCAiMC4wMDUiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDUKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNiIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA2
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA2IiwgIjFlLTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDEiLCAiMC4wMDciLCAiMWUtMiIp
LnZhbHVlIGlzICIwLjAwNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMSIsICIwLjAwNyIsICIx
ZS0yIikudmFsdWVBc051bWJlciBpcyAwLjAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAxIiwg
IjAuMDA4IiwgIjFlLTIiKS52YWx1ZSBpcyAiMC4wMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDEiLCAiMC4wMDgiLCAiMWUtMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDgKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMSIsICIwLjAwOSIsICIxZS0yIikudmFsdWUgaXMgIjAuMDA5IgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAxIiwgIjAuMDA5IiwgIjFlLTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwMSIsICIxZS0zIikudmFsdWUg
aXMgIjAuMDAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAxIiwgIjFlLTMi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIw
LjAwMDIiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAxIiwgIjAuMDAwMiIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDAzIiwgIjFlLTMiKS52YWx1ZSBpcyAiMC4wMDAzIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDMiLCAiMWUtMyIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwNCIsICIxZS0z
IikudmFsdWUgaXMgIjAuMDAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA0
IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMSIsICIwLjAwMDUiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDUiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAxIiwgIjAuMDAwNSIsICIxZS0zIikudmFsdWVBc051bWJlciBpcyAwLjAwMDUK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA2IiwgIjFlLTMiKS52YWx1ZSBpcyAi
MC4wMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDYiLCAiMWUtMyIpLnZh
bHVlQXNOdW1iZXIgaXMgMC4wMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAw
NyIsICIxZS0zIikudmFsdWUgaXMgIjAuMDAwNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEi
LCAiMC4wMDA3IiwgIjFlLTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwNworUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMSIsICIwLjAwMDgiLCAiMWUtMyIpLnZhbHVlIGlzICIwLjAwMDgiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAxIiwgIjAuMDAwOCIsICIxZS0zIikudmFsdWVBc051bWJlciBp
cyAwLjAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDEiLCAiMC4wMDA5IiwgIjFlLTMiKS52
YWx1ZSBpcyAiMC4wMDA5IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMSIsICIwLjAwMDkiLCAi
MWUtMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MSIsICIwLjAwMDAxIiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwMSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAxIiwgIjAuMDAwMDEiLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwMiIsICIxZS00IikudmFsdWUg
aXMgIjAuMDAwMDIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDAyIiwgIjFl
LTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAx
IiwgIjAuMDAwMDMiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDAzIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDEiLCAiMC4wMDAwMyIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA0IiwgIjFlLTQiKS52YWx1ZSBp
cyAiMC4wMDAwNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDQiLCAiMWUt
NCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEi
LCAiMC4wMDAwNSIsICIxZS00IikudmFsdWUgaXMgIjAuMDAwMDUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMSIsICIwLjAwMDA1IiwgIjFlLTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDUK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwgIjAuMDAwMDYiLCAiMWUtNCIpLnZhbHVlIGlz
ICIwLjAwMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwNiIsICIxZS00
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIs
ICIwLjAwMDA3IiwgIjFlLTQiKS52YWx1ZSBpcyAiMC4wMDAwNyIKK1BBU1MgY3JlYXRlU2FtcGxl
KCIwLjAwMDAxIiwgIjAuMDAwMDciLCAiMWUtNCIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwNwor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDEiLCAiMC4wMDAwOCIsICIxZS00IikudmFsdWUgaXMg
IjAuMDAwMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMSIsICIwLjAwMDA4IiwgIjFlLTQi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAxIiwg
IjAuMDAwMDkiLCAiMWUtNCIpLnZhbHVlIGlzICIwLjAwMDA5IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDEiLCAiMC4wMDAwOSIsICIxZS00IikudmFsdWVBc051bWJlciBpcyAwLjAwMDA5CitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDEiLCAiMWUtNSIpLnZhbHVlIGlz
ICIwLjAwMDAwMSIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwMSIsICIx
ZS01IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAxIiwgIjAuMDAwMDAyIiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDIiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDIiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwMyIsICIxZS01
IikudmFsdWUgaXMgIjAuMDAwMDAzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAu
MDAwMDAzIiwgIjFlLTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAzCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDEiLCAiMC4wMDAwMDQiLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwNCIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNCIsICIxZS01IikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAw
MDA1IiwgIjFlLTUiKS52YWx1ZSBpcyAiMC4wMDAwMDUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDEiLCAiMC4wMDAwMDUiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDUKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNiIsICIxZS01IikudmFsdWUgaXMg
IjAuMDAwMDA2IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA2IiwgIjFl
LTUiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDEiLCAiMC4wMDAwMDciLCAiMWUtNSIpLnZhbHVlIGlzICIwLjAwMDAwNyIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwNyIsICIxZS01IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA4IiwgIjFlLTUi
KS52YWx1ZSBpcyAiMC4wMDAwMDgiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDEiLCAiMC4w
MDAwMDgiLCAiMWUtNSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDgKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMSIsICIwLjAwMDAwOSIsICIxZS01IikudmFsdWUgaXMgIjAuMDAwMDA5Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAxIiwgIjAuMDAwMDA5IiwgIjFlLTUiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAw
MDAwMSIsICIxZS02IikudmFsdWUgaXMgIjFlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAxIiwgIjAuMDAwMDAwMSIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDEKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAyIiwgIjFlLTYiKS52YWx1ZSBp
cyAiMmUtNyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDAyIiwgIjFl
LTYiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMSIsICIwLjAwMDAwMDMiLCAiMWUtNiIpLnZhbHVlIGlzICIzZS03IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDMiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNCIsICIx
ZS02IikudmFsdWUgaXMgIjRlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAu
MDAwMDAwNCIsICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDQKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA1IiwgIjFlLTYiKS52YWx1ZSBpcyAiNWUtNyIK
K1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA1IiwgIjFlLTYiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIw
LjAwMDAwMDYiLCAiMWUtNiIpLnZhbHVlIGlzICI2ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMSIsICIwLjAwMDAwMDYiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA2
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNyIsICIxZS02IikudmFs
dWUgaXMgIjdlLTciCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAxIiwgIjAuMDAwMDAwNyIs
ICIxZS02IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDcKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDEiLCAiMC4wMDAwMDA4IiwgIjFlLTYiKS52YWx1ZSBpcyAiOGUtNyIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDEiLCAiMC4wMDAwMDA4IiwgIjFlLTYiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwOAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIsICIwLjAwMDAwMDki
LCAiMWUtNiIpLnZhbHVlIGlzICI5ZS03IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMSIs
ICIwLjAwMDAwMDkiLCAiMWUtNiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDA5CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAxIiwgIjFlLTciKS52YWx1ZSBpcyAi
MWUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDEiLCAiMWUt
NyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMiIsICIxZS03IikudmFsdWUgaXMgIjJlLTgiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDAyIiwgIjFlLTciKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAw
MDMiLCAiMWUtNyIpLnZhbHVlIGlzICIzZS04IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMyIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAzCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA0IiwgIjFlLTciKS52YWx1
ZSBpcyAiNGUtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAwMDAwMDQi
LCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwNSIsICIxZS03IikudmFsdWUgaXMgIjVlLTgiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA1IiwgIjFlLTciKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAu
MDAwMDAwMDYiLCAiMWUtNyIpLnZhbHVlIGlzICI2ZS04IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDEiLCAiMC4wMDAwMDAwNiIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAw
MDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA3IiwgIjFlLTci
KS52YWx1ZSBpcyAiN2UtOCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAxIiwgIjAuMDAw
MDAwMDciLCAiMWUtNyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwNworUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOCIsICIxZS03IikudmFsdWUgaXMgIjhlLTgi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMSIsICIwLjAwMDAwMDA4IiwgIjFlLTciKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAx
IiwgIjAuMDAwMDAwMDkiLCAiMWUtNyIpLnZhbHVlIGlzICI5ZS04IgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDEiLCAiMC4wMDAwMDAwOSIsICIxZS03IikudmFsdWVBc051bWJlciBpcyAw
LjAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDEi
LCAiMWUtOCIpLnZhbHVlIGlzICIxZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAxIiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAxCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDIiLCAiMWUtOCIpLnZh
bHVlIGlzICIyZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAw
MDAyIiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDMiLCAiMWUtOCIpLnZhbHVlIGlzICIzZS05
IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAzIiwgIjFlLTgi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDQiLCAiMWUtOCIpLnZhbHVlIGlzICI0ZS05IgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA0IiwgIjFlLTgiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDUiLCAiMWUtOCIpLnZhbHVlIGlzICI1ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA1IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAw
MDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDYiLCAi
MWUtOCIpLnZhbHVlIGlzICI2ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDA2IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA2CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDciLCAiMWUtOCIpLnZhbHVl
IGlzICI3ZS05IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA3
IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDgiLCAiMWUtOCIpLnZhbHVlIGlzICI4ZS05Igor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA4IiwgIjFlLTgiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDkiLCAiMWUtOCIpLnZhbHVlIGlzICI5ZS05IgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDA5IiwgIjFlLTgiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAw
MDAwMDAwMSIsICIxZS05IikudmFsdWUgaXMgIjFlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAu
MDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDEiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4w
MDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAw
MiIsICIxZS05IikudmFsdWUgaXMgIjJlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMSIsICIwLjAwMDAwMDAwMDIiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMyIsICIx
ZS05IikudmFsdWUgaXMgIjNlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDMiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAzCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNCIsICIxZS05Iiku
dmFsdWUgaXMgIjRlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDQiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA0CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNSIsICIxZS05IikudmFsdWUg
aXMgIjVlLTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAw
MDUiLCAiMWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNiIsICIxZS05IikudmFsdWUgaXMgIjZl
LTEwIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDYiLCAi
MWUtOSIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwNyIsICIxZS05IikudmFsdWUgaXMgIjdlLTEwIgor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDciLCAiMWUtOSIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAxIiwgIjAuMDAwMDAwMDAwOCIsICIxZS05IikudmFsdWUgaXMgIjhlLTEwIgorUEFTUyBj
cmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDgiLCAiMWUtOSIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwOSIsICIxZS05IikudmFsdWUgaXMgIjllLTEwIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDkiLCAiMWUtOSIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIw
LjAwMDAwMDAwMDAxIiwgIjFlLTEwIikudmFsdWUgaXMgIjFlLTExIgorUEFTUyBjcmVhdGVTYW1w
bGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMSIsICIxZS0xMCIpLnZhbHVlQXNOdW1i
ZXIgaXMgMC4wMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMiIsICIxZS0xMCIpLnZhbHVlIGlzICIyZS0xMSIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDIiLCAiMWUtMTAiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwg
IjAuMDAwMDAwMDAwMDMiLCAiMWUtMTAiKS52YWx1ZSBpcyAiM2UtMTEiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAzIiwgIjFlLTEwIikudmFsdWVBc051
bWJlciBpcyAwLjAwMDAwMDAwMDAzCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIs
ICIwLjAwMDAwMDAwMDA0IiwgIjFlLTEwIikudmFsdWUgaXMgIjRlLTExIgorUEFTUyBjcmVhdGVT
YW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNCIsICIxZS0xMCIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwNSIsICIxZS0xMCIpLnZhbHVlIGlzICI1ZS0xMSIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDUiLCAiMWUtMTAiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAx
IiwgIjAuMDAwMDAwMDAwMDYiLCAiMWUtMTAiKS52YWx1ZSBpcyAiNmUtMTEiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA2IiwgIjFlLTEwIikudmFsdWVB
c051bWJlciBpcyAwLjAwMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDA3IiwgIjFlLTEwIikudmFsdWUgaXMgIjdlLTExIgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwNyIsICIxZS0xMCIpLnZhbHVl
QXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwOCIsICIxZS0xMCIpLnZhbHVlIGlzICI4ZS0xMSIKK1BBU1MgY3Jl
YXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDgiLCAiMWUtMTAiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDkiLCAiMWUtMTAiKS52YWx1ZSBpcyAiOWUtMTEiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDA5IiwgIjFlLTEwIikudmFs
dWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDEiLCAiMWUtMTEiKS52YWx1ZSBpcyAiMWUtMTIiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDEiLCAiMWUtMTEi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDIiLCAiMWUtMTEiKS52YWx1ZSBpcyAiMmUtMTIi
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDIiLCAi
MWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDMiLCAiMWUtMTEiKS52YWx1ZSBpcyAi
M2UtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDMiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAzCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDQiLCAiMWUtMTEiKS52YWx1
ZSBpcyAiNGUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDQiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA0CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDUiLCAiMWUtMTEi
KS52YWx1ZSBpcyAiNWUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDUiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA1
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDYiLCAi
MWUtMTEiKS52YWx1ZSBpcyAiNmUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDEiLCAiMC4wMDAwMDAwMDAwMDYiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDciLCAiMWUtMTEiKS52YWx1ZSBpcyAiN2UtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDciLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDgiLCAiMWUtMTEiKS52YWx1ZSBpcyAiOGUtMTIiCitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDgiLCAiMWUtMTEiKS52YWx1ZUFzTnVtYmVy
IGlzIDAuMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDkiLCAiMWUtMTEiKS52YWx1ZSBpcyAiOWUtMTIiCitQQVNTIGNyZWF0ZVNh
bXBsZSgiMC4wMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDkiLCAiMWUtMTEiKS52YWx1ZUFz
TnVtYmVyIGlzIDAuMDAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMSIsICIxZS0xMiIpLnZhbHVlIGlzICIxZS0xMyIKK1BBU1Mg
Y3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAxIiwgIjFlLTEy
IikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDEKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAyIiwgIjFlLTEyIikudmFsdWUgaXMgIjJl
LTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDIiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMgorUEFTUyBjcmVh
dGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDMiLCAiMWUtMTIiKS52
YWx1ZSBpcyAiM2UtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAu
MDAwMDAwMDAwMDAwMyIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNCIs
ICIxZS0xMiIpLnZhbHVlIGlzICI0ZS0xMyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA0IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAw
MDAwMDAwMDAwMDQKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDA1IiwgIjFlLTEyIikudmFsdWUgaXMgIjVlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDUiLCAiMWUtMTIiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwNQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAw
MSIsICIwLjAwMDAwMDAwMDAwMDYiLCAiMWUtMTIiKS52YWx1ZSBpcyAiNmUtMTMiCitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNiIsICIxZS0xMiIp
LnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAwMDAwMDA2CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwNyIsICIxZS0xMiIpLnZhbHVlIGlzICI3ZS0x
MyIKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA3
IiwgIjFlLTEyIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDcKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDA4IiwgIjFlLTEyIikudmFs
dWUgaXMgIjhlLTEzIgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDgiLCAiMWUtMTIiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwOAor
UEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDkiLCAi
MWUtMTIiKS52YWx1ZSBpcyAiOWUtMTMiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwOSIsICIxZS0xMiIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAw
MDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAw
MDAwMDAwMDAxIiwgIjFlLTEzIikudmFsdWUgaXMgIjFlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUo
IjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMSIsICIxZS0xMyIpLnZhbHVlQXNO
dW1iZXIgaXMgMC4wMDAwMDAwMDAwMDAwMQorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMiIsICIxZS0xMyIpLnZhbHVlIGlzICIyZS0xNCIKK1BB
U1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDIiLCAi
MWUtMTMiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDIKK1BBU1MgY3JlYXRlU2Ft
cGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDMiLCAiMWUtMTMiKS52YWx1
ZSBpcyAiM2UtMTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAw
MDAwMDAwMDAwMDAzIiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDAz
CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA0
IiwgIjFlLTEzIikudmFsdWUgaXMgIjRlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAw
MDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwNCIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMg
MC4wMDAwMDAwMDAwMDAwNAorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwNSIsICIxZS0xMyIpLnZhbHVlIGlzICI1ZS0xNCIKK1BBU1MgY3JlYXRl
U2FtcGxlKCIwLjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDUiLCAiMWUtMTMiKS52
YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDUKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAw
MDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTMiKS52YWx1ZSBpcyAiNmUt
MTQiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAw
MDA2IiwgIjFlLTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA2CitQQVNTIGNy
ZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA3IiwgIjFlLTEz
IikudmFsdWUgaXMgIjdlLTE0IgorUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwNyIsICIxZS0xMyIpLnZhbHVlQXNOdW1iZXIgaXMgMC4wMDAwMDAw
MDAwMDAwNworUEFTUyBjcmVhdGVTYW1wbGUoIjAuMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAw
MDAwMDAwOCIsICIxZS0xMyIpLnZhbHVlIGlzICI4ZS0xNCIKK1BBU1MgY3JlYXRlU2FtcGxlKCIw
LjAwMDAwMDAwMDAwMDAxIiwgIjAuMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTMiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDgKK1BBU1MgY3JlYXRlU2FtcGxlKCIwLjAwMDAwMDAwMDAw
MDAxIiwgIjAuMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTMiKS52YWx1ZSBpcyAiOWUtMTQiCitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMSIsICIwLjAwMDAwMDAwMDAwMDA5IiwgIjFl
LTEzIikudmFsdWVBc051bWJlciBpcyAwLjAwMDAwMDAwMDAwMDA5CitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMWUtMTQiKS52YWx1
ZSBpcyAiMWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4w
MDAwMDAwMDAwMDAwMDEiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAw
MDAxCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwMDIiLCAiMWUtMTQiKS52YWx1ZSBpcyAiMmUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4w
MDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDIiLCAiMWUtMTQiKS52YWx1ZUFzTnVt
YmVyIGlzIDAuMDAwMDAwMDAwMDAwMDAyCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDMiLCAiMWUtMTQiKS52YWx1ZSBpcyAiM2UtMTUiCitQ
QVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDMi
LCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDAzCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTQi
KS52YWx1ZSBpcyAiNGUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEi
LCAiMC4wMDAwMDAwMDAwMDAwMDQiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAw
MDAwMDAwMDA0CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwMDUiLCAiMWUtMTQiKS52YWx1ZSBpcyAiNWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBs
ZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDUiLCAiMWUtMTQiKS52YWx1
ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA1CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAw
MDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDYiLCAiMWUtMTQiKS52YWx1ZSBpcyAiNmUt
MTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAw
MDAwMDYiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA2CitQQVNT
IGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDciLCAi
MWUtMTQiKS52YWx1ZSBpcyAiN2UtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAw
MDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDciLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAu
MDAwMDAwMDAwMDAwMDA3CitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAi
MC4wMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTQiKS52YWx1ZSBpcyAiOGUtMTUiCitQQVNTIGNyZWF0
ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDgiLCAiMWUtMTQi
KS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA4CitQQVNTIGNyZWF0ZVNhbXBsZSgi
MC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAwMDAwMDAwMDAwMDkiLCAiMWUtMTQiKS52YWx1ZSBp
cyAiOWUtMTUiCitQQVNTIGNyZWF0ZVNhbXBsZSgiMC4wMDAwMDAwMDAwMDAwMDEiLCAiMC4wMDAw
MDAwMDAwMDAwMDkiLCAiMWUtMTQiKS52YWx1ZUFzTnVtYmVyIGlzIDAuMDAwMDAwMDAwMDAwMDA5
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS12YWx1ZS1yb3VuZGlu
Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1ZjZiNjVhMzQ5NDI5NTlmMTZjMjY5NWZlNzg0YTRiOWM2YjVm
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlL3Jhbmdl
LXZhbHVlLXJvdW5kaW5nLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGlucHV0IGlkPSJmb28iIHR5cGU9cmFuZ2Ugc3RlcD0wLjEgdmFsdWU9MC42Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJzbGlkZXJzIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiPGEgaHJlZj0naHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODAwMDknPjgwMDA5IEludHJvZHVjZSBEZWNpbWFsIGFyaXRobWV0aWMgdG8gZml4
IHJvdW5kaW5nIGVycm9ycyBpbiBudW1iZXIvcmFuZ2UgaW5wdXQgdHlwZXM8L2E+Iik7CisKK2Z1
bmN0aW9uIGNyZWF0ZVNhbXBsZShzdGVwLCB2YWx1ZSwgbWF4KQoreworICAgIHZhciBjb250YWlu
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgY29udGFpbmVyLmlubmVy
SFRNTCA9ICc8aW5wdXQgdHlwZT1yYW5nZSBtaW49MCBtYXg9JyArIG1heCArICcgc3RlcD0nICsg
c3RlcCArICcgdmFsdWU9JyArIHZhbHVlICsgJz48YnI+JzsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2xpZGVycyIpLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisgICAgcmV0dXJuIGNv
bnRhaW5lci5maXJzdENoaWxkOworfQorCit2YXIgemVyb3MgPSAiMC4iOworZm9yICh2YXIgZXhw
b25lbnQgPSAwOyBleHBvbmVudCA8IDE1OyArK2V4cG9uZW50KSB7CisgICAgdmFyIHN0ZXAgPSB6
ZXJvcyArICIxIjsKKyAgICBmb3IgKHZhciBkaWdpdCA9IDE7IGRpZ2l0IDw9IDk7ICsrZGlnaXQp
IHsKKyAgICAgICAgdmFyIHZhbHVlID0gemVyb3MgKyBkaWdpdC50b1N0cmluZygpOworICAgICAg
ICB2YXIgc2FtcGxlID0gJ2NyZWF0ZVNhbXBsZSgiJyArIHN0ZXAgKyAnIiwgIicgKyB2YWx1ZSAr
ICciLCAiMWUtJyArIGV4cG9uZW50ICsgJyIpJzsKKyAgICAgICAgdmFyIHN0ZXBFeHBvbmVudCA9
IGV4cG9uZW50ICsgMTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKHNhbXBsZSArICcu
dmFsdWUnLCBzdGVwRXhwb25lbnQgPj0gNyA/IGRpZ2l0ICsgImUtIiArIHN0ZXBFeHBvbmVudCA6
IHZhbHVlKTsKKyAgICAgICAgc2hvdWxkQmUoc2FtcGxlICsgJy52YWx1ZUFzTnVtYmVyJywgdmFs
dWUpOworICAgIH0KKyAgICB6ZXJvcyArPSAiMCI7Cit9CisKKy8vIFJlbW92ZSBnZW5lcmF0ZWQg
c2xpZGVycy4KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXJzIikuaW5uZXJIVE1MID0g
IiI7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>