<?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>224718</bug_id>
          
          <creation_ts>2021-04-17 08:38:55 -0700</creation_ts>
          <short_desc>[css-counter-styles] Parse @counter-style descriptors</short_desc>
          <delta_ts>2021-06-08 17:17:32 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226792</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>224912</dependson>
          <blocked>167645</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">twilco.o</reporter>
          <assigned_to name="Tyler Wilcock">twilco.o</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751422</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-17 08:38:55 -0700</bug_when>
    <thetext>https://drafts.csswg.org/css-counter-styles-3/#the-counter-style-rule</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751438</commentid>
    <comment_count>1</comment_count>
      <attachid>426339</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-17 11:27:10 -0700</bug_when>
    <thetext>Created attachment 426339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751576</commentid>
    <comment_count>2</comment_count>
      <attachid>426370</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-17 23:09:09 -0700</bug_when>
    <thetext>Created attachment 426370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751577</commentid>
    <comment_count>3</comment_count>
      <attachid>426371</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-17 23:14:18 -0700</bug_when>
    <thetext>Created attachment 426371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752093</commentid>
    <comment_count>4</comment_count>
      <attachid>426507</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-19 19:13:19 -0700</bug_when>
    <thetext>Created attachment 426507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752095</commentid>
    <comment_count>5</comment_count>
      <attachid>426509</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-19 19:14:56 -0700</bug_when>
    <thetext>Created attachment 426509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752523</commentid>
    <comment_count>6</comment_count>
      <attachid>426620</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-20 17:13:46 -0700</bug_when>
    <thetext>Created attachment 426620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752618</commentid>
    <comment_count>7</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-20 20:49:18 -0700</bug_when>
    <thetext>&gt; This test is skipped on Windows because I haven&apos;t been able to get the required feature flags (CSSCounterStyleAtRulesEnabled and CSSCounterStyleAtRuleImageSymbolsEnabled) to work properly for that port. 

The changelog goes into a lot more detail, so I won&apos;t quote it all -- just wanted to add that if skipping this test on Windows is unacceptable I can keep looking into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752620</commentid>
    <comment_count>8</comment_count>
      <attachid>426620</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-20 20:52:33 -0700</bug_when>
    <thetext>Comment on attachment 426620
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4006
&gt; +        /* These are intentionally unimplemented because they are actually descriptors for @counter-style. */

What’s going on with the C-style comments in this file? We use the C++ style &quot;//&quot; almost everywhere else.

&gt; Source/WebCore/css/CSSCounterStyleRule.cpp:161
&gt; +    StringBuilder result;

This is an old fashioned and inefficient way to write this function. Here’s how we should write it instead:

    String systemText = system();
    const char* systemPrefix = systemText.isEmpty() ? &quot;&quot; : &quot; system: &quot;;
    const char* systemSuffix = systemText.isEmpty() ? &quot;&quot; : &quot;;&quot;;

    ...

    return makeString(&quot;@counter-style &quot;, name, &quot;  {&quot;, systemPrefix, systemText, systemSuffix ...

Continue following that same pattern for all the strings. This is much more efficient than using StringBuilder, because it only allocates a single large string rather than many temporaries and much resizing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752718</commentid>
    <comment_count>9</comment_count>
      <attachid>426678</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-21 06:42:13 -0700</bug_when>
    <thetext>Created attachment 426678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752802</commentid>
    <comment_count>10</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-21 10:10:26 -0700</bug_when>
    <thetext>&gt; What’s going on with the C-style comments in this file? We use the C++ style
&gt; &quot;//&quot; almost everywhere else.
Not sure.  This latest patch uses the correct style for the newly added lines.  I uploaded another patch to fix the others in this file: https://bugs.webkit.org/show_bug.cgi?id=224875
 
&gt; &gt; Source/WebCore/css/CSSCounterStyleRule.cpp:161
&gt; &gt; +    StringBuilder result;
&gt; 
&gt; This is an old fashioned and inefficient way to write this function. Here’s
&gt; how we should write it instead:
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752809</commentid>
    <comment_count>11</comment_count>
      <attachid>426678</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-21 10:16:03 -0700</bug_when>
    <thetext>Comment on attachment 426678
Patch

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

&gt; Source/WebCore/css/CSSCounterStyleRule.cpp:201
&gt; +    return makeString(&quot;@counter-style &quot;, name(), &quot; {&quot;, systemPrefix, systemText, systemSuffix, symbolsPrefix, symbolsText, symbolsSuffix, additiveSymbolsPrefix, additiveSymbolsText, additiveSymbolsSuffix, negativePrefix, negativeText, negativeSuffix, prefixTextPrefix, prefixText, prefixTextSuffix, suffixTextPrefix, suffixText, suffixTextSuffix, padPrefix, padText, padSuffix, rangePrefix, rangeText, rangeSuffix, fallbackPrefix, fallbackText, fallbackSuffix, speakAsPrefix, speakAsText, speakAsSuffix, &quot; }&quot;);

It’s OK to have a single long line. Could also break this logically like this:

    return makeString(&quot;@counter-style &quot;, name(), &quot; {&quot;,
        systemPrefix, systemText, systemSuffix,
        symbolsPrefix, symbolsText, symbolsSuffix,
        ...
        &quot;  }&quot;
    )

Or some variation on that format.

&gt; LayoutTests/imported/w3c/ChangeLog:22
&gt; +        These &lt;string&gt; values serialize without quotes because WebKit&apos;s representation
&gt; +        of custom identifiers is not a separate type, but instead overloaded onto the
&gt; +        CSS_STRING type.  This means that during serialization time, WebKit must guess
&gt; +        whether it is actually serializing a string (and include quotes if so), or if
&gt; +        it&apos;s serializing a custom ident (leaving off quotes if so).

So we will fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752834</commentid>
    <comment_count>12</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-21 11:28:32 -0700</bug_when>
    <thetext>&gt; It’s OK to have a single long line. Could also break this logically like
&gt; this:
OK, good to know.  Yeah, I couldn&apos;t find anything in the style guide[1] about line-length limits, and saw some other really long makeString(...)s, so I went with a single line.

&gt; So we will fix this.
Is fixing it blocking for this patch?  In case not, I&apos;ve marked cq?.  I did find a related bug: https://bugs.webkit.org/show_bug.cgi?id=28869 

[1]: https://webkit.org/code-style-guidelines/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752841</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-21 11:46:15 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #12)
&gt; Is fixing it blocking for this patch?

No.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752844</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-21 11:48:15 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #12)
&gt; Yeah, I couldn&apos;t find anything in the style guide[1]
&gt; about line-length limits

We don’t have any that we enforce.

&gt; and saw some other really long makeString(...)s,
&gt; so I went with a single line.

Sure. At a certain point it’s an aesthetic judgement, not something we have hard and fast rules for. My goal was to show you something that fits within our coding style that might be even easier to read than the single line.

I try to keep in mind that we always have the goal: make the code easy to read and understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752851</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-21 12:07:59 -0700</bug_when>
    <thetext>Committed r276380 (236855@main): &lt;https://commits.webkit.org/236855@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426678.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753018</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-04-21 20:22:56 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 224912</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753021</commentid>
    <comment_count>17</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-21 20:23:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/76996739&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753229</commentid>
    <comment_count>18</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-22 11:19:41 -0700</bug_when>
    <thetext>The patch was reverted due to a stack-use-after-scope error caught by AddressSanitizer.  See here for the full ASAN report of one failure: https://bugs.webkit.org/show_bug.cgi?id=224912#c3

&gt; void CSSCounterStyleRule::setterInternal(CSSPropertyID propertyID, const String&amp; valueText)
&gt; {
&gt;     auto tokens = CSSTokenizer(valueText).tokenRange();
&gt;     auto newValue = CSSPropertyParser::parseCounterStyleDescriptor(propertyID, tokens, parserContext());
The anonymous CSSTokenizer is created and destroyed in this line, which invalidates the token range.

I&apos;ll upload a new patch with this fixed, and with a non-single line makeString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753324</commentid>
    <comment_count>19</comment_count>
      <attachid>426858</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-22 15:41:12 -0700</bug_when>
    <thetext>Created attachment 426858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753455</commentid>
    <comment_count>20</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-22 22:06:38 -0700</bug_when>
    <thetext>https://bugs.webkit.org/attachment.cgi?oldid=426678&amp;action=interdiff&amp;newid=426858&amp;headers=1

Here&apos;s the diff between the previous patch and the latest patch.

Notable changes:

* CSSParserContext::isPropertyRuntimeDisabled disables the newly added @counter-style descriptor properties based on the feature flag state in CSSParserContext.

* Use `consumeInteger(range, 0)` instead of `consumeInteger(range, ValueRangeNonNegative)`.  consumeInteger takes a minimum value, not a ValueRange.

* The &quot;settings-flag&quot; fields were in the wrong place for the newly added properties in CSSProperties.json.  They have been moved to the correct spot under the &quot;codegen-properties&quot; object.

* stack-use-after-scope fixed by storing the CSSTokenizer in a named local variable so that it lives long enough to be used by the parser.  I re-ran the tests with an ASan build and they now pass.

Darin, when you find some time, could you please review this new patch?  Thanks as always for your reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753457</commentid>
    <comment_count>21</comment_count>
      <attachid>426858</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-22 22:07:30 -0700</bug_when>
    <thetext>Comment on attachment 426858
Patch

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

&gt; Source/WebCore/css/CSSCounterStyleRule.cpp:224
&gt; +    auto tokenRange = tokenizer.tokenRange();

Would be better without a local variable for tokenRange?

&gt; Source/WebCore/css/CSSCounterStyleRule.cpp:236
&gt; +    auto tokenRange = tokenizer.tokenRange();

Would be better without a local variable for tokenRange?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753458</commentid>
    <comment_count>22</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-22 22:09:28 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #20)
&gt; * Use `consumeInteger(range, 0)` instead of `consumeInteger(range,
&gt; ValueRangeNonNegative)`.  consumeInteger takes a minimum value, not a
&gt; ValueRange.

How is this tested? How did we miss it last time?

&gt; * The &quot;settings-flag&quot; fields were in the wrong place for the newly added
&gt; properties in CSSProperties.json.  They have been moved to the correct spot
&gt; under the &quot;codegen-properties&quot; object.

Can we create something that tests this, so we catch it if we do it wrong in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753460</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-22 22:25:51 -0700</bug_when>
    <thetext>Committed r276488 (236947@main): &lt;https://commits.webkit.org/236947@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426858.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753469</commentid>
    <comment_count>24</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-22 23:53:09 -0700</bug_when>
    <thetext>&gt; Would be better without a local variable for tokenRange?
We could do this if these functions took a const CSSParserTokenRange&amp; rather than a CSSParserTokenRange&amp;, but they can&apos;t be const because the parsing process consumes the range.  Another alternative would be to take the range by value, CSSParserTokenRange.

Here&apos;s what the error looks like without the tokenRange local:

../../../Source/WebCore/css/CSSCounterStyleRule.cpp:236:100: error: cannot bind non-const lvalue reference of type ‘WebCore::CSSParserTokenRange&amp;’ to an rvalue of type ‘WebCore::CSSParserTokenRange’
  236 |     auto newValue = CSSPropertyParser::parseCounterStyleDescriptor(propertyID, tokenizer.tokenRange(), parserContext());

&gt; * Use `consumeInteger(range, 0)` instead of `consumeInteger(range,
&gt; ValueRangeNonNegative)`.  consumeInteger takes a minimum value, not a
&gt; ValueRange.
&gt; 
&gt; How is this tested? How did we miss it last time?
This compiled because ValueRangeNonNegative is the second variant of `enum ValueRange` and was coerced to 1.0 (the minimum value parameter) in the call to consumeInteger.  This means we would&apos;ve incorrectly disallowed 0 values for the `pad` and `additive-symbols` descriptors.  Neither of the WPTs for these descriptors test zero values, so I&apos;ll open a PR and get that added.

ValueRange being an `enum class` also would&apos;ve prevented this.  I can look into doing that.

&gt; * The &quot;settings-flag&quot; fields were in the wrong place for the newly added
&gt; properties in CSSProperties.json.  They have been moved to the correct spot
&gt; under the &quot;codegen-properties&quot; object.
&gt; 
&gt; Can we create something that tests this, so we catch it if we do it wrong in the future?
It seems like this should&apos;ve been caught by jsonchecker.py, which ensures there are no unexpected keys:

https://github.com/WebKit/WebKit/blob/581b92165b792160d4b87f8551b1ea3a1eadb6a1/Tools/Scripts/webkitpy/style/checkers/jsonchecker.py#L263

I will figure out why this didn&apos;t trip the automated lint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753608</commentid>
    <comment_count>25</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-23 09:24:10 -0700</bug_when>
    <thetext>Here are the followups:

&gt;  Neither of the WPTs for these descriptors test zero values, so I&apos;ll open a PR and get that added.
https://github.com/web-platform-tests/wpt/pull/28665

&gt; ValueRange being an `enum class` also would&apos;ve prevented this.  I can look into doing that.
https://bugs.webkit.org/show_bug.cgi?id=224981

&gt; I will figure out why this didn&apos;t trip the automated lint.
https://bugs.webkit.org/show_bug.cgi?id=224978</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426339</attachid>
            <date>2021-04-17 11:27:10 -0700</date>
            <delta_ts>2021-04-17 23:09:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210417132709.patch</filename>
            <type>text/plain</type>
            <size>48722</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY0MTkwNmI2Yjc4YjJk
NDMyZmM4Yjc0MTZiMThlNDc3NTg0YzNmMS4uNWUwYTRhOTJkMWY0MDZhZjc5NmRjNThhZjJiY2U4
N2Y0ODI0MzhmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAg
ICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3Ig
cHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAgICAgIChXZWJD
b3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Q291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQ
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyk6Cisg
ICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9uYWxpdHkgcmVx
dWlyZWQgYnkgc2V0dGVycy4KKworCisgICAgICAgICogY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUu
aDoKKyAgICAgICAgUmVwbGFjZSBGSVhNRSB3aXRoIGFjdHVhbCBkZXNjcmlwdG9yIGdldHRlciBh
bmQgc2V0dGVyCisgICAgICAgIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICAqIGNzcy9DU1NQ
cm9wZXJ0aWVzLmpzb246CisgICAgICAgIEFkZCBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9yIHBy
b3BlcnRpZXMuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
QWRkIG5ldyB2YWx1ZXMgcmVxdWlyZWQgZm9yIGBzeXN0ZW1gIGFuZCBgc3BlYWstYXNgIAorICAg
ICAgICBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9yIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBj
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1
bWVDb3VudGVyU3R5bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJT
dHlsZVN5bWJvbCk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQ291bnRlclN0eWxlTmVnYXRp
dmUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQpOgor
ICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlKToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVQYWQpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJT
dHlsZUFkZGl0aXZlU3ltYm9scyk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQ291bnRlclN0
eWxlU3BlYWtBcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VD
b3VudGVyU3R5bGVEZXNjcmlwdG9yKToKKyAgICAgICAgUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVz
Y3JpcHRvcnMuCisKIDIwMjEtMDQtMTcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQ2xlYW51cF0gQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0IHNob3VsZCBj
b25zaXN0ZW50bHkgdXNlIHRoZSBjYWNoZWQgcmVuZGVyZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNTExZjg5ZTY1MGY5
YjRkNTI1OGI0MmFmMmI4NzlhYTk0OWE1ZWQ0Yy4uMDBjNmE0YjJhZTE5YWJiNDY0MzFhOTdlZTI4
NzA3YzNmYTI5MDE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQwMDMsNiArNDAwMywxOCBAQCBSZWZQdHI8Q1NTVmFs
dWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0
IFJlbmRlclN0eQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAg
ICBicmVhazsKIAorICAgICAgICAvKiBUaGVzZSBhcmUgaW50ZW50aW9uYWxseSB1bmltcGxlbWVu
dGVkIGJlY2F1c2UgdGhleSBhcmUgYWN0dWFsbHkgZGVzY3JpcHRvcnMgZm9yIEBjb3VudGVyLXN0
eWxlLiAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3lzdGVtOgorICAgICAgICBjYXNlIENT
U1Byb3BlcnR5TmVnYXRpdmU6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlQcmVmaXg6CisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTdWZmaXg6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlSYW5n
ZToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUZhbGxiYWNrOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAg
ICAgIC8qIFVuaW1wbGVtZW50ZWQgQGZvbnQtZmFjZSBwcm9wZXJ0aWVzICovCiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlTcmM6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlVbmljb2RlUmFuZ2U6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKaW5kZXggMjI5YzQ1
MjRkMWVlOGE3ZTg0MmNiN2ViNGM3ZDU1M2Q5MjhlYTYzNi4uNjdlZmQ0ZWM4YzgwMDc3MzY0NjYw
MzZjNjZiMDkzMTE2NWI5MzliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
dW50ZXJTdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmNwcApAQCAtMjYsNiArMjYsMTIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNl
ci5oIgorI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NUb2tlbml6ZXIu
aCIKKyNpbmNsdWRlICJQYWlyLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6OlN0
eWxlUnVsZUNvdW50ZXJTdHlsZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBSZWY8U3R5bGVQcm9w
ZXJ0aWVzPiYmIHByb3BlcnRpZXMpCkBAIC00MCw2ICs0Niw5NCBAQCBSZWY8U3R5bGVSdWxlQ291
bnRlclN0eWxlPiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5n
JiBuYW1lLAogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUNvdW50ZXJTdHlsZShu
YW1lLCBXVEZNb3ZlKHByb3BlcnRpZXMpKSk7CiB9CiAKK3N0YXRpYyBDb3VudGVyU3R5bGVTeXN0
ZW0gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKFJlZlB0cjxDU1NWYWx1ZT4gc3lzdGVtKQorewor
ICAgIGlmICghc3lzdGVtIHx8ICFzeXN0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAg
cmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6U3ltYm9saWM7CisKKyAgICBhdXRvJiBwcmltaXRp
dmVTeXN0ZW1WYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqc3lzdGVtKTsKKyAg
ICBBU1NFUlQocHJpbWl0aXZlU3lzdGVtVmFsdWUuaXNWYWx1ZUlEKCkgfHwgcHJpbWl0aXZlU3lz
dGVtVmFsdWUuaXNQYWlyKCkpOworICAgIENTU1ZhbHVlSUQgc3lzdGVtS2V5d29yZCA9IENTU1Zh
bHVlSW52YWxpZDsKKyAgICBpZiAocHJpbWl0aXZlU3lzdGVtVmFsdWUuaXNWYWx1ZUlEKCkpCisg
ICAgICAgIHN5c3RlbUtleXdvcmQgPSBwcmltaXRpdmVTeXN0ZW1WYWx1ZS52YWx1ZUlEKCk7Cisg
ICAgZWxzZSBpZiAoYXV0byogcGFpciA9IHByaW1pdGl2ZVN5c3RlbVZhbHVlLnBhaXJWYWx1ZSgp
KSB7CisgICAgICAgIC8vIFRoaXMgdmFsdWUgbXVzdCBiZSBgZml4ZWRgIG9yIGBleHRlbmRzYCwg
Ym90aCBvZiB3aGljaCBjYW4gb3IgbXVzdCBoYXZlIGFuIGFkZGl0aW9uYWwgY29tcG9uZW50Lgor
ICAgICAgICBhdXRvIGZpcnN0VmFsdWUgPSBwYWlyLT5maXJzdCgpOworICAgICAgICBBU1NFUlQo
Zmlyc3RWYWx1ZSAmJiBmaXJzdFZhbHVlLT5pc1ZhbHVlSUQoKSk7CisgICAgICAgIGlmIChmaXJz
dFZhbHVlKQorICAgICAgICAgICAgc3lzdGVtS2V5d29yZCA9IGZpcnN0VmFsdWUtPnZhbHVlSUQo
KTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHN5c3RlbUtleXdvcmQpIHsKKyAgICBjYXNlIENTU1Zh
bHVlQ3ljbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpDeWNsaWM7Cisg
ICAgY2FzZSBDU1NWYWx1ZUZpeGVkOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVt
OjpGaXhlZDsKKyAgICBjYXNlIENTU1ZhbHVlU3ltYm9saWM6CisgICAgICAgIHJldHVybiBDb3Vu
dGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOworICAgIGNhc2UgQ1NTVmFsdWVBbHBoYWJldGljOgor
ICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpBbHBoYWJldGljOworICAgIGNhc2Ug
Q1NTVmFsdWVOdW1lcmljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpOdW1l
cmljOworICAgIGNhc2UgQ1NTVmFsdWVBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIENvdW50ZXJT
dHlsZVN5c3RlbTo6QWRkaXRpdmU7CisgICAgY2FzZSBDU1NWYWx1ZUV4dGVuZHM6CisgICAgICAg
IHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkV4dGVuZHM7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0
ZW06OlN5bWJvbGljOworICAgIH0KK30KKworc3RhdGljIGJvb2wgc3ltYm9sc1ZhbGlkRm9yU3lz
dGVtKENvdW50ZXJTdHlsZVN5c3RlbSBzeXN0ZW0sIFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9scywg
UmVmUHRyPENTU1ZhbHVlPiBhZGRpdGl2ZVN5bWJvbHMpCit7CisgICAgc3dpdGNoIChzeXN0ZW0p
IHsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOgorICAgIGNhc2UgQ291bnRl
clN0eWxlU3lzdGVtOjpGaXhlZDoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6U3ltYm9s
aWM6CisgICAgICAgIHJldHVybiBzeW1ib2xzICYmIHN5bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYg
ZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pigqc3ltYm9scykubGVuZ3RoKCk7CisgICAgY2FzZSBDb3Vu
dGVyU3R5bGVTeXN0ZW06OkFscGhhYmV0aWM6CisgICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06
Ok51bWVyaWM6CisgICAgICAgIHJldHVybiBzeW1ib2xzICYmIHN5bWJvbHMtPmlzVmFsdWVMaXN0
KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pigqc3ltYm9scykubGVuZ3RoKCkgPj0gMnU7Cisg
ICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0aXZlOgorICAgICAgICByZXR1cm4gYWRk
aXRpdmVTeW1ib2xzICYmIGFkZGl0aXZlU3ltYm9scy0+aXNWYWx1ZUxpc3QoKSAmJiBkb3duY2Fz
dDxDU1NWYWx1ZUxpc3Q+KCphZGRpdGl2ZVN5bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291
bnRlclN0eWxlU3lzdGVtOjpFeHRlbmRzOgorICAgICAgICByZXR1cm4gIXN5bWJvbHMgJiYgIWFk
ZGl0aXZlU3ltYm9sczsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBTdHlsZVJ1bGVDb3Vu
dGVyU3R5bGU6Om5ld1ZhbHVlSW52YWxpZE9yRXF1YWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
LCBjb25zdCBSZWZQdHI8Q1NTVmFsdWU+IG5ld1ZhbHVlKSBjb25zdAoreworICAgIGF1dG8gY3Vy
cmVudFZhbHVlID0gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQp
OworICAgIGlmIChjb21wYXJlQ1NTVmFsdWVQdHIoY3VycmVudFZhbHVlLCBuZXdWYWx1ZSkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVmUHRyPENTU1ZhbHVlPiBzeW1ib2xzOworICAg
IFJlZlB0cjxDU1NWYWx1ZT4gYWRkaXRpdmVTeW1ib2xzOworICAgIHN3aXRjaCAocHJvcGVydHlJ
RCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIC8vIElmIHRoZSBhdHRy
aWJ1dGUgYmVpbmcgc2V0IGlzIGBzeXN0ZW1gLCBhbmQgdGhlIG5ldyB2YWx1ZSB3b3VsZCBjaGFu
Z2UgdGhlIGFsZ29yaXRobSB1c2VkLCBkbyBub3RoaW5nCisgICAgICAgIC8vIGFuZCBhYm9ydCB0
aGVzZSBzdGVwcy4KKyAgICAgICAgLy8gKEl04oCZcyBva2F5IHRvIGNoYW5nZSBhbiBhc3BlY3Qg
b2YgdGhlIGFsZ29yaXRobSwgbGlrZSB0aGUgZmlyc3Qgc3ltYm9sIHZhbHVlIG9mIGEgYGZpeGVk
YCBzeXN0ZW0uKQorICAgICAgICByZXR1cm4gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKGN1cnJl
bnRWYWx1ZSkgIT0gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKG5ld1ZhbHVlKTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgc3ltYm9scyA9IG5ld1ZhbHVlOworICAgICAg
ICBhZGRpdGl2ZVN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcGVydHlBZGRpdGl2ZVN5bWJvbHMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1By
b3BlcnR5QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICBzeW1ib2xzID0gbV9wcm9wZXJ0aWVzLT5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3ltYm9scyk7CisgICAgICAgIGFkZGl0aXZl
U3ltYm9scyA9IG5ld1ZhbHVlOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGF1dG8gc3lzdGVtID0gbV9wcm9wZXJ0aWVzLT5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3lzdGVtKTsKKyAgICByZXR1cm4gc3ltYm9s
c1ZhbGlkRm9yU3lzdGVtKHRvQ291bnRlclN0eWxlU3lzdGVtRW51bShzeXN0ZW0pLCBzeW1ib2xz
LCBhZGRpdGl2ZVN5bWJvbHMpOworfQorCiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6On5TdHlsZVJ1
bGVDb3VudGVyU3R5bGUoKSA9IGRlZmF1bHQ7CiAKIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0
eWxlUnVsZUNvdW50ZXJTdHlsZTo6bXV0YWJsZVByb3BlcnRpZXMoKQpAQCAtNjQsOCArMTU4LDgz
IEBAIENTU0NvdW50ZXJTdHlsZVJ1bGU6On5DU1NDb3VudGVyU3R5bGVSdWxlKCkgPSBkZWZhdWx0
OwogCiBTdHJpbmcgQ1NTQ291bnRlclN0eWxlUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiB7Ci0gICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGlzIGZ1bmN0aW9uIHdoZW4gd2UgcGFyc2UgQGNvdW50ZXIt
c3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgU3RyaW5n
QnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkBjb3VudGVyLXN0eWxl
ICIpOworICAgIHJlc3VsdC5hcHBlbmQobmFtZSgpKTsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJh
bCgiIHsiKTsKKworICAgIFN0cmluZyBzeXN0ZW1UZXh0ID0gc3lzdGVtKCk7CisgICAgaWYgKHN5
c3RlbVRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBzeXN0
ZW06ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN5c3RlbVRleHQpOworICAgICAgICByZXN1
bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBzeW1ib2xzVGV4dCA9
IHN5bWJvbHMoKTsKKyAgICBpZiAoc3ltYm9sc1RleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZExpdGVyYWwoIiBzeW1ib2xzOiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChz
eW1ib2xzVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQor
CisgICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9sc1RleHQgPSBhZGRpdGl2ZVN5bWJvbHMoKTsKKyAg
ICBpZiAoYWRkaXRpdmVTeW1ib2xzVGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBw
ZW5kTGl0ZXJhbCgiIGFkZGl0aXZlLXN5bWJvbHM6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5k
KGFkZGl0aXZlU3ltYm9sc1RleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIp
OworICAgIH0KKworICAgIFN0cmluZyBuZWdhdGl2ZVRleHQgPSBuZWdhdGl2ZSgpOworICAgIGlm
IChuZWdhdGl2ZVRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
IiBuZWdhdGl2ZTogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQobmVnYXRpdmVUZXh0KTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgcHJl
Zml4VGV4dCA9IHByZWZpeCgpOworICAgIGlmIChwcmVmaXhUZXh0Lmxlbmd0aCgpKSB7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgcHJlZml4OiAiKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChwcmVmaXhUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAg
ICB9CisKKyAgICBTdHJpbmcgc3VmZml4VGV4dCA9IHN1ZmZpeCgpOworICAgIGlmIChzdWZmaXhU
ZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgc3VmZml4OiAi
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChzdWZmaXhUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgcGFkVGV4dCA9IHBhZCgpOwor
ICAgIGlmIChwYWRUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFs
KCIgcGFkOiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChwYWRUZXh0KTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgcmFuZ2VUZXh0ID0g
cmFuZ2UoKTsKKyAgICBpZiAocmFuZ2VUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5h
cHBlbmRMaXRlcmFsKCIgcmFuZ2U6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHJhbmdlVGV4
dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3Ry
aW5nIGZhbGxiYWNrVGV4dCA9IGZhbGxiYWNrKCk7CisgICAgaWYgKGZhbGxiYWNrVGV4dC5sZW5n
dGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIGZhbGxiYWNrOiAiKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChmYWxsYmFja1RleHQpOworICAgICAgICByZXN1bHQuYXBwZW5k
TGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBzcGVha0FzVGV4dCA9IHNwZWFrQXMo
KTsKKyAgICBpZiAoc3BlYWtBc1RleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZExpdGVyYWwoIiBzcGVhay1hczogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoc3BlYWtBc1Rl
eHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIHJl
c3VsdC5hcHBlbmRMaXRlcmFsKCIgfSIpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsK
IH0KIAogdm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBy
dWxlKQpAQCAtNzMsNCArMjQyLDc3IEBAIHZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6cmVhdHRh
Y2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKICAgICBtX2NvdW50ZXJTdHlsZVJ1bGUgPSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVDb3VudGVyU3R5bGUmPihydWxlKTsKIH0KIAorLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNkb20tY3NzY291bnRlcnN0eWxlcnVs
ZS1uYW1lCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5hbWUoY29uc3QgU3RyaW5nJiB0
ZXh0KQoreworICAgIGF1dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHRleHQpLnRva2VuUmFuZ2Uo
KTsKKyAgICBhdXRvIG5hbWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDb3Vu
dGVyU3R5bGVOYW1lSW5QcmVsdWRlKHRva2Vucyk7CisgICAgaWYgKG5hbWUuaXNOdWxsKCkgfHwg
bmFtZSA9PSBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5hbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsK
KyAgICBtX2NvdW50ZXJTdHlsZVJ1bGUtPnNldE5hbWUobmFtZSk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBj
b25zdCBTdHJpbmcmIHZhbHVlVGV4dCkKK3sKKyAgICBhdXRvIHRva2VucyA9IENTU1Rva2VuaXpl
cih2YWx1ZVRleHQpLnRva2VuUmFuZ2UoKTsKKyAgICBhdXRvIG5ld1ZhbHVlID0gQ1NTUHJvcGVy
dHlQYXJzZXI6OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0eUlELCB0b2tlbnMs
IHBhcnNlckNvbnRleHQoKSk7CisgICAgaWYgKG1fY291bnRlclN0eWxlUnVsZS0+bmV3VmFsdWVJ
bnZhbGlkT3JFcXVhbChwcm9wZXJ0eUlELCBuZXdWYWx1ZSkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7
CisgICAgbV9jb3VudGVyU3R5bGVSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5
KHByb3BlcnR5SUQsIFdURk1vdmUobmV3VmFsdWUpKTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5
bGVSdWxlOjpzZXRTeXN0ZW0oY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVy
bmFsKENTU1Byb3BlcnR5U3lzdGVtLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVS
dWxlOjpzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJu
YWwoQ1NTUHJvcGVydHlOZWdhdGl2ZSwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxl
UnVsZTo6c2V0UHJlZml4KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5h
bChDU1NQcm9wZXJ0eVByZWZpeCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVs
ZTo6c2V0U3VmZml4KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChD
U1NQcm9wZXJ0eVN1ZmZpeCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6
c2V0UmFuZ2UoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1By
b3BlcnR5UmFuZ2UsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFBh
ZChjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlQ
YWQsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldEZhbGxiYWNrKGNv
bnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUZhbGxi
YWNrLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeW1ib2xzKGNv
bnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVN5bWJv
bHMsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldEFkZGl0aXZlU3lt
Ym9scyhjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVy
dHlBZGRpdGl2ZVN5bWJvbHMsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6
OnNldFNwZWFrQXMoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENT
U1Byb3BlcnR5U3BlYWtBcywgdGV4dCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCmluZGV4IGIyNGZlMWZkNjZmMTRk
Y2Y5NThhYTlhN2FmN2IzYzA5NDdjMzI4MzYuLjdhODk3ZmIxMmUzOTU2ZWU2ZWY4NmY4MjM5OWE1
N2NmYWE0MzVjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaApA
QCAtMzIsNiArMzIsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBUaGUga2V5d29y
ZHMgdGhhdCBjYW4gYmUgdXNlZCBhcyB2YWx1ZXMgZm9yIHRoZSBjb3VudGVyLXN0eWxlIGBzeXN0
ZW1gIGRlc2NyaXB0b3IuCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5
bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtCitlbnVtIGNsYXNzIENvdW50ZXJTdHlsZVN5c3Rl
bSA6IHVpbnQ4X3QgeworICAgIEN5Y2xpYywKKyAgICBOdW1lcmljLAorICAgIEFscGhhYmV0aWMs
CisgICAgU3ltYm9saWMsCisgICAgQWRkaXRpdmUsCisgICAgRml4ZWQsCisgICAgRXh0ZW5kcwor
fTsKKwogY2xhc3MgU3R5bGVSdWxlQ291bnRlclN0eWxlIGZpbmFsIDogcHVibGljIFN0eWxlUnVs
ZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlQ291bnRlclN0eWxlPiBj
cmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJik7CkBA
IC00MSw2ICs1MywyMCBAQCBwdWJsaWM6CiAgICAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0
YWJsZVByb3BlcnRpZXMoKTsKIAogICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX25hbWU7IH0KKyAgICBTdHJpbmcgc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9w
cm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3lzdGVtKTsgfQorICAgIFN0
cmluZyBuZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eU5lZ2F0aXZlKTsgfQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7
IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlQcmVmaXgp
OyB9CisgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0
UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVN1ZmZpeCk7IH0KKyAgICBTdHJpbmcgcmFuZ2UoKSBj
b25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlS
YW5nZSk7IH0KKyAgICBTdHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5n
ZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5UGFkKTsgfQorICAgIFN0cmluZyBmYWxsYmFjaygp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0
eUZhbGxiYWNrKTsgfQorICAgIFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9w
ZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3ltYm9scyk7IH0KKyAgICBTdHJp
bmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9w
ZXJ0eVZhbHVlKENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzKTsgfQorICAgIFN0cmluZyBzcGVh
a0FzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1By
b3BlcnR5U3BlYWtBcyk7IH0KKworICAgIGJvb2wgbmV3VmFsdWVJbnZhbGlkT3JFcXVhbChDU1NQ
cm9wZXJ0eUlELCBjb25zdCBSZWZQdHI8Q1NTVmFsdWU+IG5ld1ZhbHVlKSBjb25zdDsKKworICAg
IHZvaWQgc2V0TmFtZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7IG1fbmFtZSA9IG5hbWU7IH0K
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTdHlsZVJ1bGVDb3VudGVyU3R5bGUoY29uc3QgQXRv
bVN0cmluZyYsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOwpAQCAtNTksMzQgKzg1LDM0IEBAIHB1
YmxpYzoKICAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDT1VO
VEVSX1NUWUxFX1JVTEU7IH0KIAogICAgIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9j
b3VudGVyU3R5bGVSdWxlLT5uYW1lKCk7IH0KLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IGFmdGVy
IHdlIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAgIFN0cmluZyBzeXN0ZW0o
KSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIG5lZ2F0aXZlKCkg
Y29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBwcmVmaXgoKSBjb25z
dCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgcmFuZ2UoKSBjb25zdCB7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHBhZCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVybiBlbXB0eVN0
cmluZygpOyB9Ci0gICAgU3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmlu
ZygpOyB9Ci0gICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7IH0KLQotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2UgcGFyc2UgQGNvdW50
ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgdm9pZCBzZXROYW1lKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0U3lzdGVtKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0TmVn
YXRpdmUoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgU3RyaW5n
JikgeyB9Ci0gICAgdm9pZCBzZXRTdWZmaXgoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBz
ZXRSYW5nZShjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFBhZChjb25zdCBTdHJpbmcm
KSB7IH0KLSAgICB2b2lkIHNldEZhbGxiYWNrKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQg
c2V0U3ltYm9scyhjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldEFkZGl0aXZlU3ltYm9s
cyhjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFNwZWFrQXMoY29uc3QgU3RyaW5nJikg
eyB9CisgICAgU3RyaW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVs
ZS0+c3lzdGVtKCk7IH0KKyAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2Nv
dW50ZXJTdHlsZVJ1bGUtPm5lZ2F0aXZlKCk7IH0KKyAgICBTdHJpbmcgcHJlZml4KCkgY29uc3Qg
eyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wcmVmaXgoKTsgfQorICAgIFN0cmluZyBzdWZm
aXgoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnN1ZmZpeCgpOyB9CisgICAg
U3RyaW5nIHJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5yYW5nZSgp
OyB9CisgICAgU3RyaW5nIHBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+
cGFkKCk7IH0KKyAgICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJT
dHlsZVJ1bGUtPmZhbGxiYWNrKCk7IH0KKyAgICBTdHJpbmcgc3ltYm9scygpIGNvbnN0IHsgcmV0
dXJuIG1fY291bnRlclN0eWxlUnVsZS0+c3ltYm9scygpOyB9CisgICAgU3RyaW5nIGFkZGl0aXZl
U3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+YWRkaXRpdmVTeW1i
b2xzKCk7IH0KKyAgICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0
eWxlUnVsZS0+c3BlYWtBcygpOyB9CisKKyAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBzZXRTeXN0ZW0oY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXROZWdhdGl2
ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKTsKKyAg
ICB2b2lkIHNldFN1ZmZpeChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFJhbmdlKGNvbnN0
IFN0cmluZyYpOworICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0
RmFsbGJhY2soY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTeW1ib2xzKGNvbnN0IFN0cmlu
ZyYpOworICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYpOworICAgIHZv
aWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKICAgICBDU1NDb3VudGVy
U3R5bGVSdWxlKFN0eWxlUnVsZUNvdW50ZXJTdHlsZSYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7
CiAKKyAgICB2b2lkIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYp
OworCiAgICAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gbV9jb3VudGVyU3R5bGVSdWxlOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggNzJiOTU3ZWMwODU1
NDRkMDY2ZGM1MjNlNWIxMDQwMGE5OTcxNzM4Zi4uZDhjY2Q2YjI0MDhkMDk3NjhkNzM0ZTVhM2Iz
YTQyYTU0OGJmMGI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC04
MDMsNiArODAzLDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLXJ1YnktMS8jcnVieXBvcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAg
ICAgICAgImFkZGl0aXZlLXN5bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6
ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRl
Z29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0
cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5
bWJvbHMiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJhbGlnbm1lbnQtYmFz
ZWxpbmUiOiB7CiAgICAgICAgICAgICAidmFsdWVzIjogWwogICAgICAgICAgICAgICAgICJhdXRv
IiwKQEAgLTI0MzYsNiArMjQ0NiwxNiBAQAogICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJz
dmciCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJmYWxsYmFjayI6IHsKKyAg
ICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAg
ICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1
aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24i
OiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisg
ICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtZmFsbGJhY2siCisgICAgICAgICAgICB9CisgICAgICAg
IH0sCiAgICAgICAgICJmaWxsIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtMzM3Nyw2ICszMzk3LDE2IEBA
CiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW92
ZXJzY3JvbGwtMS8jcHJvcGRlZi1vdmVyc2Nyb2xsLWJlaGF2aW9yLXkiCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0sCisgICAgICAgICJwYWQiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxh
ZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVy
dGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJj
YXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAi
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxl
LXBhZCIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgInBhZGRpbmciOiB7CiAg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJsb25n
aGFuZHMiOiBbCkBAIC0zODUwLDYgKzM4ODAsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjog
Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MzLXNwZWVjaC8jc3BlYWstYXMiCiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0sCisgICAgICAgICJzeW1ib2xzIjogeworICAgICAgICAgICAgInNldHRp
bmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2Vu
LXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAg
ICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAi
dXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRl
ci1zdHlsZS1zeW1ib2xzIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAidGFi
bGUtbGF5b3V0IjogewogICAgICAgICAgICAgInZhbHVlcyI6IFsKICAgICAgICAgICAgICAgICAi
YXV0byIsCkBAIC02MDQ0LDYgKzYwODQsMTYgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAgICAg
ICAic3RhdHVzIjogIm5vbi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAgICAgIm5lZ2F0aXZl
IjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxl
IiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAg
InNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lm
aWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5
bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mt
Y291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1uZWdhdGl2ZSIKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSwKICAgICAgICAgImNvbG9yLXNjaGVtZSI6IHsKICAgICAgICAgICAgICJpbmhl
cml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxMjksNiArNjE3OSwx
NiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy10
cmFuc2Zvcm1zLTEvI3Byb3BkZWYtcGVyc3BlY3RpdmUtb3JpZ2luIgogICAgICAgICAgICAgfQog
ICAgICAgICB9LAorICAgICAgICAicHJlZml4IjogeworICAgICAgICAgICAgInNldHRpbmdzLWZs
YWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3Bl
cnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAi
Y2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjog
Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHls
ZS1wcmVmaXgiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXBy
aW50LWNvbG9yLWFkanVzdCI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAg
ICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxMzcsNiArNjE5NywxNiBAQAogICAgICAgICAgICAg
XSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgogICAgICAgICB9LAorICAg
ICAgICAicmFuZ2UiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVy
U3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAg
ICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3Mt
Y291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXJhbmdlIgorICAgICAg
ICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1ydGwtb3JkZXJpbmciOiB7CiAg
ICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCkBA
IC02MTQ5LDYgKzYyMTksMTYgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVz
IjogIm5vbi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAgICAgInN1ZmZpeCI6IHsKKyAgICAg
ICAgICAgICJydW50aW1lLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRl
ciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsK
KyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAg
ICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHls
ZXMtMy8jY291bnRlci1zdHlsZS1zdWZmaXgiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAg
ICAgICAgICItd2Via2l0LXN2Zy1zaGFkb3ciOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9w
ZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0cnVlCkBAIC02OTcx
LDYgKzcwNTEsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3Mtc2hhcGVzLyNwcm9wZGVmLXNoYXBlLWltYWdlLXRocmVzaG9sZCIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInN5c3RlbSI6IHsKKyAgICAgICAgICAgICJzZXR0
aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdl
bi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAg
ICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAg
InVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50
ZXItc3R5bGUtc3lzdGVtIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdl
YmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRy
dWUsCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtNzE0MSw2ICs3MjMx
LDExIEBACiAgICAgICAgICAgICAibG9uZ25hbWUiOiAiQ1NTIEdlbmVyYXRlZCBDb250ZW50IE1v
ZHVsZSIsCiAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29u
dGVudC0zLyIKICAgICAgICAgfSwKKyAgICAgICAgImNzcy1jb3VudGVyLXN0eWxlcyI6IHsKKyAg
ICAgICAgICAgICJzaG9ydG5hbWUiOiAiQ1NTIENvdW50ZXIgU3R5bGVzIiwKKyAgICAgICAgICAg
ICJsb25nbmFtZSI6ICJDU1MgQ291bnRlciBTdHlsZXMgTW9kdWxlIiwKKyAgICAgICAgICAgICJ1
cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zIgorICAgICAg
ICB9LAogICAgICAgICAiY3NzLWRldmljZS1hZGFwdCI6IHsKICAgICAgICAgICAgICJzaG9ydG5h
bWUiOiAiQ1NTIERldmljZSBBZGFwdGF0aW9uIiwKICAgICAgICAgICAgICJsb25nbmFtZSI6ICJD
U1MgRGV2aWNlIEFkYXB0YXRpb24gTW9kdWxlIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KaW5kZXggZjliOGZjZmU2Nzk5ODlmNDY4NDJjM2M0MTFhNDQwMGM4NmYyYTY3NS4u
NGNjM2NhNzEyODZlNjY3MDZhODJmYzNlYjY2ZjRkNzk2NTFlYjJjNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTE0OTYsNiArMTQ5NiwyNCBAQCBmcm9tLWZvbnQK
IHN0YW5kYXJkCiBoaWdoCiAKKy8vIEBjb3VudGVyLXN0eWxlIGBzeXN0ZW1gIGRlc2NyaXB0b3Ig
dmFsdWVzCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2Nv
dW50ZXItc3R5bGUtc3lzdGVtCitjeWNsaWMKK251bWVyaWMKKy8vIGFscGhhYmV0aWMKK3N5bWJv
bGljCithZGRpdGl2ZQorLy8gZml4ZWQKK2V4dGVuZHMKKworLy8gQGNvdW50ZXItc3R5bGUgYHNw
ZWFrLWFzYCBkZXNjcmlwdG9yIHZhbHVlcworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1j
b3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXNwZWFrLWFzCisvLyBhdXRvCitidWxsZXRz
CitudW1iZXJzCit3b3JkcworLy8gc3BlbGwtb3V0CisKIC8vIEBzdXBwb3J0cyBzZWxlY3Rvcigp
CiAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbmRpdGlvbmFsLTQvI3R5cGVkZWYt
c3VwcG9ydHMtc2VsZWN0b3ItZm4KIHNlbGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDc3NjFmNDMzOWY4YTI0ZWJjN2EzYmM5
NDljMzg3ODJiOTUyMzE1NGUuLjIyNjI3YzIyNzFmNWY1MGU5MjIzM2U3ZTE4MTFlODczZTY4OWZk
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwCkBAIC00NDM2LDE1ICs0NDM2LDIxOSBAQCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKAogICAg
IHJldHVybiBudWxscHRyOwogfQogCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50
ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtCitzdGF0aWMgUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3lzdGVtKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlKQoreworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQ3lj
bGljLCBDU1NWYWx1ZU51bWVyaWMsIENTU1ZhbHVlQWxwaGFiZXRpYywgQ1NTVmFsdWVTeW1ib2xp
YywgQ1NTVmFsdWVBZGRpdGl2ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gaWRlbnQ7CisKKyAg
ICBpZiAoYXV0byBpZGVudCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUZpeGVkPihyYW5nZSkpIHsK
KyAgICAgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgICAgICByZXR1cm4gaWRlbnQ7Cisg
ICAgICAgIC8vIElmIHdlIGhhdmUgdGhlIGBmaXhlZGAga2V5d29yZCBidXQgdGhlIHJhbmdlIGlz
IG5vdCBhdCB0aGUgZW5kLCB0aGUgbmV4dCB0b2tlbiBtdXN0IGJlIGEgaW50ZWdlci4KKyAgICAg
ICAgLy8gSWYgaXQncyBub3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBm
aXJzdFN5bWJvbFZhbHVlID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgICAgICBpZiAoIWZp
cnN0U3ltYm9sVmFsdWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0
dXJuIGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9uTnVsbCgpLCBmaXJz
dFN5bWJvbFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKworICAgIGlmIChhdXRvIGlk
ZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlRXh0ZW5kcz4ocmFuZ2UpKSB7CisgICAgICAgIC8v
IFRoZXJlIG11c3QgYmUgYSBgPGNvdW50ZXItc3R5bGUtbmFtZT5gIGZvbGxvd2luZyB0aGUgYGV4
dGVuZHNgIGtleXdvcmQuIElmIHRoZXJlIGlzbid0LCB0aGlzIHZhbHVlIGlzIGludmFsaWQuCisg
ICAgICAgIGF1dG8gcGFyc2VkQ291bnRlclN0eWxlTmFtZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVO
YW1lKHJhbmdlKTsKKyAgICAgICAgaWYgKCFwYXJzZWRDb3VudGVyU3R5bGVOYW1lKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYWx1
ZVBhaXIoaWRlbnQucmVsZWFzZU5vbk51bGwoKSwgcGFyc2VkQ291bnRlclN0eWxlTmFtZS5yZWxl
YXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlwZWRlZi1zeW1ib2wKK3N0
YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2woQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7Cisg
ICAgaWYgKGF1dG8gc3RyaW5nID0gY29uc3VtZVN0cmluZyhyYW5nZSkpCisgICAgICAgIHJldHVy
biBzdHJpbmc7CisgICAgaWYgKGF1dG8gY3VzdG9tSWRlbnQgPSBjb25zdW1lQ3VzdG9tSWRlbnQo
cmFuZ2UpKQorICAgICAgICByZXR1cm4gY3VzdG9tSWRlbnQ7CisgICAgLy8gVGhlcmUgYXJlIGlu
aGVyZW50IGRpZmZpY3VsdGllcyBpbiBzdXBwb3J0aW5nIDxpbWFnZT4gc3ltYm9scyBpbiBAY291
bnRlci1zdHlsZXMsIHNvIGdhdGUgdGhlbSBiZWhpbmQgYQorICAgIC8vIGZsYWcgZm9yIG5vdy4g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY0NQorICAgIGlmIChj
b250ZXh0LmNvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpIHsKKyAgICAgICAg
aWYgKGF1dG8gaW1hZ2UgPSBjb25zdW1lSW1hZ2UocmFuZ2UsIGNvbnRleHQsIHsgQWxsb3dlZElt
YWdlVHlwZTo6VVJMRnVuY3Rpb24sIEFsbG93ZWRJbWFnZVR5cGU6OkdlbmVyYXRlZEltYWdlIH0p
KQorICAgICAgICAgICAgcmV0dXJuIGltYWdlOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3Vu
dGVyLXN0eWxlLW5lZ2F0aXZlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRl
clN0eWxlTmVnYXRpdmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byBwcmVwZW5kVmFsdWUgPSBjb25zdW1lQ291
bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICBpZiAoIXByZXBlbmRWYWx1ZSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAg
IHJldHVybiBwcmVwZW5kVmFsdWU7CisKKyAgICBhdXRvIGFwcGVuZFZhbHVlID0gY29uc3VtZUNv
dW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAgaWYgKCFhcHBlbmRWYWx1ZSB8
fCAhcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVk
KCk7CisgICAgdmFsdWVzLT5hcHBlbmQocHJlcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOwor
ICAgIHZhbHVlcy0+YXBwZW5kKGFwcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJl
dHVybiB2YWx1ZXM7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1z
dHlsZXMtMy8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
cmFuZ2UpCit7CisgICAgaWYgKGF1dG8gaW5maW5pdGUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVJ
bmZpbml0ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gaW5maW5pdGU7CisgICAgaWYgKGF1dG8g
aW50ZWdlciA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGludGVnZXI7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mt
Y291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NW
YWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
KQoreworICAgIGlmIChhdXRvIGF1dG9WYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUF1dG8+
KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGF1dG9WYWx1ZTsKKworICAgIGF1dG8gcmFuZ2VMaXN0
ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAg
ICAgYXV0byBsb3dlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQocmFuZ2Up
OworICAgICAgICBpZiAoIWxvd2VyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgYXV0byB1cHBlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQo
cmFuZ2UpOworICAgICAgICBpZiAoIXVwcGVyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgICAgICAvLyBJZiB0aGUgbG93ZXIgYm91bmQgb2YgYW55IHJhbmdlIGlzIGhp
Z2hlciB0aGFuIHRoZSB1cHBlciBib3VuZCwgdGhlIGVudGlyZSBkZXNjcmlwdG9yIGlzIGludmFs
aWQgYW5kIG11c3QgYmUKKyAgICAgICAgLy8gaWdub3JlZC4KKyAgICAgICAgaWYgKGxvd2VyQm91
bmQtPmlzTnVtYmVyKCkgJiYgdXBwZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiBsb3dlckJvdW5kLT5p
bnRWYWx1ZSgpID4gdXBwZXJCb3VuZC0+aW50VmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICByYW5nZUxpc3QtPmFwcGVuZChjcmVhdGVQcmltaXRpdmVWYWx1ZVBh
aXIobG93ZXJCb3VuZC5yZWxlYXNlTm9uTnVsbCgpLCB1cHBlckJvdW5kLnJlbGVhc2VOb25OdWxs
KCksIFBhaXI6OklkZW50aWNhbFZhbHVlRW5jb2Rpbmc6OkRvTm90Q29hbGVzY2UpKTsKKyAgICB9
IHdoaWxlIChjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgaWYg
KCFyYW5nZS5hdEVuZCgpIHx8ICFyYW5nZUxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICByZXR1cm4gcmFuZ2VMaXN0OworfQorCisvLyBodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkCitzdGF0aWMgUmVm
UHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUGFkKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxD
U1NWYWx1ZT4gaW50ZWdlcjsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbDsKKyAgICB3aGls
ZSAoIWludGVnZXIgfHwgIXN5bWJvbCkgeworICAgICAgICBpZiAoIWludGVnZXIpIHsKKyAgICAg
ICAgICAgIGludGVnZXIgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwgVmFsdWVSYW5nZU5vbk5lZ2F0
aXZlKTsKKyAgICAgICAgICAgIGlmIChpbnRlZ2VyKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisgICAgICAgIGlmICghc3ltYm9sKSB7CisgICAgICAgICAgICBzeW1ib2wg
PSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgICAg
IGlmIChzeW1ib2wpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIGlmICghcmFuZ2UuYXRFbmQoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0byB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgdmFsdWVzLT5hcHBlbmQoaW50ZWdlci5yZWxlYXNlTm9u
TnVsbCgpKTsKKyAgICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5vbk51bGwoKSk7Cisg
ICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3Vu
dGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFs
dWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
LCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8gc3ltYm9scyA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB3aGlsZSAoIXJhbmdl
LmF0RW5kKCkpIHsKKyAgICAgICAgYXV0byBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxlU3lt
Ym9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFzeW1ib2wpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgc3ltYm9scy0+YXBwZW5kKHN5bWJvbC5yZWxlYXNlTm9u
TnVsbCgpKTsKKyAgICB9CisgICAgaWYgKCFzeW1ib2xzLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHN5bWJvbHM7Cit9CisKKy8vIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeW1ib2xzCitzdGF0
aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlQWRkaXRpdmVTeW1ib2xzKENT
U1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIGF1dG8gdmFsdWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRl
ZCgpOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbGFzdEludGVnZXI7CisgICAgZG8g
eworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGludGVnZXI7CisgICAgICAgIFJl
ZlB0cjxDU1NWYWx1ZT4gc3ltYm9sOworICAgICAgICB3aGlsZSAoIWludGVnZXIgfHwgIXN5bWJv
bCkgeworICAgICAgICAgICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAgICAgICAgaW50ZWdl
ciA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAg
ICAgICAgICAgIGlmIChpbnRlZ2VyKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghc3ltYm9sKSB7CisgICAgICAgICAgICAgICAg
c3ltYm9sID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAg
ICAgICAgICAgICAgaWYgKHN5bWJvbCkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmIChsYXN0SW50ZWdlcikgeworICAgICAgICAgICAgLy8gVGhlIGFkZGl0aXZlIHR1
cGxlcyBtdXN0IGJlIHNwZWNpZmllZCBpbiBvcmRlciBvZiBzdHJpY3RseSBkZXNjZW5kaW5nCisg
ICAgICAgICAgICAvLyB3ZWlnaHQ7IG90aGVyd2lzZSwgdGhlIGRlY2xhcmF0aW9uIGlzIGludmFs
aWQgYW5kIG11c3QgYmUgaWdub3JlZC4KKyAgICAgICAgICAgIGlmIChpbnRlZ2VyLT5pbnRWYWx1
ZSgpID49IGxhc3RJbnRlZ2VyLT5pbnRWYWx1ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICB9CisgICAgICAgIGxhc3RJbnRlZ2VyID0gaW50ZWdlcjsKKyAgICAg
ICAgdmFsdWVzLT5hcHBlbmQoaW50ZWdlci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgdmFs
dWVzLT5hcHBlbmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1
bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAoIXJhbmdlLmF0RW5k
KCkgfHwgIXZhbHVlcy0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJl
dHVybiB2YWx1ZXM7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1z
dHlsZXMtMy8jY291bnRlci1zdHlsZS1zcGVhay1hcworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4g
Y29uc3VtZUNvdW50ZXJTdHlsZVNwZWFrQXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7
CisgICAgaWYgKGF1dG8gc3BlYWtBc0lkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQXV0bywg
Q1NTVmFsdWVCdWxsZXRzLCBDU1NWYWx1ZU51bWJlcnMsIENTU1ZhbHVlV29yZHMsIENTU1ZhbHVl
U3BlbGxPdXQ+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNwZWFrQXNJZGVudDsKKyAgICByZXR1
cm4gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFuZ2UpOworfQorCiBSZWZQdHI8Q1NTVmFsdWU+
IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVy
dHlJRCBwcm9wSWQsIENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJD
b250ZXh0JiBjb250ZXh0KQogewogICAgIGlmICghY29udGV4dC5jb3VudGVyU3R5bGVBdFJ1bGVz
RW5hYmxlZCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzIGZ1bmN0aW9uIHdoZW4gd2UgY2FuIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0
b3JzLgotICAgIFVOVVNFRF9QQVJBTShwcm9wSWQpOwotICAgIFVOVVNFRF9QQVJBTShyYW5nZSk7
Ci0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIHJldHVybiBudWxscHRyOworCisgICAg
c3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3lzdGVtOgorICAgICAgICBy
ZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZVN5c3RlbShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9w
ZXJ0eU5lZ2F0aXZlOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZl
KHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgIGNhc2Ug
Q1NTUHJvcGVydHlTdWZmaXg6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3lt
Ym9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAg
IHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlUmFuZ2UocmFuZ2UpOworICAgIGNhc2UgQ1NTUHJv
cGVydHlQYWQ6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlUGFkKHJhbmdlLCBj
b250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5RmFsbGJhY2s6CisgICAgICAgIHJldHVybiBj
b25zdW1lQ291bnRlclN0eWxlTmFtZShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN5bWJv
bHM6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9scyhyYW5nZSwgY29u
dGV4dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoKKyAgICAgICAgcmV0
dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMocmFuZ2UsIGNvbnRleHQpOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlTcGVha0FzOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50
ZXJTdHlsZVNwZWFrQXMocmFuZ2UpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiB9CiAKIGJvb2wgQ1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlE
IHByb3BJZCwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YTk4MGY3
ZjBmMzg1MjM4YmFhOWY1YzA0YjE0NTM5MDhhMzQ5NDUyLi41NDM2YzI3N2QxMWVkMmYxMjUyYTEx
ZmVkZjAyODRkMjZlMDg1ZGEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMTcgIFR5
bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNv
dW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgZW5zdXJpbmcg
PGltYWdlPiBAY291bnRlci1zdHlsZSBzeW1ib2wgdmFsdWVzIGNhbm5vdCBiZQorICAgICAgICBw
YXJzZWQgd2hlbiB0aGUgYGNvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWRgIGZl
YXR1cmUgZmxhZworICAgICAgICBpcyBkaXNhYmxlZC4KKworICAgICAgICAqIHdlYmV4cG9zZWQv
Y291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90
LWV4cG9zZWQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMTcgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW01lZGlhU3RyZWFtXSBm
YXN0L21lZGlhc3RyZWFtL3BsYXktbmV3bHktYWRkZWQtYXVkaW8tdHJhY2suaHRtbCBpcyBmYWls
aW5nIHNpbmNlIGFkZGVkIGluIHIyNjAzODAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGNmZmY2N2VhMTcwZjQxNmFjMGUzMjBmODJlNTgyMzlhOTUwMDhkMDEuLjBjODZmMjYxZGVm
YjNkMTQ4OGY4MTEwOGU4MWFkYmMxNGU2OGFmYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHdpbGNv
Lm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2Ug
QGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBhcnNpbmcgZm9yIGFsbCBAY291bnRlci1zdHlsZSBkZXNjcmlw
dG9ycyBpcyBpbXBsZW1lbnRlZCB3aXRoIHRoaXMKKyAgICAgICAgcGF0Y2gsIHNvIG1hcmsgbW9y
ZSB0ZXN0cyBwYXNzaW5nLgorCisgICAgICAgIFlvdSdsbCBub3RpY2UgdGhhdCBzb21lIEBjb3Vu
dGVyLXN0eWxlIGRlc2NyaXB0b3JzIGltcGxlbWVudGVkIGluIHRoaXMKKyAgICAgICAgcGF0Y2gg
ZGlkIG5vdCBnYWluIGFueSBwYXNzaW5nIHRlc3RzIChlLmcuIGBwYWRgLCBgbmVnYXRpdmVgKS4g
IEluIGFsbAorICAgICAgICBvZiB0aGVzZSBjYXNlcywgdGhlIGV4cGVjdGVkIHJlc3VsdHMgY29u
dGFpbiBhIDxzdHJpbmc+IHZhbHVlLCBhbmQgd2UKKyAgICAgICAgZmFpbCBvbmx5IGJlY2F1c2Ug
d2UgaW5jb3JyZWN0bHkgZG9uJ3Qgc2VyaWFsaXplIHRoZXNlIDxzdHJpbmc+IHZhbHVlcworICAg
ICAgICB3aXRoIHF1b3Rlcy4gIEkgaGF2ZSBtYW51YWxseSBjb25maXJtZWQgaW4gYWxsIGNhc2Vz
IHRoYXQgdGhlc2UgdmFsdWVzCisgICAgICAgIGFyZSBwcm9wZXJseSBwYXJzZWQsIHNvIGl0J3Mg
anVzdCB0aGUgc2VyaWFsaXphdGlvbiB0aGF0J3MgaW5jb3JyZWN0LgorCisgICAgICAgIFRoZXNl
IDxzdHJpbmc+IHZhbHVlcyBzZXJpYWxpemUgd2l0aG91dCBxdW90ZXMgYmVjYXVzZSBXZWJLaXQn
cyByZXByZXNlbnRhdGlvbgorICAgICAgICBvZiBjdXN0b20gaWRlbnRpZmllcnMgaXMgbm90IGEg
c2VwYXJhdGUgdHlwZSwgYnV0IGluc3RlYWQgb3ZlcmxvYWRlZCBvbnRvIHRoZQorICAgICAgICBD
U1NfU1RSSU5HIHR5cGUuICBUaGlzIG1lYW5zIHRoYXQgZHVyaW5nIHNlcmlhbGl6YXRpb24gdGlt
ZSwgV2ViS2l0IG11c3QgZ3Vlc3MKKyAgICAgICAgd2hldGhlciBpdCBpcyBhY3R1YWxseSBzZXJp
YWxpemluZyBhIHN0cmluZyAoYW5kIGluY2x1ZGUgcXVvdGVzIGlmIHNvKSwgb3IgaWYKKyAgICAg
ICAgaXQncyBzZXJpYWxpemluZyBhIGN1c3RvbSBpZGVudCAobGVhdmluZyBvZmYgcXVvdGVzIGlm
IHNvKS4KKworICAgICAgICBSZWxldmFudCBjb2RlIHNuaXBwZXQ6CisKKyAgICAgICAgaHR0cHM6
Ly9naXRodWIuY29tL1dlYktpdC9XZWJLaXQvYmxvYi8zNmNhZWVjMDc5NzViZDVmNDdkYjhhYzZi
NzQ5YzI3ODcyMzBhNDYxL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNYXJrdXAuY3BwI0wxNTMjTDE2
MQorCisgICAgICAgIFJlbGV2YW50IGNoYW5nZWxvZyBzbmlwcGV0IGZyb20gRGF2aWQgSHlhdHQs
IDIwMTYtMTItMDc6CisKKyAgICAgICAgPiBXZSBhbHNvIG92ZXJsb2FkIENTU19TVFJJTkcgcHJp
bWl0aXZlIHZhbHVlIHR5cGUgYW5kIGhhdmUgaXQgYWN0IGFzIGJvdGggYSBzdHJpbmcKKyAgICAg
ICAgPiBhbmQgYSBjdXN0b20gaWRlbnRpZmllci4gVGhpcyBpcyBsYW1lLCBzaW5jZSB0aGUgcGFy
c2VyIHNob3VsZCBoYXZlIG1hZGUgdHdvIGRpZmZlcmVudAorICAgICAgICA+IHR5cGVzIG9mIG9i
amVjdHMgaW5zdGVhZCwgYnV0IHNpbmNlIG91ciBwYXJzZXIgZG9lc24ndCBkbyB0aGF0IHlldCwg
SSBhZGRlZCBhIHNlcmlhbGl6ZUFzU3RyaW5nT3JDdXN0b21JZGVudAorICAgICAgICA+IHRoYXQg
cHJlc2VydmVzIG91ciBvbGQgYmVoYXZpb3Igb2YgInF1b3RlIHRoZSBzdHJpbmcgb25seSBpZiBu
ZWVkZWQuIiBJbiB0aGlzIGNhc2Ugd2hhdAorICAgICAgICA+IHRoYXQgcmVhbGx5IG1lYW50IHdh
cyAiVHJ5IHRvIGd1ZXNzIHRoYXQgd2Ugd2VyZSBvcmlnaW5hbGx5IGEgY3VzdG9tIGlkZW50IGFu
ZCBsZWF2ZSBvZmYKKyAgICAgICAgPiBxdW90ZXMgaWYgc28uIiBUaGlzIGZ1bmN0aW9uIHdpbGwg
Z28gYXdheSBvbmNlIHdlIHByb3Blcmx5IGNyZWF0ZSBDU1NTdHJpbmdWYWx1ZXMgYW5kCisgICAg
ICAgID4gQ1NTQ3VzdG9tSWRlbnRWYWx1ZXMgaW5zdGVhZCBvZiB0dXJuaW5nIHRoZSBsYXR0ZXIg
aW50byBzdHJpbmdzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50
YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3Vu
dGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTE2ICBDYW1l
cm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUGxhY2UgdmVydGlj
YWwgc2Nyb2xsYmFycyBhdCAoaW5saW5lL2Jsb2NrKS1lbmQgZWRnZSBpbiBhbGwgd3JpdGluZyBt
b2Rlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dApp
bmRleCA1NmFmOWUxZDQ4NGU1YzQ1ZDQ3Y2FkMzM3YmM1YTdkMGRhMTA3NDc5Li43NTk0Nzg4ZTFj
MjA5YzA5OWNlMmJlM2RlNzk0N2E3ZTNkNTIyODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291
bnRlci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXIt
c3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdmYWxsYmFjazogYmFyJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBiYXIn
IGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogImJhciInIGlzIGludmFs
aWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBub25lJyBpcyBpbnZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogaW5pdGlhbCcgaXMgaW52YWxpZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0
ZWQudHh0CmluZGV4IDA5MmQ3YTkxY2Q5YmU5MmFkNDFhMjgwMzNiOGU1MWY2M2U1YzFhMzAuLjg3
YzZhMDZhNmI0ODRiZmUwMjI3OTcwN2QwMmE1NmYzZTAyMjVhMzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50
eHQKQEAgLTcsMjAgKzcsMjAgQEAgRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiAiaW5oZXJp
dCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3cKIEZBSUwgQGNvdW50
ZXItc3R5bGUgJ3N1ZmZpeDogImluaGVyaXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczog
Z290IGRpc2FsbG93ZWQgdmFsdWUgLTEKIEZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogInVu
c2V0IicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
CiBGQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9u
b3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAn
cHJlZml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlz
YWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiBjdXN0b20taWRl
bnQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQor
UEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkCitQQVNT
IEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQKIFBBU1MgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogaW5pdGlhbCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1z
dHlsZSAnc3VmZml4OiBpbml0aWFsJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdw
cmVmaXg6IGluaGVyaXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDog
aW5oZXJpdCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiB1bnNldCcg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1bnNldCcgaXMgaW52YWxp
ZAotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20v
Zm9vLnBuZyIpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKCJodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmciKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVybChodHRwczovL2V4YW1w
bGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKGh0dHBzOi8vZXhh
bXBsZS5jb20vZm9vLnBuZyknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiBsaW5lYXItZ3JhZGll
bnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxv
d2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVu
dCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKCJodHRwczovL2V4
YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZp
eDogdXJsKCJodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQKK1BBU1MgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyknIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVybChodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmcpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBsaW5l
YXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUg
J3N1ZmZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkCiBQQVNTIEBj
b3VudGVyLXN0eWxlICdwcmVmaXg6ICcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAn
c3VmZml4OiAnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogZm9vIGJh
cicgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Ut
c3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRh
eC1leHBlY3RlZC50eHQKaW5kZXggNDI3MzcyZTE4MDIzMTU1YmYzYWQ0NjVmMGViYTg2ZDI2M2Q3
NjFkMy4uMzQzNzEwMTk5ODA3MmRkNDY2OTE1ZDJlZTk2M2JhOGI4NTQzNzcxYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0x
LDEwICsxLDEwIEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgMCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMCwgNSAxMCwgMTAwIGluZmluaXRlJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAxMCwgNSAyMCwgMTUgaW5maW5pdGUnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IGF1dG8nIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgaW5maW5pdGUnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgMCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIGlu
ZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAs
IDUgMTAsIDEwMCBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jhbmdl
OiBpbmZpbml0ZSAxMCwgNSAyMCwgMTUgaW5maW5pdGUnIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVy
LXN0eWxlICdyYW5nZTogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTog
MCAtMScgaXMgaW52YWxpZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1z
cGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3Bl
YWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCBkM2IzZTQzYzdmNTFjYzhkYjMyZjE3ZWUw
ODNhOTI1ZTVkNDc2NTRhLi5jNjNkZjc2M2ZkNTFiMzQ2YzMzZGY0NTBmNmMxNTIyNjhkY2JkNDU3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1l
eHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnc3Bl
YWstYXM6IGF1dG8nIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAnc3BlYWstYXM6IG51bWJlcnMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHdv
cmRzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkIGFzc2Vy
dF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHls
ZSAnc3BlYWstYXM6IGJhcicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxv
d2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGxvdXQnIGlz
IHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBA
Y291bnRlci1zdHlsZSAnc3BlYWstYXM6IGF1dG8nIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0
eWxlICdzcGVhay1hczogYnVsbGV0cycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Nw
ZWFrLWFzOiBudW1iZXJzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6
IHdvcmRzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsLW91
dCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZhbGlk
CitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGxvdXQnIGlzIHZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYnVsbGV0cyBudW1iZXJzJyBpcyBpbnZhbGlkCiBQ
QVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogbm9uZScgaXMgaW52YWxpZAogUEFTUyBAY291
bnRlci1zdHlsZSAnc3BlYWstYXM6IGluaXRpYWwnIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZmUxZWZj
ODcyYzQ1M2M4ODliZWExYmZjOGU3ZDNlM2NjYTc2YmIxNy4uNTc2MWVhMWQ4Mjc4OWExZjA5NDA3
OGRhNWJkYTg0NDkwYjNmYmQxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUt
c3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUt
c3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBAY291
bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhl
ZCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1G
QUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIDEwMCcgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
eXN0ZW06IGZpeGVkIC0xJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMnIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAnc3lzdGVtOiBhbHBoYWJldGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFs
czogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTog
bnVtZXJpYycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGFkZGl0aXZlJyBpcyB2YWxpZCBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5
bGUgJ3N5c3RlbTogZXh0ZW5kcyBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkJyBpcyB2YWxpZAor
UEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAxMDAnIGlzIHZhbGlkCitQQVNTIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIC0xJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1z
dHlsZSAnc3lzdGVtOiBzeW1ib2xpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5
c3RlbTogYWxwaGFiZXRpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTog
bnVtZXJpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWRkaXRpdmUn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFyJyBpcyB2
YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmbG9hdCcgaXMgaW52YWxpZAogUEFT
UyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMgY3ljbGljJyBpcyBpbnZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgbm9uZScgaXMgaW52YWxpZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMt
bm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVy
LXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5Y2ZiM2NjNGEzN2U5ZDQzZDhjYmIzN2I2NGQ4NjBlNWQ5NTZmMDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1u
b3QtZXhwb3NlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQGNvdW50ZXIt
c3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xz
LW5vdC1leHBvc2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM5MDZhNGRiNzczYmNhMzFkMTk2MjJjYmFl
NDkwY2ZjMzRmODE3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQv
Y291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLmh0bWwKQEAgLTAsMCArMSwx
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQ1NTQ291bnRl
clN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZD1mYWxzZSBdIC0tPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBA
Y291bnRlci1zdHlsZSBmb28geworICAgICAgICBzeXN0ZW06IGN5Y2xpYzsKKyAgICAgICAgc3Vm
Zml4OiAiICI7CisgICAgICAgIHN5bWJvbHM6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUp
OworICAgIH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICAgIGNvbnN0IGNzc1J1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXMKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhjc3NSdWxlcy5sZW5ndGgsIDEsICdTaG91bGRcJ3ZlIGJlZW4g
YWJsZSB0byBwYXJzZSBAY291bnRlci1zdHlsZS4nKQorICAgICAgICBhc3NlcnRfZXF1YWxzKGNz
c1J1bGVzWzBdLnN5bWJvbHMsICcnLCAnU2hvdWxkblwndCBoYXZlIGJlZW4gYWJsZSB0byBwYXJz
ZSBpbWFnZSBzeW1ib2wgdmFsdWUgd2l0aCB0aGUgcnVudGltZSBmZWF0dXJlIGZsYWcgZGlzYWJs
ZWQuJykKKyAgICB9LCAnQGNvdW50ZXItc3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9z
ZWQnKQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426370</attachid>
            <date>2021-04-17 23:09:09 -0700</date>
            <delta_ts>2021-04-17 23:14:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210418010908.patch</filename>
            <type>text/plain</type>
            <size>59076</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY4YmFhNWNhYjBhOGFj
YzQ1MGM0NThkM2YxOGM4NDU2OWNhNzBjOC4uZTQ3MjNmZDU3YjgzMDRmNDUwNzhlZjY4NWUzNTE4
MzIwMGQwMzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAg
ICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3Ig
cHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAgICAgIChXZWJD
b3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Q291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQ
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyk6Cisg
ICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9uYWxpdHkgcmVx
dWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmg6
CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBnZXR0ZXIgYW5k
IHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9w
ZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgIEFk
ZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFzYCAKKyAgICAg
ICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1l
Q291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2Ny
aXB0b3JzLgorCiAyMDIxLTA0LTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFu
c2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBi
NTdjMmIxZjA2OGVkMjg1Mjk0ODNlYmFjOTBjYmM3MDUzMmU0MzkyLi44YjJlNTVlMDYwNzE4NTFl
NjM4ZDdhOWNlMjQyYzc2YTFiYjIxNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMjEtMDQtMTcgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRl
ci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IGZ1bmN0aW9uYWxpdHkgcmVxdWlyZWQgZm9yIENTU0NvdW50
ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJ
bWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzIHRvIGJlIHNldCB2aWEgdGVzdAorICAgICAgICBoZWFk
ZXIuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgor
ICAgICAgICBBZGQgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQsIHNldENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkLAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkLCBhbmQKKyAgICAgICAgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VT
eW1ib2xzRW5hYmxlZC4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICBBZGQgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNl
S2V5IGFuZAorICAgICAgICBXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkUHJlZmVyZW5jZUtleS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCk6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OkNTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9s
c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50ZXJTdHlsZUF0
UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpOgorICAgICAgICBJbXBsZW1lbnQgZ2V0dGVycyBhbmQg
c2V0dGVycyBmb3IgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQKKyAgICAgICAgYW5kIENT
U0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQgZmxhZ3MuCisKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICBEZWNsYXJlIGdldHRlcnMgYW5kIHNldHRlcnMg
Zm9yIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkCisgICAgICAgIGFuZCBDU1NDb3VudGVy
U3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzLgorCisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAg
ICAgICBVcGRhdGUgd2VicGFnZSBzZXR0aW5ncyB3aGVuIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNF
bmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFi
bGVkIGZsYWdzIGNoYW5nZS4KKwogMjAyMS0wMy0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFICYgRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUywgaXQgc2VlbXMgbGlrZSBpdCBpcyBvbiBmb3Ig
YWxsIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IDUxMWY4OWU2NTBmOWI0ZDUyNThiNDJhZjJiODc5YWE5NDlhNWVk
NGMuLjAwYzZhNGIyYWUxOWFiYjQ2NDMxYTk3ZWUyODcwN2MzZmEyOTAxODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC00
MDAzLDYgKzQwMDMsMTggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
Ojp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgLyogVGhl
c2UgYXJlIGludGVudGlvbmFsbHkgdW5pbXBsZW1lbnRlZCBiZWNhdXNlIHRoZXkgYXJlIGFjdHVh
bGx5IGRlc2NyaXB0b3JzIGZvciBAY291bnRlci1zdHlsZS4gKi8KKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN5c3RlbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZlOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3VmZml4
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlQYWQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHM6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250
LWZhY2UgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3JjOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZVJhbmdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
dW50ZXJTdHlsZVJ1bGUuY3BwCmluZGV4IDIyOWM0NTI0ZDFlZThhN2U4NDJjYjdlYjRjN2Q1NTNk
OTI4ZWE2MzYuLjY3ZWZkNGVjOGM4MDA3NzM2NDY2MDM2YzY2YjA5MzExNjViOTM5YjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKQEAgLTI2LDYgKzI2LDEy
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5o
IgogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCisjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiUGFpci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAogU3R5bGVSdWxlQ291bnRlclN0eWxlOjpTdHlsZVJ1bGVDb3VudGVyU3R5bGUoY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0aWVzKQpAQCAt
NDAsNiArNDYsOTQgQEAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gU3R5bGVSdWxlQ291bnRl
clN0eWxlOjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUobmFtZSwgV1RGTW92ZShwcm9wZXJ0aWVzKSkp
OwogfQogCitzdGF0aWMgQ291bnRlclN0eWxlU3lzdGVtIHRvQ291bnRlclN0eWxlU3lzdGVtRW51
bShSZWZQdHI8Q1NTVmFsdWU+IHN5c3RlbSkKK3sKKyAgICBpZiAoIXN5c3RlbSB8fCAhc3lzdGVt
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06
OlN5bWJvbGljOworCisgICAgYXV0byYgcHJpbWl0aXZlU3lzdGVtVmFsdWUgPSBkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4oKnN5c3RlbSk7CisgICAgQVNTRVJUKHByaW1pdGl2ZVN5c3RlbVZh
bHVlLmlzVmFsdWVJRCgpIHx8IHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzUGFpcigpKTsKKyAgICBD
U1NWYWx1ZUlEIHN5c3RlbUtleXdvcmQgPSBDU1NWYWx1ZUludmFsaWQ7CisgICAgaWYgKHByaW1p
dGl2ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpKQorICAgICAgICBzeXN0ZW1LZXl3b3JkID0gcHJp
bWl0aXZlU3lzdGVtVmFsdWUudmFsdWVJRCgpOworICAgIGVsc2UgaWYgKGF1dG8qIHBhaXIgPSBw
cmltaXRpdmVTeXN0ZW1WYWx1ZS5wYWlyVmFsdWUoKSkgeworICAgICAgICAvLyBUaGlzIHZhbHVl
IG11c3QgYmUgYGZpeGVkYCBvciBgZXh0ZW5kc2AsIGJvdGggb2Ygd2hpY2ggY2FuIG9yIG11c3Qg
aGF2ZSBhbiBhZGRpdGlvbmFsIGNvbXBvbmVudC4KKyAgICAgICAgYXV0byBmaXJzdFZhbHVlID0g
cGFpci0+Zmlyc3QoKTsKKyAgICAgICAgQVNTRVJUKGZpcnN0VmFsdWUgJiYgZmlyc3RWYWx1ZS0+
aXNWYWx1ZUlEKCkpOworICAgICAgICBpZiAoZmlyc3RWYWx1ZSkKKyAgICAgICAgICAgIHN5c3Rl
bUtleXdvcmQgPSBmaXJzdFZhbHVlLT52YWx1ZUlEKCk7CisgICAgfQorCisgICAgc3dpdGNoIChz
eXN0ZW1LZXl3b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUN5Y2xpYzoKKyAgICAgICAgcmV0dXJu
IENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOworICAgIGNhc2UgQ1NTVmFsdWVGaXhlZDoKKyAg
ICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ7CisgICAgY2FzZSBDU1NWYWx1
ZVN5bWJvbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsK
KyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHls
ZVN5c3RlbTo6QWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlTnVtZXJpYzoKKyAgICAgICAg
cmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzsKKyAgICBjYXNlIENTU1ZhbHVlQWRk
aXRpdmU6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0aXZlOworICAg
IGNhc2UgQ1NTVmFsdWVFeHRlbmRzOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVt
OjpFeHRlbmRzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKyAgICB9Cit9CisK
K3N0YXRpYyBib29sIHN5bWJvbHNWYWxpZEZvclN5c3RlbShDb3VudGVyU3R5bGVTeXN0ZW0gc3lz
dGVtLCBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHMsIFJlZlB0cjxDU1NWYWx1ZT4gYWRkaXRpdmVT
eW1ib2xzKQoreworICAgIHN3aXRjaCAoc3lzdGVtKSB7CisgICAgY2FzZSBDb3VudGVyU3R5bGVT
eXN0ZW06OkN5Y2xpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ6CisgICAg
Y2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOgorICAgICAgICByZXR1cm4gc3ltYm9s
cyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKnN5
bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpBbHBoYWJldGlj
OgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpOdW1lcmljOgorICAgICAgICByZXR1cm4g
c3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlz
dD4oKnN5bWJvbHMpLmxlbmd0aCgpID49IDJ1OworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVt
OjpBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIGFkZGl0aXZlU3ltYm9scyAmJiBhZGRpdGl2ZVN5
bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0PigqYWRkaXRpdmVT
eW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6RXh0ZW5kczoK
KyAgICAgICAgcmV0dXJuICFzeW1ib2xzICYmICFhZGRpdGl2ZVN5bWJvbHM7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9Cit9CisKK2Jvb2wgU3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRP
ckVxdWFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENTU1ZhbHVlPiBu
ZXdWYWx1ZSkgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRWYWx1ZSA9IG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoY29tcGFyZUNTU1ZhbHVl
UHRyKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sczsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGFkZGl0aXZl
U3ltYm9sczsKKyAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5
U3lzdGVtOgorICAgICAgICAvLyBJZiB0aGUgYXR0cmlidXRlIGJlaW5nIHNldCBpcyBgc3lzdGVt
YCwgYW5kIHRoZSBuZXcgdmFsdWUgd291bGQgY2hhbmdlIHRoZSBhbGdvcml0aG0gdXNlZCwgZG8g
bm90aGluZworICAgICAgICAvLyBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIC8vIChJ
dOKAmXMgb2theSB0byBjaGFuZ2UgYW4gYXNwZWN0IG9mIHRoZSBhbGdvcml0aG0sIGxpa2UgdGhl
IGZpcnN0IHN5bWJvbCB2YWx1ZSBvZiBhIGBmaXhlZGAgc3lzdGVtLikKKyAgICAgICAgcmV0dXJu
IHRvQ291bnRlclN0eWxlU3lzdGVtRW51bShjdXJyZW50VmFsdWUpICE9IHRvQ291bnRlclN0eWxl
U3lzdGVtRW51bShuZXdWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN5bWJvbHM6CisgICAg
ICAgIHN5bWJvbHMgPSBuZXdWYWx1ZTsKKyAgICAgICAgYWRkaXRpdmVTeW1ib2xzID0gbV9wcm9w
ZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzKTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoKKyAg
ICAgICAgc3ltYm9scyA9IG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9w
ZXJ0eVN5bWJvbHMpOworICAgICAgICBhZGRpdGl2ZVN5bWJvbHMgPSBuZXdWYWx1ZTsKKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAg
ICBhdXRvIHN5c3RlbSA9IG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9w
ZXJ0eVN5c3RlbSk7CisgICAgcmV0dXJuIHN5bWJvbHNWYWxpZEZvclN5c3RlbSh0b0NvdW50ZXJT
dHlsZVN5c3RlbUVudW0oc3lzdGVtKSwgc3ltYm9scywgYWRkaXRpdmVTeW1ib2xzKTsKK30KKwog
U3R5bGVSdWxlQ291bnRlclN0eWxlOjp+U3R5bGVSdWxlQ291bnRlclN0eWxlKCkgPSBkZWZhdWx0
OwogCiBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6Om11dGFi
bGVQcm9wZXJ0aWVzKCkKQEAgLTY0LDggKzE1OCw4MyBAQCBDU1NDb3VudGVyU3R5bGVSdWxlOjp+
Q1NTQ291bnRlclN0eWxlUnVsZSgpID0gZGVmYXVsdDsKIAogU3RyaW5nIENTU0NvdW50ZXJTdHls
ZVJ1bGU6OmNzc1RleHQoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBm
dW5jdGlvbiB3aGVuIHdlIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3Vs
dC5hcHBlbmRMaXRlcmFsKCJAY291bnRlci1zdHlsZSAiKTsKKyAgICByZXN1bHQuYXBwZW5kKG5h
bWUoKSk7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiB7Iik7CisKKyAgICBTdHJpbmcgc3lz
dGVtVGV4dCA9IHN5c3RlbSgpOworICAgIGlmIChzeXN0ZW1UZXh0Lmxlbmd0aCgpKSB7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgc3lzdGVtOiAiKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChzeXN0ZW1UZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAg
ICB9CisKKyAgICBTdHJpbmcgc3ltYm9sc1RleHQgPSBzeW1ib2xzKCk7CisgICAgaWYgKHN5bWJv
bHNUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgc3ltYm9s
czogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoc3ltYm9sc1RleHQpOworICAgICAgICByZXN1
bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBhZGRpdGl2ZVN5bWJv
bHNUZXh0ID0gYWRkaXRpdmVTeW1ib2xzKCk7CisgICAgaWYgKGFkZGl0aXZlU3ltYm9sc1RleHQu
bGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBhZGRpdGl2ZS1zeW1i
b2xzOiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChhZGRpdGl2ZVN5bWJvbHNUZXh0KTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgbmVn
YXRpdmVUZXh0ID0gbmVnYXRpdmUoKTsKKyAgICBpZiAobmVnYXRpdmVUZXh0Lmxlbmd0aCgpKSB7
CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgbmVnYXRpdmU6ICIpOworICAgICAgICBy
ZXN1bHQuYXBwZW5kKG5lZ2F0aXZlVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFs
KCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIHByZWZpeFRleHQgPSBwcmVmaXgoKTsKKyAgICBp
ZiAocHJlZml4VGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgi
IHByZWZpeDogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQocHJlZml4VGV4dCk7CisgICAgICAg
IHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIHN1ZmZpeFRl
eHQgPSBzdWZmaXgoKTsKKyAgICBpZiAoc3VmZml4VGV4dC5sZW5ndGgoKSkgeworICAgICAgICBy
ZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN1ZmZpeDogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQo
c3VmZml4VGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQor
CisgICAgU3RyaW5nIHBhZFRleHQgPSBwYWQoKTsKKyAgICBpZiAocGFkVGV4dC5sZW5ndGgoKSkg
eworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHBhZDogIik7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmQocGFkVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7Cisg
ICAgfQorCisgICAgU3RyaW5nIHJhbmdlVGV4dCA9IHJhbmdlKCk7CisgICAgaWYgKHJhbmdlVGV4
dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHJhbmdlOiAiKTsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZChyYW5nZVRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5k
TGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBmYWxsYmFja1RleHQgPSBmYWxsYmFj
aygpOworICAgIGlmIChmYWxsYmFja1RleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZExpdGVyYWwoIiBmYWxsYmFjazogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoZmFsbGJh
Y2tUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAg
ICBTdHJpbmcgc3BlYWtBc1RleHQgPSBzcGVha0FzKCk7CisgICAgaWYgKHNwZWFrQXNUZXh0Lmxl
bmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgc3BlYWstYXM6ICIpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKHNwZWFrQXNUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIH0iKTsK
KyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKIHZvaWQgQ1NTQ291bnRlclN0eWxl
UnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKQEAgLTczLDQgKzI0Miw3NyBAQCB2
b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiAg
ICAgbV9jb3VudGVyU3R5bGVSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlQ291bnRlclN0eWxl
Jj4ocnVsZSk7CiB9CiAKKy8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY291bnRlci1z
dHlsZXMtMy8jZG9tLWNzc2NvdW50ZXJzdHlsZXJ1bGUtbmFtZQordm9pZCBDU1NDb3VudGVyU3R5
bGVSdWxlOjpzZXROYW1lKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBhdXRvIHRva2VucyA9
IENTU1Rva2VuaXplcih0ZXh0KS50b2tlblJhbmdlKCk7CisgICAgYXV0byBuYW1lID0gQ1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ291bnRlclN0eWxlTmFtZUluUHJlbHVkZSh0b2tl
bnMpOworICAgIGlmIChuYW1lLmlzTnVsbCgpIHx8IG5hbWUgPT0gbV9jb3VudGVyU3R5bGVSdWxl
LT5uYW1lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRh
dGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisgICAgbV9jb3VudGVyU3R5bGVSdWxlLT5z
ZXROYW1lKG5hbWUpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldHRlckludGVy
bmFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiB2YWx1ZVRleHQpCit7
CisgICAgYXV0byB0b2tlbnMgPSBDU1NUb2tlbml6ZXIodmFsdWVUZXh0KS50b2tlblJhbmdlKCk7
CisgICAgYXV0byBuZXdWYWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUNvdW50ZXJTdHls
ZURlc2NyaXB0b3IocHJvcGVydHlJRCwgdG9rZW5zLCBwYXJzZXJDb250ZXh0KCkpOworICAgIGlm
IChtX2NvdW50ZXJTdHlsZVJ1bGUtPm5ld1ZhbHVlSW52YWxpZE9yRXF1YWwocHJvcGVydHlJRCwg
bmV3VmFsdWUpKQorICAgICAgICByZXR1cm47CisKKyAgICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0
YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworICAgIG1fY291bnRlclN0eWxlUnVsZS0+
bXV0YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBXVEZNb3ZlKG5ld1Zh
bHVlKSk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3lzdGVtKGNvbnN0IFN0
cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVN5c3RlbSwgdGV4
dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUoY29uc3QgU3Ry
aW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5TmVnYXRpdmUsIHRl
eHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFByZWZpeChjb25zdCBTdHJp
bmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlQcmVmaXgsIHRleHQp
OworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN1ZmZpeChjb25zdCBTdHJpbmcm
IHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTdWZmaXgsIHRleHQpOwor
fQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFJhbmdlKGNvbnN0IFN0cmluZyYgdGV4
dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVJhbmdlLCB0ZXh0KTsKK30KKwor
dm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQYWQoY29uc3QgU3RyaW5nJiB0ZXh0KQorewor
ICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5UGFkLCB0ZXh0KTsKK30KKwordm9pZCBDU1ND
b3VudGVyU3R5bGVSdWxlOjpzZXRGYWxsYmFjayhjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAg
c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlGYWxsYmFjaywgdGV4dCk7Cit9CisKK3ZvaWQgQ1NT
Q291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyhjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAg
c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTeW1ib2xzLCB0ZXh0KTsKK30KKwordm9pZCBDU1ND
b3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMoY29uc3QgU3RyaW5nJiB0ZXh0KQor
eworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzLCB0ZXh0KTsK
K30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTcGVha0FzKGNvbnN0IFN0cmluZyYg
dGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVNwZWFrQXMsIHRleHQpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJT
dHlsZVJ1bGUuaAppbmRleCBiMjRmZTFmZDY2ZjE0ZGNmOTU4YWE5YTdhZjdiM2MwOTQ3YzMyODM2
Li43YTg5N2ZiMTJlMzk1NmVlNmVmODZmODIzOTlhNTdjZmFhNDM1YzA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmgKQEAgLTMyLDYgKzMyLDE4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorLy8gVGhlIGtleXdvcmRzIHRoYXQgY2FuIGJlIHVzZWQgYXMgdmFs
dWVzIGZvciB0aGUgY291bnRlci1zdHlsZSBgc3lzdGVtYCBkZXNjcmlwdG9yLgorLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5c3Rl
bQorZW51bSBjbGFzcyBDb3VudGVyU3R5bGVTeXN0ZW0gOiB1aW50OF90IHsKKyAgICBDeWNsaWMs
CisgICAgTnVtZXJpYywKKyAgICBBbHBoYWJldGljLAorICAgIFN5bWJvbGljLAorICAgIEFkZGl0
aXZlLAorICAgIEZpeGVkLAorICAgIEV4dGVuZHMKK307CisKIGNsYXNzIFN0eWxlUnVsZUNvdW50
ZXJTdHlsZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIG5h
bWUsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOwpAQCAtNDEsNiArNTMsMjAgQEAgcHVibGljOgog
ICAgIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIG11dGFibGVQcm9wZXJ0aWVzKCk7CiAKICAgICBj
b25zdCBBdG9tU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAgU3Ry
aW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eVN5c3RlbSk7IH0KKyAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlOZWdhdGl2ZSk7
IH0KKyAgICBTdHJpbmcgcHJlZml4KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQ
cm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5UHJlZml4KTsgfQorICAgIFN0cmluZyBzdWZmaXgoKSBj
b25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlT
dWZmaXgpOyB9CisgICAgU3RyaW5nIHJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5UmFuZ2UpOyB9CisgICAgU3RyaW5nIHBhZCgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0
eVBhZCk7IH0KKyAgICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRp
ZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlGYWxsYmFjayk7IH0KKyAgICBTdHJpbmcg
c3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShD
U1NQcm9wZXJ0eVN5bWJvbHMpOyB9CisgICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUFkZGl0
aXZlU3ltYm9scyk7IH0KKyAgICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVNwZWFrQXMpOyB9CisKKyAgICBi
b29sIG5ld1ZhbHVlSW52YWxpZE9yRXF1YWwoQ1NTUHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENT
U1ZhbHVlPiBuZXdWYWx1ZSkgY29uc3Q7CisKKyAgICB2b2lkIHNldE5hbWUoY29uc3QgQXRvbVN0
cmluZyYgbmFtZSkgeyBtX25hbWUgPSBuYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
U3R5bGVSdWxlQ291bnRlclN0eWxlKGNvbnN0IEF0b21TdHJpbmcmLCBSZWY8U3R5bGVQcm9wZXJ0
aWVzPiYmKTsKQEAgLTU5LDM0ICs4NSwzNCBAQCBwdWJsaWM6CiAgICAgQ1NTUnVsZTo6VHlwZSB0
eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ09VTlRFUl9TVFlMRV9SVUxFOyB9CiAKICAgICBT
dHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+bmFtZSgpOyB9
Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBhZnRlciB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBk
ZXNjcmlwdG9ycy4KLSAgICBTdHJpbmcgc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQotICAgIFN0cmluZyBuZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7IH0KLSAgICBTdHJpbmcgcHJlZml4KCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsg
fQotICAgIFN0cmluZyBzdWZmaXgoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0g
ICAgU3RyaW5nIHJhbmdlKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0
cmluZyBwYWQoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIGZh
bGxiYWNrKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBzeW1i
b2xzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBhZGRpdGl2
ZVN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHNw
ZWFrQXMoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0KLSAgICAvLyBGSVhNRTog
SW1wbGVtZW50IGFmdGVyIHdlIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAg
IHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFN5c3RlbShjb25z
dCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldE5lZ2F0aXZlKGNvbnN0IFN0cmluZyYpIHsgfQot
ICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0U3VmZml4
KGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0UmFuZ2UoY29uc3QgU3RyaW5nJikgeyB9
Ci0gICAgdm9pZCBzZXRQYWQoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRGYWxsYmFj
ayhjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFN5bWJvbHMoY29uc3QgU3RyaW5nJikg
eyB9Ci0gICAgdm9pZCBzZXRBZGRpdGl2ZVN5bWJvbHMoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAg
dm9pZCBzZXRTcGVha0FzKGNvbnN0IFN0cmluZyYpIHsgfQorICAgIFN0cmluZyBzeXN0ZW0oKSBj
b25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnN5c3RlbSgpOyB9CisgICAgU3RyaW5n
IG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5uZWdhdGl2ZSgp
OyB9CisgICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVs
ZS0+cHJlZml4KCk7IH0KKyAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1cm4gbV9jb3Vu
dGVyU3R5bGVSdWxlLT5zdWZmaXgoKTsgfQorICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY291bnRlclN0eWxlUnVsZS0+cmFuZ2UoKTsgfQorICAgIFN0cmluZyBwYWQoKSBjb25z
dCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnBhZCgpOyB9CisgICAgU3RyaW5nIGZhbGxi
YWNrKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5mYWxsYmFjaygpOyB9Cisg
ICAgU3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnN5
bWJvbHMoKTsgfQorICAgIFN0cmluZyBhZGRpdGl2ZVN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBt
X2NvdW50ZXJTdHlsZVJ1bGUtPmFkZGl0aXZlU3ltYm9scygpOyB9CisgICAgU3RyaW5nIHNwZWFr
QXMoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnNwZWFrQXMoKTsgfQorCisg
ICAgdm9pZCBzZXROYW1lKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U3lzdGVtKGNvbnN0
IFN0cmluZyYpOworICAgIHZvaWQgc2V0TmVnYXRpdmUoY29uc3QgU3RyaW5nJik7CisgICAgdm9p
ZCBzZXRQcmVmaXgoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTdWZmaXgoY29uc3QgU3Ry
aW5nJik7CisgICAgdm9pZCBzZXRSYW5nZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFBh
ZChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldEZhbGxiYWNrKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgc2V0U3ltYm9scyhjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldEFkZGl0aXZl
U3ltYm9scyhjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFNwZWFrQXMoY29uc3QgU3RyaW5n
Jik7CiAKIHByaXZhdGU6CiAgICAgQ1NTQ291bnRlclN0eWxlUnVsZShTdHlsZVJ1bGVDb3VudGVy
U3R5bGUmLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOwogCisgICAgdm9pZCBzZXR0ZXJJbnRlcm5h
bChDU1NQcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmKTsKKwogICAgIFJlZjxTdHlsZVJ1bGVDb3Vu
dGVyU3R5bGU+IG1fY291bnRlclN0eWxlUnVsZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydGllcy5qc29uCmluZGV4IDcyYjk1N2VjMDg1NTQ0ZDA2NmRjNTIzZTViMTA0MDBhOTk3MTcz
OGYuLmQ4Y2NkNmIyNDA4ZDA5NzY4ZDczNGU1YTNiM2E0MmE1NDhiZjBiNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtODAzLDYgKzgwMywxNiBAQAogICAgICAgICAg
ICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1ydWJ5LTEvI3J1Ynlwb3Mi
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJhZGRpdGl2ZS1zeW1ib2xzIjog
eworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwK
KyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNr
aXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNh
dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVz
IiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291
bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeW1ib2xzIgorICAgICAgICAgICAgfQorICAg
ICAgICB9LAogICAgICAgICAiYWxpZ25tZW50LWJhc2VsaW5lIjogewogICAgICAgICAgICAgInZh
bHVlcyI6IFsKICAgICAgICAgICAgICAgICAiYXV0byIsCkBAIC0yNDM2LDYgKzI0NDYsMTYgQEAK
ICAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAic3ZnIgogICAgICAgICAgICAgfQogICAgICAg
ICB9LAorICAgICAgICAiZmFsbGJhY2siOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6
ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRl
Z29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0
cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLWZh
bGxiYWNrIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiZmlsbCI6IHsKICAg
ICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVy
dGllcyI6IHsKQEAgLTMzNzcsNiArMzM5NywxNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAi
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1vdmVyc2Nyb2xsLTEvI3Byb3BkZWYtb3ZlcnNj
cm9sbC1iZWhhdmlvci15IgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAicGFk
IjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxl
IiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAg
InNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lm
aWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5
bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mt
Y291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1wYWQiCisgICAgICAgICAgICB9CisgICAg
ICAgIH0sCiAgICAgICAgICJwYWRkaW5nIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVy
dGllcyI6IHsKICAgICAgICAgICAgICAgICAibG9uZ2hhbmRzIjogWwpAQCAtMzg1MCw2ICszODgw
LDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
My1zcGVlY2gvI3NwZWFrLWFzIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAi
c3ltYm9scyI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHls
ZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAg
ICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
InNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3Vu
dGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scyIKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgInRhYmxlLWxheW91dCI6IHsKICAgICAgICAgICAg
ICJ2YWx1ZXMiOiBbCiAgICAgICAgICAgICAgICAgImF1dG8iLApAQCAtNjA0NCw2ICs2MDg0LDE2
IEBACiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQi
CiAgICAgICAgIH0sCisgICAgICAgICJuZWdhdGl2ZSI6IHsKKyAgICAgICAgICAgICJzZXR0aW5n
cy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAg
ICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVy
bCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXIt
c3R5bGUtbmVnYXRpdmUiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJjb2xv
ci1zY2hlbWUiOiB7CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAg
ICJ2YWx1ZXMiOiBbCkBAIC02MTI5LDYgKzYxNzksMTYgQEAKICAgICAgICAgICAgICAgICAidXJs
IjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdHJhbnNmb3Jtcy0xLyNwcm9wZGVmLXBlcnNw
ZWN0aXZlLW9yaWdpbiIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInByZWZp
eCI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVs
ZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAg
ICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNp
ZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0
eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcHJlZml4IgorICAgICAgICAgICAgfQor
ICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3QiOiB7CiAgICAg
ICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCkBAIC02
MTM3LDYgKzYxOTcsMTYgQEAKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAic3RhdHVzIjog
Im5vbi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAgICAgInJhbmdlIjogeworICAgICAgICAg
ICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6
IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAg
ICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAg
ICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMt
My8jY291bnRlci1zdHlsZS1yYW5nZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAg
ICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRy
dWUsCiAgICAgICAgICAgICAidmFsdWVzIjogWwpAQCAtNjE0OSw2ICs2MjE5LDE2IEBACiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQiCiAgICAgICAg
IH0sCisgICAgICAgICJzdWZmaXgiOiB7CisgICAgICAgICAgICAicnVudGltZS1mbGFnIjogImNz
c0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjog
eworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5
IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3VmZml4
IgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1zdmctc2hhZG93
IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAg
ICAic2tpcC1jb2RlZ2VuIjogdHJ1ZQpAQCAtNjk3MSw2ICs3MDUxLDE2IEBACiAgICAgICAgICAg
ICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNoYXBlcy8jcHJvcGRlZi1z
aGFwZS1pbWFnZS10aHJlc2hvbGQiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAg
ICJzeXN0ZW0iOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5
bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAg
ICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291
bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5c3RlbSIKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciI6
IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4t
cHJvcGVydGllcyI6IHsKQEAgLTcxNDEsNiArNzIzMSwxMSBAQAogICAgICAgICAgICAgImxvbmdu
YW1lIjogIkNTUyBHZW5lcmF0ZWQgQ29udGVudCBNb2R1bGUiLAogICAgICAgICAgICAgInVybCI6
ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvbnRlbnQtMy8iCiAgICAgICAgIH0sCisgICAg
ICAgICJjc3MtY291bnRlci1zdHlsZXMiOiB7CisgICAgICAgICAgICAic2hvcnRuYW1lIjogIkNT
UyBDb3VudGVyIFN0eWxlcyIsCisgICAgICAgICAgICAibG9uZ25hbWUiOiAiQ1NTIENvdW50ZXIg
U3R5bGVzIE1vZHVsZSIsCisgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtY291bnRlci1zdHlsZXMtMyIKKyAgICAgICAgfSwKICAgICAgICAgImNzcy1kZXZpY2Ut
YWRhcHQiOiB7CiAgICAgICAgICAgICAic2hvcnRuYW1lIjogIkNTUyBEZXZpY2UgQWRhcHRhdGlv
biIsCiAgICAgICAgICAgICAibG9uZ25hbWUiOiAiQ1NTIERldmljZSBBZGFwdGF0aW9uIE1vZHVs
ZSIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGZkNGY4NTZmY2Rk
MTZmMmI2NDI5NzYzZjBlNTdjNjhhNDU0MjYyZWIuLmQ4NGU5ODdiZTIwOTViYmRhZGY2ZDkyNjZj
YWMwZjQzOWZmZDE2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBA
IC0xNTA0LDYgKzE1MDQsMjQgQEAgZnJvbS1mb250CiBzdGFuZGFyZAogaGlnaAogCisvLyBAY291
bnRlci1zdHlsZSBgc3lzdGVtYCBkZXNjcmlwdG9yIHZhbHVlcworLy8gaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5c3RlbQorY3ljbGlj
CitudW1lcmljCisvLyBhbHBoYWJldGljCitzeW1ib2xpYworYWRkaXRpdmUKKy8vIGZpeGVkCitl
eHRlbmRzCisKKy8vIEBjb3VudGVyLXN0eWxlIGBzcGVhay1hc2AgZGVzY3JpcHRvciB2YWx1ZXMK
Ky8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1z
dHlsZS1zcGVhay1hcworLy8gYXV0bworYnVsbGV0cworbnVtYmVycword29yZHMKKy8vIHNwZWxs
LW91dAorCiAvLyBAc3VwcG9ydHMgc2VsZWN0b3IoKQogLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1jb25kaXRpb25hbC00LyN0eXBlZGVmLXN1cHBvcnRzLXNlbGVjdG9yLWZuCiBzZWxl
Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCA3NzYxZjQzMzlmOGEyNGViYzdhM2JjOTQ5YzM4NzgyYjk1MjMxNTRlLi4yMjYyN2My
MjcxZjVmNTBlOTIyMzNlN2UxODExZTg3M2U2ODlmZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtNDQzNiwxNSArNDQzNiwyMTkg
QEAgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJz
ZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZSgKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorLy8g
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxl
LXN5c3RlbQorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3VtZUNvdW50ZXJT
dHlsZVN5c3RlbShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBp
ZGVudCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUN5Y2xpYywgQ1NTVmFsdWVOdW1lcmljLCBDU1NW
YWx1ZUFscGhhYmV0aWMsIENTU1ZhbHVlU3ltYm9saWMsIENTU1ZhbHVlQWRkaXRpdmU+KHJhbmdl
KSkKKyAgICAgICAgcmV0dXJuIGlkZW50OworCisgICAgaWYgKGF1dG8gaWRlbnQgPSBjb25zdW1l
SWRlbnQ8Q1NTVmFsdWVGaXhlZD4ocmFuZ2UpKSB7CisgICAgICAgIGlmIChyYW5nZS5hdEVuZCgp
KQorICAgICAgICAgICAgcmV0dXJuIGlkZW50OworICAgICAgICAvLyBJZiB3ZSBoYXZlIHRoZSBg
Zml4ZWRgIGtleXdvcmQgYnV0IHRoZSByYW5nZSBpcyBub3QgYXQgdGhlIGVuZCwgdGhlIG5leHQg
dG9rZW4gbXVzdCBiZSBhIGludGVnZXIuCisgICAgICAgIC8vIElmIGl0J3Mgbm90LCB0aGlzIHZh
bHVlIGlzIGludmFsaWQuCisgICAgICAgIGF1dG8gZmlyc3RTeW1ib2xWYWx1ZSA9IGNvbnN1bWVJ
bnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgaWYgKCFmaXJzdFN5bWJvbFZhbHVlKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYWx1ZVBh
aXIoaWRlbnQucmVsZWFzZU5vbk51bGwoKSwgZmlyc3RTeW1ib2xWYWx1ZS5yZWxlYXNlTm9uTnVs
bCgpKTsKKyAgICB9CisKKyAgICBpZiAoYXV0byBpZGVudCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1
ZUV4dGVuZHM+KHJhbmdlKSkgeworICAgICAgICAvLyBUaGVyZSBtdXN0IGJlIGEgYDxjb3VudGVy
LXN0eWxlLW5hbWU+YCBmb2xsb3dpbmcgdGhlIGBleHRlbmRzYCBrZXl3b3JkLiBJZiB0aGVyZSBp
c24ndCwgdGhpcyB2YWx1ZSBpcyBpbnZhbGlkLgorICAgICAgICBhdXRvIHBhcnNlZENvdW50ZXJT
dHlsZU5hbWUgPSBjb25zdW1lQ291bnRlclN0eWxlTmFtZShyYW5nZSk7CisgICAgICAgIGlmICgh
cGFyc2VkQ291bnRlclN0eWxlTmFtZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFsdWVQYWlyKGlkZW50LnJlbGVhc2VOb25OdWxs
KCksIHBhcnNlZENvdW50ZXJTdHlsZU5hbWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfQorICAg
IHJldHVybiBudWxscHRyOworfQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50
ZXItc3R5bGVzLTMvI3R5cGVkZWYtc3ltYm9sCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25z
dW1lQ291bnRlclN0eWxlU3ltYm9sKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBD
U1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGlmIChhdXRvIHN0cmluZyA9IGNvbnN1
bWVTdHJpbmcocmFuZ2UpKQorICAgICAgICByZXR1cm4gc3RyaW5nOworICAgIGlmIChhdXRvIGN1
c3RvbUlkZW50ID0gY29uc3VtZUN1c3RvbUlkZW50KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGN1
c3RvbUlkZW50OworICAgIC8vIFRoZXJlIGFyZSBpbmhlcmVudCBkaWZmaWN1bHRpZXMgaW4gc3Vw
cG9ydGluZyA8aW1hZ2U+IHN5bWJvbHMgaW4gQGNvdW50ZXItc3R5bGVzLCBzbyBnYXRlIHRoZW0g
YmVoaW5kIGEKKyAgICAvLyBmbGFnIGZvciBub3cuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjc2NDUKKyAgICBpZiAoY29udGV4dC5jb3VudGVyU3R5bGVBdFJ1bGVJ
bWFnZVN5bWJvbHNFbmFibGVkKSB7CisgICAgICAgIGlmIChhdXRvIGltYWdlID0gY29uc3VtZUlt
YWdlKHJhbmdlLCBjb250ZXh0LCB7IEFsbG93ZWRJbWFnZVR5cGU6OlVSTEZ1bmN0aW9uLCBBbGxv
d2VkSW1hZ2VUeXBlOjpHZW5lcmF0ZWRJbWFnZSB9KSkKKyAgICAgICAgICAgIHJldHVybiBpbWFn
ZTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1uZWdhdGl2ZQorc3RhdGlj
IFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZlKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAg
IGF1dG8gcHJlcGVuZFZhbHVlID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29u
dGV4dCk7CisgICAgaWYgKCFwcmVwZW5kVmFsdWUpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIGlmIChyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gcHJlcGVuZFZhbHVlOworCisg
ICAgYXV0byBhcHBlbmRWYWx1ZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNv
bnRleHQpOworICAgIGlmICghYXBwZW5kVmFsdWUgfHwgIXJhbmdlLmF0RW5kKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdmFsdWVzID0gQ1NT
VmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIHZhbHVlcy0+YXBwZW5kKHBy
ZXBlbmRWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB2YWx1ZXMtPmFwcGVuZChhcHBlbmRW
YWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICByZXR1cm4gdmFsdWVzOworfQorCisvLyBodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcmFu
Z2UKK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVS
YW5nZUJvdW5kKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChhdXRvIGlu
ZmluaXRlID0gY29uc3VtZUlkZW50PENTU1ZhbHVlSW5maW5pdGU+KHJhbmdlKSkKKyAgICAgICAg
cmV0dXJuIGluZmluaXRlOworICAgIGlmIChhdXRvIGludGVnZXIgPSBjb25zdW1lSW50ZWdlcihy
YW5nZSkpCisgICAgICAgIHJldHVybiBpbnRlZ2VyOworICAgIHJldHVybiBudWxscHRyOworfQor
CisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXIt
c3R5bGUtcmFuZ2UKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVS
YW5nZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBhdXRvVmFs
dWUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVBdXRvPihyYW5nZSkpCisgICAgICAgIHJldHVybiBh
dXRvVmFsdWU7CisKKyAgICBhdXRvIHJhbmdlTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29t
bWFTZXBhcmF0ZWQoKTsKKyAgICBkbyB7CisgICAgICAgIGF1dG8gbG93ZXJCb3VuZCA9IGNvbnN1
bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKHJhbmdlKTsKKyAgICAgICAgaWYgKCFsb3dlckJvdW5k
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gdXBwZXJCb3VuZCA9
IGNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKHJhbmdlKTsKKyAgICAgICAgaWYgKCF1cHBl
ckJvdW5kKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gSWYgdGhl
IGxvd2VyIGJvdW5kIG9mIGFueSByYW5nZSBpcyBoaWdoZXIgdGhhbiB0aGUgdXBwZXIgYm91bmQs
IHRoZSBlbnRpcmUgZGVzY3JpcHRvciBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlCisgICAgICAgIC8v
IGlnbm9yZWQuCisgICAgICAgIGlmIChsb3dlckJvdW5kLT5pc051bWJlcigpICYmIHVwcGVyQm91
bmQtPmlzTnVtYmVyKCkgJiYgbG93ZXJCb3VuZC0+aW50VmFsdWUoKSA+IHVwcGVyQm91bmQtPmlu
dFZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmFuZ2VMaXN0
LT5hcHBlbmQoY3JlYXRlUHJpbWl0aXZlVmFsdWVQYWlyKGxvd2VyQm91bmQucmVsZWFzZU5vbk51
bGwoKSwgdXBwZXJCb3VuZC5yZWxlYXNlTm9uTnVsbCgpLCBQYWlyOjpJZGVudGljYWxWYWx1ZUVu
Y29kaW5nOjpEb05vdENvYWxlc2NlKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVk
aW5nV2hpdGVzcGFjZShyYW5nZSkpOworICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhcmFuZ2VM
aXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHJhbmdl
TGlzdDsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0z
LyNjb3VudGVyLXN0eWxlLXBhZAorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50
ZXJTdHlsZVBhZChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYgY29udGV4dCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGludGVnZXI7CisgICAgUmVm
UHRyPENTU1ZhbHVlPiBzeW1ib2w7CisgICAgd2hpbGUgKCFpbnRlZ2VyIHx8ICFzeW1ib2wpIHsK
KyAgICAgICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAgICBpbnRlZ2VyID0gY29uc3VtZUlu
dGVnZXIocmFuZ2UsIFZhbHVlUmFuZ2VOb25OZWdhdGl2ZSk7CisgICAgICAgICAgICBpZiAoaW50
ZWdlcikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
IXN5bWJvbCkgeworICAgICAgICAgICAgc3ltYm9sID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJv
bChyYW5nZSwgY29udGV4dCk7CisgICAgICAgICAgICBpZiAoc3ltYm9sKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0K
KyAgICBpZiAoIXJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1
dG8gdmFsdWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIHZh
bHVlcy0+YXBwZW5kKGludGVnZXIucmVsZWFzZU5vbk51bGwoKSk7CisgICAgdmFsdWVzLT5hcHBl
bmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiB2YWx1ZXM7Cit9CisKKy8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHls
ZS1zeW1ib2xzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3lt
Ym9scyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYg
Y29udGV4dCkKK3sKKyAgICBhdXRvIHN5bWJvbHMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNl
U2VwYXJhdGVkKCk7CisgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpKSB7CisgICAgICAgIGF1dG8g
c3ltYm9sID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAg
ICAgIGlmICghc3ltYm9sKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHN5
bWJvbHMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfQorICAgIGlmICgh
c3ltYm9scy0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBz
eW1ib2xzOworfQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVz
LTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZUFkZGl0aXZlU3ltYm9scyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIHZhbHVlcyA9IENT
U1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IGxhc3RJbnRlZ2VyOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBpbnRlZ2VyOworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbDsKKyAg
ICAgICAgd2hpbGUgKCFpbnRlZ2VyIHx8ICFzeW1ib2wpIHsKKyAgICAgICAgICAgIGlmICghaW50
ZWdlcikgeworICAgICAgICAgICAgICAgIGludGVnZXIgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwg
VmFsdWVSYW5nZU5vbk5lZ2F0aXZlKTsKKyAgICAgICAgICAgICAgICBpZiAoaW50ZWdlcikKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoIXN5bWJvbCkgeworICAgICAgICAgICAgICAgIHN5bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgICAgICAgICAgICAgIGlmIChzeW1ib2wpCisg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKworICAgICAgICBpZiAobGFzdEludGVnZXIpIHsK
KyAgICAgICAgICAgIC8vIFRoZSBhZGRpdGl2ZSB0dXBsZXMgbXVzdCBiZSBzcGVjaWZpZWQgaW4g
b3JkZXIgb2Ygc3RyaWN0bHkgZGVzY2VuZGluZworICAgICAgICAgICAgLy8gd2VpZ2h0OyBvdGhl
cndpc2UsIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuCisg
ICAgICAgICAgICBpZiAoaW50ZWdlci0+aW50VmFsdWUoKSA+PSBsYXN0SW50ZWdlci0+aW50VmFs
dWUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorICAgICAg
ICBsYXN0SW50ZWdlciA9IGludGVnZXI7CisgICAgICAgIHZhbHVlcy0+YXBwZW5kKGludGVnZXIu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgIHZhbHVlcy0+YXBwZW5kKHN5bWJvbC5yZWxlYXNl
Tm9uTnVsbCgpKTsKKyAgICB9IHdoaWxlIChjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNl
KHJhbmdlKSk7CisgICAgaWYgKCFyYW5nZS5hdEVuZCgpIHx8ICF2YWx1ZXMtPmxlbmd0aCgpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gdmFsdWVzOworfQorCisvLyBodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3Bl
YWstYXMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTcGVha0Fz
KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChhdXRvIHNwZWFrQXNJZGVu
dCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUF1dG8sIENTU1ZhbHVlQnVsbGV0cywgQ1NTVmFsdWVO
dW1iZXJzLCBDU1NWYWx1ZVdvcmRzLCBDU1NWYWx1ZVNwZWxsT3V0PihyYW5nZSkpCisgICAgICAg
IHJldHVybiBzcGVha0FzSWRlbnQ7CisgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVOYW1l
KHJhbmdlKTsKK30KKwogUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VD
b3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBp
ZiAoIWNvbnRleHQuY291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBmdW5jdGlvbiB3aGVuIHdlIGNh
biBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4KLSAgICBVTlVTRURfUEFSQU0ocHJv
cElkKTsKLSAgICBVTlVTRURfUEFSQU0ocmFuZ2UpOwotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHN3aXRjaCAocHJvcElkKSB7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVN5c3RlbToKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVT
eXN0ZW0ocmFuZ2UpOworICAgIGNhc2UgQ1NTUHJvcGVydHlOZWdhdGl2ZToKKyAgICAgICAgcmV0
dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVOZWdhdGl2ZShyYW5nZSwgY29udGV4dCk7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVByZWZpeDoKKyAgICBjYXNlIENTU1Byb3BlcnR5U3VmZml4OgorICAgICAg
ICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVJhbmdlOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHls
ZVJhbmdlKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UGFkOgorICAgICAgICByZXR1cm4g
Y29uc3VtZUNvdW50ZXJTdHlsZVBhZChyYW5nZSwgY29udGV4dCk7CisgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZhbGxiYWNrOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFu
Z2UpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xzOgorICAgICAgICByZXR1cm4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbHMocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlBZGRpdGl2ZVN5bWJvbHM6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlQWRk
aXRpdmVTeW1ib2xzKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3BlYWtB
czoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVTcGVha0FzKHJhbmdlKTsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgfQogfQogCiBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUNvdW50
ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGNvbnN0IENTU1BhcnNlckNv
bnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCBhNzljMGVhOWU3
MjRiNmRjNGNhNmNkMDUwZDM3Yzc4YmIyYjE0NjM1Li44ZjAwNTcyYTFmMDJiNmU2NTViMjA4N2Vj
OWMwYTUwNzcxZTg5MTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI1Niw2ICsy
NTYsMTAgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3IDogSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZTYKICAgICBIUkVTVUxUIHdlYlNRTEVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09M
KiBlbmFibGVkKTsKICAgICBIUkVTVUxUIENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVz
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0Q1NT
SW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsK
KyAgICBIUkVTVUxUIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKFtvdXQsIHJldHZhbF0g
Qk9PTCogZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5h
YmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBDU1NDb3VudGVyU3R5bGVBdFJ1
bGVJbWFnZVN5bWJvbHNFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CisgICAg
SFJFU1VMVCBzZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKFtpbl0g
Qk9PTCBlbmFibGVkKTsKIH0KIAogW3V1aWQoMDRENEFBRTEtNUQwMS00Q0NELUI0NkUtQzAyMkYx
MEE2ODI2KV0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgKaW5kZXggOTljNjY0OTdiODE0YzIzNzQ3OTQwMmQ4MGE0YTc0MWU1MGFkYjU0
My4uMDVhNGNkNjg5MTcxMTFmMjQ3MjIyODQ0YjZjM2I1NWQyOWJlNTdjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTIy
OCw2ICsyMjgsMTAgQEAKIAogI2RlZmluZSBXZWJLaXRXZWJTUUxFbmFibGVkUHJlZmVyZW5jZUtl
eSAiV2ViS2l0V2ViU1FMRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRDU1NDb3VudGVyU3R5bGVB
dFJ1bGVzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZXNF
bmFibGVkIgorCisjZGVmaW5lIFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9s
c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9w
ZXJ0aWVzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Q
cm9wZXJ0aWVzRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRTcGVlY2hSZWNvZ25pdGlvbkVuYWJs
ZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRTcGVlY2hSZWNvZ25pdGlvbkVuYWJsZWQiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggOGM4ZWNkM2E2MmY4Mjg2
MmM1YjA3ZjU3OGE3OTIwYzkxNzA3ZThiZS4uZjlhMjFjZjZiNTk3MjFmNDRjMTM1ZTk2YmU2N2E3
ZDM5N2M0NDk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNw
cApAQCAtMzY4LDYgKzM2OCwxMCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVm
YXVsdFNldHRpbmdzKCkKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgp
LCBDRlNUUihXZWJLaXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydGllc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUo
ZGVmYXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKKyAgICBDRkRpY3Rpb25hcnlBZGRW
YWx1ZShkZWZhdWx0cy5nZXQoKSwgQ0ZTVFIoV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdFNwZWVjaFJl
Y29nbml0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdE92ZXJzY3Jv
bGxCZWhhdmlvckVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTI1
NzgsNiArMjU4MiwzNCBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRDU1NJbmRpdmlkdWFs
VHJhbnNmb3JtUHJvcGVydGllc0VuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHJldHVybiBTX09L
OwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5h
YmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAg
cmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRD
U1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBT
X09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRDU1NDb3VudGVyU3R5bGVBdFJ1
bGVzRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdENTU0Nv
dW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0
dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OkNTU0NvdW50ZXJTdHlsZUF0
UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAo
IWVuYWJsZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29s
VmFsdWVGb3JLZXkoV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxl
ZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjpzZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxl
SW1hZ2VTeW1ib2xzRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBT
X09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzcGVlY2hSZWNvZ25pdGlvbkVuYWJs
ZWQoX091dF8gQk9PTCogZW5hYmxlZCkKIHsKICAgICBpZiAoIWVuYWJsZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRleCAwOTdkMDcwMzgxNzBjMjJkMmJmYmQy
NmNiZTUyNGU3YTAzYzI4ZTFiLi5jYWU0NGNiOTJhODY5ZDU2NzgxZGYwNTQ1MjQzNzMyODg4OGQ0
ZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI5Nyw2
ICsyOTcsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBzZXRXZWJTUUxFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydGllc0VuYWJsZWQoX091dF8gQk9P
TCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDU1NJbmRpdmlk
dWFsVHJhbnNmb3JtUHJvcGVydGllc0VuYWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKF9PdXRfIEJP
T0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q1NTQ291bnRl
clN0eWxlQXRSdWxlc0VuYWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDU1NDb3Vu
dGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTgKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
YWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyhfT3V0XyBCT09MKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCmluZGV4IGFiYmFkNGRjZjFiMTgzOWRhODAxMzk2Y2JhYTY3ODgwYTE0
MzBlYzMuLjU3YzI0MmU3YzdkOTA5ZDY4OWM2Y2YwOWQ2ZjIwOWM0N2NkODhjYjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01Mjc4LDYgKzUyNzgsMTYgQEAgSFJFU1VMVCBX
ZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZp
Y2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3Muc2V0Q1NTQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2
YXRlLT5DU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCgmZW5hYmxlZCk7CisgICAgaWYgKEZB
SUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBzZXR0aW5ncy5zZXRDU1NDb3VudGVy
U3R5bGVBdFJ1bGVzRW5hYmxlZCghIWVuYWJsZWQpOworCisgICAgaHIgPSBwcmVmc1ByaXZhdGUt
PkNTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoJmVuYWJsZWQpOworICAg
IGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0Q1NT
Q291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPmxpbmtQcmVsb2FkRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYg
KEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmODNiYWYxZmMyMTUwMDdhNzBkOGRjZWVlMzEz
YWQ0NjM4M2JkZDNmLi44Nzk0NGY2MGNlMmMyMTQ4MWQ4ZGQ0ZjQ4NDAxZmVlZTUzZmJiYTkwIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMjEtMDQtMTcgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWls
LmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRlci1zdHls
ZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RPcHRpb25zOjpkZWZhdWx0cyk6CisgICAgICAgIEZpeCB0eXBvIChtaXNzaW5nICdzJykuICBD
U1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCwgbm90CisgICAgICAgIENTU0NvdW50ZXJTdHls
ZUF0UnVsZUVuYWJsZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAgICAg
ICBFbmFibGUgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQgYW5kCisgICAgICAgIENTU0Nv
dW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQgYXMgZXhwZXJpbWVudGFsIGZlYXR1
cmVzLgorCiAyMDIxLTA0LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJl
c3N1cmUoKSBzaG91bGQgY2hlY2sgaWYgbGliV2ViUlRDQ29kZWNzUHJveHkgaXMgdXNlZApkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGZiOGEyMzJhY2NhYzUxZDYzMjQ2ZGQ0
Mzk1ZTEyNGMwOTk2ZjUwZGEuLmVlMGUzY2ViYzBmN2NmZWQ5ODlmMWM1MDJkZTMzZjU5NTRlMDg4
YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTEzMyw3ICsxMzMsNyBA
QCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiAgICAgICAgICAg
ICB7ICJBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAi
QXR0YWNobWVudEVsZW1lbnRFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNTU0Nv
bnRhaW5tZW50RW5hYmxlZCIsIGZhbHNlIH0sCi0gICAgICAgICAgICB7ICJDU1NDb3VudGVyU3R5
bGVBdFJ1bGVFbmFibGVkIiwgZmFsc2UgfSwKKyAgICAgICAgICAgIHsgIkNTU0NvdW50ZXJTdHls
ZUF0UnVsZXNFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNTU0NvdW50ZXJTdHls
ZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NT
TG9naWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NTT01WaWV3U21vb3Ro
U2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcAppbmRleCBjNmZjZDYxODc0ZjBhMGM1OGIzNTdjOTM2MGVkNmFjNjlh
MGM3Y2YxLi5hNzZkN2YwZTM5NzViNGU3ZmYwZDcyYTI0OWFjNmJlYWMxZjczNzU4IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTgzMSw2ICs4MzEs
OCBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyhJV2ViUHJlZmVyZW5j
ZXMqIHByZWZlcmVuY2VzKQogICAgIC8vIEZJWE1FOiBXZWJHTDIKICAgICAvLyBGSVhNRTogV2Vi
UlRDCiAgICAgcHJlZnNQcml2YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
KFRSVUUpOworICAgIHByZWZzUHJpdmF0ZS0+c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoVFJVRSk7CisgICAgcHJlZnNQcml2YXRlLT5zZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFn
ZVN5bWJvbHNFbmFibGVkKFRSVUUpOwogfQogCiBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVu
Y2VzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMWNkM2UxMjI1NmEwMzEzM2ExNjEzNTNjNTY0ODNmNmQ3ZGU5YTlmNC4uMjhjMjBhNTNjNDQy
ZDU3YmQyZjI3MjhjNzFlMzBlZjQ2OWIxMzg0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIx
LTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAg
ICAgW2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0
IGVuc3VyaW5nIDxpbWFnZT4gQGNvdW50ZXItc3R5bGUgc3ltYm9sIHZhbHVlcyBjYW5ub3QgYmUK
KyAgICAgICAgcGFyc2VkIHdoZW4gdGhlIGBjb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkYCBmZWF0dXJlIGZsYWcKKyAgICAgICAgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgKiB3
ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1z
eW1ib2xzLW5vdC1leHBvc2VkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3Rh
cnQvZW5kfSB2YWx1ZXMgdG8gZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBjZjI0MWE4ZmM0OWFjZmEwZGE3ZWMwNzc2NmFhOTE1ZWM3M2Nj
ZWM2Li4yM2FlYjRkNDdmODQ4MmU0NTBlZDkzYjMzOTBlYzIzNDEwNGEyMzM2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAyMS0wNC0xNyAgVHlsZXIg
V2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtY291bnRl
ci1zdHlsZXNdIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJzaW5nIGZvciBhbGwgQGNvdW50
ZXItc3R5bGUgZGVzY3JpcHRvcnMgaXMgaW1wbGVtZW50ZWQgd2l0aCB0aGlzCisgICAgICAgIHBh
dGNoLCBzbyBtYXJrIG1vcmUgdGVzdHMgcGFzc2luZy4KKworICAgICAgICBZb3UnbGwgbm90aWNl
IHRoYXQgc29tZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycyBpbXBsZW1lbnRlZCBpbiB0aGlz
CisgICAgICAgIHBhdGNoIGRpZCBub3QgZ2FpbiBhbnkgcGFzc2luZyB0ZXN0cyAoZS5nLiBgcGFk
YCwgYG5lZ2F0aXZlYCkuICBJbiBhbGwKKyAgICAgICAgb2YgdGhlc2UgY2FzZXMsIHRoZSBleHBl
Y3RlZCByZXN1bHRzIGNvbnRhaW4gYSA8c3RyaW5nPiB2YWx1ZSwgYW5kIHdlCisgICAgICAgIGZh
aWwgb25seSBiZWNhdXNlIHdlIGluY29ycmVjdGx5IGRvbid0IHNlcmlhbGl6ZSB0aGVzZSA8c3Ry
aW5nPiB2YWx1ZXMKKyAgICAgICAgd2l0aCBxdW90ZXMuICBJIGhhdmUgbWFudWFsbHkgY29uZmly
bWVkIGluIGFsbCBjYXNlcyB0aGF0IHRoZXNlIHZhbHVlcworICAgICAgICBhcmUgcHJvcGVybHkg
cGFyc2VkLCBzbyBpdCdzIGp1c3QgdGhlIHNlcmlhbGl6YXRpb24gdGhhdCdzIGluY29ycmVjdC4K
KworICAgICAgICBUaGVzZSA8c3RyaW5nPiB2YWx1ZXMgc2VyaWFsaXplIHdpdGhvdXQgcXVvdGVz
IGJlY2F1c2UgV2ViS2l0J3MgcmVwcmVzZW50YXRpb24KKyAgICAgICAgb2YgY3VzdG9tIGlkZW50
aWZpZXJzIGlzIG5vdCBhIHNlcGFyYXRlIHR5cGUsIGJ1dCBpbnN0ZWFkIG92ZXJsb2FkZWQgb250
byB0aGUKKyAgICAgICAgQ1NTX1NUUklORyB0eXBlLiAgVGhpcyBtZWFucyB0aGF0IGR1cmluZyBz
ZXJpYWxpemF0aW9uIHRpbWUsIFdlYktpdCBtdXN0IGd1ZXNzCisgICAgICAgIHdoZXRoZXIgaXQg
aXMgYWN0dWFsbHkgc2VyaWFsaXppbmcgYSBzdHJpbmcgKGFuZCBpbmNsdWRlIHF1b3RlcyBpZiBz
byksIG9yIGlmCisgICAgICAgIGl0J3Mgc2VyaWFsaXppbmcgYSBjdXN0b20gaWRlbnQgKGxlYXZp
bmcgb2ZmIHF1b3RlcyBpZiBzbykuCisKKyAgICAgICAgUmVsZXZhbnQgY29kZSBzbmlwcGV0Ogor
CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0L2Jsb2IvMzZjYWVlYzA3
OTc1YmQ1ZjQ3ZGI4YWM2Yjc0OWMyNzg3MjMwYTQ2MS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWFy
a3VwLmNwcCNMMTUzI0wxNjEKKworICAgICAgICBSZWxldmFudCBjaGFuZ2Vsb2cgc25pcHBldCBm
cm9tIERhdmlkIEh5YXR0LCAyMDE2LTEyLTA3OgorCisgICAgICAgID4gV2UgYWxzbyBvdmVybG9h
ZCBDU1NfU1RSSU5HIHByaW1pdGl2ZSB2YWx1ZSB0eXBlIGFuZCBoYXZlIGl0IGFjdCBhcyBib3Ro
IGEgc3RyaW5nCisgICAgICAgID4gYW5kIGEgY3VzdG9tIGlkZW50aWZpZXIuIFRoaXMgaXMgbGFt
ZSwgc2luY2UgdGhlIHBhcnNlciBzaG91bGQgaGF2ZSBtYWRlIHR3byBkaWZmZXJlbnQKKyAgICAg
ICAgPiB0eXBlcyBvZiBvYmplY3RzIGluc3RlYWQsIGJ1dCBzaW5jZSBvdXIgcGFyc2VyIGRvZXNu
J3QgZG8gdGhhdCB5ZXQsIEkgYWRkZWQgYSBzZXJpYWxpemVBc1N0cmluZ09yQ3VzdG9tSWRlbnQK
KyAgICAgICAgPiB0aGF0IHByZXNlcnZlcyBvdXIgb2xkIGJlaGF2aW9yIG9mICJxdW90ZSB0aGUg
c3RyaW5nIG9ubHkgaWYgbmVlZGVkLiIgSW4gdGhpcyBjYXNlIHdoYXQKKyAgICAgICAgPiB0aGF0
IHJlYWxseSBtZWFudCB3YXMgIlRyeSB0byBndWVzcyB0aGF0IHdlIHdlcmUgb3JpZ2luYWxseSBh
IGN1c3RvbSBpZGVudCBhbmQgbGVhdmUgb2ZmCisgICAgICAgID4gcXVvdGVzIGlmIHNvLiIgVGhp
cyBmdW5jdGlvbiB3aWxsIGdvIGF3YXkgb25jZSB3ZSBwcm9wZXJseSBjcmVhdGUgQ1NTU3RyaW5n
VmFsdWVzIGFuZAorICAgICAgICA+IENTU0N1c3RvbUlkZW50VmFsdWVzIGluc3RlYWQgb2YgdHVy
bmluZyB0aGUgbGF0dGVyIGludG8gc3RyaW5ncy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXIt
c3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRh
eC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dDoKKwog
MjAyMS0wNC0xNyAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBpbmxpbmUte3N0YXJ0L2VuZH0gdmFsdWVzIHRvIGZsb2F0ICYgY2xlYXIgcHJv
cGVydGllcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0
CmluZGV4IDU2YWY5ZTFkNDg0ZTVjNDVkNDdjYWQzMzdiYzVhN2QwZGExMDc0NzkuLjc1OTQ3ODhl
MWMyMDljMDk5Y2UyYmUzZGU3OTQ3YTdlM2Q1MjI4MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRl
ci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGJh
cicgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiAiYmFyIicgaXMgaW52
YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IG5vbmUnIGlzIGludmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBpbml0aWFsJyBpcyBpbnZhbGlkCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBl
Y3RlZC50eHQKaW5kZXggMDkyZDdhOTFjZDliZTkyYWQ0MWEyODAzM2I4ZTUxZjYzZTVjMWEzMC4u
ODdjNmEwNmE2YjQ4NGJmZTAyMjc5NzA3ZDAyYTU2ZjNlMDIyNWEzOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVk
LnR4dApAQCAtNywyMCArNywyMCBAQCBGQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6ICJpbmhl
cml0IicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvdwogRkFJTCBAY291
bnRlci1zdHlsZSAnc3VmZml4OiAiaW5oZXJpdCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQogRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiAi
dW5zZXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUg
LTEKIEZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogInVuc2V0IicgaXMgdmFsaWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxl
ICdwcmVmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBk
aXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGN1c3RvbS1p
ZGVudCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
CitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZAogUEFTUyBA
Y291bnRlci1zdHlsZSAncHJlZml4OiBpbml0aWFsJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVy
LXN0eWxlICdzdWZmaXg6IGluaXRpYWwnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogaW5oZXJpdCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4
OiBpbmhlcml0JyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVuc2V0
JyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVuc2V0JyBpcyBpbnZh
bGlkCi1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNv
bS9mb28ucG5nIiknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoImh0dHBzOi8vZXhhbXBs
ZS5jb20vZm9vLnBuZyIpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKGh0dHBzOi8vZXhh
bXBsZS5jb20vZm9vLnBuZyknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoaHR0cHM6Ly9l
eGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGxpbmVhci1ncmFk
aWVudCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogbGluZWFyLWdyYWRp
ZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiB1cmwoImh0dHBzOi8v
ZXhhbXBsZS5jb20vZm9vLnBuZyIpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3Vm
Zml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyIpJyBpcyB2YWxpZAorUEFTUyBA
Y291bnRlci1zdHlsZSAncHJlZml4OiB1cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScg
aXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKGh0dHBzOi8vZXhhbXBs
ZS5jb20vZm9vLnBuZyknIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGxp
bmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHls
ZSAnc3VmZml4OiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQKIFBBU1Mg
QGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxl
ICdzdWZmaXg6ICcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBmb28g
YmFyJyBpcyBpbnZhbGlkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5n
ZS1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3lu
dGF4LWV4cGVjdGVkLnR4dAppbmRleCA0MjczNzJlMTgwMjMxNTViZjNhZDQ2NWYwZWJhODZkMjYz
ZDc2MWQzLi4zNDM3MTAxOTk4MDcyZGQ0NjY5MTVkMmVlOTYzYmE4Yjg1NDM3NzFjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQKQEAg
LTEsMTAgKzEsMTAgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGF1dG8nIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIGluZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3Jh
bmdlOiBpbmZpbml0ZSAwJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIGluZmluaXRlJyBpcyB2
YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAwLCA1IDEwLCAxMDAgaW5maW5pdGUnIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDEwLCA1IDIwLCAxNSBpbmZpbml0ZScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdyYW5nZTogYXV0bycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jh
bmdlOiBpbmZpbml0ZSBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jh
bmdlOiBpbmZpbml0ZSAwJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IDAg
aW5maW5pdGUnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUg
MCwgNSAxMCwgMTAwIGluZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFu
Z2U6IGluZmluaXRlIDEwLCA1IDIwLCAxNSBpbmZpbml0ZScgaXMgdmFsaWQKIFBBU1MgQGNvdW50
ZXItc3R5bGUgJ3JhbmdlOiAnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3Jhbmdl
OiAwIC0xJyBpcyBpbnZhbGlkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxl
LXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1z
cGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQzYjNlNDNjN2Y1MWNjOGRiMzJmMTdl
ZTA4M2E5MjVlNWQ0NzY1NGEuLmM2M2RmNzYzZmQ1MWIzNDZjMzNkZjQ1MGY2YzE1MjI2OGRjYmQ0
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4
LWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwxMSBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
cGVhay1hczogYXV0bycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYnVsbGV0cycgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdzcGVhay1hczogbnVtYmVycycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczog
d29yZHMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAt
MQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsLW91dCcgaXMgdmFsaWQgYXNz
ZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0
eWxlICdzcGVhay1hczogYmFyJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbG91dCcg
aXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNT
IEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYXV0bycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXIt
c3R5bGUgJ3NwZWFrLWFzOiBidWxsZXRzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAn
c3BlYWstYXM6IG51bWJlcnMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1h
czogd29yZHMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGwt
b3V0JyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJhcicgaXMgdmFs
aWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbG91dCcgaXMgdmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBidWxsZXRzIG51bWJlcnMnIGlzIGludmFsaWQK
IFBBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBub25lJyBpcyBpbnZhbGlkCiBQQVNTIEBj
b3VudGVyLXN0eWxlICdzcGVhay1hczogaW5pdGlhbCcgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCBmZTFl
ZmM4NzJjNDUzYzg4OWJlYTFiZmM4ZTdkM2UzY2NhNzZiYjE3Li41NzYxZWExZDgyNzg5YTFmMDk0
MDc4ZGE1YmRhODQ0OTBiM2ZiZDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGN5Y2xpYycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZp
eGVkJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQgMTAwJyBpcyB2YWxpZCBhc3NlcnRf
bm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUg
J3N5c3RlbTogZml4ZWQgLTEnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBzeW1ib2xpYycgaXMg
dmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGFscGhhYmV0aWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVt
OiBudW1lcmljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWRkaXRpdmUnIGlzIHZhbGlkIGFz
c2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1z
dHlsZSAnc3lzdGVtOiBleHRlbmRzIGJhcicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGN5Y2xp
YycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQnIGlzIHZhbGlk
CitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIDEwMCcgaXMgdmFsaWQKK1BBU1Mg
QGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQgLTEnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IHN5bWJvbGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAn
c3lzdGVtOiBhbHBoYWJldGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVt
OiBudW1lcmljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhZGRpdGl2
ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZXh0ZW5kcyBiYXInIGlz
IHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZsb2F0JyBpcyBpbnZhbGlkCiBQ
QVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGN5Y2xpYyBjeWNsaWMnIGlzIGludmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZXh0ZW5kcyBub25lJyBpcyBpbnZhbGlkCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9s
cy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50
ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDljZmIzY2M0YTM3ZTlkNDNkOGNiYjM3YjY0ZDg2MGU1ZDk1NmYwMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xz
LW5vdC1leHBvc2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBAY291bnRl
ci1zdHlsZSBpbWFnZSBzeW1ib2xzIGFyZSBub3QgZXhwb3NlZAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3Nl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJv
bHMtbm90LWV4cG9zZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDUwMjBhMWQ2ZmYxNGQ5OTcwMDc4MzE4
Y2U3NTE0MWU5MDAyMDBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZXhwb3Nl
ZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbApAQCAtMCwwICsx
LDE3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBDU1NDb3Vu
dGVyU3R5bGVBdFJ1bGVzRW5hYmxlZD10cnVlIENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3lt
Ym9sc0VuYWJsZWQ9ZmFsc2UgXSAtLT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgQGNvdW50ZXItc3R5bGUgZm9vIHsK
KyAgICAgICAgc3lzdGVtOiBjeWNsaWM7CisgICAgICAgIHN1ZmZpeDogIiAiOworICAgICAgICBz
eW1ib2xzOiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgor
PHNjcmlwdD4KKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBjb25zdCBjc3NSdWxlcyA9
IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNzc1J1bGVzCisgICAgICAgIGFzc2VydF9lcXVhbHMo
Y3NzUnVsZXMubGVuZ3RoLCAxLCAnU2hvdWxkXCd2ZSBiZWVuIGFibGUgdG8gcGFyc2UgQGNvdW50
ZXItc3R5bGUuJykKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjc3NSdWxlc1swXS5zeW1ib2xzLCAn
JywgJ1Nob3VsZG5cJ3QgaGF2ZSBiZWVuIGFibGUgdG8gcGFyc2UgaW1hZ2Ugc3ltYm9sIHZhbHVl
IHdpdGggdGhlIHJ1bnRpbWUgZmVhdHVyZSBmbGFnIGRpc2FibGVkLicpCisgICAgfSwgJ0Bjb3Vu
dGVyLXN0eWxlIGltYWdlIHN5bWJvbHMgYXJlIG5vdCBleHBvc2VkJykKKzwvc2NyaXB0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426371</attachid>
            <date>2021-04-17 23:14:18 -0700</date>
            <delta_ts>2021-04-19 19:13:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210418011417.patch</filename>
            <type>text/plain</type>
            <size>59074</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY4YmFhNWNhYjBhOGFj
YzQ1MGM0NThkM2YxOGM4NDU2OWNhNzBjOC4uZTQ3MjNmZDU3YjgzMDRmNDUwNzhlZjY4NWUzNTE4
MzIwMGQwMzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAg
ICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3Ig
cHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAgICAgIChXZWJD
b3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Q291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQ
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyk6Cisg
ICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9uYWxpdHkgcmVx
dWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmg6
CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBnZXR0ZXIgYW5k
IHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9w
ZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgIEFk
ZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFzYCAKKyAgICAg
ICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1l
Q291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2Ny
aXB0b3JzLgorCiAyMDIxLTA0LTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFu
c2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBi
NTdjMmIxZjA2OGVkMjg1Mjk0ODNlYmFjOTBjYmM3MDUzMmU0MzkyLi44YjJlNTVlMDYwNzE4NTFl
NjM4ZDdhOWNlMjQyYzc2YTFiYjIxNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMjEtMDQtMTcgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRl
ci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IGZ1bmN0aW9uYWxpdHkgcmVxdWlyZWQgZm9yIENTU0NvdW50
ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJ
bWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzIHRvIGJlIHNldCB2aWEgdGVzdAorICAgICAgICBoZWFk
ZXIuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgor
ICAgICAgICBBZGQgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQsIHNldENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkLAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkLCBhbmQKKyAgICAgICAgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VT
eW1ib2xzRW5hYmxlZC4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICBBZGQgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNl
S2V5IGFuZAorICAgICAgICBXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkUHJlZmVyZW5jZUtleS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCk6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OkNTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9s
c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50ZXJTdHlsZUF0
UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpOgorICAgICAgICBJbXBsZW1lbnQgZ2V0dGVycyBhbmQg
c2V0dGVycyBmb3IgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQKKyAgICAgICAgYW5kIENT
U0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQgZmxhZ3MuCisKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICBEZWNsYXJlIGdldHRlcnMgYW5kIHNldHRlcnMg
Zm9yIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkCisgICAgICAgIGFuZCBDU1NDb3VudGVy
U3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzLgorCisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAg
ICAgICBVcGRhdGUgd2VicGFnZSBzZXR0aW5ncyB3aGVuIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNF
bmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFi
bGVkIGZsYWdzIGNoYW5nZS4KKwogMjAyMS0wMy0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFICYgRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUywgaXQgc2VlbXMgbGlrZSBpdCBpcyBvbiBmb3Ig
YWxsIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IDUxMWY4OWU2NTBmOWI0ZDUyNThiNDJhZjJiODc5YWE5NDlhNWVk
NGMuLjAwYzZhNGIyYWUxOWFiYjQ2NDMxYTk3ZWUyODcwN2MzZmEyOTAxODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC00
MDAzLDYgKzQwMDMsMTggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
Ojp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgLyogVGhl
c2UgYXJlIGludGVudGlvbmFsbHkgdW5pbXBsZW1lbnRlZCBiZWNhdXNlIHRoZXkgYXJlIGFjdHVh
bGx5IGRlc2NyaXB0b3JzIGZvciBAY291bnRlci1zdHlsZS4gKi8KKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN5c3RlbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZlOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3VmZml4
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlQYWQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHM6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250
LWZhY2UgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3JjOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZVJhbmdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
dW50ZXJTdHlsZVJ1bGUuY3BwCmluZGV4IDIyOWM0NTI0ZDFlZThhN2U4NDJjYjdlYjRjN2Q1NTNk
OTI4ZWE2MzYuLjQ3YTkwY2JkZDJmMDVlMjRlMzk5NTc5NTU3ODRmYTRmYmRlYzAwMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKQEAgLTI2LDYgKzI2LDEy
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5o
IgogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCisjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiUGFpci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAogU3R5bGVSdWxlQ291bnRlclN0eWxlOjpTdHlsZVJ1bGVDb3VudGVyU3R5bGUoY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0aWVzKQpAQCAt
NDAsNiArNDYsOTQgQEAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gU3R5bGVSdWxlQ291bnRl
clN0eWxlOjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUobmFtZSwgV1RGTW92ZShwcm9wZXJ0aWVzKSkp
OwogfQogCitzdGF0aWMgQ291bnRlclN0eWxlU3lzdGVtIHRvQ291bnRlclN0eWxlU3lzdGVtRW51
bShSZWZQdHI8Q1NTVmFsdWU+IHN5c3RlbSkKK3sKKyAgICBpZiAoIXN5c3RlbSB8fCAhc3lzdGVt
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06
OlN5bWJvbGljOworCisgICAgYXV0byYgcHJpbWl0aXZlU3lzdGVtVmFsdWUgPSBkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4oKnN5c3RlbSk7CisgICAgQVNTRVJUKHByaW1pdGl2ZVN5c3RlbVZh
bHVlLmlzVmFsdWVJRCgpIHx8IHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzUGFpcigpKTsKKyAgICBD
U1NWYWx1ZUlEIHN5c3RlbUtleXdvcmQgPSBDU1NWYWx1ZUludmFsaWQ7CisgICAgaWYgKHByaW1p
dGl2ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpKQorICAgICAgICBzeXN0ZW1LZXl3b3JkID0gcHJp
bWl0aXZlU3lzdGVtVmFsdWUudmFsdWVJRCgpOworICAgIGVsc2UgaWYgKGF1dG8qIHBhaXIgPSBw
cmltaXRpdmVTeXN0ZW1WYWx1ZS5wYWlyVmFsdWUoKSkgeworICAgICAgICAvLyBUaGlzIHZhbHVl
IG11c3QgYmUgYGZpeGVkYCBvciBgZXh0ZW5kc2AsIGJvdGggb2Ygd2hpY2ggY2FuIG9yIG11c3Qg
aGF2ZSBhbiBhZGRpdGlvbmFsIGNvbXBvbmVudC4KKyAgICAgICAgYXV0byBmaXJzdFZhbHVlID0g
cGFpci0+Zmlyc3QoKTsKKyAgICAgICAgQVNTRVJUKGZpcnN0VmFsdWUgJiYgZmlyc3RWYWx1ZS0+
aXNWYWx1ZUlEKCkpOworICAgICAgICBpZiAoZmlyc3RWYWx1ZSkKKyAgICAgICAgICAgIHN5c3Rl
bUtleXdvcmQgPSBmaXJzdFZhbHVlLT52YWx1ZUlEKCk7CisgICAgfQorCisgICAgc3dpdGNoIChz
eXN0ZW1LZXl3b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUN5Y2xpYzoKKyAgICAgICAgcmV0dXJu
IENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOworICAgIGNhc2UgQ1NTVmFsdWVGaXhlZDoKKyAg
ICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ7CisgICAgY2FzZSBDU1NWYWx1
ZVN5bWJvbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsK
KyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHls
ZVN5c3RlbTo6QWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlTnVtZXJpYzoKKyAgICAgICAg
cmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzsKKyAgICBjYXNlIENTU1ZhbHVlQWRk
aXRpdmU6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0aXZlOworICAg
IGNhc2UgQ1NTVmFsdWVFeHRlbmRzOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVt
OjpFeHRlbmRzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKyAgICB9Cit9CisK
K3N0YXRpYyBib29sIHN5bWJvbHNWYWxpZEZvclN5c3RlbShDb3VudGVyU3R5bGVTeXN0ZW0gc3lz
dGVtLCBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHMsIFJlZlB0cjxDU1NWYWx1ZT4gYWRkaXRpdmVT
eW1ib2xzKQoreworICAgIHN3aXRjaCAoc3lzdGVtKSB7CisgICAgY2FzZSBDb3VudGVyU3R5bGVT
eXN0ZW06OkN5Y2xpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ6CisgICAg
Y2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOgorICAgICAgICByZXR1cm4gc3ltYm9s
cyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKnN5
bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpBbHBoYWJldGlj
OgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpOdW1lcmljOgorICAgICAgICByZXR1cm4g
c3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlz
dD4oKnN5bWJvbHMpLmxlbmd0aCgpID49IDJ1OworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVt
OjpBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIGFkZGl0aXZlU3ltYm9scyAmJiBhZGRpdGl2ZVN5
bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0PigqYWRkaXRpdmVT
eW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6RXh0ZW5kczoK
KyAgICAgICAgcmV0dXJuICFzeW1ib2xzICYmICFhZGRpdGl2ZVN5bWJvbHM7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9Cit9CisKK2Jvb2wgU3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRP
ckVxdWFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENTU1ZhbHVlPiBu
ZXdWYWx1ZSkgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRWYWx1ZSA9IG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoY29tcGFyZUNTU1ZhbHVl
UHRyKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sczsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGFkZGl0aXZl
U3ltYm9sczsKKyAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5
U3lzdGVtOgorICAgICAgICAvLyBJZiB0aGUgYXR0cmlidXRlIGJlaW5nIHNldCBpcyBgc3lzdGVt
YCwgYW5kIHRoZSBuZXcgdmFsdWUgd291bGQgY2hhbmdlIHRoZSBhbGdvcml0aG0gdXNlZCwgZG8g
bm90aGluZworICAgICAgICAvLyBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIC8vIChJ
dCdzIG9rYXkgdG8gY2hhbmdlIGFuIGFzcGVjdCBvZiB0aGUgYWxnb3JpdGhtLCBsaWtlIHRoZSBm
aXJzdCBzeW1ib2wgdmFsdWUgb2YgYSBgZml4ZWRgIHN5c3RlbS4pCisgICAgICAgIHJldHVybiB0
b0NvdW50ZXJTdHlsZVN5c3RlbUVudW0oY3VycmVudFZhbHVlKSAhPSB0b0NvdW50ZXJTdHlsZVN5
c3RlbUVudW0obmV3VmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xzOgorICAgICAg
ICBzeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAgIGFkZGl0aXZlU3ltYm9scyA9IG1fcHJvcGVy
dGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9scyk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJvbHM6CisgICAg
ICAgIHN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlTeW1ib2xzKTsKKyAgICAgICAgYWRkaXRpdmVTeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAg
IGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
YXV0byBzeXN0ZW0gPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlTeXN0ZW0pOworICAgIHJldHVybiBzeW1ib2xzVmFsaWRGb3JTeXN0ZW0odG9Db3VudGVyU3R5
bGVTeXN0ZW1FbnVtKHN5c3RlbSksIHN5bWJvbHMsIGFkZGl0aXZlU3ltYm9scyk7Cit9CisKIFN0
eWxlUnVsZUNvdW50ZXJTdHlsZTo6flN0eWxlUnVsZUNvdW50ZXJTdHlsZSgpID0gZGVmYXVsdDsK
IAogTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlQ291bnRlclN0eWxlOjptdXRhYmxl
UHJvcGVydGllcygpCkBAIC02NCw4ICsxNTgsODMgQEAgQ1NTQ291bnRlclN0eWxlUnVsZTo6fkNT
U0NvdW50ZXJTdHlsZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBDU1NDb3VudGVyU3R5bGVS
dWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgZnVu
Y3Rpb24gd2hlbiB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4KLSAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQu
YXBwZW5kTGl0ZXJhbCgiQGNvdW50ZXItc3R5bGUgIik7CisgICAgcmVzdWx0LmFwcGVuZChuYW1l
KCkpOworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgeyIpOworCisgICAgU3RyaW5nIHN5c3Rl
bVRleHQgPSBzeXN0ZW0oKTsKKyAgICBpZiAoc3lzdGVtVGV4dC5sZW5ndGgoKSkgeworICAgICAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN5c3RlbTogIik7CisgICAgICAgIHJlc3VsdC5hcHBl
bmQoc3lzdGVtVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAg
fQorCisgICAgU3RyaW5nIHN5bWJvbHNUZXh0ID0gc3ltYm9scygpOworICAgIGlmIChzeW1ib2xz
VGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN5bWJvbHM6
ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN5bWJvbHNUZXh0KTsKKyAgICAgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xz
VGV4dCA9IGFkZGl0aXZlU3ltYm9scygpOworICAgIGlmIChhZGRpdGl2ZVN5bWJvbHNUZXh0Lmxl
bmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgYWRkaXRpdmUtc3ltYm9s
czogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoYWRkaXRpdmVTeW1ib2xzVGV4dCk7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIG5lZ2F0
aXZlVGV4dCA9IG5lZ2F0aXZlKCk7CisgICAgaWYgKG5lZ2F0aXZlVGV4dC5sZW5ndGgoKSkgewor
ICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIG5lZ2F0aXZlOiAiKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZChuZWdhdGl2ZVRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgi
OyIpOworICAgIH0KKworICAgIFN0cmluZyBwcmVmaXhUZXh0ID0gcHJlZml4KCk7CisgICAgaWYg
KHByZWZpeFRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBw
cmVmaXg6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHByZWZpeFRleHQpOworICAgICAgICBy
ZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBzdWZmaXhUZXh0
ID0gc3VmZml4KCk7CisgICAgaWYgKHN1ZmZpeFRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZExpdGVyYWwoIiBzdWZmaXg6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN1
ZmZpeFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKwor
ICAgIFN0cmluZyBwYWRUZXh0ID0gcGFkKCk7CisgICAgaWYgKHBhZFRleHQubGVuZ3RoKCkpIHsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBwYWQ6ICIpOworICAgICAgICByZXN1bHQu
YXBwZW5kKHBhZFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAg
IH0KKworICAgIFN0cmluZyByYW5nZVRleHQgPSByYW5nZSgpOworICAgIGlmIChyYW5nZVRleHQu
bGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiByYW5nZTogIik7Cisg
ICAgICAgIHJlc3VsdC5hcHBlbmQocmFuZ2VUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgZmFsbGJhY2tUZXh0ID0gZmFsbGJhY2so
KTsKKyAgICBpZiAoZmFsbGJhY2tUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBl
bmRMaXRlcmFsKCIgZmFsbGJhY2s6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKGZhbGxiYWNr
VGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAg
U3RyaW5nIHNwZWFrQXNUZXh0ID0gc3BlYWtBcygpOworICAgIGlmIChzcGVha0FzVGV4dC5sZW5n
dGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHNwZWFrLWFzOiAiKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChzcGVha0FzVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRM
aXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiB9Iik7Cisg
ICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCiB2b2lkIENTU0NvdW50ZXJTdHlsZVJ1
bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCkBAIC03Myw0ICsyNDIsNzcgQEAgdm9p
ZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQogICAg
IG1fY291bnRlclN0eWxlUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUNvdW50ZXJTdHlsZSY+
KHJ1bGUpOwogfQogCisvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXItc3R5
bGVzLTMvI2RvbS1jc3Njb3VudGVyc3R5bGVydWxlLW5hbWUKK3ZvaWQgQ1NTQ291bnRlclN0eWxl
UnVsZTo6c2V0TmFtZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgYXV0byB0b2tlbnMgPSBD
U1NUb2tlbml6ZXIodGV4dCkudG9rZW5SYW5nZSgpOworICAgIGF1dG8gbmFtZSA9IENTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUNvdW50ZXJTdHlsZU5hbWVJblByZWx1ZGUodG9rZW5z
KTsKKyAgICBpZiAobmFtZS5pc051bGwoKSB8fCBuYW1lID09IG1fY291bnRlclN0eWxlUnVsZS0+
bmFtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0YXRp
b25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworICAgIG1fY291bnRlclN0eWxlUnVsZS0+c2V0
TmFtZShuYW1lKTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5h
bChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYgdmFsdWVUZXh0KQorewor
ICAgIGF1dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHZhbHVlVGV4dCkudG9rZW5SYW5nZSgpOwor
ICAgIGF1dG8gbmV3VmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3VudGVyU3R5bGVE
ZXNjcmlwdG9yKHByb3BlcnR5SUQsIHRva2VucywgcGFyc2VyQ29udGV4dCgpKTsKKyAgICBpZiAo
bV9jb3VudGVyU3R5bGVSdWxlLT5uZXdWYWx1ZUludmFsaWRPckVxdWFsKHByb3BlcnR5SUQsIG5l
d1ZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0
aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJTdHlsZVJ1bGUtPm11
dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkocHJvcGVydHlJRCwgV1RGTW92ZShuZXdWYWx1
ZSkpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN5c3RlbShjb25zdCBTdHJp
bmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTeXN0ZW0sIHRleHQp
OworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5lZ2F0aXZlKGNvbnN0IFN0cmlu
ZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eU5lZ2F0aXZlLCB0ZXh0
KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQcmVmaXgoY29uc3QgU3RyaW5n
JiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5UHJlZml4LCB0ZXh0KTsK
K30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTdWZmaXgoY29uc3QgU3RyaW5nJiB0
ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3VmZml4LCB0ZXh0KTsKK30K
Kwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRSYW5nZShjb25zdCBTdHJpbmcmIHRleHQp
Cit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlSYW5nZSwgdGV4dCk7Cit9CisKK3Zv
aWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UGFkKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAg
ICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVBhZCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2soY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNl
dHRlckludGVybmFsKENTU1Byb3BlcnR5RmFsbGJhY2ssIHRleHQpOworfQorCit2b2lkIENTU0Nv
dW50ZXJTdHlsZVJ1bGU6OnNldFN5bWJvbHMoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNl
dHRlckludGVybmFsKENTU1Byb3BlcnR5U3ltYm9scywgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sK
KyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9scywgdGV4dCk7Cit9
CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmIHRl
eHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTcGVha0FzLCB0ZXh0KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvdW50ZXJTdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmgKaW5kZXggYjI0ZmUxZmQ2NmYxNGRjZjk1OGFhOWE3YWY3YjNjMDk0N2MzMjgzNi4u
N2E4OTdmYjEyZTM5NTZlZTZlZjg2ZjgyMzk5YTU3Y2ZhYTQzNWMwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCkBAIC0zMiw2ICszMiwxOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKKy8vIFRoZSBrZXl3b3JkcyB0aGF0IGNhbiBiZSB1c2VkIGFzIHZhbHVl
cyBmb3IgdGhlIGNvdW50ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvci4KKy8vIGh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0K
K2VudW0gY2xhc3MgQ291bnRlclN0eWxlU3lzdGVtIDogdWludDhfdCB7CisgICAgQ3ljbGljLAor
ICAgIE51bWVyaWMsCisgICAgQWxwaGFiZXRpYywKKyAgICBTeW1ib2xpYywKKyAgICBBZGRpdGl2
ZSwKKyAgICBGaXhlZCwKKyAgICBFeHRlbmRzCit9OworCiBjbGFzcyBTdHlsZVJ1bGVDb3VudGVy
U3R5bGUgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1l
LCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmKTsKQEAgLTQxLDYgKzUzLDIwIEBAIHB1YmxpYzoKICAg
ICBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBtdXRhYmxlUHJvcGVydGllcygpOwogCiAgICAgY29u
c3QgQXRvbVN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIFN0cmlu
ZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlTeXN0ZW0pOyB9CisgICAgU3RyaW5nIG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5TmVnYXRpdmUpOyB9
CisgICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJv
cGVydHlWYWx1ZShDU1NQcm9wZXJ0eVByZWZpeCk7IH0KKyAgICBTdHJpbmcgc3VmZml4KCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3Vm
Zml4KTsgfQorICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVJhbmdlKTsgfQorICAgIFN0cmluZyBwYWQoKSBj
b25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlQ
YWQpOyB9CisgICAgU3RyaW5nIGZhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RmFsbGJhY2spOyB9CisgICAgU3RyaW5nIHN5
bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlTeW1ib2xzKTsgfQorICAgIFN0cmluZyBhZGRpdGl2ZVN5bWJvbHMoKSBjb25zdCB7
IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlBZGRpdGl2
ZVN5bWJvbHMpOyB9CisgICAgU3RyaW5nIHNwZWFrQXMoKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlTcGVha0FzKTsgfQorCisgICAgYm9v
bCBuZXdWYWx1ZUludmFsaWRPckVxdWFsKENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlZlB0cjxDU1NW
YWx1ZT4gbmV3VmFsdWUpIGNvbnN0OworCisgICAgdm9pZCBzZXROYW1lKGNvbnN0IEF0b21TdHJp
bmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFN0
eWxlUnVsZUNvdW50ZXJTdHlsZShjb25zdCBBdG9tU3RyaW5nJiwgUmVmPFN0eWxlUHJvcGVydGll
cz4mJik7CkBAIC01OSwzNCArODUsMzQgQEAgcHVibGljOgogICAgIENTU1J1bGU6OlR5cGUgdHlw
ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENPVU5URVJfU1RZTEVfUlVMRTsgfQogCiAgICAgU3Ry
aW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5hbWUoKTsgfQot
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2UgcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVz
Y3JpcHRvcnMuCi0gICAgU3RyaW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7IH0KLSAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygp
OyB9Ci0gICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0K
LSAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAg
IFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJp
bmcgcGFkKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBmYWxs
YmFjaygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgc3ltYm9s
cygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgYWRkaXRpdmVT
eW1ib2xzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBzcGVh
a0FzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotCi0gICAgLy8gRklYTUU6IElt
cGxlbWVudCBhZnRlciB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4KLSAgICB2
b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeXN0ZW0oY29uc3Qg
U3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcmKSB7IH0KLSAg
ICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFN1ZmZpeChj
b25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFJhbmdlKGNvbnN0IFN0cmluZyYpIHsgfQot
ICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0RmFsbGJhY2so
Y29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeW1ib2xzKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZv
aWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKSB7IH0KKyAgICBTdHJpbmcgc3lzdGVtKCkgY29u
c3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zeXN0ZW0oKTsgfQorICAgIFN0cmluZyBu
ZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+bmVnYXRpdmUoKTsg
fQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUt
PnByZWZpeCgpOyB9CisgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRl
clN0eWxlUnVsZS0+c3VmZml4KCk7IH0KKyAgICBTdHJpbmcgcmFuZ2UoKSBjb25zdCB7IHJldHVy
biBtX2NvdW50ZXJTdHlsZVJ1bGUtPnJhbmdlKCk7IH0KKyAgICBTdHJpbmcgcGFkKCkgY29uc3Qg
eyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wYWQoKTsgfQorICAgIFN0cmluZyBmYWxsYmFj
aygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+ZmFsbGJhY2soKTsgfQorICAg
IFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zeW1i
b2xzKCk7IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9j
b3VudGVyU3R5bGVSdWxlLT5hZGRpdGl2ZVN5bWJvbHMoKTsgfQorICAgIFN0cmluZyBzcGVha0Fz
KCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zcGVha0FzKCk7IH0KKworICAg
IHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFN5c3RlbShjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldE5lZ2F0aXZlKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQg
c2V0UHJlZml4KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U3VmZml4KGNvbnN0IFN0cmlu
ZyYpOworICAgIHZvaWQgc2V0UmFuZ2UoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRQYWQo
Y29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRGYWxsYmFjayhjb25zdCBTdHJpbmcmKTsKKyAg
ICB2b2lkIHNldFN5bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRBZGRpdGl2ZVN5
bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTcGVha0FzKGNvbnN0IFN0cmluZyYp
OwogCiBwcml2YXRlOgogICAgIENTU0NvdW50ZXJTdHlsZVJ1bGUoU3R5bGVSdWxlQ291bnRlclN0
eWxlJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAorICAgIHZvaWQgc2V0dGVySW50ZXJuYWwo
Q1NTUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJik7CisKICAgICBSZWY8U3R5bGVSdWxlQ291bnRl
clN0eWxlPiBtX2NvdW50ZXJTdHlsZVJ1bGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCA3MmI5NTdlYzA4NTU0NGQwNjZkYzUyM2U1YjEwNDAwYTk5NzE3Mzhm
Li5kOGNjZDZiMjQwOGQwOTc2OGQ3MzRlNWEzYjNhNDJhNTQ4YmYwYjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTgwMyw2ICs4MDMsMTYgQEAKICAgICAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtcnVieS0xLyNydWJ5cG9zIgog
ICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiYWRkaXRpdmUtc3ltYm9scyI6IHsK
KyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lw
LWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRp
b24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIs
CisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50
ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scyIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKICAgICAgICAgImFsaWdubWVudC1iYXNlbGluZSI6IHsKICAgICAgICAgICAgICJ2YWx1
ZXMiOiBbCiAgICAgICAgICAgICAgICAgImF1dG8iLApAQCAtMjQzNiw2ICsyNDQ2LDE2IEBACiAg
ICAgICAgICAgICAgICAgImNhdGVnb3J5IjogInN2ZyIKICAgICAgICAgICAgIH0KICAgICAgICAg
fSwKKyAgICAgICAgImZhbGxiYWNrIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAi
Y3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMi
OiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdv
cnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1mYWxs
YmFjayIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImZpbGwiOiB7CiAgICAg
ICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRp
ZXMiOiB7CkBAIC0zMzc3LDYgKzMzOTcsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcnNjcm9sbC0xLyNwcm9wZGVmLW92ZXJzY3Jv
bGwtYmVoYXZpb3IteSIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInBhZCI6
IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIs
CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJz
a2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmlj
YXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxl
cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNv
dW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkIgorICAgICAgICAgICAgfQorICAgICAg
ICB9LAogICAgICAgICAicGFkZGluZyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRp
ZXMiOiB7CiAgICAgICAgICAgICAgICAgImxvbmdoYW5kcyI6IFsKQEAgLTM4NTAsNiArMzg4MCwx
NiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2NzczMt
c3BlZWNoLyNzcGVhay1hcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInN5
bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVB
dFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAg
ICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJz
cGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRl
ci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RS
L2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMiCisgICAgICAgICAg
ICB9CisgICAgICAgIH0sCiAgICAgICAgICJ0YWJsZS1sYXlvdXQiOiB7CiAgICAgICAgICAgICAi
dmFsdWVzIjogWwogICAgICAgICAgICAgICAgICJhdXRvIiwKQEAgLTYwNDQsNiArNjA4NCwxNiBA
QAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgog
ICAgICAgICB9LAorICAgICAgICAibmVnYXRpdmUiOiB7CisgICAgICAgICAgICAic2V0dGluZ3Mt
ZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJv
cGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAg
ICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLW5lZ2F0aXZlIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiY29sb3It
c2NoZW1lIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAi
dmFsdWVzIjogWwpAQCAtNjEyOSw2ICs2MTc5LDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6
ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXRyYW5zZm9ybXMtMS8jcHJvcGRlZi1wZXJzcGVj
dGl2ZS1vcmlnaW4iCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJwcmVmaXgi
OiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUi
LAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAi
c2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZp
Y2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHls
ZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1j
b3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXByZWZpeCIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0IjogewogICAgICAg
ICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAidmFsdWVzIjogWwpAQCAtNjEz
Nyw2ICs2MTk3LDE2IEBACiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgInN0YXR1cyI6ICJu
b24tc3RhbmRhcmQiCiAgICAgICAgIH0sCisgICAgICAgICJyYW5nZSI6IHsKKyAgICAgICAgICAg
ICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAi
Y29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0
cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAg
ICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAg
ICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMv
I2NvdW50ZXItc3R5bGUtcmFuZ2UiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICItd2Via2l0LXJ0bC1vcmRlcmluZyI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVl
LAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxNDksNiArNjIxOSwxNiBAQAogICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgogICAgICAgICB9
LAorICAgICAgICAic3VmZml4IjogeworICAgICAgICAgICAgInJ1bnRpbWUtZmxhZyI6ICJjc3ND
b3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsK
KyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6
ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93
d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN1ZmZpeCIK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtc3ZnLXNoYWRvdyI6
IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAg
InNraXAtY29kZWdlbiI6IHRydWUKQEAgLTY5NzEsNiArNzA1MSwxNiBAQAogICAgICAgICAgICAg
ICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zaGFwZXMvI3Byb3BkZWYtc2hh
cGUtaW1hZ2UtdGhyZXNob2xkIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAi
c3lzdGVtIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxl
QXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAg
ICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAi
c3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50
ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0iCisgICAgICAgICAg
ICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiOiB7
CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CkBAIC03MTQxLDYgKzcyMzEsMTEgQEAKICAgICAgICAgICAgICJsb25nbmFt
ZSI6ICJDU1MgR2VuZXJhdGVkIENvbnRlbnQgTW9kdWxlIiwKICAgICAgICAgICAgICJ1cmwiOiAi
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb250ZW50LTMvIgogICAgICAgICB9LAorICAgICAg
ICAiY3NzLWNvdW50ZXItc3R5bGVzIjogeworICAgICAgICAgICAgInNob3J0bmFtZSI6ICJDU1Mg
Q291bnRlciBTdHlsZXMiLAorICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBDb3VudGVyIFN0
eWxlcyBNb2R1bGUiLAorICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIv
Y3NzLWNvdW50ZXItc3R5bGVzLTMiCisgICAgICAgIH0sCiAgICAgICAgICJjc3MtZGV2aWNlLWFk
YXB0IjogewogICAgICAgICAgICAgInNob3J0bmFtZSI6ICJDU1MgRGV2aWNlIEFkYXB0YXRpb24i
LAogICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBEZXZpY2UgQWRhcHRhdGlvbiBNb2R1bGUi
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBmZDRmODU2ZmNkZDE2
ZjJiNjQyOTc2M2YwZTU3YzY4YTQ1NDI2MmViLi5kODRlOTg3YmUyMDk1YmJkYWRmNmQ5MjY2Y2Fj
MGY0MzlmZmQxNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAt
MTUwNCw2ICsxNTA0LDI0IEBAIGZyb20tZm9udAogc3RhbmRhcmQKIGhpZ2gKIAorLy8gQGNvdW50
ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvciB2YWx1ZXMKKy8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0KK2N5Y2xpYwor
bnVtZXJpYworLy8gYWxwaGFiZXRpYworc3ltYm9saWMKK2FkZGl0aXZlCisvLyBmaXhlZAorZXh0
ZW5kcworCisvLyBAY291bnRlci1zdHlsZSBgc3BlYWstYXNgIGRlc2NyaXB0b3IgdmFsdWVzCisv
LyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5
bGUtc3BlYWstYXMKKy8vIGF1dG8KK2J1bGxldHMKK251bWJlcnMKK3dvcmRzCisvLyBzcGVsbC1v
dXQKKwogLy8gQHN1cHBvcnRzIHNlbGVjdG9yKCkKIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtY29uZGl0aW9uYWwtNC8jdHlwZWRlZi1zdXBwb3J0cy1zZWxlY3Rvci1mbgogc2VsZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
aW5kZXggNzc2MWY0MzM5ZjhhMjRlYmM3YTNiYzk0OWMzODc4MmI5NTIzMTU0ZS4uMjI2MjdjMjI3
MWY1ZjUwZTkyMjMzZTdlMTgxMWU4NzNlNjg5ZmQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQ0MzYsMTUgKzQ0MzYsMjE5IEBA
IFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VU
eXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKKy8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1z
eXN0ZW0KK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5
bGVTeXN0ZW0oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gaWRl
bnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVDeWNsaWMsIENTU1ZhbHVlTnVtZXJpYywgQ1NTVmFs
dWVBbHBoYWJldGljLCBDU1NWYWx1ZVN5bWJvbGljLCBDU1NWYWx1ZUFkZGl0aXZlPihyYW5nZSkp
CisgICAgICAgIHJldHVybiBpZGVudDsKKworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlk
ZW50PENTU1ZhbHVlRml4ZWQ+KHJhbmdlKSkgeworICAgICAgICBpZiAocmFuZ2UuYXRFbmQoKSkK
KyAgICAgICAgICAgIHJldHVybiBpZGVudDsKKyAgICAgICAgLy8gSWYgd2UgaGF2ZSB0aGUgYGZp
eGVkYCBrZXl3b3JkIGJ1dCB0aGUgcmFuZ2UgaXMgbm90IGF0IHRoZSBlbmQsIHRoZSBuZXh0IHRv
a2VuIG11c3QgYmUgYSBpbnRlZ2VyLgorICAgICAgICAvLyBJZiBpdCdzIG5vdCwgdGhpcyB2YWx1
ZSBpcyBpbnZhbGlkLgorICAgICAgICBhdXRvIGZpcnN0U3ltYm9sVmFsdWUgPSBjb25zdW1lSW50
ZWdlcihyYW5nZSk7CisgICAgICAgIGlmICghZmlyc3RTeW1ib2xWYWx1ZSkKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFsdWVQYWly
KGlkZW50LnJlbGVhc2VOb25OdWxsKCksIGZpcnN0U3ltYm9sVmFsdWUucmVsZWFzZU5vbk51bGwo
KSk7CisgICAgfQorCisgICAgaWYgKGF1dG8gaWRlbnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVF
eHRlbmRzPihyYW5nZSkpIHsKKyAgICAgICAgLy8gVGhlcmUgbXVzdCBiZSBhIGA8Y291bnRlci1z
dHlsZS1uYW1lPmAgZm9sbG93aW5nIHRoZSBgZXh0ZW5kc2Aga2V5d29yZC4gSWYgdGhlcmUgaXNu
J3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBwYXJzZWRDb3VudGVyU3R5
bGVOYW1lID0gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFuZ2UpOworICAgICAgICBpZiAoIXBh
cnNlZENvdW50ZXJTdHlsZU5hbWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9uTnVsbCgp
LCBwYXJzZWRDb3VudGVyU3R5bGVOYW1lLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVy
LXN0eWxlcy0zLyN0eXBlZGVmLXN5bWJvbAorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBpZiAoYXV0byBzdHJpbmcgPSBjb25zdW1l
U3RyaW5nKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHN0cmluZzsKKyAgICBpZiAoYXV0byBjdXN0
b21JZGVudCA9IGNvbnN1bWVDdXN0b21JZGVudChyYW5nZSkpCisgICAgICAgIHJldHVybiBjdXN0
b21JZGVudDsKKyAgICAvLyBUaGVyZSBhcmUgaW5oZXJlbnQgZGlmZmljdWx0aWVzIGluIHN1cHBv
cnRpbmcgPGltYWdlPiBzeW1ib2xzIGluIEBjb3VudGVyLXN0eWxlcywgc28gZ2F0ZSB0aGVtIGJl
aGluZCBhCisgICAgLy8gZmxhZyBmb3Igbm93LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY3NjQ1CisgICAgaWYgKGNvbnRleHQuY291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZCkgeworICAgICAgICBpZiAoYXV0byBpbWFnZSA9IGNvbnN1bWVJbWFn
ZShyYW5nZSwgY29udGV4dCwgeyBBbGxvd2VkSW1hZ2VUeXBlOjpVUkxGdW5jdGlvbiwgQWxsb3dl
ZEltYWdlVHlwZTo6R2VuZXJhdGVkSW1hZ2UgfSkpCisgICAgICAgICAgICByZXR1cm4gaW1hZ2U7
CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCisvLyBodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtbmVnYXRpdmUKK3N0YXRpYyBS
ZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVOZWdhdGl2ZShDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBh
dXRvIHByZXBlbmRWYWx1ZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRl
eHQpOworICAgIGlmICghcHJlcGVuZFZhbHVlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIHByZXBlbmRWYWx1ZTsKKworICAg
IGF1dG8gYXBwZW5kVmFsdWUgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250
ZXh0KTsKKyAgICBpZiAoIWFwcGVuZFZhbHVlIHx8ICFyYW5nZS5hdEVuZCgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlcyA9IENTU1Zh
bHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB2YWx1ZXMtPmFwcGVuZChwcmVw
ZW5kVmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgdmFsdWVzLT5hcHBlbmQoYXBwZW5kVmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXJhbmdl
CitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUmFu
Z2VCb3VuZChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBpbmZp
bml0ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUluZmluaXRlPihyYW5nZSkpCisgICAgICAgIHJl
dHVybiBpbmZpbml0ZTsKKyAgICBpZiAoYXV0byBpbnRlZ2VyID0gY29uc3VtZUludGVnZXIocmFu
Z2UpKQorICAgICAgICByZXR1cm4gaW50ZWdlcjsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLXJhbmdlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUmFu
Z2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gYXV0b1ZhbHVl
ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQXV0bz4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gYXV0
b1ZhbHVlOworCisgICAgYXV0byByYW5nZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1h
U2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBhdXRvIGxvd2VyQm91bmQgPSBjb25zdW1l
Q291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlmICghbG93ZXJCb3VuZCkK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIHVwcGVyQm91bmQgPSBj
b25zdW1lQ291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlmICghdXBwZXJC
b3VuZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8vIElmIHRoZSBs
b3dlciBib3VuZCBvZiBhbnkgcmFuZ2UgaXMgaGlnaGVyIHRoYW4gdGhlIHVwcGVyIGJvdW5kLCB0
aGUgZW50aXJlIGRlc2NyaXB0b3IgaXMgaW52YWxpZCBhbmQgbXVzdCBiZQorICAgICAgICAvLyBp
Z25vcmVkLgorICAgICAgICBpZiAobG93ZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiB1cHBlckJvdW5k
LT5pc051bWJlcigpICYmIGxvd2VyQm91bmQtPmludFZhbHVlKCkgPiB1cHBlckJvdW5kLT5pbnRW
YWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJhbmdlTGlzdC0+
YXBwZW5kKGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihsb3dlckJvdW5kLnJlbGVhc2VOb25OdWxs
KCksIHVwcGVyQm91bmQucmVsZWFzZU5vbk51bGwoKSwgUGFpcjo6SWRlbnRpY2FsVmFsdWVFbmNv
ZGluZzo6RG9Ob3RDb2FsZXNjZSkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwgIXJhbmdlTGlz
dC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiByYW5nZUxp
c3Q7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8j
Y291bnRlci1zdHlsZS1wYWQKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVy
U3R5bGVQYWQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbnRlZ2VyOworICAgIFJlZlB0
cjxDU1NWYWx1ZT4gc3ltYm9sOworICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3ltYm9sKSB7Cisg
ICAgICAgIGlmICghaW50ZWdlcikgeworICAgICAgICAgICAgaW50ZWdlciA9IGNvbnN1bWVJbnRl
Z2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICAgICAgaWYgKGludGVn
ZXIpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFz
eW1ib2wpIHsKKyAgICAgICAgICAgIHN5bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wo
cmFuZ2UsIGNvbnRleHQpOworICAgICAgICAgICAgaWYgKHN5bWJvbCkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgaWYgKCFyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRv
IHZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB2YWx1
ZXMtPmFwcGVuZChpbnRlZ2VyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHZhbHVlcy0+YXBwZW5k
KHN5bWJvbC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICByZXR1cm4gdmFsdWVzOworfQorCisvLyBo
dHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUt
c3ltYm9scworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJv
bHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNv
bnRleHQpCit7CisgICAgYXV0byBzeW1ib2xzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNl
cGFyYXRlZCgpOworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgeworICAgICAgICBhdXRvIHN5
bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgICAg
ICBpZiAoIXN5bWJvbCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBzeW1i
b2xzLT5hcHBlbmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKyAgICBpZiAoIXN5
bWJvbHMtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gc3lt
Ym9sczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0z
LyNjb3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVD
b3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byB2YWx1ZXMgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBsYXN0SW50ZWdlcjsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gaW50ZWdlcjsKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiBzeW1ib2w7CisgICAg
ICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3ltYm9sKSB7CisgICAgICAgICAgICBpZiAoIWludGVn
ZXIpIHsKKyAgICAgICAgICAgICAgICBpbnRlZ2VyID0gY29uc3VtZUludGVnZXIocmFuZ2UsIFZh
bHVlUmFuZ2VOb25OZWdhdGl2ZSk7CisgICAgICAgICAgICAgICAgaWYgKGludGVnZXIpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KCFzeW1ib2wpIHsKKyAgICAgICAgICAgICAgICBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxl
U3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBpZiAoc3ltYm9sKQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxhc3RJbnRlZ2VyKSB7Cisg
ICAgICAgICAgICAvLyBUaGUgYWRkaXRpdmUgdHVwbGVzIG11c3QgYmUgc3BlY2lmaWVkIGluIG9y
ZGVyIG9mIHN0cmljdGx5IGRlc2NlbmRpbmcKKyAgICAgICAgICAgIC8vIHdlaWdodDsgb3RoZXJ3
aXNlLCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLgorICAg
ICAgICAgICAgaWYgKGludGVnZXItPmludFZhbHVlKCkgPj0gbGFzdEludGVnZXItPmludFZhbHVl
KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAg
bGFzdEludGVnZXIgPSBpbnRlZ2VyOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChpbnRlZ2VyLnJl
bGVhc2VOb25OdWxsKCkpOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShy
YW5nZSkpOworICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhdmFsdWVzLT5sZW5ndGgoKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXNwZWFr
LWFzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBzcGVha0FzSWRlbnQg
PSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUJ1bGxldHMsIENTU1ZhbHVlTnVt
YmVycywgQ1NTVmFsdWVXb3JkcywgQ1NTVmFsdWVTcGVsbE91dD4ocmFuZ2UpKQorICAgICAgICBy
ZXR1cm4gc3BlYWtBc0lkZW50OworICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmFtZShy
YW5nZSk7Cit9CisKIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgaWYg
KCFjb250ZXh0LmNvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2hlbiB3ZSBjYW4g
cGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgVU5VU0VEX1BBUkFNKHByb3BJ
ZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJhbmdlKTsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7
Ci0gICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAgIGNhc2Ug
Q1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3lz
dGVtKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TmVnYXRpdmU6CisgICAgICAgIHJldHVy
biBjb25zdW1lQ291bnRlclN0eWxlTmVnYXRpdmUocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlQcmVmaXg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN1ZmZpeDoKKyAgICAgICAg
cmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgIGNh
c2UgQ1NTUHJvcGVydHlSYW5nZToKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVS
YW5nZShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZDoKKyAgICAgICAgcmV0dXJuIGNv
bnN1bWVDb3VudGVyU3R5bGVQYWQocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlGYWxsYmFjazoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVOYW1lKHJhbmdl
KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5
QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZUFkZGl0
aXZlU3ltYm9scyhyYW5nZSwgY29udGV4dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVNwZWFrQXM6
CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhyYW5nZSk7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KIH0KIAogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3VudGVy
U3R5bGVEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggYTc5YzBlYTllNzI0
YjZkYzRjYTZjZDA1MGQzN2M3OGJiMmIxNDYzNS4uOGYwMDU3MmExZjAyYjZlNjU1YjIwODdlYzlj
MGE1MDc3MWU4OTE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC0yNTYsNiArMjU2
LDEwIEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNyA6IElXZWJQcmVmZXJlbmNl
c1ByaXZhdGU2CiAgICAgSFJFU1VMVCB3ZWJTUUxFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCog
ZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydGllc0Vu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldENTU0lu
ZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVzRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7Cisg
ICAgSFJFU1VMVCBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJP
T0wqIGVuYWJsZWQpOworICAgIEhSRVNVTFQgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgQ1NTQ291bnRlclN0eWxlQXRSdWxl
SW1hZ2VTeW1ib2xzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOworICAgIEhS
RVNVTFQgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7CiB9CiAKIFt1dWlkKDA0RDRBQUUxLTVEMDEtNENDRC1CNDZFLUMwMjJGMTBB
NjgyNildCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCmluZGV4IDk5YzY2NDk3YjgxNGMyMzc0Nzk0MDJkODBhNGE3NDFlNTBhZGI1NDMu
LjA1YTRjZDY4OTE3MTExZjI0NzIyMjg0NGI2YzNiNTVkMjliZTU3YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjgs
NiArMjI4LDEwIEBACiAKICNkZWZpbmUgV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkg
IldlYktpdFdlYlNRTEVuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRS
dWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5h
YmxlZCIKKworI2RlZmluZSBXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1i
b2xzRW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVy
dGllc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJv
cGVydGllc0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVk
UHJlZmVyZW5jZUtleSAiV2ViS2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVkIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDhjOGVjZDNhNjJmODI4NjJj
NWIwN2Y1NzhhNzkyMGM5MTcwN2U4YmUuLmY5YTIxY2Y2YjU5NzIxZjQ0YzEzNWU5NmJlNjdhN2Qz
OTdjNDQ5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAK
QEAgLTM2OCw2ICszNjgsMTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1
bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cy5nZXQoKSwg
Q0ZTVFIoV2ViS2l0Q1NTSW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdl
U3ltYm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRTcGVlY2hSZWNv
Z25pdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAogICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRPdmVyc2Nyb2xs
QmVoYXZpb3JFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNTc4
LDYgKzI1ODIsMzQgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q1NTSW5kaXZpZHVhbFRy
YW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKEJPT0wgZW5hYmxlZCkKICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0Q1NT
Q291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19P
SzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxl
c0VuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRDU1NDb3Vu
dGVyU3R5bGVBdFJ1bGVzRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVy
biBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1
bGVJbWFnZVN5bWJvbHNFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFl
bmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZh
bHVlRm9yS2V5KFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChCT09MIGVu
YWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUlt
YWdlU3ltYm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19P
SzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c3BlZWNoUmVjb2duaXRpb25FbmFibGVk
KF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMDk3ZDA3MDM4MTcwYzIyZDJiZmJkMjZj
YmU1MjRlN2EwM2MyOGUxYi4uY2FlNDRjYjkyYTg2OWQ1Njc4MWRmMDU0NTI0MzczMjg4ODhkNGQy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yOTcsNiAr
Mjk3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0V2ViU1FMRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgQ1NTSW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKF9PdXRfIEJPT0wq
KTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q1NTSW5kaXZpZHVh
bFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZChfT3V0XyBCT09M
Kik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKF9PdXRfIEJP
T0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q1NTQ291bnRl
clN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChCT09MKTsKIAogICAgIC8vIElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAppbmRleCBhYmJhZDRkY2YxYjE4MzlkYTgwMTM5NmNiYWE2Nzg4MGExNDMw
ZWMzLi41N2MyNDJlN2M3ZDkwOWQ2ODljNmNmMDlkNmYyMDljNDdjZDg4Y2I1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTI3OCw2ICs1Mjc4LDE2IEBAIEhSRVNVTFQgV2Vi
Vmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLnNldENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0
ZS0+Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlM
RUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0Q1NTQ291bnRlclN0
eWxlQXRSdWxlc0VuYWJsZWQoISFlbmFibGVkKTsKKworICAgIGhyID0gcHJlZnNQcml2YXRlLT5D
U1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKCZlbmFibGVkKTsKKyAgICBp
ZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNldENTU0Nv
dW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhy
ID0gcHJlZnNQcml2YXRlLT5saW5rUHJlbG9hZEVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjgzYmFmMWZjMjE1MDA3YTcwZDhkY2VlZTMxM2Fk
NDYzODNiZGQzZi4uODc5NDRmNjBjZTJjMjE0ODFkOGRkNGY0ODQwMWZlZWU1M2ZiYmE5MCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDIxLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5j
b20+CisKKyAgICAgICAgW2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUg
ZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNDcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoV1RSOjpUZXN0
T3B0aW9uczo6ZGVmYXVsdHMpOgorICAgICAgICBGaXggdHlwbyAobWlzc2luZyAncycpLiAgQ1NT
Q291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQsIG5vdAorICAgICAgICBDU1NDb3VudGVyU3R5bGVB
dFJ1bGVFbmFibGVkLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAg
RW5hYmxlIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZAorICAgICAgICBDU1NDb3Vu
dGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIGFzIGV4cGVyaW1lbnRhbCBmZWF0dXJl
cy4KKwogMjAyMS0wNC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNz
dXJlKCkgc2hvdWxkIGNoZWNrIGlmIGxpYldlYlJUQ0NvZGVjc1Byb3h5IGlzIHVzZWQKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAppbmRleCBmYjhhMjMyYWNjYWM1MWQ2MzI0NmRkNDM5
NWUxMjRjMDk5NmY1MGRhLi5lZTBlM2NlYmMwZjdjZmVkOTg5ZjFjNTAyZGUzM2Y1OTU0ZTA4OGM2
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAg
Y29uc3QgVGVzdEZlYXR1cmVzJiBUZXN0T3B0aW9uczo6ZGVmYXVsdHMoKQogICAgICAgICAgICAg
eyAiQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJDU1NDb250
YWlubWVudEVuYWJsZWQiLCBmYWxzZSB9LAotICAgICAgICAgICAgeyAiQ1NTQ291bnRlclN0eWxl
QXRSdWxlRW5hYmxlZCIsIGZhbHNlIH0sCisgICAgICAgICAgICB7ICJDU1NDb3VudGVyU3R5bGVB
dFJ1bGVzRW5hYmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJDU1NDb3VudGVyU3R5bGVB
dFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNTU0xv
Z2ljYWxFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNTU09NVmlld1Ntb290aFNj
cm9sbGluZ0VuYWJsZWQiLCBmYWxzZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHAKaW5kZXggYzZmY2Q2MTg3NGYwYTBjNThiMzU3YzkzNjBlZDZhYzY5YTBj
N2NmMS4uYTc2ZDdmMGUzOTc1YjRlN2ZmMGQ3MmEyNDlhYzZiZWFjMWY3Mzc1OCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC04MzEsNiArODMxLDgg
QEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoSVdlYlByZWZlcmVuY2Vz
KiBwcmVmZXJlbmNlcykKICAgICAvLyBGSVhNRTogV2ViR0wyCiAgICAgLy8gRklYTUU6IFdlYlJU
QwogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZChU
UlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVk
KFRSVUUpOworICAgIHByZWZzUHJpdmF0ZS0+c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VT
eW1ib2xzRW5hYmxlZChUUlVFKTsKIH0KIAogc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDFjZDNlMTIyNTZhMDMxMzNhMTYxMzUzYzU2NDgzZjZkN2RlOWE5ZjQuLjI4YzIwYTUzYzQ0MmQ1
N2JkMmYyNzI4YzcxZTMwZWY0NjliMTM4NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0w
NC0xNyAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAg
IFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBl
bnN1cmluZyA8aW1hZ2U+IEBjb3VudGVyLXN0eWxlIHN5bWJvbCB2YWx1ZXMgY2Fubm90IGJlCisg
ICAgICAgIHBhcnNlZCB3aGVuIHRoZSBgY291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5h
YmxlZGAgZmVhdHVyZSBmbGFnCisgICAgICAgIGlzIGRpc2FibGVkLgorCisgICAgICAgICogd2Vi
ZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3lt
Ym9scy1ub3QtZXhwb3NlZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wNC0xNyAgVGltIE5ndXllbiAg
PG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmxpbmUte3N0YXJ0
L2VuZH0gdmFsdWVzIHRvIGZsb2F0ICYgY2xlYXIgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggY2YyNDFhOGZjNDlhY2ZhMGRhN2VjMDc3NjZhYTkxNWVjNzNjY2Vj
Ni4uMjNhZWI0ZDQ3Zjg0ODJlNDUwZWQ5M2IzMzkwZWMyMzQxMDRhMjMzNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDQtMTcgIFR5bGVyIFdp
bGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXIt
c3R5bGVzXSBQYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFyc2luZyBmb3IgYWxsIEBjb3VudGVy
LXN0eWxlIGRlc2NyaXB0b3JzIGlzIGltcGxlbWVudGVkIHdpdGggdGhpcworICAgICAgICBwYXRj
aCwgc28gbWFyayBtb3JlIHRlc3RzIHBhc3NpbmcuCisKKyAgICAgICAgWW91J2xsIG5vdGljZSB0
aGF0IHNvbWUgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMgaW1wbGVtZW50ZWQgaW4gdGhpcwor
ICAgICAgICBwYXRjaCBkaWQgbm90IGdhaW4gYW55IHBhc3NpbmcgdGVzdHMgKGUuZy4gYHBhZGAs
IGBuZWdhdGl2ZWApLiAgSW4gYWxsCisgICAgICAgIG9mIHRoZXNlIGNhc2VzLCB0aGUgZXhwZWN0
ZWQgcmVzdWx0cyBjb250YWluIGEgPHN0cmluZz4gdmFsdWUsIGFuZCB3ZQorICAgICAgICBmYWls
IG9ubHkgYmVjYXVzZSB3ZSBpbmNvcnJlY3RseSBkb24ndCBzZXJpYWxpemUgdGhlc2UgPHN0cmlu
Zz4gdmFsdWVzCisgICAgICAgIHdpdGggcXVvdGVzLiAgSSBoYXZlIG1hbnVhbGx5IGNvbmZpcm1l
ZCBpbiBhbGwgY2FzZXMgdGhhdCB0aGVzZSB2YWx1ZXMKKyAgICAgICAgYXJlIHByb3Blcmx5IHBh
cnNlZCwgc28gaXQncyBqdXN0IHRoZSBzZXJpYWxpemF0aW9uIHRoYXQncyBpbmNvcnJlY3QuCisK
KyAgICAgICAgVGhlc2UgPHN0cmluZz4gdmFsdWVzIHNlcmlhbGl6ZSB3aXRob3V0IHF1b3RlcyBi
ZWNhdXNlIFdlYktpdCdzIHJlcHJlc2VudGF0aW9uCisgICAgICAgIG9mIGN1c3RvbSBpZGVudGlm
aWVycyBpcyBub3QgYSBzZXBhcmF0ZSB0eXBlLCBidXQgaW5zdGVhZCBvdmVybG9hZGVkIG9udG8g
dGhlCisgICAgICAgIENTU19TVFJJTkcgdHlwZS4gIFRoaXMgbWVhbnMgdGhhdCBkdXJpbmcgc2Vy
aWFsaXphdGlvbiB0aW1lLCBXZWJLaXQgbXVzdCBndWVzcworICAgICAgICB3aGV0aGVyIGl0IGlz
IGFjdHVhbGx5IHNlcmlhbGl6aW5nIGEgc3RyaW5nIChhbmQgaW5jbHVkZSBxdW90ZXMgaWYgc28p
LCBvciBpZgorICAgICAgICBpdCdzIHNlcmlhbGl6aW5nIGEgY3VzdG9tIGlkZW50IChsZWF2aW5n
IG9mZiBxdW90ZXMgaWYgc28pLgorCisgICAgICAgIFJlbGV2YW50IGNvZGUgc25pcHBldDoKKwor
ICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdC9ibG9iLzM2Y2FlZWMwNzk3
NWJkNWY0N2RiOGFjNmI3NDljMjc4NzIzMGE0NjEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01hcmt1
cC5jcHAjTDE1MyNMMTYxCisKKyAgICAgICAgUmVsZXZhbnQgY2hhbmdlbG9nIHNuaXBwZXQgZnJv
bSBEYXZpZCBIeWF0dCwgMjAxNi0xMi0wNzoKKworICAgICAgICA+IFdlIGFsc28gb3ZlcmxvYWQg
Q1NTX1NUUklORyBwcmltaXRpdmUgdmFsdWUgdHlwZSBhbmQgaGF2ZSBpdCBhY3QgYXMgYm90aCBh
IHN0cmluZworICAgICAgICA+IGFuZCBhIGN1c3RvbSBpZGVudGlmaWVyLiBUaGlzIGlzIGxhbWUs
IHNpbmNlIHRoZSBwYXJzZXIgc2hvdWxkIGhhdmUgbWFkZSB0d28gZGlmZmVyZW50CisgICAgICAg
ID4gdHlwZXMgb2Ygb2JqZWN0cyBpbnN0ZWFkLCBidXQgc2luY2Ugb3VyIHBhcnNlciBkb2Vzbid0
IGRvIHRoYXQgeWV0LCBJIGFkZGVkIGEgc2VyaWFsaXplQXNTdHJpbmdPckN1c3RvbUlkZW50Cisg
ICAgICAgID4gdGhhdCBwcmVzZXJ2ZXMgb3VyIG9sZCBiZWhhdmlvciBvZiAicXVvdGUgdGhlIHN0
cmluZyBvbmx5IGlmIG5lZWRlZC4iIEluIHRoaXMgY2FzZSB3aGF0CisgICAgICAgID4gdGhhdCBy
ZWFsbHkgbWVhbnQgd2FzICJUcnkgdG8gZ3Vlc3MgdGhhdCB3ZSB3ZXJlIG9yaWdpbmFsbHkgYSBj
dXN0b20gaWRlbnQgYW5kIGxlYXZlIG9mZgorICAgICAgICA+IHF1b3RlcyBpZiBzby4iIFRoaXMg
ZnVuY3Rpb24gd2lsbCBnbyBhd2F5IG9uY2Ugd2UgcHJvcGVybHkgY3JlYXRlIENTU1N0cmluZ1Zh
bHVlcyBhbmQKKyAgICAgICAgPiBDU1NDdXN0b21JZGVudFZhbHVlcyBpbnN0ZWFkIG9mIHR1cm5p
bmcgdGhlIGxhdHRlciBpbnRvIHN0cmluZ3MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0
eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQ6CisKIDIw
MjEtMDQtMTcgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgaW5saW5lLXtzdGFydC9lbmR9IHZhbHVlcyB0byBmbG9hdCAmIGNsZWFyIHByb3Bl
cnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dApp
bmRleCA1NmFmOWUxZDQ4NGU1YzQ1ZDQ3Y2FkMzM3YmM1YTdkMGRhMTA3NDc5Li43NTk0Nzg4ZTFj
MjA5YzA5OWNlMmJlM2RlNzk0N2E3ZTNkNTIyODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291
bnRlci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXIt
c3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdmYWxsYmFjazogYmFyJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBiYXIn
IGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogImJhciInIGlzIGludmFs
aWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBub25lJyBpcyBpbnZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogaW5pdGlhbCcgaXMgaW52YWxpZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0
ZWQudHh0CmluZGV4IDA5MmQ3YTkxY2Q5YmU5MmFkNDFhMjgwMzNiOGU1MWY2M2U1YzFhMzAuLjg3
YzZhMDZhNmI0ODRiZmUwMjI3OTcwN2QwMmE1NmYzZTAyMjVhMzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50
eHQKQEAgLTcsMjAgKzcsMjAgQEAgRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiAiaW5oZXJp
dCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3cKIEZBSUwgQGNvdW50
ZXItc3R5bGUgJ3N1ZmZpeDogImluaGVyaXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczog
Z290IGRpc2FsbG93ZWQgdmFsdWUgLTEKIEZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogInVu
c2V0IicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
CiBGQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9u
b3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAn
cHJlZml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlz
YWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiBjdXN0b20taWRl
bnQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQor
UEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkCitQQVNT
IEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQKIFBBU1MgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogaW5pdGlhbCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1z
dHlsZSAnc3VmZml4OiBpbml0aWFsJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdw
cmVmaXg6IGluaGVyaXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDog
aW5oZXJpdCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiB1bnNldCcg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1bnNldCcgaXMgaW52YWxp
ZAotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20v
Zm9vLnBuZyIpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKCJodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmciKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVybChodHRwczovL2V4YW1w
bGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKGh0dHBzOi8vZXhh
bXBsZS5jb20vZm9vLnBuZyknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiBsaW5lYXItZ3JhZGll
bnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxv
d2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVu
dCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKCJodHRwczovL2V4
YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZp
eDogdXJsKCJodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQKK1BBU1MgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyknIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVybChodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmcpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBsaW5l
YXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUg
J3N1ZmZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkCiBQQVNTIEBj
b3VudGVyLXN0eWxlICdwcmVmaXg6ICcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAn
c3VmZml4OiAnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogZm9vIGJh
cicgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Ut
c3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRh
eC1leHBlY3RlZC50eHQKaW5kZXggNDI3MzcyZTE4MDIzMTU1YmYzYWQ0NjVmMGViYTg2ZDI2M2Q3
NjFkMy4uMzQzNzEwMTk5ODA3MmRkNDY2OTE1ZDJlZTk2M2JhOGI4NTQzNzcxYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0x
LDEwICsxLDEwIEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgMCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMCwgNSAxMCwgMTAwIGluZmluaXRlJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAxMCwgNSAyMCwgMTUgaW5maW5pdGUnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IGF1dG8nIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgaW5maW5pdGUnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogaW5maW5pdGUgMCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIGlu
ZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAs
IDUgMTAsIDEwMCBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jhbmdl
OiBpbmZpbml0ZSAxMCwgNSAyMCwgMTUgaW5maW5pdGUnIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVy
LXN0eWxlICdyYW5nZTogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTog
MCAtMScgaXMgaW52YWxpZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1z
cGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3Bl
YWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCBkM2IzZTQzYzdmNTFjYzhkYjMyZjE3ZWUw
ODNhOTI1ZTVkNDc2NTRhLi5jNjNkZjc2M2ZkNTFiMzQ2YzMzZGY0NTBmNmMxNTIyNjhkY2JkNDU3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1l
eHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnc3Bl
YWstYXM6IGF1dG8nIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAnc3BlYWstYXM6IG51bWJlcnMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHdv
cmRzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkIGFzc2Vy
dF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHls
ZSAnc3BlYWstYXM6IGJhcicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxv
d2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGxvdXQnIGlz
IHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBA
Y291bnRlci1zdHlsZSAnc3BlYWstYXM6IGF1dG8nIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0
eWxlICdzcGVhay1hczogYnVsbGV0cycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Nw
ZWFrLWFzOiBudW1iZXJzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6
IHdvcmRzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsLW91
dCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZhbGlk
CitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGxvdXQnIGlzIHZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYnVsbGV0cyBudW1iZXJzJyBpcyBpbnZhbGlkCiBQ
QVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogbm9uZScgaXMgaW52YWxpZAogUEFTUyBAY291
bnRlci1zdHlsZSAnc3BlYWstYXM6IGluaXRpYWwnIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZmUxZWZj
ODcyYzQ1M2M4ODliZWExYmZjOGU3ZDNlM2NjYTc2YmIxNy4uNTc2MWVhMWQ4Mjc4OWExZjA5NDA3
OGRhNWJkYTg0NDkwYjNmYmQxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUt
c3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUt
c3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBAY291
bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhl
ZCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1G
QUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIDEwMCcgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
eXN0ZW06IGZpeGVkIC0xJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMnIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAnc3lzdGVtOiBhbHBoYWJldGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFs
czogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTog
bnVtZXJpYycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGFkZGl0aXZlJyBpcyB2YWxpZCBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5
bGUgJ3N5c3RlbTogZXh0ZW5kcyBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkJyBpcyB2YWxpZAor
UEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAxMDAnIGlzIHZhbGlkCitQQVNTIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIC0xJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1z
dHlsZSAnc3lzdGVtOiBzeW1ib2xpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5
c3RlbTogYWxwaGFiZXRpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTog
bnVtZXJpYycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWRkaXRpdmUn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFyJyBpcyB2
YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmbG9hdCcgaXMgaW52YWxpZAogUEFT
UyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMgY3ljbGljJyBpcyBpbnZhbGlkCiBQQVNT
IEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgbm9uZScgaXMgaW52YWxpZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMt
bm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVy
LXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5Y2ZiM2NjNGEzN2U5ZDQzZDhjYmIzN2I2NGQ4NjBlNWQ5NTZmMDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1u
b3QtZXhwb3NlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQGNvdW50ZXIt
c3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xz
LW5vdC1leHBvc2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q1MDIwYTFkNmZmMTRkOTk3MDA3ODMxOGNl
NzUxNDFlOTAwMjAwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQv
Y291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLmh0bWwKQEAgLTAsMCArMSwx
NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQ1NTQ291bnRl
clN0eWxlQXRSdWxlc0VuYWJsZWQ9dHJ1ZSBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJv
bHNFbmFibGVkPWZhbHNlIF0gLS0+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIEBjb3VudGVyLXN0eWxlIGZvbyB7Cisg
ICAgICAgIHN5c3RlbTogY3ljbGljOworICAgICAgICBzdWZmaXg6ICIgIjsKKyAgICAgICAgc3lt
Ym9sczogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSk7CisgICAgfQorPC9zdHlsZT4KKzxz
Y3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgY29uc3QgY3NzUnVsZXMgPSBk
b2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlcworICAgICAgICBhc3NlcnRfZXF1YWxzKGNz
c1J1bGVzLmxlbmd0aCwgMSwgJ1Nob3VsZFwndmUgYmVlbiBhYmxlIHRvIHBhcnNlIEBjb3VudGVy
LXN0eWxlLicpCisgICAgICAgIGFzc2VydF9lcXVhbHMoY3NzUnVsZXNbMF0uc3ltYm9scywgJycs
ICdTaG91bGRuXCd0IGhhdmUgYmVlbiBhYmxlIHRvIHBhcnNlIGltYWdlIHN5bWJvbCB2YWx1ZSB3
aXRoIHRoZSBydW50aW1lIGZlYXR1cmUgZmxhZyBkaXNhYmxlZC4nKQorICAgIH0sICdAY291bnRl
ci1zdHlsZSBpbWFnZSBzeW1ib2xzIGFyZSBub3QgZXhwb3NlZCcpCis8L3NjcmlwdD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426507</attachid>
            <date>2021-04-19 19:13:19 -0700</date>
            <delta_ts>2021-04-19 19:14:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210419211318.patch</filename>
            <type>text/plain</type>
            <size>58149</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY4YmFhNWNhYjBhOGFj
YzQ1MGM0NThkM2YxOGM4NDU2OWNhNzBjOC4uZTQ3MjNmZDU3YjgzMDRmNDUwNzhlZjY4NWUzNTE4
MzIwMGQwMzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAg
ICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3Ig
cHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAgICAgIChXZWJD
b3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Q291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQ
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyk6Cisg
ICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9uYWxpdHkgcmVx
dWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmg6
CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBnZXR0ZXIgYW5k
IHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9w
ZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgIEFk
ZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFzYCAKKyAgICAg
ICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1l
Q291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2Ny
aXB0b3JzLgorCiAyMDIxLTA0LTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFu
c2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBi
NTdjMmIxZjA2OGVkMjg1Mjk0ODNlYmFjOTBjYmM3MDUzMmU0MzkyLi44YjJlNTVlMDYwNzE4NTFl
NjM4ZDdhOWNlMjQyYzc2YTFiYjIxNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMjEtMDQtMTcgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRl
ci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IGZ1bmN0aW9uYWxpdHkgcmVxdWlyZWQgZm9yIENTU0NvdW50
ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJ
bWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzIHRvIGJlIHNldCB2aWEgdGVzdAorICAgICAgICBoZWFk
ZXIuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgor
ICAgICAgICBBZGQgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQsIHNldENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkLAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkLCBhbmQKKyAgICAgICAgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VT
eW1ib2xzRW5hYmxlZC4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICBBZGQgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNl
S2V5IGFuZAorICAgICAgICBXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkUHJlZmVyZW5jZUtleS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCk6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OkNTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9s
c0VuYWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50ZXJTdHlsZUF0
UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpOgorICAgICAgICBJbXBsZW1lbnQgZ2V0dGVycyBhbmQg
c2V0dGVycyBmb3IgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQKKyAgICAgICAgYW5kIENT
U0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQgZmxhZ3MuCisKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICBEZWNsYXJlIGdldHRlcnMgYW5kIHNldHRlcnMg
Zm9yIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkCisgICAgICAgIGFuZCBDU1NDb3VudGVy
U3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIGZsYWdzLgorCisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAg
ICAgICBVcGRhdGUgd2VicGFnZSBzZXR0aW5ncyB3aGVuIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNF
bmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFi
bGVkIGZsYWdzIGNoYW5nZS4KKwogMjAyMS0wMy0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFICYgRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUywgaXQgc2VlbXMgbGlrZSBpdCBpcyBvbiBmb3Ig
YWxsIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IDUxMWY4OWU2NTBmOWI0ZDUyNThiNDJhZjJiODc5YWE5NDlhNWVk
NGMuLjAwYzZhNGIyYWUxOWFiYjQ2NDMxYTk3ZWUyODcwN2MzZmEyOTAxODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC00
MDAzLDYgKzQwMDMsMTggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
Ojp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgLyogVGhl
c2UgYXJlIGludGVudGlvbmFsbHkgdW5pbXBsZW1lbnRlZCBiZWNhdXNlIHRoZXkgYXJlIGFjdHVh
bGx5IGRlc2NyaXB0b3JzIGZvciBAY291bnRlci1zdHlsZS4gKi8KKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN5c3RlbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZlOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3VmZml4
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlQYWQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHM6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250
LWZhY2UgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3JjOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZVJhbmdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
dW50ZXJTdHlsZVJ1bGUuY3BwCmluZGV4IDIyOWM0NTI0ZDFlZThhN2U4NDJjYjdlYjRjN2Q1NTNk
OTI4ZWE2MzYuLjQ3YTkwY2JkZDJmMDVlMjRlMzk5NTc5NTU3ODRmYTRmYmRlYzAwMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKQEAgLTI2LDYgKzI2LDEy
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5o
IgogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCisjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiUGFpci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAogU3R5bGVSdWxlQ291bnRlclN0eWxlOjpTdHlsZVJ1bGVDb3VudGVyU3R5bGUoY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0aWVzKQpAQCAt
NDAsNiArNDYsOTQgQEAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gU3R5bGVSdWxlQ291bnRl
clN0eWxlOjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUobmFtZSwgV1RGTW92ZShwcm9wZXJ0aWVzKSkp
OwogfQogCitzdGF0aWMgQ291bnRlclN0eWxlU3lzdGVtIHRvQ291bnRlclN0eWxlU3lzdGVtRW51
bShSZWZQdHI8Q1NTVmFsdWU+IHN5c3RlbSkKK3sKKyAgICBpZiAoIXN5c3RlbSB8fCAhc3lzdGVt
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06
OlN5bWJvbGljOworCisgICAgYXV0byYgcHJpbWl0aXZlU3lzdGVtVmFsdWUgPSBkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4oKnN5c3RlbSk7CisgICAgQVNTRVJUKHByaW1pdGl2ZVN5c3RlbVZh
bHVlLmlzVmFsdWVJRCgpIHx8IHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzUGFpcigpKTsKKyAgICBD
U1NWYWx1ZUlEIHN5c3RlbUtleXdvcmQgPSBDU1NWYWx1ZUludmFsaWQ7CisgICAgaWYgKHByaW1p
dGl2ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpKQorICAgICAgICBzeXN0ZW1LZXl3b3JkID0gcHJp
bWl0aXZlU3lzdGVtVmFsdWUudmFsdWVJRCgpOworICAgIGVsc2UgaWYgKGF1dG8qIHBhaXIgPSBw
cmltaXRpdmVTeXN0ZW1WYWx1ZS5wYWlyVmFsdWUoKSkgeworICAgICAgICAvLyBUaGlzIHZhbHVl
IG11c3QgYmUgYGZpeGVkYCBvciBgZXh0ZW5kc2AsIGJvdGggb2Ygd2hpY2ggY2FuIG9yIG11c3Qg
aGF2ZSBhbiBhZGRpdGlvbmFsIGNvbXBvbmVudC4KKyAgICAgICAgYXV0byBmaXJzdFZhbHVlID0g
cGFpci0+Zmlyc3QoKTsKKyAgICAgICAgQVNTRVJUKGZpcnN0VmFsdWUgJiYgZmlyc3RWYWx1ZS0+
aXNWYWx1ZUlEKCkpOworICAgICAgICBpZiAoZmlyc3RWYWx1ZSkKKyAgICAgICAgICAgIHN5c3Rl
bUtleXdvcmQgPSBmaXJzdFZhbHVlLT52YWx1ZUlEKCk7CisgICAgfQorCisgICAgc3dpdGNoIChz
eXN0ZW1LZXl3b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUN5Y2xpYzoKKyAgICAgICAgcmV0dXJu
IENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOworICAgIGNhc2UgQ1NTVmFsdWVGaXhlZDoKKyAg
ICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ7CisgICAgY2FzZSBDU1NWYWx1
ZVN5bWJvbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsK
KyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHls
ZVN5c3RlbTo6QWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlTnVtZXJpYzoKKyAgICAgICAg
cmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzsKKyAgICBjYXNlIENTU1ZhbHVlQWRk
aXRpdmU6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0aXZlOworICAg
IGNhc2UgQ1NTVmFsdWVFeHRlbmRzOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVt
OjpFeHRlbmRzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKyAgICB9Cit9CisK
K3N0YXRpYyBib29sIHN5bWJvbHNWYWxpZEZvclN5c3RlbShDb3VudGVyU3R5bGVTeXN0ZW0gc3lz
dGVtLCBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHMsIFJlZlB0cjxDU1NWYWx1ZT4gYWRkaXRpdmVT
eW1ib2xzKQoreworICAgIHN3aXRjaCAoc3lzdGVtKSB7CisgICAgY2FzZSBDb3VudGVyU3R5bGVT
eXN0ZW06OkN5Y2xpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ6CisgICAg
Y2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOgorICAgICAgICByZXR1cm4gc3ltYm9s
cyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKnN5
bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpBbHBoYWJldGlj
OgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpOdW1lcmljOgorICAgICAgICByZXR1cm4g
c3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlz
dD4oKnN5bWJvbHMpLmxlbmd0aCgpID49IDJ1OworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVt
OjpBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIGFkZGl0aXZlU3ltYm9scyAmJiBhZGRpdGl2ZVN5
bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0PigqYWRkaXRpdmVT
eW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6RXh0ZW5kczoK
KyAgICAgICAgcmV0dXJuICFzeW1ib2xzICYmICFhZGRpdGl2ZVN5bWJvbHM7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9Cit9CisKK2Jvb2wgU3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRP
ckVxdWFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENTU1ZhbHVlPiBu
ZXdWYWx1ZSkgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRWYWx1ZSA9IG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoY29tcGFyZUNTU1ZhbHVl
UHRyKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sczsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGFkZGl0aXZl
U3ltYm9sczsKKyAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5
U3lzdGVtOgorICAgICAgICAvLyBJZiB0aGUgYXR0cmlidXRlIGJlaW5nIHNldCBpcyBgc3lzdGVt
YCwgYW5kIHRoZSBuZXcgdmFsdWUgd291bGQgY2hhbmdlIHRoZSBhbGdvcml0aG0gdXNlZCwgZG8g
bm90aGluZworICAgICAgICAvLyBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIC8vIChJ
dCdzIG9rYXkgdG8gY2hhbmdlIGFuIGFzcGVjdCBvZiB0aGUgYWxnb3JpdGhtLCBsaWtlIHRoZSBm
aXJzdCBzeW1ib2wgdmFsdWUgb2YgYSBgZml4ZWRgIHN5c3RlbS4pCisgICAgICAgIHJldHVybiB0
b0NvdW50ZXJTdHlsZVN5c3RlbUVudW0oY3VycmVudFZhbHVlKSAhPSB0b0NvdW50ZXJTdHlsZVN5
c3RlbUVudW0obmV3VmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xzOgorICAgICAg
ICBzeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAgIGFkZGl0aXZlU3ltYm9scyA9IG1fcHJvcGVy
dGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9scyk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJvbHM6CisgICAg
ICAgIHN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlTeW1ib2xzKTsKKyAgICAgICAgYWRkaXRpdmVTeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAg
IGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
YXV0byBzeXN0ZW0gPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlTeXN0ZW0pOworICAgIHJldHVybiBzeW1ib2xzVmFsaWRGb3JTeXN0ZW0odG9Db3VudGVyU3R5
bGVTeXN0ZW1FbnVtKHN5c3RlbSksIHN5bWJvbHMsIGFkZGl0aXZlU3ltYm9scyk7Cit9CisKIFN0
eWxlUnVsZUNvdW50ZXJTdHlsZTo6flN0eWxlUnVsZUNvdW50ZXJTdHlsZSgpID0gZGVmYXVsdDsK
IAogTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlQ291bnRlclN0eWxlOjptdXRhYmxl
UHJvcGVydGllcygpCkBAIC02NCw4ICsxNTgsODMgQEAgQ1NTQ291bnRlclN0eWxlUnVsZTo6fkNT
U0NvdW50ZXJTdHlsZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBDU1NDb3VudGVyU3R5bGVS
dWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgZnVu
Y3Rpb24gd2hlbiB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4KLSAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQu
YXBwZW5kTGl0ZXJhbCgiQGNvdW50ZXItc3R5bGUgIik7CisgICAgcmVzdWx0LmFwcGVuZChuYW1l
KCkpOworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgeyIpOworCisgICAgU3RyaW5nIHN5c3Rl
bVRleHQgPSBzeXN0ZW0oKTsKKyAgICBpZiAoc3lzdGVtVGV4dC5sZW5ndGgoKSkgeworICAgICAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN5c3RlbTogIik7CisgICAgICAgIHJlc3VsdC5hcHBl
bmQoc3lzdGVtVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAg
fQorCisgICAgU3RyaW5nIHN5bWJvbHNUZXh0ID0gc3ltYm9scygpOworICAgIGlmIChzeW1ib2xz
VGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN5bWJvbHM6
ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN5bWJvbHNUZXh0KTsKKyAgICAgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xz
VGV4dCA9IGFkZGl0aXZlU3ltYm9scygpOworICAgIGlmIChhZGRpdGl2ZVN5bWJvbHNUZXh0Lmxl
bmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgYWRkaXRpdmUtc3ltYm9s
czogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoYWRkaXRpdmVTeW1ib2xzVGV4dCk7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIG5lZ2F0
aXZlVGV4dCA9IG5lZ2F0aXZlKCk7CisgICAgaWYgKG5lZ2F0aXZlVGV4dC5sZW5ndGgoKSkgewor
ICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIG5lZ2F0aXZlOiAiKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZChuZWdhdGl2ZVRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgi
OyIpOworICAgIH0KKworICAgIFN0cmluZyBwcmVmaXhUZXh0ID0gcHJlZml4KCk7CisgICAgaWYg
KHByZWZpeFRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBw
cmVmaXg6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHByZWZpeFRleHQpOworICAgICAgICBy
ZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBzdWZmaXhUZXh0
ID0gc3VmZml4KCk7CisgICAgaWYgKHN1ZmZpeFRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZExpdGVyYWwoIiBzdWZmaXg6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN1
ZmZpeFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKwor
ICAgIFN0cmluZyBwYWRUZXh0ID0gcGFkKCk7CisgICAgaWYgKHBhZFRleHQubGVuZ3RoKCkpIHsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBwYWQ6ICIpOworICAgICAgICByZXN1bHQu
YXBwZW5kKHBhZFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAg
IH0KKworICAgIFN0cmluZyByYW5nZVRleHQgPSByYW5nZSgpOworICAgIGlmIChyYW5nZVRleHQu
bGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiByYW5nZTogIik7Cisg
ICAgICAgIHJlc3VsdC5hcHBlbmQocmFuZ2VUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgZmFsbGJhY2tUZXh0ID0gZmFsbGJhY2so
KTsKKyAgICBpZiAoZmFsbGJhY2tUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBl
bmRMaXRlcmFsKCIgZmFsbGJhY2s6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKGZhbGxiYWNr
VGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAg
U3RyaW5nIHNwZWFrQXNUZXh0ID0gc3BlYWtBcygpOworICAgIGlmIChzcGVha0FzVGV4dC5sZW5n
dGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHNwZWFrLWFzOiAiKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChzcGVha0FzVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRM
aXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiB9Iik7Cisg
ICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCiB2b2lkIENTU0NvdW50ZXJTdHlsZVJ1
bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCkBAIC03Myw0ICsyNDIsNzcgQEAgdm9p
ZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQogICAg
IG1fY291bnRlclN0eWxlUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUNvdW50ZXJTdHlsZSY+
KHJ1bGUpOwogfQogCisvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXItc3R5
bGVzLTMvI2RvbS1jc3Njb3VudGVyc3R5bGVydWxlLW5hbWUKK3ZvaWQgQ1NTQ291bnRlclN0eWxl
UnVsZTo6c2V0TmFtZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgYXV0byB0b2tlbnMgPSBD
U1NUb2tlbml6ZXIodGV4dCkudG9rZW5SYW5nZSgpOworICAgIGF1dG8gbmFtZSA9IENTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUNvdW50ZXJTdHlsZU5hbWVJblByZWx1ZGUodG9rZW5z
KTsKKyAgICBpZiAobmFtZS5pc051bGwoKSB8fCBuYW1lID09IG1fY291bnRlclN0eWxlUnVsZS0+
bmFtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0YXRp
b25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworICAgIG1fY291bnRlclN0eWxlUnVsZS0+c2V0
TmFtZShuYW1lKTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5h
bChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYgdmFsdWVUZXh0KQorewor
ICAgIGF1dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHZhbHVlVGV4dCkudG9rZW5SYW5nZSgpOwor
ICAgIGF1dG8gbmV3VmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3VudGVyU3R5bGVE
ZXNjcmlwdG9yKHByb3BlcnR5SUQsIHRva2VucywgcGFyc2VyQ29udGV4dCgpKTsKKyAgICBpZiAo
bV9jb3VudGVyU3R5bGVSdWxlLT5uZXdWYWx1ZUludmFsaWRPckVxdWFsKHByb3BlcnR5SUQsIG5l
d1ZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0
aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJTdHlsZVJ1bGUtPm11
dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkocHJvcGVydHlJRCwgV1RGTW92ZShuZXdWYWx1
ZSkpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN5c3RlbShjb25zdCBTdHJp
bmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTeXN0ZW0sIHRleHQp
OworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5lZ2F0aXZlKGNvbnN0IFN0cmlu
ZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eU5lZ2F0aXZlLCB0ZXh0
KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQcmVmaXgoY29uc3QgU3RyaW5n
JiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5UHJlZml4LCB0ZXh0KTsK
K30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTdWZmaXgoY29uc3QgU3RyaW5nJiB0
ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3VmZml4LCB0ZXh0KTsKK30K
Kwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRSYW5nZShjb25zdCBTdHJpbmcmIHRleHQp
Cit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlSYW5nZSwgdGV4dCk7Cit9CisKK3Zv
aWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UGFkKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAg
ICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVBhZCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2soY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNl
dHRlckludGVybmFsKENTU1Byb3BlcnR5RmFsbGJhY2ssIHRleHQpOworfQorCit2b2lkIENTU0Nv
dW50ZXJTdHlsZVJ1bGU6OnNldFN5bWJvbHMoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNl
dHRlckludGVybmFsKENTU1Byb3BlcnR5U3ltYm9scywgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sK
KyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9scywgdGV4dCk7Cit9
CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmIHRl
eHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTcGVha0FzLCB0ZXh0KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvdW50ZXJTdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmgKaW5kZXggYjI0ZmUxZmQ2NmYxNGRjZjk1OGFhOWE3YWY3YjNjMDk0N2MzMjgzNi4u
N2E4OTdmYjEyZTM5NTZlZTZlZjg2ZjgyMzk5YTU3Y2ZhYTQzNWMwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCkBAIC0zMiw2ICszMiwxOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKKy8vIFRoZSBrZXl3b3JkcyB0aGF0IGNhbiBiZSB1c2VkIGFzIHZhbHVl
cyBmb3IgdGhlIGNvdW50ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvci4KKy8vIGh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0K
K2VudW0gY2xhc3MgQ291bnRlclN0eWxlU3lzdGVtIDogdWludDhfdCB7CisgICAgQ3ljbGljLAor
ICAgIE51bWVyaWMsCisgICAgQWxwaGFiZXRpYywKKyAgICBTeW1ib2xpYywKKyAgICBBZGRpdGl2
ZSwKKyAgICBGaXhlZCwKKyAgICBFeHRlbmRzCit9OworCiBjbGFzcyBTdHlsZVJ1bGVDb3VudGVy
U3R5bGUgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1l
LCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmKTsKQEAgLTQxLDYgKzUzLDIwIEBAIHB1YmxpYzoKICAg
ICBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBtdXRhYmxlUHJvcGVydGllcygpOwogCiAgICAgY29u
c3QgQXRvbVN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIFN0cmlu
ZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlTeXN0ZW0pOyB9CisgICAgU3RyaW5nIG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5TmVnYXRpdmUpOyB9
CisgICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJv
cGVydHlWYWx1ZShDU1NQcm9wZXJ0eVByZWZpeCk7IH0KKyAgICBTdHJpbmcgc3VmZml4KCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3Vm
Zml4KTsgfQorICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVJhbmdlKTsgfQorICAgIFN0cmluZyBwYWQoKSBj
b25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlQ
YWQpOyB9CisgICAgU3RyaW5nIGZhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RmFsbGJhY2spOyB9CisgICAgU3RyaW5nIHN5
bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlTeW1ib2xzKTsgfQorICAgIFN0cmluZyBhZGRpdGl2ZVN5bWJvbHMoKSBjb25zdCB7
IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlBZGRpdGl2
ZVN5bWJvbHMpOyB9CisgICAgU3RyaW5nIHNwZWFrQXMoKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlTcGVha0FzKTsgfQorCisgICAgYm9v
bCBuZXdWYWx1ZUludmFsaWRPckVxdWFsKENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlZlB0cjxDU1NW
YWx1ZT4gbmV3VmFsdWUpIGNvbnN0OworCisgICAgdm9pZCBzZXROYW1lKGNvbnN0IEF0b21TdHJp
bmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFN0
eWxlUnVsZUNvdW50ZXJTdHlsZShjb25zdCBBdG9tU3RyaW5nJiwgUmVmPFN0eWxlUHJvcGVydGll
cz4mJik7CkBAIC01OSwzNCArODUsMzQgQEAgcHVibGljOgogICAgIENTU1J1bGU6OlR5cGUgdHlw
ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENPVU5URVJfU1RZTEVfUlVMRTsgfQogCiAgICAgU3Ry
aW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5hbWUoKTsgfQot
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2UgcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVz
Y3JpcHRvcnMuCi0gICAgU3RyaW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7IH0KLSAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygp
OyB9Ci0gICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0K
LSAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAg
IFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJp
bmcgcGFkKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBmYWxs
YmFjaygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgc3ltYm9s
cygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgYWRkaXRpdmVT
eW1ib2xzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBzcGVh
a0FzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotCi0gICAgLy8gRklYTUU6IElt
cGxlbWVudCBhZnRlciB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4KLSAgICB2
b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeXN0ZW0oY29uc3Qg
U3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcmKSB7IH0KLSAg
ICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFN1ZmZpeChj
b25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFJhbmdlKGNvbnN0IFN0cmluZyYpIHsgfQot
ICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0RmFsbGJhY2so
Y29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeW1ib2xzKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZv
aWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKSB7IH0KKyAgICBTdHJpbmcgc3lzdGVtKCkgY29u
c3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zeXN0ZW0oKTsgfQorICAgIFN0cmluZyBu
ZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+bmVnYXRpdmUoKTsg
fQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUt
PnByZWZpeCgpOyB9CisgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRl
clN0eWxlUnVsZS0+c3VmZml4KCk7IH0KKyAgICBTdHJpbmcgcmFuZ2UoKSBjb25zdCB7IHJldHVy
biBtX2NvdW50ZXJTdHlsZVJ1bGUtPnJhbmdlKCk7IH0KKyAgICBTdHJpbmcgcGFkKCkgY29uc3Qg
eyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wYWQoKTsgfQorICAgIFN0cmluZyBmYWxsYmFj
aygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+ZmFsbGJhY2soKTsgfQorICAg
IFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zeW1i
b2xzKCk7IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9j
b3VudGVyU3R5bGVSdWxlLT5hZGRpdGl2ZVN5bWJvbHMoKTsgfQorICAgIFN0cmluZyBzcGVha0Fz
KCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zcGVha0FzKCk7IH0KKworICAg
IHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFN5c3RlbShjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldE5lZ2F0aXZlKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQg
c2V0UHJlZml4KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U3VmZml4KGNvbnN0IFN0cmlu
ZyYpOworICAgIHZvaWQgc2V0UmFuZ2UoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRQYWQo
Y29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRGYWxsYmFjayhjb25zdCBTdHJpbmcmKTsKKyAg
ICB2b2lkIHNldFN5bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRBZGRpdGl2ZVN5
bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTcGVha0FzKGNvbnN0IFN0cmluZyYp
OwogCiBwcml2YXRlOgogICAgIENTU0NvdW50ZXJTdHlsZVJ1bGUoU3R5bGVSdWxlQ291bnRlclN0
eWxlJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAorICAgIHZvaWQgc2V0dGVySW50ZXJuYWwo
Q1NTUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJik7CisKICAgICBSZWY8U3R5bGVSdWxlQ291bnRl
clN0eWxlPiBtX2NvdW50ZXJTdHlsZVJ1bGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCA3MmI5NTdlYzA4NTU0NGQwNjZkYzUyM2U1YjEwNDAwYTk5NzE3Mzhm
Li5kOGNjZDZiMjQwOGQwOTc2OGQ3MzRlNWEzYjNhNDJhNTQ4YmYwYjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTgwMyw2ICs4MDMsMTYgQEAKICAgICAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtcnVieS0xLyNydWJ5cG9zIgog
ICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiYWRkaXRpdmUtc3ltYm9scyI6IHsK
KyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lw
LWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRp
b24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIs
CisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50
ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scyIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKICAgICAgICAgImFsaWdubWVudC1iYXNlbGluZSI6IHsKICAgICAgICAgICAgICJ2YWx1
ZXMiOiBbCiAgICAgICAgICAgICAgICAgImF1dG8iLApAQCAtMjQzNiw2ICsyNDQ2LDE2IEBACiAg
ICAgICAgICAgICAgICAgImNhdGVnb3J5IjogInN2ZyIKICAgICAgICAgICAgIH0KICAgICAgICAg
fSwKKyAgICAgICAgImZhbGxiYWNrIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAi
Y3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMi
OiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdv
cnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1mYWxs
YmFjayIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImZpbGwiOiB7CiAgICAg
ICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRp
ZXMiOiB7CkBAIC0zMzc3LDYgKzMzOTcsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcnNjcm9sbC0xLyNwcm9wZGVmLW92ZXJzY3Jv
bGwtYmVoYXZpb3IteSIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInBhZCI6
IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIs
CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJz
a2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmlj
YXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxl
cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNv
dW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkIgorICAgICAgICAgICAgfQorICAgICAg
ICB9LAogICAgICAgICAicGFkZGluZyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRp
ZXMiOiB7CiAgICAgICAgICAgICAgICAgImxvbmdoYW5kcyI6IFsKQEAgLTM4NTAsNiArMzg4MCwx
NiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2NzczMt
c3BlZWNoLyNzcGVhay1hcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInN5
bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVB
dFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAg
ICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJz
cGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRl
ci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RS
L2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMiCisgICAgICAgICAg
ICB9CisgICAgICAgIH0sCiAgICAgICAgICJ0YWJsZS1sYXlvdXQiOiB7CiAgICAgICAgICAgICAi
dmFsdWVzIjogWwogICAgICAgICAgICAgICAgICJhdXRvIiwKQEAgLTYwNDQsNiArNjA4NCwxNiBA
QAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgog
ICAgICAgICB9LAorICAgICAgICAibmVnYXRpdmUiOiB7CisgICAgICAgICAgICAic2V0dGluZ3Mt
ZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJv
cGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAg
ICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLW5lZ2F0aXZlIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiY29sb3It
c2NoZW1lIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAi
dmFsdWVzIjogWwpAQCAtNjEyOSw2ICs2MTc5LDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6
ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXRyYW5zZm9ybXMtMS8jcHJvcGRlZi1wZXJzcGVj
dGl2ZS1vcmlnaW4iCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJwcmVmaXgi
OiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUi
LAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAi
c2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZp
Y2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHls
ZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1j
b3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXByZWZpeCIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0IjogewogICAgICAg
ICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAidmFsdWVzIjogWwpAQCAtNjEz
Nyw2ICs2MTk3LDE2IEBACiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgInN0YXR1cyI6ICJu
b24tc3RhbmRhcmQiCiAgICAgICAgIH0sCisgICAgICAgICJyYW5nZSI6IHsKKyAgICAgICAgICAg
ICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAi
Y29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0
cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAg
ICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAg
ICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMv
I2NvdW50ZXItc3R5bGUtcmFuZ2UiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICItd2Via2l0LXJ0bC1vcmRlcmluZyI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVl
LAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxNDksNiArNjIxOSwxNiBAQAogICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgogICAgICAgICB9
LAorICAgICAgICAic3VmZml4IjogeworICAgICAgICAgICAgInJ1bnRpbWUtZmxhZyI6ICJjc3ND
b3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsK
KyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6
ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93
d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN1ZmZpeCIK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtc3ZnLXNoYWRvdyI6
IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAg
InNraXAtY29kZWdlbiI6IHRydWUKQEAgLTY5NzEsNiArNzA1MSwxNiBAQAogICAgICAgICAgICAg
ICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zaGFwZXMvI3Byb3BkZWYtc2hh
cGUtaW1hZ2UtdGhyZXNob2xkIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAi
c3lzdGVtIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxl
QXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAg
ICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAi
c3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50
ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0iCisgICAgICAgICAg
ICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiOiB7
CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CkBAIC03MTQxLDYgKzcyMzEsMTEgQEAKICAgICAgICAgICAgICJsb25nbmFt
ZSI6ICJDU1MgR2VuZXJhdGVkIENvbnRlbnQgTW9kdWxlIiwKICAgICAgICAgICAgICJ1cmwiOiAi
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb250ZW50LTMvIgogICAgICAgICB9LAorICAgICAg
ICAiY3NzLWNvdW50ZXItc3R5bGVzIjogeworICAgICAgICAgICAgInNob3J0bmFtZSI6ICJDU1Mg
Q291bnRlciBTdHlsZXMiLAorICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBDb3VudGVyIFN0
eWxlcyBNb2R1bGUiLAorICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIv
Y3NzLWNvdW50ZXItc3R5bGVzLTMiCisgICAgICAgIH0sCiAgICAgICAgICJjc3MtZGV2aWNlLWFk
YXB0IjogewogICAgICAgICAgICAgInNob3J0bmFtZSI6ICJDU1MgRGV2aWNlIEFkYXB0YXRpb24i
LAogICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBEZXZpY2UgQWRhcHRhdGlvbiBNb2R1bGUi
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBmZDRmODU2ZmNkZDE2
ZjJiNjQyOTc2M2YwZTU3YzY4YTQ1NDI2MmViLi5kODRlOTg3YmUyMDk1YmJkYWRmNmQ5MjY2Y2Fj
MGY0MzlmZmQxNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAt
MTUwNCw2ICsxNTA0LDI0IEBAIGZyb20tZm9udAogc3RhbmRhcmQKIGhpZ2gKIAorLy8gQGNvdW50
ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvciB2YWx1ZXMKKy8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0KK2N5Y2xpYwor
bnVtZXJpYworLy8gYWxwaGFiZXRpYworc3ltYm9saWMKK2FkZGl0aXZlCisvLyBmaXhlZAorZXh0
ZW5kcworCisvLyBAY291bnRlci1zdHlsZSBgc3BlYWstYXNgIGRlc2NyaXB0b3IgdmFsdWVzCisv
LyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5
bGUtc3BlYWstYXMKKy8vIGF1dG8KK2J1bGxldHMKK251bWJlcnMKK3dvcmRzCisvLyBzcGVsbC1v
dXQKKwogLy8gQHN1cHBvcnRzIHNlbGVjdG9yKCkKIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtY29uZGl0aW9uYWwtNC8jdHlwZWRlZi1zdXBwb3J0cy1zZWxlY3Rvci1mbgogc2VsZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
aW5kZXggNzc2MWY0MzM5ZjhhMjRlYmM3YTNiYzk0OWMzODc4MmI5NTIzMTU0ZS4uMjI2MjdjMjI3
MWY1ZjUwZTkyMjMzZTdlMTgxMWU4NzNlNjg5ZmQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQ0MzYsMTUgKzQ0MzYsMjE5IEBA
IFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VU
eXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKKy8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1z
eXN0ZW0KK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5
bGVTeXN0ZW0oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gaWRl
bnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVDeWNsaWMsIENTU1ZhbHVlTnVtZXJpYywgQ1NTVmFs
dWVBbHBoYWJldGljLCBDU1NWYWx1ZVN5bWJvbGljLCBDU1NWYWx1ZUFkZGl0aXZlPihyYW5nZSkp
CisgICAgICAgIHJldHVybiBpZGVudDsKKworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlk
ZW50PENTU1ZhbHVlRml4ZWQ+KHJhbmdlKSkgeworICAgICAgICBpZiAocmFuZ2UuYXRFbmQoKSkK
KyAgICAgICAgICAgIHJldHVybiBpZGVudDsKKyAgICAgICAgLy8gSWYgd2UgaGF2ZSB0aGUgYGZp
eGVkYCBrZXl3b3JkIGJ1dCB0aGUgcmFuZ2UgaXMgbm90IGF0IHRoZSBlbmQsIHRoZSBuZXh0IHRv
a2VuIG11c3QgYmUgYSBpbnRlZ2VyLgorICAgICAgICAvLyBJZiBpdCdzIG5vdCwgdGhpcyB2YWx1
ZSBpcyBpbnZhbGlkLgorICAgICAgICBhdXRvIGZpcnN0U3ltYm9sVmFsdWUgPSBjb25zdW1lSW50
ZWdlcihyYW5nZSk7CisgICAgICAgIGlmICghZmlyc3RTeW1ib2xWYWx1ZSkKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFsdWVQYWly
KGlkZW50LnJlbGVhc2VOb25OdWxsKCksIGZpcnN0U3ltYm9sVmFsdWUucmVsZWFzZU5vbk51bGwo
KSk7CisgICAgfQorCisgICAgaWYgKGF1dG8gaWRlbnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVF
eHRlbmRzPihyYW5nZSkpIHsKKyAgICAgICAgLy8gVGhlcmUgbXVzdCBiZSBhIGA8Y291bnRlci1z
dHlsZS1uYW1lPmAgZm9sbG93aW5nIHRoZSBgZXh0ZW5kc2Aga2V5d29yZC4gSWYgdGhlcmUgaXNu
J3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBwYXJzZWRDb3VudGVyU3R5
bGVOYW1lID0gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFuZ2UpOworICAgICAgICBpZiAoIXBh
cnNlZENvdW50ZXJTdHlsZU5hbWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9uTnVsbCgp
LCBwYXJzZWRDb3VudGVyU3R5bGVOYW1lLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVy
LXN0eWxlcy0zLyN0eXBlZGVmLXN5bWJvbAorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBpZiAoYXV0byBzdHJpbmcgPSBjb25zdW1l
U3RyaW5nKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHN0cmluZzsKKyAgICBpZiAoYXV0byBjdXN0
b21JZGVudCA9IGNvbnN1bWVDdXN0b21JZGVudChyYW5nZSkpCisgICAgICAgIHJldHVybiBjdXN0
b21JZGVudDsKKyAgICAvLyBUaGVyZSBhcmUgaW5oZXJlbnQgZGlmZmljdWx0aWVzIGluIHN1cHBv
cnRpbmcgPGltYWdlPiBzeW1ib2xzIGluIEBjb3VudGVyLXN0eWxlcywgc28gZ2F0ZSB0aGVtIGJl
aGluZCBhCisgICAgLy8gZmxhZyBmb3Igbm93LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY3NjQ1CisgICAgaWYgKGNvbnRleHQuY291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZCkgeworICAgICAgICBpZiAoYXV0byBpbWFnZSA9IGNvbnN1bWVJbWFn
ZShyYW5nZSwgY29udGV4dCwgeyBBbGxvd2VkSW1hZ2VUeXBlOjpVUkxGdW5jdGlvbiwgQWxsb3dl
ZEltYWdlVHlwZTo6R2VuZXJhdGVkSW1hZ2UgfSkpCisgICAgICAgICAgICByZXR1cm4gaW1hZ2U7
CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCisvLyBodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtbmVnYXRpdmUKK3N0YXRpYyBS
ZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVOZWdhdGl2ZShDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBh
dXRvIHByZXBlbmRWYWx1ZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRl
eHQpOworICAgIGlmICghcHJlcGVuZFZhbHVlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIHByZXBlbmRWYWx1ZTsKKworICAg
IGF1dG8gYXBwZW5kVmFsdWUgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250
ZXh0KTsKKyAgICBpZiAoIWFwcGVuZFZhbHVlIHx8ICFyYW5nZS5hdEVuZCgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlcyA9IENTU1Zh
bHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB2YWx1ZXMtPmFwcGVuZChwcmVw
ZW5kVmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgdmFsdWVzLT5hcHBlbmQoYXBwZW5kVmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXJhbmdl
CitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUmFu
Z2VCb3VuZChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBpbmZp
bml0ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUluZmluaXRlPihyYW5nZSkpCisgICAgICAgIHJl
dHVybiBpbmZpbml0ZTsKKyAgICBpZiAoYXV0byBpbnRlZ2VyID0gY29uc3VtZUludGVnZXIocmFu
Z2UpKQorICAgICAgICByZXR1cm4gaW50ZWdlcjsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLXJhbmdlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUmFu
Z2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gYXV0b1ZhbHVl
ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQXV0bz4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gYXV0
b1ZhbHVlOworCisgICAgYXV0byByYW5nZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1h
U2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBhdXRvIGxvd2VyQm91bmQgPSBjb25zdW1l
Q291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlmICghbG93ZXJCb3VuZCkK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIHVwcGVyQm91bmQgPSBj
b25zdW1lQ291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlmICghdXBwZXJC
b3VuZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8vIElmIHRoZSBs
b3dlciBib3VuZCBvZiBhbnkgcmFuZ2UgaXMgaGlnaGVyIHRoYW4gdGhlIHVwcGVyIGJvdW5kLCB0
aGUgZW50aXJlIGRlc2NyaXB0b3IgaXMgaW52YWxpZCBhbmQgbXVzdCBiZQorICAgICAgICAvLyBp
Z25vcmVkLgorICAgICAgICBpZiAobG93ZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiB1cHBlckJvdW5k
LT5pc051bWJlcigpICYmIGxvd2VyQm91bmQtPmludFZhbHVlKCkgPiB1cHBlckJvdW5kLT5pbnRW
YWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJhbmdlTGlzdC0+
YXBwZW5kKGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihsb3dlckJvdW5kLnJlbGVhc2VOb25OdWxs
KCksIHVwcGVyQm91bmQucmVsZWFzZU5vbk51bGwoKSwgUGFpcjo6SWRlbnRpY2FsVmFsdWVFbmNv
ZGluZzo6RG9Ob3RDb2FsZXNjZSkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwgIXJhbmdlTGlz
dC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiByYW5nZUxp
c3Q7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8j
Y291bnRlci1zdHlsZS1wYWQKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVy
U3R5bGVQYWQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbnRlZ2VyOworICAgIFJlZlB0
cjxDU1NWYWx1ZT4gc3ltYm9sOworICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3ltYm9sKSB7Cisg
ICAgICAgIGlmICghaW50ZWdlcikgeworICAgICAgICAgICAgaW50ZWdlciA9IGNvbnN1bWVJbnRl
Z2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICAgICAgaWYgKGludGVn
ZXIpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFz
eW1ib2wpIHsKKyAgICAgICAgICAgIHN5bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wo
cmFuZ2UsIGNvbnRleHQpOworICAgICAgICAgICAgaWYgKHN5bWJvbCkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgaWYgKCFyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRv
IHZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB2YWx1
ZXMtPmFwcGVuZChpbnRlZ2VyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHZhbHVlcy0+YXBwZW5k
KHN5bWJvbC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICByZXR1cm4gdmFsdWVzOworfQorCisvLyBo
dHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUt
c3ltYm9scworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJv
bHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNv
bnRleHQpCit7CisgICAgYXV0byBzeW1ib2xzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNl
cGFyYXRlZCgpOworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgeworICAgICAgICBhdXRvIHN5
bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgICAg
ICBpZiAoIXN5bWJvbCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBzeW1i
b2xzLT5hcHBlbmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKyAgICBpZiAoIXN5
bWJvbHMtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gc3lt
Ym9sczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0z
LyNjb3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVD
b3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byB2YWx1ZXMgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBsYXN0SW50ZWdlcjsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gaW50ZWdlcjsKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiBzeW1ib2w7CisgICAg
ICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3ltYm9sKSB7CisgICAgICAgICAgICBpZiAoIWludGVn
ZXIpIHsKKyAgICAgICAgICAgICAgICBpbnRlZ2VyID0gY29uc3VtZUludGVnZXIocmFuZ2UsIFZh
bHVlUmFuZ2VOb25OZWdhdGl2ZSk7CisgICAgICAgICAgICAgICAgaWYgKGludGVnZXIpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KCFzeW1ib2wpIHsKKyAgICAgICAgICAgICAgICBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxl
U3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBpZiAoc3ltYm9sKQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxhc3RJbnRlZ2VyKSB7Cisg
ICAgICAgICAgICAvLyBUaGUgYWRkaXRpdmUgdHVwbGVzIG11c3QgYmUgc3BlY2lmaWVkIGluIG9y
ZGVyIG9mIHN0cmljdGx5IGRlc2NlbmRpbmcKKyAgICAgICAgICAgIC8vIHdlaWdodDsgb3RoZXJ3
aXNlLCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLgorICAg
ICAgICAgICAgaWYgKGludGVnZXItPmludFZhbHVlKCkgPj0gbGFzdEludGVnZXItPmludFZhbHVl
KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAg
bGFzdEludGVnZXIgPSBpbnRlZ2VyOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChpbnRlZ2VyLnJl
bGVhc2VOb25OdWxsKCkpOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShy
YW5nZSkpOworICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhdmFsdWVzLT5sZW5ndGgoKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXNwZWFr
LWFzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBzcGVha0FzSWRlbnQg
PSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUJ1bGxldHMsIENTU1ZhbHVlTnVt
YmVycywgQ1NTVmFsdWVXb3JkcywgQ1NTVmFsdWVTcGVsbE91dD4ocmFuZ2UpKQorICAgICAgICBy
ZXR1cm4gc3BlYWtBc0lkZW50OworICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmFtZShy
YW5nZSk7Cit9CisKIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgaWYg
KCFjb250ZXh0LmNvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2hlbiB3ZSBjYW4g
cGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgVU5VU0VEX1BBUkFNKHByb3BJ
ZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJhbmdlKTsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7
Ci0gICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAgIGNhc2Ug
Q1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3lz
dGVtKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TmVnYXRpdmU6CisgICAgICAgIHJldHVy
biBjb25zdW1lQ291bnRlclN0eWxlTmVnYXRpdmUocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlQcmVmaXg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN1ZmZpeDoKKyAgICAgICAg
cmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgIGNh
c2UgQ1NTUHJvcGVydHlSYW5nZToKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVS
YW5nZShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZDoKKyAgICAgICAgcmV0dXJuIGNv
bnN1bWVDb3VudGVyU3R5bGVQYWQocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlGYWxsYmFjazoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVOYW1lKHJhbmdl
KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5
QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZUFkZGl0
aXZlU3ltYm9scyhyYW5nZSwgY29udGV4dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVNwZWFrQXM6
CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhyYW5nZSk7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KIH0KIAogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3VudGVy
U3R5bGVEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggYTc5YzBlYTllNzI0
YjZkYzRjYTZjZDA1MGQzN2M3OGJiMmIxNDYzNS4uOGYwMDU3MmExZjAyYjZlNjU1YjIwODdlYzlj
MGE1MDc3MWU4OTE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC0yNTYsNiArMjU2
LDEwIEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNyA6IElXZWJQcmVmZXJlbmNl
c1ByaXZhdGU2CiAgICAgSFJFU1VMVCB3ZWJTUUxFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCog
ZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydGllc0Vu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldENTU0lu
ZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVzRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7Cisg
ICAgSFJFU1VMVCBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJP
T0wqIGVuYWJsZWQpOworICAgIEhSRVNVTFQgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgQ1NTQ291bnRlclN0eWxlQXRSdWxl
SW1hZ2VTeW1ib2xzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOworICAgIEhS
RVNVTFQgc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7CiB9CiAKIFt1dWlkKDA0RDRBQUUxLTVEMDEtNENDRC1CNDZFLUMwMjJGMTBB
NjgyNildCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCmluZGV4IDk5YzY2NDk3YjgxNGMyMzc0Nzk0MDJkODBhNGE3NDFlNTBhZGI1NDMu
LjA1YTRjZDY4OTE3MTExZjI0NzIyMjg0NGI2YzNiNTVkMjliZTU3YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjgs
NiArMjI4LDEwIEBACiAKICNkZWZpbmUgV2ViS2l0V2ViU1FMRW5hYmxlZFByZWZlcmVuY2VLZXkg
IldlYktpdFdlYlNRTEVuYWJsZWQiCiAKKyNkZWZpbmUgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRS
dWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5h
YmxlZCIKKworI2RlZmluZSBXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1i
b2xzRW5hYmxlZCIKKwogI2RlZmluZSBXZWJLaXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVy
dGllc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJv
cGVydGllc0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVk
UHJlZmVyZW5jZUtleSAiV2ViS2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVkIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDhjOGVjZDNhNjJmODI4NjJj
NWIwN2Y1NzhhNzkyMGM5MTcwN2U4YmUuLmY5YTIxY2Y2YjU5NzIxZjQ0YzEzNWU5NmJlNjdhN2Qz
OTdjNDQ5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAK
QEAgLTM2OCw2ICszNjgsMTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1
bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cy5nZXQoKSwg
Q0ZTVFIoV2ViS2l0Q1NTSW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkUHJlZmVy
ZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdl
U3ltYm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRTcGVlY2hSZWNv
Z25pdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAogICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRPdmVyc2Nyb2xs
QmVoYXZpb3JFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC0yNTc4
LDYgKzI1ODIsMzQgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q1NTSW5kaXZpZHVhbFRy
YW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKEJPT0wgZW5hYmxlZCkKICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0Q1NT
Q291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19P
SzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxl
c0VuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRDU1NDb3Vu
dGVyU3R5bGVBdFJ1bGVzRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVy
biBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1
bGVJbWFnZVN5bWJvbHNFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFl
bmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZh
bHVlRm9yS2V5KFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6c2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChCT09MIGVu
YWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZUlt
YWdlU3ltYm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19P
SzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c3BlZWNoUmVjb2duaXRpb25FbmFibGVk
KF9PdXRfIEJPT0wqIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFlbmFibGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMDk3ZDA3MDM4MTcwYzIyZDJiZmJkMjZj
YmU1MjRlN2EwM2MyOGUxYi4uY2FlNDRjYjkyYTg2OWQ1Njc4MWRmMDU0NTI0MzczMjg4ODhkNGQy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yOTcsNiAr
Mjk3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0V2ViU1FMRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgQ1NTSW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKF9PdXRfIEJPT0wq
KTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q1NTSW5kaXZpZHVh
bFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZChfT3V0XyBCT09M
Kik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKF9PdXRfIEJP
T0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q1NTQ291bnRl
clN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChCT09MKTsKIAogICAgIC8vIElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU4CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFs
bG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoX091dF8gQk9PTCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAppbmRleCBhYmJhZDRkY2YxYjE4MzlkYTgwMTM5NmNiYWE2Nzg4MGExNDMw
ZWMzLi41N2MyNDJlN2M3ZDkwOWQ2ODljNmNmMDlkNmYyMDljNDdjZDg4Y2I1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTI3OCw2ICs1Mjc4LDE2IEBAIEhSRVNVTFQgV2Vi
Vmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLnNldENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0
ZS0+Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlM
RUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0Q1NTQ291bnRlclN0
eWxlQXRSdWxlc0VuYWJsZWQoISFlbmFibGVkKTsKKworICAgIGhyID0gcHJlZnNQcml2YXRlLT5D
U1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKCZlbmFibGVkKTsKKyAgICBp
ZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNldENTU0Nv
dW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhy
ID0gcHJlZnNQcml2YXRlLT5saW5rUHJlbG9hZEVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjgzYmFmMWZjMjE1MDA3YTcwZDhkY2VlZTMxM2Fk
NDYzODNiZGQzZi4uZjRlYjczM2FmZjMxNDQ1NjViZTdmYzE1MzUxMjZiNjJlMjhjNTM0YSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIxLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5j
b20+CisKKyAgICAgICAgW2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUg
ZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNDcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoV1RSOjpUZXN0
T3B0aW9uczo6ZGVmYXVsdHMpOgorICAgICAgICBGaXggdHlwbyAobWlzc2luZyAncycpLiAgQ1NT
Q291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQsIG5vdAorICAgICAgICBDU1NDb3VudGVyU3R5bGVB
dFJ1bGVFbmFibGVkLgorCiAyMDIxLTA0LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVy
TWVtb3J5UHJlc3N1cmUoKSBzaG91bGQgY2hlY2sgaWYgbGliV2ViUlRDQ29kZWNzUHJveHkgaXMg
dXNlZApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGZiOGEyMzJhY2NhYzUx
ZDYzMjQ2ZGQ0Mzk1ZTEyNGMwOTk2ZjUwZGEuLmVlMGUzY2ViYzBmN2NmZWQ5ODlmMWM1MDJkZTMz
ZjU5NTRlMDg4YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTEzMyw3
ICsxMzMsNyBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiAg
ICAgICAgICAgICB7ICJBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAg
ICAgICAgeyAiQXR0YWNobWVudEVsZW1lbnRFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAg
IHsgIkNTU0NvbnRhaW5tZW50RW5hYmxlZCIsIGZhbHNlIH0sCi0gICAgICAgICAgICB7ICJDU1ND
b3VudGVyU3R5bGVBdFJ1bGVFbmFibGVkIiwgZmFsc2UgfSwKKyAgICAgICAgICAgIHsgIkNTU0Nv
dW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNTU0Nv
dW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAg
ICAgeyAiQ1NTTG9naWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NTT01W
aWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlIH0sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWNkM2UxMjI1NmEw
MzEzM2ExNjEzNTNjNTY0ODNmNmQ3ZGU5YTlmNC4uMjhjMjBhNTNjNDQyZDU3YmQyZjI3MjhjNzFl
MzBlZjQ2OWIxMzg0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTE3ICBUeWxlciBX
aWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3VudGVy
LXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGVuc3VyaW5nIDxpbWFn
ZT4gQGNvdW50ZXItc3R5bGUgc3ltYm9sIHZhbHVlcyBjYW5ub3QgYmUKKyAgICAgICAgcGFyc2Vk
IHdoZW4gdGhlIGBjb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkYCBmZWF0dXJl
IGZsYWcKKyAgICAgICAgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgKiB3ZWJleHBvc2VkL2NvdW50
ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBv
c2VkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3RhcnQvZW5kfSB2YWx1ZXMg
dG8gZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBjZjI0MWE4ZmM0OWFjZmEwZGE3ZWMwNzc2NmFhOTE1ZWM3M2NjZWM2Li4yM2FlYjRkNDdm
ODQ4MmU0NTBlZDkzYjMzOTBlYzIzNDEwNGEyMzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAyMS0wNC0xNyAgVHlsZXIgV2lsY29jayAgPHR3aWxj
by5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNl
IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQYXJzaW5nIGZvciBhbGwgQGNvdW50ZXItc3R5bGUgZGVzY3Jp
cHRvcnMgaXMgaW1wbGVtZW50ZWQgd2l0aCB0aGlzCisgICAgICAgIHBhdGNoLCBzbyBtYXJrIG1v
cmUgdGVzdHMgcGFzc2luZy4KKworICAgICAgICBZb3UnbGwgbm90aWNlIHRoYXQgc29tZSBAY291
bnRlci1zdHlsZSBkZXNjcmlwdG9ycyBpbXBsZW1lbnRlZCBpbiB0aGlzCisgICAgICAgIHBhdGNo
IGRpZCBub3QgZ2FpbiBhbnkgcGFzc2luZyB0ZXN0cyAoZS5nLiBgcGFkYCwgYG5lZ2F0aXZlYCku
ICBJbiBhbGwKKyAgICAgICAgb2YgdGhlc2UgY2FzZXMsIHRoZSBleHBlY3RlZCByZXN1bHRzIGNv
bnRhaW4gYSA8c3RyaW5nPiB2YWx1ZSwgYW5kIHdlCisgICAgICAgIGZhaWwgb25seSBiZWNhdXNl
IHdlIGluY29ycmVjdGx5IGRvbid0IHNlcmlhbGl6ZSB0aGVzZSA8c3RyaW5nPiB2YWx1ZXMKKyAg
ICAgICAgd2l0aCBxdW90ZXMuICBJIGhhdmUgbWFudWFsbHkgY29uZmlybWVkIGluIGFsbCBjYXNl
cyB0aGF0IHRoZXNlIHZhbHVlcworICAgICAgICBhcmUgcHJvcGVybHkgcGFyc2VkLCBzbyBpdCdz
IGp1c3QgdGhlIHNlcmlhbGl6YXRpb24gdGhhdCdzIGluY29ycmVjdC4KKworICAgICAgICBUaGVz
ZSA8c3RyaW5nPiB2YWx1ZXMgc2VyaWFsaXplIHdpdGhvdXQgcXVvdGVzIGJlY2F1c2UgV2ViS2l0
J3MgcmVwcmVzZW50YXRpb24KKyAgICAgICAgb2YgY3VzdG9tIGlkZW50aWZpZXJzIGlzIG5vdCBh
IHNlcGFyYXRlIHR5cGUsIGJ1dCBpbnN0ZWFkIG92ZXJsb2FkZWQgb250byB0aGUKKyAgICAgICAg
Q1NTX1NUUklORyB0eXBlLiAgVGhpcyBtZWFucyB0aGF0IGR1cmluZyBzZXJpYWxpemF0aW9uIHRp
bWUsIFdlYktpdCBtdXN0IGd1ZXNzCisgICAgICAgIHdoZXRoZXIgaXQgaXMgYWN0dWFsbHkgc2Vy
aWFsaXppbmcgYSBzdHJpbmcgKGFuZCBpbmNsdWRlIHF1b3RlcyBpZiBzbyksIG9yIGlmCisgICAg
ICAgIGl0J3Mgc2VyaWFsaXppbmcgYSBjdXN0b20gaWRlbnQgKGxlYXZpbmcgb2ZmIHF1b3RlcyBp
ZiBzbykuCisKKyAgICAgICAgUmVsZXZhbnQgY29kZSBzbmlwcGV0OgorCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0L2Jsb2IvMzZjYWVlYzA3OTc1YmQ1ZjQ3ZGI4YWM2
Yjc0OWMyNzg3MjMwYTQ2MS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWFya3VwLmNwcCNMMTUzI0wx
NjEKKworICAgICAgICBSZWxldmFudCBjaGFuZ2Vsb2cgc25pcHBldCBmcm9tIERhdmlkIEh5YXR0
LCAyMDE2LTEyLTA3OgorCisgICAgICAgID4gV2UgYWxzbyBvdmVybG9hZCBDU1NfU1RSSU5HIHBy
aW1pdGl2ZSB2YWx1ZSB0eXBlIGFuZCBoYXZlIGl0IGFjdCBhcyBib3RoIGEgc3RyaW5nCisgICAg
ICAgID4gYW5kIGEgY3VzdG9tIGlkZW50aWZpZXIuIFRoaXMgaXMgbGFtZSwgc2luY2UgdGhlIHBh
cnNlciBzaG91bGQgaGF2ZSBtYWRlIHR3byBkaWZmZXJlbnQKKyAgICAgICAgPiB0eXBlcyBvZiBv
YmplY3RzIGluc3RlYWQsIGJ1dCBzaW5jZSBvdXIgcGFyc2VyIGRvZXNuJ3QgZG8gdGhhdCB5ZXQs
IEkgYWRkZWQgYSBzZXJpYWxpemVBc1N0cmluZ09yQ3VzdG9tSWRlbnQKKyAgICAgICAgPiB0aGF0
IHByZXNlcnZlcyBvdXIgb2xkIGJlaGF2aW9yIG9mICJxdW90ZSB0aGUgc3RyaW5nIG9ubHkgaWYg
bmVlZGVkLiIgSW4gdGhpcyBjYXNlIHdoYXQKKyAgICAgICAgPiB0aGF0IHJlYWxseSBtZWFudCB3
YXMgIlRyeSB0byBndWVzcyB0aGF0IHdlIHdlcmUgb3JpZ2luYWxseSBhIGN1c3RvbSBpZGVudCBh
bmQgbGVhdmUgb2ZmCisgICAgICAgID4gcXVvdGVzIGlmIHNvLiIgVGhpcyBmdW5jdGlvbiB3aWxs
IGdvIGF3YXkgb25jZSB3ZSBwcm9wZXJseSBjcmVhdGUgQ1NTU3RyaW5nVmFsdWVzIGFuZAorICAg
ICAgICA+IENTU0N1c3RvbUlkZW50VmFsdWVzIGluc3RlYWQgb2YgdHVybmluZyB0aGUgbGF0dGVy
IGludG8gc3RyaW5ncy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5
bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3lu
dGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291
bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0xNyAgVGlt
IE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmxp
bmUte3N0YXJ0L2VuZH0gdmFsdWVzIHRvIGZsb2F0ICYgY2xlYXIgcHJvcGVydGllcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IDU2YWY5ZTFk
NDg0ZTVjNDVkNDdjYWQzMzdiYzVhN2QwZGExMDc0NzkuLjc1OTQ3ODhlMWMyMDljMDk5Y2UyYmUz
ZGU3OTQ3YTdlM2Q1MjI4MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZh
bGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFj
ay1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ2Zh
bGxiYWNrOiBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGJhcicgaXMgdmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiAiYmFyIicgaXMgaW52YWxpZAogUEFTUyBAY291
bnRlci1zdHlsZSAnZmFsbGJhY2s6IG5vbmUnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5
bGUgJ2ZhbGxiYWNrOiBpbml0aWFsJyBpcyBpbnZhbGlkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
Y291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXgg
MDkyZDdhOTFjZDliZTkyYWQ0MWEyODAzM2I4ZTUxZjYzZTVjMWEzMC4uODdjNmEwNmE2YjQ4NGJm
ZTAyMjc5NzA3ZDAyYTU2ZjNlMDIyNWEzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXIt
c3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtNywyMCAr
NywyMCBAQCBGQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6ICJpbmhlcml0IicgaXMgdmFsaWQg
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvdwogRkFJTCBAY291bnRlci1zdHlsZSAnc3Vm
Zml4OiAiaW5oZXJpdCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSAtMQogRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiAidW5zZXQiJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKIEZBSUwgQGNvdW50
ZXItc3R5bGUgJ3N1ZmZpeDogInVuc2V0IicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGN1c3Rv
bS1pZGVudCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQg
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVy
LXN0eWxlICdwcmVmaXg6IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5
bGUgJ3N1ZmZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAn
cHJlZml4OiBpbml0aWFsJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6
IGluaXRpYWwnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogaW5oZXJp
dCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiBpbmhlcml0JyBpcyBp
bnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVuc2V0JyBpcyBpbnZhbGlkCiBQ
QVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVuc2V0JyBpcyBpbnZhbGlkCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdwcmVmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlz
IHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBA
Y291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyIp
JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZB
SUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBu
ZyknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQot
RkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28u
cG5nKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
Ci1GQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJs
dWUpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1
ZSknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQor
UEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20vZm9v
LnBuZyIpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoImh0dHBz
Oi8vZXhhbXBsZS5jb20vZm9vLnBuZyIpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAn
cHJlZml4OiB1cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQKK1BBU1Mg
QGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZykn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGxpbmVhci1ncmFkaWVudCh5
ZWxsb3csIGJsdWUpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiBsaW5l
YXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICcgaXMg
aW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBmb28gYmFyJyBpcyBpbnZhbGlk
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4
dAppbmRleCA0MjczNzJlMTgwMjMxNTViZjNhZDQ2NWYwZWJhODZkMjYzZDc2MWQzLi4zNDM3MTAx
OTk4MDcyZGQ0NjY5MTVkMmVlOTYzYmE4Yjg1NDM3NzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
Y291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTAgQEAK
IAotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGF1dG8nIGlzIHZhbGlkIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFu
Z2U6IGluZmluaXRlIGluZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRp
c2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAw
JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZB
SUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIGluZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3Jh
bmdlOiBpbmZpbml0ZSAwLCA1IDEwLCAxMDAgaW5maW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFu
Z2U6IGluZmluaXRlIDEwLCA1IDIwLCAxNSBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogYXV0bycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSBp
bmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAw
JyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IDAgaW5maW5pdGUnIGlzIHZh
bGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMCwgNSAxMCwgMTAwIGlu
ZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDEw
LCA1IDIwLCAxNSBpbmZpbml0ZScgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3Jhbmdl
OiAnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIC0xJyBpcyBpbnZh
bGlkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRh
eC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgt
ZXhwZWN0ZWQudHh0CmluZGV4IGQzYjNlNDNjN2Y1MWNjOGRiMzJmMTdlZTA4M2E5MjVlNWQ0NzY1
NGEuLmM2M2RmNzYzZmQ1MWIzNDZjMzNkZjQ1MGY2YzE1MjI2OGRjYmQ0NTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3Vu
dGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dApA
QCAtMSwxMSArMSwxMSBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYXV0bycg
aXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlM
IEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYnVsbGV0cycgaXMgdmFsaWQgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVh
ay1hczogbnVtYmVycycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogd29yZHMnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsLW91dCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczog
YmFyJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbG91dCcgaXMgdmFsaWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxl
ICdzcGVhay1hczogYXV0bycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFz
OiBidWxsZXRzJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IG51bWJl
cnMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogd29yZHMnIGlzIHZh
bGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGwtb3V0JyBpcyB2YWxpZAor
UEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJhcicgaXMgdmFsaWQKK1BBU1MgQGNvdW50
ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbG91dCcgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5
bGUgJ3NwZWFrLWFzOiBidWxsZXRzIG51bWJlcnMnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXIt
c3R5bGUgJ3NwZWFrLWFzOiBub25lJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdz
cGVhay1hczogaW5pdGlhbCcgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50
ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1z
dHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCBmZTFlZmM4NzJjNDUzYzg4OWJl
YTFiZmM4ZTdkM2UzY2NhNzZiYjE3Li41NzYxZWExZDgyNzg5YTFmMDk0MDc4ZGE1YmRhODQ0OTBi
M2ZiZDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4
LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
eXN0ZW06IGN5Y2xpYycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkJyBpcyB2YWxpZCBh
c3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXIt
c3R5bGUgJ3N5c3RlbTogZml4ZWQgMTAwJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQg
LTEnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQot
RkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBzeW1ib2xpYycgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
eXN0ZW06IGFscGhhYmV0aWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBudW1lcmljJyBpcyB2
YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3N5c3RlbTogYWRkaXRpdmUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBl
eHRlbmRzIGJhcicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZh
bHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGN5Y2xpYycgaXMgdmFsaWQKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IGZpeGVkIDEwMCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUg
J3N5c3RlbTogZml4ZWQgLTEnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06
IHN5bWJvbGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhbHBoYWJl
dGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBudW1lcmljJyBpcyB2
YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhZGRpdGl2ZScgaXMgdmFsaWQKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZXh0ZW5kcyBiYXInIGlzIHZhbGlkCiBQQVNTIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGZsb2F0JyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0
eWxlICdzeXN0ZW06IGN5Y2xpYyBjeWNsaWMnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5
bGUgJ3N5c3RlbTogZXh0ZW5kcyBub25lJyBpcyBpbnZhbGlkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Ut
c3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDljZmIzY2M0YTM3
ZTlkNDNkOGNiYjM3YjY0ZDg2MGU1ZDk1NmYwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBAY291bnRlci1zdHlsZSBpbWFnZSBz
eW1ib2xzIGFyZSBub3QgZXhwb3NlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZDUwMjBhMWQ2ZmYxNGQ5OTcwMDc4MzE4Y2U3NTE0MWU5MDAyMDBm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxl
LWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBDU1NDb3VudGVyU3R5bGVBdFJ1bGVz
RW5hYmxlZD10cnVlIENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQ9ZmFs
c2UgXSAtLT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CisgICAgQGNvdW50ZXItc3R5bGUgZm9vIHsKKyAgICAgICAgc3lzdGVt
OiBjeWNsaWM7CisgICAgICAgIHN1ZmZpeDogIiAiOworICAgICAgICBzeW1ib2xzOiBsaW5lYXIt
Z3JhZGllbnQoeWVsbG93LCBibHVlKTsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgICB0
ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBjb25zdCBjc3NSdWxlcyA9IGRvY3VtZW50LnN0eWxl
U2hlZXRzWzBdLmNzc1J1bGVzCisgICAgICAgIGFzc2VydF9lcXVhbHMoY3NzUnVsZXMubGVuZ3Ro
LCAxLCAnU2hvdWxkXCd2ZSBiZWVuIGFibGUgdG8gcGFyc2UgQGNvdW50ZXItc3R5bGUuJykKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhjc3NSdWxlc1swXS5zeW1ib2xzLCAnJywgJ1Nob3VsZG5cJ3Qg
aGF2ZSBiZWVuIGFibGUgdG8gcGFyc2UgaW1hZ2Ugc3ltYm9sIHZhbHVlIHdpdGggdGhlIHJ1bnRp
bWUgZmVhdHVyZSBmbGFnIGRpc2FibGVkLicpCisgICAgfSwgJ0Bjb3VudGVyLXN0eWxlIGltYWdl
IHN5bWJvbHMgYXJlIG5vdCBleHBvc2VkJykKKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426509</attachid>
            <date>2021-04-19 19:14:56 -0700</date>
            <delta_ts>2021-04-20 17:13:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210419211455.patch</filename>
            <type>text/plain</type>
            <size>58175</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDY2OWU3YTAyYmRkMWFj
ZDU4MGE3YTRjY2Y3ZDQwNTVjYmY5Yjg1Ni4uNDA4ZTU0NzVlOTUwNzZkYmM5NGRiYTYyMzA0NjZj
MjA5ZjZiYmRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTE5ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAg
ICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3Ig
cHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAgICAgIChXZWJD
b3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Q291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQ
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3ltYm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2ZVN5bWJvbHMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyk6Cisg
ICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9uYWxpdHkgcmVx
dWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmg6
CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBnZXR0ZXIgYW5k
IHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9w
ZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgIEFk
ZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFzYCAKKyAgICAg
ICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1l
Q291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAgICAgIChXZWJD
b3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5
bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2Ny
aXB0b3JzLgorCiAyMDIxLTA0LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbmFtZSBGbG9hdFF1YWQ6OmlzRW1wdHkoKSB0byBib3VuZGluZ0Jv
eElzRW1wdHkoKSBhbmQgcmVpbXBsZW1lbnQgaXNFbXB0eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKaW5kZXggYjU3YzJiMWYwNjhlZDI4NTI5NDgzZWJhYzkwY2JjNzA1MzJlNDM5Mi4uMTNm
MWRhMjNkNDk5MWUwMGFlZGU0ZDIwZDNiN2ExZDU0NWI4M2Q3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTA0LTE5ICBUeWxlciBXaWxjb2NrICA8
dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3VudGVyLXN0eWxlc10g
UGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBmdW5jdGlvbmFsaXR5IHJlcXVpcmVk
IGZvciBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCBhbmQKKyAgICAgICAgQ1NTQ291bnRl
clN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCBmbGFncyB0byBiZSBzZXQgdmlhIHRlc3QK
KyAgICAgICAgaGVhZGVyLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbDoKKyAgICAgICAgQWRkIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkLCBz
ZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCwKKyAgICAgICAgQ1NTQ291bnRlclN0eWxl
QXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCwgYW5kCisgICAgICAgIHNldENTU0NvdW50ZXJTdHls
ZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQuCisKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgQWRkIFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFi
bGVkUHJlZmVyZW5jZUtleSBhbmQKKyAgICAgICAgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxl
SW1hZ2VTeW1ib2xzRW5hYmxlZFByZWZlcmVuY2VLZXkuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6Q1NTQ291bnRlclN0eWxlQXRSdWxlc0Vu
YWJsZWQpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50ZXJTdHlsZUF0UnVs
ZXNFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpDU1NDb3VudGVyU3R5bGVBdFJ1
bGVJbWFnZVN5bWJvbHNFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRDU1ND
b3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKToKKyAgICAgICAgSW1wbGVtZW50
IGdldHRlcnMgYW5kIHNldHRlcnMgZm9yIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkCisg
ICAgICAgIGFuZCBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkIGZsYWdz
LgorCisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgRGVjbGFyZSBnZXR0ZXJz
IGFuZCBzZXR0ZXJzIGZvciBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZAorICAgICAgICBh
bmQgQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCBmbGFncy4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKyAgICAgICAgVXBkYXRlIHdlYnBhZ2Ugc2V0dGluZ3Mgd2hlbiBDU1NDb3VudGVy
U3R5bGVBdFJ1bGVzRW5hYmxlZCBhbmQKKyAgICAgICAgQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZCBmbGFncyBjaGFuZ2UuCisKIDIwMjEtMDMtMjggIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSAmIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMsIGl0IHNlZW1zIGxpa2Ug
aXQgaXMgb24gZm9yIGFsbCBwb3J0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1MTFmODllNjUwZjliNGQ1MjU4YjQyYWYy
Yjg3OWFhOTQ5YTVlZDRjLi4wMGM2YTRiMmFlMTlhYmI0NjQzMWE5N2VlMjg3MDdjM2ZhMjkwMTgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtNDAwMyw2ICs0MDAzLDE4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRT
dHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwogCisg
ICAgICAgIC8qIFRoZXNlIGFyZSBpbnRlbnRpb25hbGx5IHVuaW1wbGVtZW50ZWQgYmVjYXVzZSB0
aGV5IGFyZSBhY3R1YWxseSBkZXNjcmlwdG9ycyBmb3IgQGNvdW50ZXItc3R5bGUuICovCisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlOZWdh
dGl2ZToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVByZWZpeDoKKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN1ZmZpeDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVJhbmdlOgorICAgICAgICBj
YXNlIENTU1Byb3BlcnR5UGFkOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5RmFsbGJhY2s6Cisg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xzOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgLyogVW5pbXBs
ZW1lbnRlZCBAZm9udC1mYWNlIHByb3BlcnRpZXMgKi8KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVNyYzoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVVuaWNvZGVSYW5nZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcAppbmRleCAyMjljNDUyNGQxZWU4YTdlODQy
Y2I3ZWI0YzdkNTUzZDkyOGVhNjM2Li40N2E5MGNiZGQyZjA1ZTI0ZTM5OTU3OTU1Nzg0ZmE0ZmJk
ZWMwMDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwCkBA
IC0yNiw2ICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU0NvdW50
ZXJTdHlsZVJ1bGUuaCIKIAorI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyLmgiCisjaW5jbHVk
ZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkNTU1Rva2VuaXplci5oIgorI2luY2x1ZGUg
IlBhaXIuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKIFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6U3R5bGVSdWxlQ291bnRl
clN0eWxlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYgcHJv
cGVydGllcykKQEAgLTQwLDYgKzQ2LDk0IEBAIFJlZjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IFN0
eWxlUnVsZUNvdW50ZXJTdHlsZTo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsCiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlQ291bnRlclN0eWxlKG5hbWUsIFdURk1vdmUo
cHJvcGVydGllcykpKTsKIH0KIAorc3RhdGljIENvdW50ZXJTdHlsZVN5c3RlbSB0b0NvdW50ZXJT
dHlsZVN5c3RlbUVudW0oUmVmUHRyPENTU1ZhbHVlPiBzeXN0ZW0pCit7CisgICAgaWYgKCFzeXN0
ZW0gfHwgIXN5c3RlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICByZXR1cm4gQ291bnRl
clN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKworICAgIGF1dG8mIHByaW1pdGl2ZVN5c3RlbVZhbHVl
ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpzeXN0ZW0pOworICAgIEFTU0VSVChwcmlt
aXRpdmVTeXN0ZW1WYWx1ZS5pc1ZhbHVlSUQoKSB8fCBwcmltaXRpdmVTeXN0ZW1WYWx1ZS5pc1Bh
aXIoKSk7CisgICAgQ1NTVmFsdWVJRCBzeXN0ZW1LZXl3b3JkID0gQ1NTVmFsdWVJbnZhbGlkOwor
ICAgIGlmIChwcmltaXRpdmVTeXN0ZW1WYWx1ZS5pc1ZhbHVlSUQoKSkKKyAgICAgICAgc3lzdGVt
S2V5d29yZCA9IHByaW1pdGl2ZVN5c3RlbVZhbHVlLnZhbHVlSUQoKTsKKyAgICBlbHNlIGlmIChh
dXRvKiBwYWlyID0gcHJpbWl0aXZlU3lzdGVtVmFsdWUucGFpclZhbHVlKCkpIHsKKyAgICAgICAg
Ly8gVGhpcyB2YWx1ZSBtdXN0IGJlIGBmaXhlZGAgb3IgYGV4dGVuZHNgLCBib3RoIG9mIHdoaWNo
IGNhbiBvciBtdXN0IGhhdmUgYW4gYWRkaXRpb25hbCBjb21wb25lbnQuCisgICAgICAgIGF1dG8g
Zmlyc3RWYWx1ZSA9IHBhaXItPmZpcnN0KCk7CisgICAgICAgIEFTU0VSVChmaXJzdFZhbHVlICYm
IGZpcnN0VmFsdWUtPmlzVmFsdWVJRCgpKTsKKyAgICAgICAgaWYgKGZpcnN0VmFsdWUpCisgICAg
ICAgICAgICBzeXN0ZW1LZXl3b3JkID0gZmlyc3RWYWx1ZS0+dmFsdWVJRCgpOworICAgIH0KKwor
ICAgIHN3aXRjaCAoc3lzdGVtS2V5d29yZCkgeworICAgIGNhc2UgQ1NTVmFsdWVDeWNsaWM6Cisg
ICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkN5Y2xpYzsKKyAgICBjYXNlIENTU1Zh
bHVlRml4ZWQ6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkZpeGVkOworICAg
IGNhc2UgQ1NTVmFsdWVTeW1ib2xpYzoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3Rl
bTo6U3ltYm9saWM7CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0aWM6CisgICAgICAgIHJldHVy
biBDb3VudGVyU3R5bGVTeXN0ZW06OkFscGhhYmV0aWM7CisgICAgY2FzZSBDU1NWYWx1ZU51bWVy
aWM6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06Ok51bWVyaWM7CisgICAgY2Fz
ZSBDU1NWYWx1ZUFkZGl0aXZlOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpB
ZGRpdGl2ZTsKKyAgICBjYXNlIENTU1ZhbHVlRXh0ZW5kczoKKyAgICAgICAgcmV0dXJuIENvdW50
ZXJTdHlsZVN5c3RlbTo6RXh0ZW5kczsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6U3ltYm9saWM7
CisgICAgfQorfQorCitzdGF0aWMgYm9vbCBzeW1ib2xzVmFsaWRGb3JTeXN0ZW0oQ291bnRlclN0
eWxlU3lzdGVtIHN5c3RlbSwgUmVmUHRyPENTU1ZhbHVlPiBzeW1ib2xzLCBSZWZQdHI8Q1NTVmFs
dWU+IGFkZGl0aXZlU3ltYm9scykKK3sKKyAgICBzd2l0Y2ggKHN5c3RlbSkgeworICAgIGNhc2Ug
Q291bnRlclN0eWxlU3lzdGVtOjpDeWNsaWM6CisgICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06
OkZpeGVkOgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzoKKyAgICAgICAg
cmV0dXJuIHN5bWJvbHMgJiYgc3ltYm9scy0+aXNWYWx1ZUxpc3QoKSAmJiBkb3duY2FzdDxDU1NW
YWx1ZUxpc3Q+KCpzeW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3Rl
bTo6QWxwaGFiZXRpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzoKKyAg
ICAgICAgcmV0dXJuIHN5bWJvbHMgJiYgc3ltYm9scy0+aXNWYWx1ZUxpc3QoKSAmJiBkb3duY2Fz
dDxDU1NWYWx1ZUxpc3Q+KCpzeW1ib2xzKS5sZW5ndGgoKSA+PSAydTsKKyAgICBjYXNlIENvdW50
ZXJTdHlsZVN5c3RlbTo6QWRkaXRpdmU6CisgICAgICAgIHJldHVybiBhZGRpdGl2ZVN5bWJvbHMg
JiYgYWRkaXRpdmVTeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVlTGlz
dD4oKmFkZGl0aXZlU3ltYm9scykubGVuZ3RoKCk7CisgICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0
ZW06OkV4dGVuZHM6CisgICAgICAgIHJldHVybiAhc3ltYm9scyAmJiAhYWRkaXRpdmVTeW1ib2xz
OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6bmV3
VmFsdWVJbnZhbGlkT3JFcXVhbChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IFJlZlB0
cjxDU1NWYWx1ZT4gbmV3VmFsdWUpIGNvbnN0Cit7CisgICAgYXV0byBjdXJyZW50VmFsdWUgPSBt
X3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7CisgICAgaWYgKGNv
bXBhcmVDU1NWYWx1ZVB0cihjdXJyZW50VmFsdWUsIG5ld1ZhbHVlKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHM7CisgICAgUmVmUHRyPENTU1Zh
bHVlPiBhZGRpdGl2ZVN5bWJvbHM7CisgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVN5c3RlbToKKyAgICAgICAgLy8gSWYgdGhlIGF0dHJpYnV0ZSBiZWluZyBz
ZXQgaXMgYHN5c3RlbWAsIGFuZCB0aGUgbmV3IHZhbHVlIHdvdWxkIGNoYW5nZSB0aGUgYWxnb3Jp
dGhtIHVzZWQsIGRvIG5vdGhpbmcKKyAgICAgICAgLy8gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgor
ICAgICAgICAvLyAoSXQncyBva2F5IHRvIGNoYW5nZSBhbiBhc3BlY3Qgb2YgdGhlIGFsZ29yaXRo
bSwgbGlrZSB0aGUgZmlyc3Qgc3ltYm9sIHZhbHVlIG9mIGEgYGZpeGVkYCBzeXN0ZW0uKQorICAg
ICAgICByZXR1cm4gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKGN1cnJlbnRWYWx1ZSkgIT0gdG9D
b3VudGVyU3R5bGVTeXN0ZW1FbnVtKG5ld1ZhbHVlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3lt
Ym9sczoKKyAgICAgICAgc3ltYm9scyA9IG5ld1ZhbHVlOworICAgICAgICBhZGRpdGl2ZVN5bWJv
bHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlBZGRpdGl2
ZVN5bWJvbHMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWRkaXRpdmVT
eW1ib2xzOgorICAgICAgICBzeW1ib2xzID0gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5U3ltYm9scyk7CisgICAgICAgIGFkZGl0aXZlU3ltYm9scyA9IG5ld1Zh
bHVlOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIGF1dG8gc3lzdGVtID0gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5U3lzdGVtKTsKKyAgICByZXR1cm4gc3ltYm9sc1ZhbGlkRm9yU3lzdGVt
KHRvQ291bnRlclN0eWxlU3lzdGVtRW51bShzeXN0ZW0pLCBzeW1ib2xzLCBhZGRpdGl2ZVN5bWJv
bHMpOworfQorCiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6On5TdHlsZVJ1bGVDb3VudGVyU3R5bGUo
KSA9IGRlZmF1bHQ7CiAKIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUNvdW50ZXJT
dHlsZTo6bXV0YWJsZVByb3BlcnRpZXMoKQpAQCAtNjQsOCArMTU4LDgzIEBAIENTU0NvdW50ZXJT
dHlsZVJ1bGU6On5DU1NDb3VudGVyU3R5bGVSdWxlKCkgPSBkZWZhdWx0OwogCiBTdHJpbmcgQ1NT
Q291bnRlclN0eWxlUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxl
bWVudCB0aGlzIGZ1bmN0aW9uIHdoZW4gd2UgcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRv
cnMuCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7
CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkBjb3VudGVyLXN0eWxlICIpOworICAgIHJlc3Vs
dC5hcHBlbmQobmFtZSgpKTsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHsiKTsKKworICAg
IFN0cmluZyBzeXN0ZW1UZXh0ID0gc3lzdGVtKCk7CisgICAgaWYgKHN5c3RlbVRleHQubGVuZ3Ro
KCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBzeXN0ZW06ICIpOworICAgICAg
ICByZXN1bHQuYXBwZW5kKHN5c3RlbVRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJh
bCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBzeW1ib2xzVGV4dCA9IHN5bWJvbHMoKTsKKyAg
ICBpZiAoc3ltYm9sc1RleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIiBzeW1ib2xzOiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChzeW1ib2xzVGV4dCk7Cisg
ICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIGFk
ZGl0aXZlU3ltYm9sc1RleHQgPSBhZGRpdGl2ZVN5bWJvbHMoKTsKKyAgICBpZiAoYWRkaXRpdmVT
eW1ib2xzVGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIGFk
ZGl0aXZlLXN5bWJvbHM6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKGFkZGl0aXZlU3ltYm9s
c1RleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAg
IFN0cmluZyBuZWdhdGl2ZVRleHQgPSBuZWdhdGl2ZSgpOworICAgIGlmIChuZWdhdGl2ZVRleHQu
bGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBuZWdhdGl2ZTogIik7
CisgICAgICAgIHJlc3VsdC5hcHBlbmQobmVnYXRpdmVUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgcHJlZml4VGV4dCA9IHByZWZp
eCgpOworICAgIGlmIChwcmVmaXhUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBl
bmRMaXRlcmFsKCIgcHJlZml4OiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChwcmVmaXhUZXh0
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJp
bmcgc3VmZml4VGV4dCA9IHN1ZmZpeCgpOworICAgIGlmIChzdWZmaXhUZXh0Lmxlbmd0aCgpKSB7
CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgc3VmZml4OiAiKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZChzdWZmaXhUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsi
KTsKKyAgICB9CisKKyAgICBTdHJpbmcgcGFkVGV4dCA9IHBhZCgpOworICAgIGlmIChwYWRUZXh0
Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgcGFkOiAiKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChwYWRUZXh0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgcmFuZ2VUZXh0ID0gcmFuZ2UoKTsKKyAgICBp
ZiAocmFuZ2VUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIg
cmFuZ2U6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHJhbmdlVGV4dCk7CisgICAgICAgIHJl
c3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3RyaW5nIGZhbGxiYWNrVGV4
dCA9IGZhbGxiYWNrKCk7CisgICAgaWYgKGZhbGxiYWNrVGV4dC5sZW5ndGgoKSkgeworICAgICAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIGZhbGxiYWNrOiAiKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChmYWxsYmFja1RleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOwor
ICAgIH0KKworICAgIFN0cmluZyBzcGVha0FzVGV4dCA9IHNwZWFrQXMoKTsKKyAgICBpZiAoc3Bl
YWtBc1RleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBzcGVh
ay1hczogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoc3BlYWtBc1RleHQpOworICAgICAgICBy
ZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIHJlc3VsdC5hcHBlbmRMaXRl
cmFsKCIgfSIpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAogdm9pZCBDU1ND
b3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQpAQCAtNzMsNCAr
MjQyLDc3IEBAIHZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFz
ZSYgcnVsZSkKICAgICBtX2NvdW50ZXJTdHlsZVJ1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVD
b3VudGVyU3R5bGUmPihydWxlKTsKIH0KIAorLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1jb3VudGVyLXN0eWxlcy0zLyNkb20tY3NzY291bnRlcnN0eWxlcnVsZS1uYW1lCit2b2lkIENT
U0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5hbWUoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIGF1
dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHRleHQpLnRva2VuUmFuZ2UoKTsKKyAgICBhdXRvIG5h
bWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDb3VudGVyU3R5bGVOYW1lSW5Q
cmVsdWRlKHRva2Vucyk7CisgICAgaWYgKG5hbWUuaXNOdWxsKCkgfHwgbmFtZSA9PSBtX2NvdW50
ZXJTdHlsZVJ1bGUtPm5hbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVl
dDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJT
dHlsZVJ1bGUtPnNldE5hbWUobmFtZSk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6
c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHZh
bHVlVGV4dCkKK3sKKyAgICBhdXRvIHRva2VucyA9IENTU1Rva2VuaXplcih2YWx1ZVRleHQpLnRv
a2VuUmFuZ2UoKTsKKyAgICBhdXRvIG5ld1ZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNl
Q291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0eUlELCB0b2tlbnMsIHBhcnNlckNvbnRleHQo
KSk7CisgICAgaWYgKG1fY291bnRlclN0eWxlUnVsZS0+bmV3VmFsdWVJbnZhbGlkT3JFcXVhbChw
cm9wZXJ0eUlELCBuZXdWYWx1ZSkpCisgICAgICAgIHJldHVybjsKKworICAgIENTU1N0eWxlU2hl
ZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisgICAgbV9jb3VudGVy
U3R5bGVSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KHByb3BlcnR5SUQsIFdU
Rk1vdmUobmV3VmFsdWUpKTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0
ZW0oY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5
U3lzdGVtLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXROZWdhdGl2
ZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlO
ZWdhdGl2ZSwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UHJlZml4
KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVBy
ZWZpeCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3VmZml4KGNv
bnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVN1ZmZp
eCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UmFuZ2UoY29uc3Qg
U3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5UmFuZ2UsIHRl
eHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFBhZChjb25zdCBTdHJpbmcm
IHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlQYWQsIHRleHQpOworfQor
Cit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldEZhbGxiYWNrKGNvbnN0IFN0cmluZyYgdGV4
dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUZhbGxiYWNrLCB0ZXh0KTsKK30K
Kwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeW1ib2xzKGNvbnN0IFN0cmluZyYgdGV4
dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVN5bWJvbHMsIHRleHQpOworfQor
Cit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldEFkZGl0aXZlU3ltYm9scyhjb25zdCBTdHJp
bmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHMsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFNwZWFrQXMoY29u
c3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3BlYWtB
cywgdGV4dCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ291bnRlclN0eWxlUnVsZS5oCmluZGV4IGIyNGZlMWZkNjZmMTRkY2Y5NThhYTlhN2FmN2Iz
YzA5NDdjMzI4MzYuLjdhODk3ZmIxMmUzOTU2ZWU2ZWY4NmY4MjM5OWE1N2NmYWE0MzVjMDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaApAQCAtMzIsNiArMzIsMTgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBUaGUga2V5d29yZHMgdGhhdCBjYW4gYmUg
dXNlZCBhcyB2YWx1ZXMgZm9yIHRoZSBjb3VudGVyLXN0eWxlIGBzeXN0ZW1gIGRlc2NyaXB0b3Iu
CisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXIt
c3R5bGUtc3lzdGVtCitlbnVtIGNsYXNzIENvdW50ZXJTdHlsZVN5c3RlbSA6IHVpbnQ4X3Qgewor
ICAgIEN5Y2xpYywKKyAgICBOdW1lcmljLAorICAgIEFscGhhYmV0aWMsCisgICAgU3ltYm9saWMs
CisgICAgQWRkaXRpdmUsCisgICAgRml4ZWQsCisgICAgRXh0ZW5kcworfTsKKwogY2xhc3MgU3R5
bGVSdWxlQ291bnRlclN0eWxlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlQ291bnRlclN0eWxlPiBjcmVhdGUoY29uc3QgQXRv
bVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJik7CkBAIC00MSw2ICs1MywyMCBA
QCBwdWJsaWM6CiAgICAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0YWJsZVByb3BlcnRpZXMo
KTsKIAogICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7
IH0KKyAgICBTdHJpbmcgc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQ
cm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3lzdGVtKTsgfQorICAgIFN0cmluZyBuZWdhdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0
eU5lZ2F0aXZlKTsgfQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlQcmVmaXgpOyB9CisgICAgU3RyaW5n
IHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShD
U1NQcm9wZXJ0eVN1ZmZpeCk7IH0KKyAgICBTdHJpbmcgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBt
X3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlSYW5nZSk7IH0KKyAgICBT
dHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVl
KENTU1Byb3BlcnR5UGFkKTsgfQorICAgIFN0cmluZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUZhbGxiYWNrKTsgfQor
ICAgIFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9w
ZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3ltYm9scyk7IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1i
b2xzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1By
b3BlcnR5QWRkaXRpdmVTeW1ib2xzKTsgfQorICAgIFN0cmluZyBzcGVha0FzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3BlYWtBcyk7
IH0KKworICAgIGJvb2wgbmV3VmFsdWVJbnZhbGlkT3JFcXVhbChDU1NQcm9wZXJ0eUlELCBjb25z
dCBSZWZQdHI8Q1NTVmFsdWU+IG5ld1ZhbHVlKSBjb25zdDsKKworICAgIHZvaWQgc2V0TmFtZShj
b25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7IG1fbmFtZSA9IG5hbWU7IH0KIAogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBTdHlsZVJ1bGVDb3VudGVyU3R5bGUoY29uc3QgQXRvbVN0cmluZyYsIFJlZjxT
dHlsZVByb3BlcnRpZXM+JiYpOwpAQCAtNTksMzQgKzg1LDM0IEBAIHB1YmxpYzoKICAgICBDU1NS
dWxlOjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDT1VOVEVSX1NUWUxFX1JVTEU7
IH0KIAogICAgIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxl
LT5uYW1lKCk7IH0KLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IGFmdGVyIHdlIHBhcnNlIEBjb3Vu
dGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAgIFN0cmluZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJldHVybiBlbXB0
eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7IH0KLSAgICBTdHJpbmcgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygp
OyB9Ci0gICAgU3RyaW5nIHBhZCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAg
ICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAg
U3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3Ry
aW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAg
ICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLQotICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2UgcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3Jp
cHRvcnMuCi0gICAgdm9pZCBzZXROYW1lKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0
U3lzdGVtKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0TmVnYXRpdmUoY29uc3QgU3Ry
aW5nJikgeyB9Ci0gICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9p
ZCBzZXRTdWZmaXgoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRSYW5nZShjb25zdCBT
dHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFBhZChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lk
IHNldEZhbGxiYWNrKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0U3ltYm9scyhjb25z
dCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldEFkZGl0aXZlU3ltYm9scyhjb25zdCBTdHJpbmcm
KSB7IH0KLSAgICB2b2lkIHNldFNwZWFrQXMoY29uc3QgU3RyaW5nJikgeyB9CisgICAgU3RyaW5n
IHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+c3lzdGVtKCk7IH0K
KyAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUt
Pm5lZ2F0aXZlKCk7IH0KKyAgICBTdHJpbmcgcHJlZml4KCkgY29uc3QgeyByZXR1cm4gbV9jb3Vu
dGVyU3R5bGVSdWxlLT5wcmVmaXgoKTsgfQorICAgIFN0cmluZyBzdWZmaXgoKSBjb25zdCB7IHJl
dHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnN1ZmZpeCgpOyB9CisgICAgU3RyaW5nIHJhbmdlKCkg
Y29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5yYW5nZSgpOyB9CisgICAgU3RyaW5n
IHBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+cGFkKCk7IH0KKyAgICBT
dHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPmZhbGxi
YWNrKCk7IH0KKyAgICBTdHJpbmcgc3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0
eWxlUnVsZS0+c3ltYm9scygpOyB9CisgICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0
IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+YWRkaXRpdmVTeW1ib2xzKCk7IH0KKyAgICBT
dHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+c3BlYWtB
cygpOyB9CisKKyAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRT
eXN0ZW0oY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFN1ZmZp
eChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFJhbmdlKGNvbnN0IFN0cmluZyYpOworICAg
IHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0RmFsbGJhY2soY29uc3Qg
U3RyaW5nJik7CisgICAgdm9pZCBzZXRTeW1ib2xzKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQg
c2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U3BlYWtBcyhj
b25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKICAgICBDU1NDb3VudGVyU3R5bGVSdWxlKFN0eWxl
UnVsZUNvdW50ZXJTdHlsZSYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CiAKKyAgICB2b2lkIHNl
dHRlckludGVybmFsKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYpOworCiAgICAgUmVmPFN0
eWxlUnVsZUNvdW50ZXJTdHlsZT4gbV9jb3VudGVyU3R5bGVSdWxlOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggNzJiOTU3ZWMwODU1NDRkMDY2ZGM1MjNlNWIx
MDQwMGE5OTcxNzM4Zi4uZDhjY2Q2YjI0MDhkMDk3NjhkNzM0ZTVhM2IzYTQyYTU0OGJmMGI0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC04MDMsNiArODAzLDE2IEBA
CiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXJ1Ynkt
MS8jcnVieXBvcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImFkZGl0aXZl
LXN5bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5
bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAg
ICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291
bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMiCisgICAgICAg
ICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJhbGlnbm1lbnQtYmFzZWxpbmUiOiB7CiAgICAg
ICAgICAgICAidmFsdWVzIjogWwogICAgICAgICAgICAgICAgICJhdXRvIiwKQEAgLTI0MzYsNiAr
MjQ0NiwxNiBAQAogICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJzdmciCiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0sCisgICAgICAgICJmYWxsYmFjayI6IHsKKyAgICAgICAgICAgICJzZXR0
aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdl
bi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAg
ICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAg
InVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50
ZXItc3R5bGUtZmFsbGJhY2siCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJm
aWxsIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtMzM3Nyw2ICszMzk3LDE2IEBACiAgICAgICAgICAgICAg
ICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW92ZXJzY3JvbGwtMS8jcHJv
cGRlZi1vdmVyc2Nyb2xsLWJlaGF2aW9yLXkiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisg
ICAgICAgICJwYWQiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVy
U3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAg
ICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3Mt
Y291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXBhZCIKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgInBhZGRpbmciOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJsb25naGFuZHMiOiBbCkBAIC0z
ODUwLDYgKzM4ODAsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MzLXNwZWVjaC8jc3BlYWstYXMiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0s
CisgICAgICAgICJzeW1ib2xzIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3Nz
Q291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnki
OiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeW1ib2xz
IgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAidGFibGUtbGF5b3V0Ijogewog
ICAgICAgICAgICAgInZhbHVlcyI6IFsKICAgICAgICAgICAgICAgICAiYXV0byIsCkBAIC02MDQ0
LDYgKzYwODQsMTYgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVzIjogIm5v
bi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAgICAgIm5lZ2F0aXZlIjogeworICAgICAgICAg
ICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6
IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAg
ICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAg
ICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMt
My8jY291bnRlci1zdHlsZS1uZWdhdGl2ZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAg
ICAgICAgImNvbG9yLXNjaGVtZSI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAog
ICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxMjksNiArNjE3OSwxNiBAQAogICAgICAgICAg
ICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy10cmFuc2Zvcm1zLTEvI3By
b3BkZWYtcGVyc3BlY3RpdmUtb3JpZ2luIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAg
ICAgICAicHJlZml4IjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRl
clN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAg
ICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3Nz
LWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1wcmVmaXgiCisgICAg
ICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXByaW50LWNvbG9yLWFkanVz
dCI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgInZhbHVl
cyI6IFsKQEAgLTYxMzcsNiArNjE5NywxNiBAQAogICAgICAgICAgICAgXSwKICAgICAgICAgICAg
ICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgogICAgICAgICB9LAorICAgICAgICAicmFuZ2UiOiB7
CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAor
ICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tp
cC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0
aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMi
LAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3Vu
dGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXJhbmdlIgorICAgICAgICAgICAgfQorICAgICAg
ICB9LAogICAgICAgICAiLXdlYmtpdC1ydGwtb3JkZXJpbmciOiB7CiAgICAgICAgICAgICAiaW5o
ZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCkBAIC02MTQ5LDYgKzYyMTks
MTYgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVzIjogIm5vbi1zdGFuZGFy
ZCIKICAgICAgICAgfSwKKyAgICAgICAgInN1ZmZpeCI6IHsKKyAgICAgICAgICAgICJydW50aW1l
LWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAg
ICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJs
IjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1z
dHlsZS1zdWZmaXgiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0
LXN2Zy1zaGFkb3ciOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAg
ICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0cnVlCkBAIC02OTcxLDYgKzcwNTEsMTYgQEAK
ICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mtc2hhcGVz
LyNwcm9wZGVmLXNoYXBlLWltYWdlLXRocmVzaG9sZCIKICAgICAgICAgICAgIH0KICAgICAgICAg
fSwKKyAgICAgICAgInN5c3RlbSI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNz
c0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjog
eworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5
IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVt
IgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC10YXAtaGlnaGxp
Z2h0LWNvbG9yIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAg
ICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtNzE0MSw2ICs3MjMxLDExIEBACiAgICAgICAg
ICAgICAibG9uZ25hbWUiOiAiQ1NTIEdlbmVyYXRlZCBDb250ZW50IE1vZHVsZSIsCiAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29udGVudC0zLyIKICAgICAg
ICAgfSwKKyAgICAgICAgImNzcy1jb3VudGVyLXN0eWxlcyI6IHsKKyAgICAgICAgICAgICJzaG9y
dG5hbWUiOiAiQ1NTIENvdW50ZXIgU3R5bGVzIiwKKyAgICAgICAgICAgICJsb25nbmFtZSI6ICJD
U1MgQ291bnRlciBTdHlsZXMgTW9kdWxlIiwKKyAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93
d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zIgorICAgICAgICB9LAogICAgICAgICAi
Y3NzLWRldmljZS1hZGFwdCI6IHsKICAgICAgICAgICAgICJzaG9ydG5hbWUiOiAiQ1NTIERldmlj
ZSBBZGFwdGF0aW9uIiwKICAgICAgICAgICAgICJsb25nbmFtZSI6ICJDU1MgRGV2aWNlIEFkYXB0
YXRpb24gTW9kdWxlIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXgg
ZmQ0Zjg1NmZjZGQxNmYyYjY0Mjk3NjNmMGU1N2M2OGE0NTQyNjJlYi4uZDg0ZTk4N2JlMjA5NWJi
ZGFkZjZkOTI2NmNhYzBmNDM5ZmZkMTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KQEAgLTE1MDQsNiArMTUwNCwyNCBAQCBmcm9tLWZvbnQKIHN0YW5kYXJkCiBoaWdo
CiAKKy8vIEBjb3VudGVyLXN0eWxlIGBzeXN0ZW1gIGRlc2NyaXB0b3IgdmFsdWVzCisvLyBodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lz
dGVtCitjeWNsaWMKK251bWVyaWMKKy8vIGFscGhhYmV0aWMKK3N5bWJvbGljCithZGRpdGl2ZQor
Ly8gZml4ZWQKK2V4dGVuZHMKKworLy8gQGNvdW50ZXItc3R5bGUgYHNwZWFrLWFzYCBkZXNjcmlw
dG9yIHZhbHVlcworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0z
LyNjb3VudGVyLXN0eWxlLXNwZWFrLWFzCisvLyBhdXRvCitidWxsZXRzCitudW1iZXJzCit3b3Jk
cworLy8gc3BlbGwtb3V0CisKIC8vIEBzdXBwb3J0cyBzZWxlY3RvcigpCiAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbmRpdGlvbmFsLTQvI3R5cGVkZWYtc3VwcG9ydHMtc2VsZWN0
b3ItZm4KIHNlbGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCmluZGV4IDc3NjFmNDMzOWY4YTI0ZWJjN2EzYmM5NDljMzg3ODJiOTUyMzE1
NGUuLjIyNjI3YzIyNzFmNWY1MGU5MjIzM2U3ZTE4MTFlODczZTY4OWZkMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00NDM2LDE1
ICs0NDM2LDIxOSBAQCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVydHlQ
YXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKAogICAgIHJldHVybiBudWxscHRy
OwogfQogCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2Nv
dW50ZXItc3R5bGUtc3lzdGVtCitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25z
dW1lQ291bnRlclN0eWxlU3lzdGVtKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAg
IGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQ3ljbGljLCBDU1NWYWx1ZU51
bWVyaWMsIENTU1ZhbHVlQWxwaGFiZXRpYywgQ1NTVmFsdWVTeW1ib2xpYywgQ1NTVmFsdWVBZGRp
dGl2ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gaWRlbnQ7CisKKyAgICBpZiAoYXV0byBpZGVu
dCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUZpeGVkPihyYW5nZSkpIHsKKyAgICAgICAgaWYgKHJh
bmdlLmF0RW5kKCkpCisgICAgICAgICAgICByZXR1cm4gaWRlbnQ7CisgICAgICAgIC8vIElmIHdl
IGhhdmUgdGhlIGBmaXhlZGAga2V5d29yZCBidXQgdGhlIHJhbmdlIGlzIG5vdCBhdCB0aGUgZW5k
LCB0aGUgbmV4dCB0b2tlbiBtdXN0IGJlIGEgaW50ZWdlci4KKyAgICAgICAgLy8gSWYgaXQncyBu
b3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBmaXJzdFN5bWJvbFZhbHVl
ID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgICAgICBpZiAoIWZpcnN0U3ltYm9sVmFsdWUp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1p
dGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9uTnVsbCgpLCBmaXJzdFN5bWJvbFZhbHVlLnJl
bGVhc2VOb25OdWxsKCkpOworICAgIH0KKworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlk
ZW50PENTU1ZhbHVlRXh0ZW5kcz4ocmFuZ2UpKSB7CisgICAgICAgIC8vIFRoZXJlIG11c3QgYmUg
YSBgPGNvdW50ZXItc3R5bGUtbmFtZT5gIGZvbGxvd2luZyB0aGUgYGV4dGVuZHNgIGtleXdvcmQu
IElmIHRoZXJlIGlzbid0LCB0aGlzIHZhbHVlIGlzIGludmFsaWQuCisgICAgICAgIGF1dG8gcGFy
c2VkQ291bnRlclN0eWxlTmFtZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVOYW1lKHJhbmdlKTsKKyAg
ICAgICAgaWYgKCFwYXJzZWRDb3VudGVyU3R5bGVOYW1lKQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYWx1ZVBhaXIoaWRlbnQucmVs
ZWFzZU5vbk51bGwoKSwgcGFyc2VkQ291bnRlclN0eWxlTmFtZS5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlwZWRlZi1zeW1ib2wKK3N0YXRpYyBSZWZQdHI8Q1NT
VmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2woQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFu
Z2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgaWYgKGF1dG8gc3Ry
aW5nID0gY29uc3VtZVN0cmluZyhyYW5nZSkpCisgICAgICAgIHJldHVybiBzdHJpbmc7CisgICAg
aWYgKGF1dG8gY3VzdG9tSWRlbnQgPSBjb25zdW1lQ3VzdG9tSWRlbnQocmFuZ2UpKQorICAgICAg
ICByZXR1cm4gY3VzdG9tSWRlbnQ7CisgICAgLy8gVGhlcmUgYXJlIGluaGVyZW50IGRpZmZpY3Vs
dGllcyBpbiBzdXBwb3J0aW5nIDxpbWFnZT4gc3ltYm9scyBpbiBAY291bnRlci1zdHlsZXMsIHNv
IGdhdGUgdGhlbSBiZWhpbmQgYQorICAgIC8vIGZsYWcgZm9yIG5vdy4gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY0NQorICAgIGlmIChjb250ZXh0LmNvdW50ZXJT
dHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpIHsKKyAgICAgICAgaWYgKGF1dG8gaW1hZ2Ug
PSBjb25zdW1lSW1hZ2UocmFuZ2UsIGNvbnRleHQsIHsgQWxsb3dlZEltYWdlVHlwZTo6VVJMRnVu
Y3Rpb24sIEFsbG93ZWRJbWFnZVR5cGU6OkdlbmVyYXRlZEltYWdlIH0pKQorICAgICAgICAgICAg
cmV0dXJuIGltYWdlOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLW5lZ2F0
aXZlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlTmVnYXRpdmUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRl
eHQpCit7CisgICAgYXV0byBwcmVwZW5kVmFsdWUgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9s
KHJhbmdlLCBjb250ZXh0KTsKKyAgICBpZiAoIXByZXBlbmRWYWx1ZSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBwcmVwZW5k
VmFsdWU7CisKKyAgICBhdXRvIGFwcGVuZFZhbHVlID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJv
bChyYW5nZSwgY29udGV4dCk7CisgICAgaWYgKCFhcHBlbmRWYWx1ZSB8fCAhcmFuZ2UuYXRFbmQo
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2
YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgdmFsdWVz
LT5hcHBlbmQocHJlcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHZhbHVlcy0+YXBw
ZW5kKGFwcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiB2YWx1ZXM7Cit9
CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRl
ci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3VtZUNv
dW50ZXJTdHlsZVJhbmdlQm91bmQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAg
aWYgKGF1dG8gaW5maW5pdGUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVJbmZpbml0ZT4ocmFuZ2Up
KQorICAgICAgICByZXR1cm4gaW5maW5pdGU7CisgICAgaWYgKGF1dG8gaW50ZWdlciA9IGNvbnN1
bWVJbnRlZ2VyKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGludGVnZXI7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMt
My8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNv
dW50ZXJTdHlsZVJhbmdlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChh
dXRvIGF1dG9WYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUF1dG8+KHJhbmdlKSkKKyAgICAg
ICAgcmV0dXJuIGF1dG9WYWx1ZTsKKworICAgIGF1dG8gcmFuZ2VMaXN0ID0gQ1NTVmFsdWVMaXN0
OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgYXV0byBsb3dlckJv
dW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQocmFuZ2UpOworICAgICAgICBpZiAo
IWxvd2VyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgYXV0byB1
cHBlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQocmFuZ2UpOworICAgICAg
ICBpZiAoIXVwcGVyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAg
ICAvLyBJZiB0aGUgbG93ZXIgYm91bmQgb2YgYW55IHJhbmdlIGlzIGhpZ2hlciB0aGFuIHRoZSB1
cHBlciBib3VuZCwgdGhlIGVudGlyZSBkZXNjcmlwdG9yIGlzIGludmFsaWQgYW5kIG11c3QgYmUK
KyAgICAgICAgLy8gaWdub3JlZC4KKyAgICAgICAgaWYgKGxvd2VyQm91bmQtPmlzTnVtYmVyKCkg
JiYgdXBwZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiBsb3dlckJvdW5kLT5pbnRWYWx1ZSgpID4gdXBw
ZXJCb3VuZC0+aW50VmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICByYW5nZUxpc3QtPmFwcGVuZChjcmVhdGVQcmltaXRpdmVWYWx1ZVBhaXIobG93ZXJCb3VuZC5y
ZWxlYXNlTm9uTnVsbCgpLCB1cHBlckJvdW5kLnJlbGVhc2VOb25OdWxsKCksIFBhaXI6OklkZW50
aWNhbFZhbHVlRW5jb2Rpbmc6OkRvTm90Q29hbGVzY2UpKTsKKyAgICB9IHdoaWxlIChjb25zdW1l
Q29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgaWYgKCFyYW5nZS5hdEVuZCgp
IHx8ICFyYW5nZUxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gcmFuZ2VMaXN0OworfQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50
ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBj
b25zdW1lQ291bnRlclN0eWxlUGFkKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBD
U1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxDU1NWYWx1ZT4gaW50ZWdl
cjsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbDsKKyAgICB3aGlsZSAoIWludGVnZXIgfHwg
IXN5bWJvbCkgeworICAgICAgICBpZiAoIWludGVnZXIpIHsKKyAgICAgICAgICAgIGludGVnZXIg
PSBjb25zdW1lSW50ZWdlcihyYW5nZSwgVmFsdWVSYW5nZU5vbk5lZ2F0aXZlKTsKKyAgICAgICAg
ICAgIGlmIChpbnRlZ2VyKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9Cisg
ICAgICAgIGlmICghc3ltYm9sKSB7CisgICAgICAgICAgICBzeW1ib2wgPSBjb25zdW1lQ291bnRl
clN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgICAgIGlmIChzeW1ib2wpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIGlmICghcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgYXV0byB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVk
KCk7CisgICAgdmFsdWVzLT5hcHBlbmQoaW50ZWdlci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB2
YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5vbk51bGwoKSk7CisgICAgcmV0dXJuIHZhbHVl
czsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNj
b3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3Vu
dGVyU3R5bGVTeW1ib2xzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8gc3ltYm9scyA9IENTU1ZhbHVlTGlzdDo6
Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKKyAg
ICAgICAgYXV0byBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250
ZXh0KTsKKyAgICAgICAgaWYgKCFzeW1ib2wpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgc3ltYm9scy0+YXBwZW5kKHN5bWJvbC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9
CisgICAgaWYgKCFzeW1ib2xzLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgcmV0dXJuIHN5bWJvbHM7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291
bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeW1ib2xzCitzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ291bnRlclN0eWxlQWRkaXRpdmVTeW1ib2xzKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8g
dmFsdWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIFJlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gbGFzdEludGVnZXI7CisgICAgZG8geworICAgICAgICBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGludGVnZXI7CisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4g
c3ltYm9sOworICAgICAgICB3aGlsZSAoIWludGVnZXIgfHwgIXN5bWJvbCkgeworICAgICAgICAg
ICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAgICAgICAgaW50ZWdlciA9IGNvbnN1bWVJbnRl
Z2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICAgICAgICAgIGlmIChp
bnRlZ2VyKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICghc3ltYm9sKSB7CisgICAgICAgICAgICAgICAgc3ltYm9sID0gY29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAgICAgICAgICAgICAgaWYg
KHN5bWJvbCkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsYXN0
SW50ZWdlcikgeworICAgICAgICAgICAgLy8gVGhlIGFkZGl0aXZlIHR1cGxlcyBtdXN0IGJlIHNw
ZWNpZmllZCBpbiBvcmRlciBvZiBzdHJpY3RseSBkZXNjZW5kaW5nCisgICAgICAgICAgICAvLyB3
ZWlnaHQ7IG90aGVyd2lzZSwgdGhlIGRlY2xhcmF0aW9uIGlzIGludmFsaWQgYW5kIG11c3QgYmUg
aWdub3JlZC4KKyAgICAgICAgICAgIGlmIChpbnRlZ2VyLT5pbnRWYWx1ZSgpID49IGxhc3RJbnRl
Z2VyLT5pbnRWYWx1ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICB9CisgICAgICAgIGxhc3RJbnRlZ2VyID0gaW50ZWdlcjsKKyAgICAgICAgdmFsdWVzLT5hcHBl
bmQoaW50ZWdlci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgdmFsdWVzLT5hcHBlbmQoc3lt
Ym9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwgIXZhbHVlcy0+
bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiB2YWx1ZXM7Cit9
CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRl
ci1zdHlsZS1zcGVhay1hcworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJT
dHlsZVNwZWFrQXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8g
c3BlYWtBc0lkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQXV0bywgQ1NTVmFsdWVCdWxsZXRz
LCBDU1NWYWx1ZU51bWJlcnMsIENTU1ZhbHVlV29yZHMsIENTU1ZhbHVlU3BlbGxPdXQ+KHJhbmdl
KSkKKyAgICAgICAgcmV0dXJuIHNwZWFrQXNJZGVudDsKKyAgICByZXR1cm4gY29uc3VtZUNvdW50
ZXJTdHlsZU5hbWUocmFuZ2UpOworfQorCiBSZWZQdHI8Q1NTVmFsdWU+IENTU1Byb3BlcnR5UGFy
c2VyOjpwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIENT
U1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQogewogICAgIGlmICghY29udGV4dC5jb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGZ1bmN0aW9u
IHdoZW4gd2UgY2FuIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAgIFVOVVNF
RF9QQVJBTShwcm9wSWQpOwotICAgIFVOVVNFRF9QQVJBTShyYW5nZSk7Ci0gICAgVU5VU0VEX1BB
UkFNKGNvbnRleHQpOwotICAgIHJldHVybiBudWxscHRyOworCisgICAgc3dpdGNoIChwcm9wSWQp
IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3lzdGVtOgorICAgICAgICByZXR1cm4gY29uc3VtZUNv
dW50ZXJTdHlsZVN5c3RlbShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZlOgor
ICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZU5lZ2F0aXZlKHJhbmdlLCBjb250ZXh0
KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgIGNhc2UgQ1NTUHJvcGVydHlTdWZm
aXg6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250
ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIHJldHVybiBjb25zdW1l
Q291bnRlclN0eWxlUmFuZ2UocmFuZ2UpOworICAgIGNhc2UgQ1NTUHJvcGVydHlQYWQ6CisgICAg
ICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlUGFkKHJhbmdlLCBjb250ZXh0KTsKKyAgICBj
YXNlIENTU1Byb3BlcnR5RmFsbGJhY2s6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0
eWxlTmFtZShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIHJl
dHVybiBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9scyhyYW5nZSwgY29udGV4dCk7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3Vu
dGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJv
cGVydHlTcGVha0FzOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZVNwZWFrQXMo
cmFuZ2UpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiB9CiAKIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgY29uc3Qg
Q1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4
IGE3OWMwZWE5ZTcyNGI2ZGM0Y2E2Y2QwNTBkMzdjNzhiYjJiMTQ2MzUuLjhmMDA1NzJhMWYwMmI2
ZTY1NWIyMDg3ZWM5YzBhNTA3NzFlODkxOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApA
QCAtMjU2LDYgKzI1NiwxMCBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcgOiBJ
V2ViUHJlZmVyZW5jZXNQcml2YXRlNgogICAgIEhSRVNVTFQgd2ViU1FMRW5hYmxlZChbb3V0LCBy
ZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgQ1NTSW5kaXZpZHVhbFRyYW5zZm9y
bVByb3BlcnRpZXNFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJF
U1VMVCBzZXRDU1NJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydGllc0VuYWJsZWQoW2luXSBCT09M
IGVuYWJsZWQpOworICAgIEhSRVNVTFQgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHNldENTU0NvdW50ZXJTdHls
ZUF0UnVsZXNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIENTU0NvdW50
ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFi
bGVkKTsKKyAgICBIUkVTVUxUIHNldENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0Vu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQogCiBbdXVpZCgwNEQ0QUFFMS01RDAxLTRDQ0Qt
QjQ2RS1DMDIyRjEwQTY4MjYpXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA5OWM2NjQ5N2I4MTRjMjM3NDc5NDAyZDgwYTRh
NzQxZTUwYWRiNTQzLi4wNWE0Y2Q2ODkxNzExMWYyNDcyMjI4NDRiNmMzYjU1ZDI5YmU1N2M3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaApAQCAtMjI4LDYgKzIyOCwxMCBAQAogCiAjZGVmaW5lIFdlYktpdFdlYlNRTEVuYWJsZWRQ
cmVmZXJlbmNlS2V5ICJXZWJLaXRXZWJTUUxFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdENTU0Nv
dW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTQ291bnRlclN0
eWxlQXRSdWxlc0VuYWJsZWQiCisKKyNkZWZpbmUgV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxl
SW1hZ2VTeW1ib2xzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU0NvdW50ZXJTdHlsZUF0
UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQiCisKICNkZWZpbmUgV2ViS2l0Q1NTSW5kaXZpZHVhbFRy
YW5zZm9ybVByb3BlcnRpZXNFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTSW5kaXZpZHVh
bFRyYW5zZm9ybVByb3BlcnRpZXNFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdFNwZWVjaFJlY29n
bml0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFNwZWVjaFJlY29nbml0aW9uRW5hYmxl
ZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNw
cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCA4Yzhl
Y2QzYTYyZjgyODYyYzViMDdmNTc4YTc5MjBjOTE3MDdlOGJlLi5mOWEyMWNmNmI1OTcyMWY0NGMx
MzVlOTZiZTY3YTdkMzk3YzQ0OTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCkBAIC0zNjgsNiArMzY4LDEwIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMuZ2V0KCksIENGU1RSKFdlYktpdENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVz
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAKKyAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cy5nZXQoKSwgQ0ZTVFIoV2ViS2l0Q1NTQ291bnRlclN0eWxlQXRS
dWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKworICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLmdldCgpLCBDRlNUUihXZWJLaXRDU1NDb3VudGVyU3R5
bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxz
ZSk7CisKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cy5nZXQoKSwgQ0ZTVFIoV2Vi
S2l0U3BlZWNoUmVjb2duaXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxz
ZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cy5nZXQoKSwgQ0ZTVFIoV2Vi
S2l0T3ZlcnNjcm9sbEJlaGF2aW9yRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFs
c2UpOwpAQCAtMjU3OCw2ICsyNTgyLDM0IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENT
U0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVzRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAg
cmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OkNTU0NvdW50ZXJTdHls
ZUF0UnVsZXNFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVk
KQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9y
S2V5KFdlYktpdENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkUHJlZmVyZW5jZUtleSk7Cisg
ICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50
ZXJTdHlsZUF0UnVsZXNFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUo
V2ViS2l0Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVk
KTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Q1NTQ291
bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQor
eworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5h
YmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNV
TFQgV2ViUHJlZmVyZW5jZXM6OnNldENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0Vu
YWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRDU1NDb3VudGVy
U3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7Cisg
ICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNwZWVjaFJlY29n
bml0aW9uRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQogewogICAgIGlmICghZW5hYmxlZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDA5N2QwNzAzODE3
MGMyMmQyYmZiZDI2Y2JlNTI0ZTdhMDNjMjhlMWIuLmNhZTQ0Y2I5MmE4NjlkNTY3ODFkZjA1NDUy
NDM3MzI4ODg4ZDRkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
aApAQCAtMjk3LDYgKzI5NywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldFdlYlNRTEVuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVzRW5hYmxl
ZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNl
dENTU0luZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0aWVzRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJs
ZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5h
YmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHNldENTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQoQk9PTCk7CiAKICAg
ICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlOAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBhbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKF9PdXRfIEJPT0wqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggYWJiYWQ0ZGNmMWIxODM5ZGE4MDEzOTZj
YmFhNjc4ODBhMTQzMGVjMy4uNTdjMjQyZTdjN2Q5MDlkNjg5YzZjZjA5ZDZmMjA5YzQ3Y2Q4OGNi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTUyNzgsNiArNTI3OCwxNiBA
QCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy5zZXRD
U1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIg
PSBwcmVmc1ByaXZhdGUtPkNTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKCZlbmFibGVkKTsK
KyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNl
dENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKCEhZW5hYmxlZCk7CisKKyAgICBociA9IHBy
ZWZzUHJpdmF0ZS0+Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCgmZW5h
YmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBzZXR0
aW5ncy5zZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKCEhZW5hYmxl
ZCk7CisKICAgICBociA9IHByZWZzUHJpdmF0ZS0+bGlua1ByZWxvYWRFbmFibGVkKCZlbmFibGVk
KTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMzMjNiNDQ2NDlkMTI5ZjE3
ZmRjMDFiZmUyYTliZmMwMmNkMmJiYzguLjYxY2RlZTYxZGFiYWY0MDcyYzMwMWMzN2Q5ZDVjNzVh
YjRlYmU1MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNC0xOSAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5v
QHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNlIEBj
b3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdE9wdGlvbnM6OmRlZmF1bHRzKToKKyAgICAgICAgRml4IHR5cG8gKG1pc3Np
bmcgJ3MnKS4gIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkLCBub3QKKyAgICAgICAgQ1NT
Q291bnRlclN0eWxlQXRSdWxlRW5hYmxlZC4KKwogMjAyMS0wNC0xOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHRlbXBvcmFyaWx5IGRpc2Fi
bGUgR1BVUHJvY2Vzcy5ESVNBQkxFRF9XZWJQcm9jZXNzVGVybWluYXRpb25BZnRlclRvb01hbnlH
UFVQcm9jZXNzQ3Jhc2hlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGZi
OGEyMzJhY2NhYzUxZDYzMjQ2ZGQ0Mzk1ZTEyNGMwOTk2ZjUwZGEuLmVlMGUzY2ViYzBmN2NmZWQ5
ODlmMWM1MDJkZTMzZjU5NTRlMDg4YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAKQEAgLTEzMyw3ICsxMzMsNyBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpk
ZWZhdWx0cygpCiAgICAgICAgICAgICB7ICJBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQiLCBmYWxz
ZSB9LAogICAgICAgICAgICAgeyAiQXR0YWNobWVudEVsZW1lbnRFbmFibGVkIiwgZmFsc2UgfSwK
ICAgICAgICAgICAgIHsgIkNTU0NvbnRhaW5tZW50RW5hYmxlZCIsIGZhbHNlIH0sCi0gICAgICAg
ICAgICB7ICJDU1NDb3VudGVyU3R5bGVBdFJ1bGVFbmFibGVkIiwgZmFsc2UgfSwKKyAgICAgICAg
ICAgIHsgIkNTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAg
ICAgIHsgIkNTU0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQiLCBmYWxzZSB9
LAogICAgICAgICAgICAgeyAiQ1NTTG9naWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAg
ICAgeyAiQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlIH0sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZjcwZDEzZTg1YmYzYzlkNDBkODgzNWNjMmIyYTRhNjM4YTZkMDIzZS4uMjIwMzg4MzczYjg2ZTQ5
ZjNiMmFjOTA5NDkwYWQ2ODJmYWE3MmQyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0
LTE5ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAg
W2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGVu
c3VyaW5nIDxpbWFnZT4gQGNvdW50ZXItc3R5bGUgc3ltYm9sIHZhbHVlcyBjYW5ub3QgYmUKKyAg
ICAgICAgcGFyc2VkIHdoZW4gdGhlIGBjb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFi
bGVkYCBmZWF0dXJlIGZsYWcKKyAgICAgICAgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgKiB3ZWJl
eHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1i
b2xzLW5vdC1leHBvc2VkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTE5ICBEaWVnbyBQaW5vIEdh
cmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVucmV2aWV3ZWQgdGVz
dCBnYXJkZW5pbmcuIFVwZGF0ZSBiYXNlbGluZXMgYW5kIHRlc3QgZXhwZWN0YXRpb25zIGFmdGVy
IHIyMjQ3OTEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0NGJmNzFkMzZhNjZm
NTQ0NTU1N2RjMmEzYzE4YmM1ZDgyMTYzZjE2Li5kNDIwMDk4OTI0MTAwOTgxY2ViMzM0NmJmNzA3
ZDAyYTkzOTY4M2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NiBAQAorMjAyMS0wNC0xOSAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29t
PgorCisgICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQYXJzaW5nIGZvciBhbGwgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMgaXMgaW1wbGVtZW50
ZWQgd2l0aCB0aGlzCisgICAgICAgIHBhdGNoLCBzbyBtYXJrIG1vcmUgdGVzdHMgcGFzc2luZy4K
KworICAgICAgICBZb3UnbGwgbm90aWNlIHRoYXQgc29tZSBAY291bnRlci1zdHlsZSBkZXNjcmlw
dG9ycyBpbXBsZW1lbnRlZCBpbiB0aGlzCisgICAgICAgIHBhdGNoIGRpZCBub3QgZ2FpbiBhbnkg
cGFzc2luZyB0ZXN0cyAoZS5nLiBgcGFkYCwgYG5lZ2F0aXZlYCkuICBJbiBhbGwKKyAgICAgICAg
b2YgdGhlc2UgY2FzZXMsIHRoZSBleHBlY3RlZCByZXN1bHRzIGNvbnRhaW4gYSA8c3RyaW5nPiB2
YWx1ZSwgYW5kIHdlCisgICAgICAgIGZhaWwgb25seSBiZWNhdXNlIHdlIGluY29ycmVjdGx5IGRv
bid0IHNlcmlhbGl6ZSB0aGVzZSA8c3RyaW5nPiB2YWx1ZXMKKyAgICAgICAgd2l0aCBxdW90ZXMu
ICBJIGhhdmUgbWFudWFsbHkgY29uZmlybWVkIGluIGFsbCBjYXNlcyB0aGF0IHRoZXNlIHZhbHVl
cworICAgICAgICBhcmUgcHJvcGVybHkgcGFyc2VkLCBzbyBpdCdzIGp1c3QgdGhlIHNlcmlhbGl6
YXRpb24gdGhhdCdzIGluY29ycmVjdC4KKworICAgICAgICBUaGVzZSA8c3RyaW5nPiB2YWx1ZXMg
c2VyaWFsaXplIHdpdGhvdXQgcXVvdGVzIGJlY2F1c2UgV2ViS2l0J3MgcmVwcmVzZW50YXRpb24K
KyAgICAgICAgb2YgY3VzdG9tIGlkZW50aWZpZXJzIGlzIG5vdCBhIHNlcGFyYXRlIHR5cGUsIGJ1
dCBpbnN0ZWFkIG92ZXJsb2FkZWQgb250byB0aGUKKyAgICAgICAgQ1NTX1NUUklORyB0eXBlLiAg
VGhpcyBtZWFucyB0aGF0IGR1cmluZyBzZXJpYWxpemF0aW9uIHRpbWUsIFdlYktpdCBtdXN0IGd1
ZXNzCisgICAgICAgIHdoZXRoZXIgaXQgaXMgYWN0dWFsbHkgc2VyaWFsaXppbmcgYSBzdHJpbmcg
KGFuZCBpbmNsdWRlIHF1b3RlcyBpZiBzbyksIG9yIGlmCisgICAgICAgIGl0J3Mgc2VyaWFsaXpp
bmcgYSBjdXN0b20gaWRlbnQgKGxlYXZpbmcgb2ZmIHF1b3RlcyBpZiBzbykuCisKKyAgICAgICAg
UmVsZXZhbnQgY29kZSBzbmlwcGV0OgorCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJL
aXQvV2ViS2l0L2Jsb2IvMzZjYWVlYzA3OTc1YmQ1ZjQ3ZGI4YWM2Yjc0OWMyNzg3MjMwYTQ2MS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWFya3VwLmNwcCNMMTUzI0wxNjEKKworICAgICAgICBSZWxl
dmFudCBjaGFuZ2Vsb2cgc25pcHBldCBmcm9tIERhdmlkIEh5YXR0LCAyMDE2LTEyLTA3OgorCisg
ICAgICAgID4gV2UgYWxzbyBvdmVybG9hZCBDU1NfU1RSSU5HIHByaW1pdGl2ZSB2YWx1ZSB0eXBl
IGFuZCBoYXZlIGl0IGFjdCBhcyBib3RoIGEgc3RyaW5nCisgICAgICAgID4gYW5kIGEgY3VzdG9t
IGlkZW50aWZpZXIuIFRoaXMgaXMgbGFtZSwgc2luY2UgdGhlIHBhcnNlciBzaG91bGQgaGF2ZSBt
YWRlIHR3byBkaWZmZXJlbnQKKyAgICAgICAgPiB0eXBlcyBvZiBvYmplY3RzIGluc3RlYWQsIGJ1
dCBzaW5jZSBvdXIgcGFyc2VyIGRvZXNuJ3QgZG8gdGhhdCB5ZXQsIEkgYWRkZWQgYSBzZXJpYWxp
emVBc1N0cmluZ09yQ3VzdG9tSWRlbnQKKyAgICAgICAgPiB0aGF0IHByZXNlcnZlcyBvdXIgb2xk
IGJlaGF2aW9yIG9mICJxdW90ZSB0aGUgc3RyaW5nIG9ubHkgaWYgbmVlZGVkLiIgSW4gdGhpcyBj
YXNlIHdoYXQKKyAgICAgICAgPiB0aGF0IHJlYWxseSBtZWFudCB3YXMgIlRyeSB0byBndWVzcyB0
aGF0IHdlIHdlcmUgb3JpZ2luYWxseSBhIGN1c3RvbSBpZGVudCBhbmQgbGVhdmUgb2ZmCisgICAg
ICAgID4gcXVvdGVzIGlmIHNvLiIgVGhpcyBmdW5jdGlvbiB3aWxsIGdvIGF3YXkgb25jZSB3ZSBw
cm9wZXJseSBjcmVhdGUgQ1NTU3RyaW5nVmFsdWVzIGFuZAorICAgICAgICA+IENTU0N1c3RvbUlk
ZW50VmFsdWVzIGluc3RlYWQgb2YgdHVybmluZyB0aGUgbGF0dGVyIGludG8gc3RyaW5ncy4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50
ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1z
eW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3Vu
dGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0t
c3ludGF4LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0xOSAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbc2VsZWN0b3JzXSBTY3JpcHQgZm9jdXMg
YW5kIDpmb2N1cy12aXNpYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1m
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFjay1l
eHBlY3RlZC50eHQKaW5kZXggNTZhZjllMWQ0ODRlNWM0NWQ0N2NhZDMzN2JjNWE3ZDBkYTEwNzQ3
OS4uNzU5NDc4OGUxYzIwOWMwOTljZTJiZTNkZTc5NDdhN2UzZDUyMjgwOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAK
IAotRkFJTCBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGJhcicgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdm
YWxsYmFjazogYmFyJyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6ICJi
YXIiJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogbm9uZScgaXMg
aW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGluaXRpYWwnIGlzIGludmFs
aWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3lu
dGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgt
c3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCAwOTJkN2E5MWNkOWJlOTJhZDQxYTI4MDMzYjhlNTFm
NjNlNWMxYTMwLi44N2M2YTA2YTZiNDg0YmZlMDIyNzk3MDdkMDJhNTZmM2UwMjI1YTM4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50
YXgtZXhwZWN0ZWQudHh0CkBAIC03LDIwICs3LDIwIEBAIEZBSUwgQGNvdW50ZXItc3R5bGUgJ3By
ZWZpeDogImluaGVyaXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
CiBGQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICJpbmhlcml0IicgaXMgdmFsaWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCiBGQUlMIEBjb3VudGVyLXN0eWxl
ICdwcmVmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQogRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiAidW5zZXQiJyBpcyB2
YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZCBhc3NlcnRfbm90X2Vx
dWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZp
eDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogY3VzdG9tLWlkZW50JyBp
cyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiBjdXN0b20taWRlbnQnIGlzIHZh
bGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGluaXRpYWwnIGlzIGludmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogaW5pdGlhbCcgaXMgaW52YWxpZAogUEFTUyBAY291
bnRlci1zdHlsZSAncHJlZml4OiBpbmhlcml0JyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0
eWxlICdzdWZmaXg6IGluaGVyaXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3By
ZWZpeDogdW5zZXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdW5z
ZXQnIGlzIGludmFsaWQKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKCJodHRwczov
L2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBk
aXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVybCgiaHR0
cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiB1cmwo
aHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVy
bChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFs
czogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDog
bGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiBs
aW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVy
bCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzdWZmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZh
bGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVybChodHRwczovL2V4YW1wbGUuY29t
L2Zvby5wbmcpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwoaHR0
cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkCitQQVNTIEBj
b3VudGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpJyBpcyB2
YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiAnIGlzIGludmFsaWQKIFBBU1MgQGNv
dW50ZXItc3R5bGUgJ3N1ZmZpeDogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdw
cmVmaXg6IGZvbyBiYXInIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVy
LXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDQyNzM3MmUxODAyMzE1NWJmM2FkNDY1
ZjBlYmE4NmQyNjNkNzYxZDMuLjM0MzcxMDE5OTgwNzJkZDQ2NjkxNWQyZWU5NjNiYThiODU0Mzc3
MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVj
dGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTog
YXV0bycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
Ci1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgaW5maW5pdGUnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IDAgaW5m
aW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAt
MQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAsIDUgMTAsIDEwMCBpbmZp
bml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
Ci1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMTAsIDUgMjAsIDE1IGluZmlu
aXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
K1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBpcyB2YWxpZAorUEFTUyBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIGluZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxl
ICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jhbmdl
OiBpbmZpbml0ZSAwLCA1IDEwLCAxMDAgaW5maW5pdGUnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdyYW5nZTogaW5maW5pdGUgMTAsIDUgMjAsIDE1IGluZmluaXRlJyBpcyB2YWxpZAog
UEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6ICcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1z
dHlsZSAncmFuZ2U6IDAgLTEnIGlzIGludmFsaWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nv
dW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3Vu
dGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZDNiM2U0M2M3ZjUx
Y2M4ZGIzMmYxN2VlMDgzYTkyNWU1ZDQ3NjU0YS4uYzYzZGY3NjNmZDUxYjM0NmMzM2RmNDUwZjZj
MTUyMjY4ZGNiZDQ1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWst
YXMtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVh
ay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiAKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3NwZWFrLWFzOiBhdXRvJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBidWxs
ZXRzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBudW1iZXJzJyBpcyB2YWxpZCBhc3NlcnRf
bm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUg
J3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxv
d2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGwtb3V0JyBp
cyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwg
QGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6
IHNwZWxsb3V0JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBhdXRvJyBpcyB2YWxpZAorUEFT
UyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMnIGlzIHZhbGlkCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdzcGVhay1hczogbnVtYmVycycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5
bGUgJ3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFr
LWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczog
YmFyJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsb3V0JyBp
cyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMgbnVtYmVycycg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IG5vbmUnIGlzIGludmFs
aWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBpbml0aWFsJyBpcyBpbnZhbGlkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0
CmluZGV4IGZlMWVmYzg3MmM0NTNjODg5YmVhMWJmYzhlN2QzZTNjY2E3NmJiMTcuLjU3NjFlYTFk
ODI3ODlhMWYwOTQwNzhkYTViZGE4NDQ5MGIzZmJkMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBA
CiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3ljbGljJyBpcyB2YWxpZCBhc3NlcnRf
bm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUg
J3N5c3RlbTogZml4ZWQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAxMDAnIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAtMScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IHN5
bWJvbGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUg
LTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWxwaGFiZXRpYycgaXMgdmFsaWQgYXNz
ZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0
eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlz
YWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhZGRpdGl2ZScg
aXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlM
IEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFyJyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5
c3RlbTogY3ljbGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhl
ZCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQgMTAwJyBpcyB2
YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAtMScgaXMgdmFsaWQKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMnIGlzIHZhbGlkCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdzeXN0ZW06IGFscGhhYmV0aWMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0
eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0
ZW06IGFkZGl0aXZlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBleHRl
bmRzIGJhcicgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZmxvYXQnIGlz
IGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3ljbGljIGN5Y2xpYycgaXMg
aW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBleHRlbmRzIG5vbmUnIGlzIGlu
dmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1p
bWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmV4
cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOWNmYjNjYzRhMzdlOWQ0M2Q4Y2JiMzdiNjRkODYwZTVkOTU2ZjAwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWlt
YWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIEBjb3VudGVyLXN0eWxlIGltYWdlIHN5bWJvbHMgYXJlIG5vdCBleHBvc2VkCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xz
LW5vdC1leHBvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUt
aW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkNTAyMGExZDZmZjE0
ZDk5NzAwNzgzMThjZTc1MTQxZTkwMDIwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1s
CkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkPXRydWUgQ1NTQ291bnRlclN0eWxlQXRS
dWxlSW1hZ2VTeW1ib2xzRW5hYmxlZD1mYWxzZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAY291bnRlci1z
dHlsZSBmb28geworICAgICAgICBzeXN0ZW06IGN5Y2xpYzsKKyAgICAgICAgc3VmZml4OiAiICI7
CisgICAgICAgIHN5bWJvbHM6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpOworICAgIH0K
Kzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnN0
IGNzc1J1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXMKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhjc3NSdWxlcy5sZW5ndGgsIDEsICdTaG91bGRcJ3ZlIGJlZW4gYWJsZSB0byBw
YXJzZSBAY291bnRlci1zdHlsZS4nKQorICAgICAgICBhc3NlcnRfZXF1YWxzKGNzc1J1bGVzWzBd
LnN5bWJvbHMsICcnLCAnU2hvdWxkblwndCBoYXZlIGJlZW4gYWJsZSB0byBwYXJzZSBpbWFnZSBz
eW1ib2wgdmFsdWUgd2l0aCB0aGUgcnVudGltZSBmZWF0dXJlIGZsYWcgZGlzYWJsZWQuJykKKyAg
ICB9LCAnQGNvdW50ZXItc3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQnKQorPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426620</attachid>
            <date>2021-04-20 17:13:46 -0700</date>
            <delta_ts>2021-04-21 06:42:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210420191345.patch</filename>
            <type>text/plain</type>
            <size>55211</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODMxOGNlYTI2NjEwOGJi
MGEzMWJkMjMwOGM0NWM2YTJkZDZiODE3MC4uMTUzMTYzYTE3NmU5NzgwOGIxNDcxZDY0OGMzNGI1
YzdkMjNiODYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTIwICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIGFuZCBXUFRz
CisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKToKKyAgICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3IgcHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAg
ICAgIChXZWJDb3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nv
dW50ZXJTdHlsZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVy
U3R5bGVSdWxlOjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVS
dWxlOjpzZXRQYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0
RmFsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3lt
Ym9scyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2
ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3Bl
YWtBcyk6CisgICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9u
YWxpdHkgcmVxdWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmg6CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBn
ZXR0ZXIgYW5kIHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3Jp
cHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgIEFkZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFz
YCAKKyAgICAgICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lQ291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZU5lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJv
dW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6
OmNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNv
dW50ZXJTdHlsZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0
eWxlIGRlc2NyaXB0b3JzLgorCiAyMDIxLTA0LTIwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRh
bnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIExvdHMgb2Ygc3B1cmlvdXMgLVdub25udWxsIHdh
cm5pbmdzIHdpdGggR0NDIDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDUxMWY4OWU2NTBmOWI0ZDUyNThiNDJhZjJiODc5
YWE5NDlhNWVkNGMuLjAwYzZhNGIyYWUxOWFiYjQ2NDMxYTk3ZWUyODcwN2MzZmEyOTAxODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCkBAIC00MDAzLDYgKzQwMDMsMTggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAg
ICAgLyogVGhlc2UgYXJlIGludGVudGlvbmFsbHkgdW5pbXBsZW1lbnRlZCBiZWNhdXNlIHRoZXkg
YXJlIGFjdHVhbGx5IGRlc2NyaXB0b3JzIGZvciBAY291bnRlci1zdHlsZS4gKi8KKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVN5c3RlbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZl
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U3VmZml4OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlQYWQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRp
dGl2ZVN5bWJvbHM6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmltcGxlbWVu
dGVkIEBmb250LWZhY2UgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Jj
OgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZVJhbmdlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwCmluZGV4IDIyOWM0NTI0ZDFlZThhN2U4NDJjYjdl
YjRjN2Q1NTNkOTI4ZWE2MzYuLjQ3YTkwY2JkZDJmMDVlMjRlMzk5NTc5NTU3ODRmYTRmYmRlYzAw
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKQEAgLTI2
LDYgKzI2LDEyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0
eWxlUnVsZS5oIgogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJD
U1NTdHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiUGFp
ci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIAogU3R5bGVSdWxlQ291bnRlclN0eWxlOjpTdHlsZVJ1bGVDb3VudGVyU3R5
bGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0
aWVzKQpAQCAtNDAsNiArNDYsOTQgQEAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gU3R5bGVS
dWxlQ291bnRlclN0eWxlOjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUobmFtZSwgV1RGTW92ZShwcm9w
ZXJ0aWVzKSkpOwogfQogCitzdGF0aWMgQ291bnRlclN0eWxlU3lzdGVtIHRvQ291bnRlclN0eWxl
U3lzdGVtRW51bShSZWZQdHI8Q1NTVmFsdWU+IHN5c3RlbSkKK3sKKyAgICBpZiAoIXN5c3RlbSB8
fCAhc3lzdGVtLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHJldHVybiBDb3VudGVyU3R5
bGVTeXN0ZW06OlN5bWJvbGljOworCisgICAgYXV0byYgcHJpbWl0aXZlU3lzdGVtVmFsdWUgPSBk
b3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnN5c3RlbSk7CisgICAgQVNTRVJUKHByaW1pdGl2
ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpIHx8IHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzUGFpcigp
KTsKKyAgICBDU1NWYWx1ZUlEIHN5c3RlbUtleXdvcmQgPSBDU1NWYWx1ZUludmFsaWQ7CisgICAg
aWYgKHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpKQorICAgICAgICBzeXN0ZW1LZXl3
b3JkID0gcHJpbWl0aXZlU3lzdGVtVmFsdWUudmFsdWVJRCgpOworICAgIGVsc2UgaWYgKGF1dG8q
IHBhaXIgPSBwcmltaXRpdmVTeXN0ZW1WYWx1ZS5wYWlyVmFsdWUoKSkgeworICAgICAgICAvLyBU
aGlzIHZhbHVlIG11c3QgYmUgYGZpeGVkYCBvciBgZXh0ZW5kc2AsIGJvdGggb2Ygd2hpY2ggY2Fu
IG9yIG11c3QgaGF2ZSBhbiBhZGRpdGlvbmFsIGNvbXBvbmVudC4KKyAgICAgICAgYXV0byBmaXJz
dFZhbHVlID0gcGFpci0+Zmlyc3QoKTsKKyAgICAgICAgQVNTRVJUKGZpcnN0VmFsdWUgJiYgZmly
c3RWYWx1ZS0+aXNWYWx1ZUlEKCkpOworICAgICAgICBpZiAoZmlyc3RWYWx1ZSkKKyAgICAgICAg
ICAgIHN5c3RlbUtleXdvcmQgPSBmaXJzdFZhbHVlLT52YWx1ZUlEKCk7CisgICAgfQorCisgICAg
c3dpdGNoIChzeXN0ZW1LZXl3b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUN5Y2xpYzoKKyAgICAg
ICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOworICAgIGNhc2UgQ1NTVmFsdWVG
aXhlZDoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ7CisgICAgY2Fz
ZSBDU1NWYWx1ZVN5bWJvbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpT
eW1ib2xpYzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIENv
dW50ZXJTdHlsZVN5c3RlbTo6QWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlTnVtZXJpYzoK
KyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzsKKyAgICBjYXNlIENT
U1ZhbHVlQWRkaXRpdmU6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0
aXZlOworICAgIGNhc2UgQ1NTVmFsdWVFeHRlbmRzOgorICAgICAgICByZXR1cm4gQ291bnRlclN0
eWxlU3lzdGVtOjpFeHRlbmRzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKyAg
ICB9Cit9CisKK3N0YXRpYyBib29sIHN5bWJvbHNWYWxpZEZvclN5c3RlbShDb3VudGVyU3R5bGVT
eXN0ZW0gc3lzdGVtLCBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHMsIFJlZlB0cjxDU1NWYWx1ZT4g
YWRkaXRpdmVTeW1ib2xzKQoreworICAgIHN3aXRjaCAoc3lzdGVtKSB7CisgICAgY2FzZSBDb3Vu
dGVyU3R5bGVTeXN0ZW06OkN5Y2xpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4
ZWQ6CisgICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOgorICAgICAgICByZXR1
cm4gc3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVl
TGlzdD4oKnN5bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpB
bHBoYWJldGljOgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpOdW1lcmljOgorICAgICAg
ICByZXR1cm4gc3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENT
U1ZhbHVlTGlzdD4oKnN5bWJvbHMpLmxlbmd0aCgpID49IDJ1OworICAgIGNhc2UgQ291bnRlclN0
eWxlU3lzdGVtOjpBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIGFkZGl0aXZlU3ltYm9scyAmJiBh
ZGRpdGl2ZVN5bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pigq
YWRkaXRpdmVTeW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6
RXh0ZW5kczoKKyAgICAgICAgcmV0dXJuICFzeW1ib2xzICYmICFhZGRpdGl2ZVN5bWJvbHM7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgU3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1
ZUludmFsaWRPckVxdWFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENT
U1ZhbHVlPiBuZXdWYWx1ZSkgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRWYWx1ZSA9IG1fcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoY29tcGFy
ZUNTU1ZhbHVlUHRyKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sczsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+
IGFkZGl0aXZlU3ltYm9sczsKKyAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKKyAgICBjYXNlIENT
U1Byb3BlcnR5U3lzdGVtOgorICAgICAgICAvLyBJZiB0aGUgYXR0cmlidXRlIGJlaW5nIHNldCBp
cyBgc3lzdGVtYCwgYW5kIHRoZSBuZXcgdmFsdWUgd291bGQgY2hhbmdlIHRoZSBhbGdvcml0aG0g
dXNlZCwgZG8gbm90aGluZworICAgICAgICAvLyBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAg
ICAgIC8vIChJdCdzIG9rYXkgdG8gY2hhbmdlIGFuIGFzcGVjdCBvZiB0aGUgYWxnb3JpdGhtLCBs
aWtlIHRoZSBmaXJzdCBzeW1ib2wgdmFsdWUgb2YgYSBgZml4ZWRgIHN5c3RlbS4pCisgICAgICAg
IHJldHVybiB0b0NvdW50ZXJTdHlsZVN5c3RlbUVudW0oY3VycmVudFZhbHVlKSAhPSB0b0NvdW50
ZXJTdHlsZVN5c3RlbUVudW0obmV3VmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xz
OgorICAgICAgICBzeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAgIGFkZGl0aXZlU3ltYm9scyA9
IG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUFkZGl0aXZlU3lt
Ym9scyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHM6CisgICAgICAgIHN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlTeW1ib2xzKTsKKyAgICAgICAgYWRkaXRpdmVTeW1ib2xzID0gbmV3VmFsdWU7
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgYXV0byBzeXN0ZW0gPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlTeXN0ZW0pOworICAgIHJldHVybiBzeW1ib2xzVmFsaWRGb3JTeXN0ZW0odG9D
b3VudGVyU3R5bGVTeXN0ZW1FbnVtKHN5c3RlbSksIHN5bWJvbHMsIGFkZGl0aXZlU3ltYm9scyk7
Cit9CisKIFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6flN0eWxlUnVsZUNvdW50ZXJTdHlsZSgpID0g
ZGVmYXVsdDsKIAogTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlQ291bnRlclN0eWxl
OjptdXRhYmxlUHJvcGVydGllcygpCkBAIC02NCw4ICsxNTgsODMgQEAgQ1NTQ291bnRlclN0eWxl
UnVsZTo6fkNTU0NvdW50ZXJTdHlsZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBDU1NDb3Vu
dGVyU3R5bGVSdWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMgZnVuY3Rpb24gd2hlbiB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4K
LSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQGNvdW50ZXItc3R5bGUgIik7CisgICAgcmVzdWx0LmFw
cGVuZChuYW1lKCkpOworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgeyIpOworCisgICAgU3Ry
aW5nIHN5c3RlbVRleHQgPSBzeXN0ZW0oKTsKKyAgICBpZiAoc3lzdGVtVGV4dC5sZW5ndGgoKSkg
eworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHN5c3RlbTogIik7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQoc3lzdGVtVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7
Iik7CisgICAgfQorCisgICAgU3RyaW5nIHN5bWJvbHNUZXh0ID0gc3ltYm9scygpOworICAgIGlm
IChzeW1ib2xzVGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgi
IHN5bWJvbHM6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHN5bWJvbHNUZXh0KTsKKyAgICAg
ICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgYWRkaXRp
dmVTeW1ib2xzVGV4dCA9IGFkZGl0aXZlU3ltYm9scygpOworICAgIGlmIChhZGRpdGl2ZVN5bWJv
bHNUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgYWRkaXRp
dmUtc3ltYm9sczogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoYWRkaXRpdmVTeW1ib2xzVGV4
dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgU3Ry
aW5nIG5lZ2F0aXZlVGV4dCA9IG5lZ2F0aXZlKCk7CisgICAgaWYgKG5lZ2F0aXZlVGV4dC5sZW5n
dGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIG5lZ2F0aXZlOiAiKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChuZWdhdGl2ZVRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5k
TGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBwcmVmaXhUZXh0ID0gcHJlZml4KCk7
CisgICAgaWYgKHByZWZpeFRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIiBwcmVmaXg6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKHByZWZpeFRleHQpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOworICAgIH0KKworICAgIFN0cmluZyBz
dWZmaXhUZXh0ID0gc3VmZml4KCk7CisgICAgaWYgKHN1ZmZpeFRleHQubGVuZ3RoKCkpIHsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBzdWZmaXg6ICIpOworICAgICAgICByZXN1bHQu
YXBwZW5kKHN1ZmZpeFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOyIpOwor
ICAgIH0KKworICAgIFN0cmluZyBwYWRUZXh0ID0gcGFkKCk7CisgICAgaWYgKHBhZFRleHQubGVu
Z3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiBwYWQ6ICIpOworICAgICAg
ICByZXN1bHQuYXBwZW5kKHBhZFRleHQpOworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgi
OyIpOworICAgIH0KKworICAgIFN0cmluZyByYW5nZVRleHQgPSByYW5nZSgpOworICAgIGlmIChy
YW5nZVRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiByYW5n
ZTogIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQocmFuZ2VUZXh0KTsKKyAgICAgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoIjsiKTsKKyAgICB9CisKKyAgICBTdHJpbmcgZmFsbGJhY2tUZXh0ID0g
ZmFsbGJhY2soKTsKKyAgICBpZiAoZmFsbGJhY2tUZXh0Lmxlbmd0aCgpKSB7CisgICAgICAgIHJl
c3VsdC5hcHBlbmRMaXRlcmFsKCIgZmFsbGJhY2s6ICIpOworICAgICAgICByZXN1bHQuYXBwZW5k
KGZhbGxiYWNrVGV4dCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAg
fQorCisgICAgU3RyaW5nIHNwZWFrQXNUZXh0ID0gc3BlYWtBcygpOworICAgIGlmIChzcGVha0Fz
VGV4dC5sZW5ndGgoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHNwZWFrLWFz
OiAiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChzcGVha0FzVGV4dCk7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmRMaXRlcmFsKCI7Iik7CisgICAgfQorCisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
IiB9Iik7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCiB2b2lkIENTU0NvdW50
ZXJTdHlsZVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCkBAIC03Myw0ICsyNDIs
NzcgQEAgdm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBy
dWxlKQogICAgIG1fY291bnRlclN0eWxlUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUNvdW50
ZXJTdHlsZSY+KHJ1bGUpOwogfQogCisvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNv
dW50ZXItc3R5bGVzLTMvI2RvbS1jc3Njb3VudGVyc3R5bGVydWxlLW5hbWUKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0TmFtZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgYXV0byB0
b2tlbnMgPSBDU1NUb2tlbml6ZXIodGV4dCkudG9rZW5SYW5nZSgpOworICAgIGF1dG8gbmFtZSA9
IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUNvdW50ZXJTdHlsZU5hbWVJblByZWx1
ZGUodG9rZW5zKTsKKyAgICBpZiAobmFtZS5pc051bGwoKSB8fCBuYW1lID09IG1fY291bnRlclN0
eWxlUnVsZS0+bmFtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBDU1NTdHlsZVNoZWV0OjpS
dWxlTXV0YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworICAgIG1fY291bnRlclN0eWxl
UnVsZS0+c2V0TmFtZShuYW1lKTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0
ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYgdmFsdWVU
ZXh0KQoreworICAgIGF1dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHZhbHVlVGV4dCkudG9rZW5S
YW5nZSgpOworICAgIGF1dG8gbmV3VmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3Vu
dGVyU3R5bGVEZXNjcmlwdG9yKHByb3BlcnR5SUQsIHRva2VucywgcGFyc2VyQ29udGV4dCgpKTsK
KyAgICBpZiAobV9jb3VudGVyU3R5bGVSdWxlLT5uZXdWYWx1ZUludmFsaWRPckVxdWFsKHByb3Bl
cnR5SUQsIG5ld1ZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVldDo6
UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJTdHls
ZVJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkocHJvcGVydHlJRCwgV1RGTW92
ZShuZXdWYWx1ZSkpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN5c3RlbShj
b25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTeXN0
ZW0sIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5lZ2F0aXZlKGNv
bnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eU5lZ2F0
aXZlLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRQcmVmaXgoY29u
c3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5UHJlZml4
LCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTdWZmaXgoY29uc3Qg
U3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3VmZml4LCB0
ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRSYW5nZShjb25zdCBTdHJp
bmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlSYW5nZSwgdGV4dCk7
Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UGFkKGNvbnN0IFN0cmluZyYgdGV4
dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVBhZCwgdGV4dCk7Cit9CisKK3Zv
aWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2soY29uc3QgU3RyaW5nJiB0ZXh0KQor
eworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5RmFsbGJhY2ssIHRleHQpOworfQorCit2
b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN5bWJvbHMoY29uc3QgU3RyaW5nJiB0ZXh0KQor
eworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3ltYm9scywgdGV4dCk7Cit9CisKK3Zv
aWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYg
dGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9scywg
dGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3BlYWtBcyhjb25zdCBT
dHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlTcGVha0FzLCB0
ZXh0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b3VudGVyU3R5bGVSdWxlLmgKaW5kZXggYjI0ZmUxZmQ2NmYxNGRjZjk1OGFhOWE3YWY3YjNjMDk0
N2MzMjgzNi4uN2E4OTdmYjEyZTM5NTZlZTZlZjg2ZjgyMzk5YTU3Y2ZhYTQzNWMwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCkBAIC0zMiw2ICszMiwxOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIFRoZSBrZXl3b3JkcyB0aGF0IGNhbiBiZSB1c2Vk
IGFzIHZhbHVlcyBmb3IgdGhlIGNvdW50ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvci4KKy8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHls
ZS1zeXN0ZW0KK2VudW0gY2xhc3MgQ291bnRlclN0eWxlU3lzdGVtIDogdWludDhfdCB7CisgICAg
Q3ljbGljLAorICAgIE51bWVyaWMsCisgICAgQWxwaGFiZXRpYywKKyAgICBTeW1ib2xpYywKKyAg
ICBBZGRpdGl2ZSwKKyAgICBGaXhlZCwKKyAgICBFeHRlbmRzCit9OworCiBjbGFzcyBTdHlsZVJ1
bGVDb3VudGVyU3R5bGUgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiBuYW1lLCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmKTsKQEAgLTQxLDYgKzUzLDIwIEBAIHB1
YmxpYzoKICAgICBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBtdXRhYmxlUHJvcGVydGllcygpOwog
CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQor
ICAgIFN0cmluZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3Bl
cnR5VmFsdWUoQ1NTUHJvcGVydHlTeXN0ZW0pOyB9CisgICAgU3RyaW5nIG5lZ2F0aXZlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5TmVn
YXRpdmUpOyB9CisgICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGll
cy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVByZWZpeCk7IH0KKyAgICBTdHJpbmcgc3Vm
Zml4KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1By
b3BlcnR5U3VmZml4KTsgfQorICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVJhbmdlKTsgfQorICAgIFN0cmlu
ZyBwYWQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlQYWQpOyB9CisgICAgU3RyaW5nIGZhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9w
cm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RmFsbGJhY2spOyB9CisgICAg
U3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5
VmFsdWUoQ1NTUHJvcGVydHlTeW1ib2xzKTsgfQorICAgIFN0cmluZyBhZGRpdGl2ZVN5bWJvbHMo
KSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVy
dHlBZGRpdGl2ZVN5bWJvbHMpOyB9CisgICAgU3RyaW5nIHNwZWFrQXMoKSBjb25zdCB7IHJldHVy
biBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlTcGVha0FzKTsgfQor
CisgICAgYm9vbCBuZXdWYWx1ZUludmFsaWRPckVxdWFsKENTU1Byb3BlcnR5SUQsIGNvbnN0IFJl
ZlB0cjxDU1NWYWx1ZT4gbmV3VmFsdWUpIGNvbnN0OworCisgICAgdm9pZCBzZXROYW1lKGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQogCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IFN0eWxlUnVsZUNvdW50ZXJTdHlsZShjb25zdCBBdG9tU3RyaW5nJiwgUmVmPFN0eWxl
UHJvcGVydGllcz4mJik7CkBAIC01OSwzNCArODUsMzQgQEAgcHVibGljOgogICAgIENTU1J1bGU6
OlR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENPVU5URVJfU1RZTEVfUlVMRTsgfQog
CiAgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5h
bWUoKTsgfQotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2UgcGFyc2UgQGNvdW50ZXIt
c3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgU3RyaW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBlbXB0
eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7IH0KLSAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmco
KTsgfQotICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0K
LSAgICBTdHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0
cmluZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJp
bmcgc3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcg
YWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0
cmluZyBzcGVha0FzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotCi0gICAgLy8g
RklYTUU6IEltcGxlbWVudCBhZnRlciB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9y
cy4KLSAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeXN0
ZW0oY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcm
KSB7IH0KLSAgICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNl
dFN1ZmZpeChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFJhbmdlKGNvbnN0IFN0cmlu
ZyYpIHsgfQotICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0
RmFsbGJhY2soY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTeW1ib2xzKGNvbnN0IFN0
cmluZyYpIHsgfQotICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKSB7IH0KKyAgICBTdHJpbmcgc3lz
dGVtKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zeXN0ZW0oKTsgfQorICAg
IFN0cmluZyBuZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+bmVn
YXRpdmUoKTsgfQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJT
dHlsZVJ1bGUtPnByZWZpeCgpOyB9CisgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJu
IG1fY291bnRlclN0eWxlUnVsZS0+c3VmZml4KCk7IH0KKyAgICBTdHJpbmcgcmFuZ2UoKSBjb25z
dCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnJhbmdlKCk7IH0KKyAgICBTdHJpbmcgcGFk
KCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wYWQoKTsgfQorICAgIFN0cmlu
ZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+ZmFsbGJhY2so
KTsgfQorICAgIFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVS
dWxlLT5zeW1ib2xzKCk7IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5hZGRpdGl2ZVN5bWJvbHMoKTsgfQorICAgIFN0cmlu
ZyBzcGVha0FzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5zcGVha0FzKCk7
IH0KKworICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFN5c3Rl
bShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldE5lZ2F0aXZlKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0U3VmZml4KGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UmFuZ2UoY29uc3QgU3RyaW5nJik7CisgICAgdm9p
ZCBzZXRQYWQoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRGYWxsYmFjayhjb25zdCBTdHJp
bmcmKTsKKyAgICB2b2lkIHNldFN5bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRB
ZGRpdGl2ZVN5bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTcGVha0FzKGNvbnN0
IFN0cmluZyYpOwogCiBwcml2YXRlOgogICAgIENTU0NvdW50ZXJTdHlsZVJ1bGUoU3R5bGVSdWxl
Q291bnRlclN0eWxlJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAorICAgIHZvaWQgc2V0dGVy
SW50ZXJuYWwoQ1NTUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJik7CisKICAgICBSZWY8U3R5bGVS
dWxlQ291bnRlclN0eWxlPiBtX2NvdW50ZXJTdHlsZVJ1bGU7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA3MmI5NTdlYzA4NTU0NGQwNjZkYzUyM2U1YjEwNDAw
YTk5NzE3MzhmLi5kOGNjZDZiMjQwOGQwOTc2OGQ3MzRlNWEzYjNhNDJhNTQ4YmYwYjRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTgwMyw2ICs4MDMsMTYgQEAKICAg
ICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtcnVieS0xLyNy
dWJ5cG9zIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiYWRkaXRpdmUtc3lt
Ym9scyI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0
UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAg
ICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNw
ZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVy
LXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIv
Y3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scyIKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSwKICAgICAgICAgImFsaWdubWVudC1iYXNlbGluZSI6IHsKICAgICAgICAg
ICAgICJ2YWx1ZXMiOiBbCiAgICAgICAgICAgICAgICAgImF1dG8iLApAQCAtMjQzNiw2ICsyNDQ2
LDE2IEBACiAgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogInN2ZyIKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSwKKyAgICAgICAgImZhbGxiYWNrIjogeworICAgICAgICAgICAgInNldHRpbmdz
LWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAg
ICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJs
IjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1z
dHlsZS1mYWxsYmFjayIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImZpbGwi
OiB7CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2Vu
LXByb3BlcnRpZXMiOiB7CkBAIC0zMzc3LDYgKzMzOTcsMTYgQEAKICAgICAgICAgICAgICAgICAi
dXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcnNjcm9sbC0xLyNwcm9wZGVm
LW92ZXJzY3JvbGwtYmVoYXZpb3IteSIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAg
ICAgInBhZCI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHls
ZUF0UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAg
ICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
InNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3Vu
dGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkIgorICAgICAgICAgICAg
fQorICAgICAgICB9LAogICAgICAgICAicGFkZGluZyI6IHsKICAgICAgICAgICAgICJjb2RlZ2Vu
LXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImxvbmdoYW5kcyI6IFsKQEAgLTM4NTAs
NiArMzg4MCwxNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2NzczMtc3BlZWNoLyNzcGVhay1hcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAg
ICAgICAgInN5bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3Vu
dGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAg
ICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJj
c3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cu
dzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMiCisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJ0YWJsZS1sYXlvdXQiOiB7CiAgICAg
ICAgICAgICAidmFsdWVzIjogWwogICAgICAgICAgICAgICAgICJhdXRvIiwKQEAgLTYwNDQsNiAr
NjA4NCwxNiBAQAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0
YW5kYXJkIgogICAgICAgICB9LAorICAgICAgICAibmVnYXRpdmUiOiB7CisgICAgICAgICAgICAi
c2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNv
ZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1
ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAg
ICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAg
ICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNj
b3VudGVyLXN0eWxlLW5lZ2F0aXZlIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAg
ICAiY29sb3Itc2NoZW1lIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAg
ICAgICAgICAidmFsdWVzIjogWwpAQCAtNjEyOSw2ICs2MTc5LDE2IEBACiAgICAgICAgICAgICAg
ICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXRyYW5zZm9ybXMtMS8jcHJvcGRl
Zi1wZXJzcGVjdGl2ZS1vcmlnaW4iCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAg
ICJwcmVmaXgiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5
bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAg
ICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291
bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXByZWZpeCIKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0Ijog
ewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAidmFsdWVzIjog
WwpAQCAtNjEzNyw2ICs2MTk3LDE2IEBACiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgInN0
YXR1cyI6ICJub24tc3RhbmRhcmQiCiAgICAgICAgIH0sCisgICAgICAgICJyYW5nZSI6IHsKKyAg
ICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAg
ICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1
aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24i
OiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisg
ICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcmFuZ2UiCisgICAgICAgICAgICB9CisgICAgICAgIH0s
CiAgICAgICAgICItd2Via2l0LXJ0bC1vcmRlcmluZyI6IHsKICAgICAgICAgICAgICJpbmhlcml0
ZWQiOiB0cnVlLAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxNDksNiArNjIxOSwxNiBA
QAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgog
ICAgICAgICB9LAorICAgICAgICAic3VmZml4IjogeworICAgICAgICAgICAgInJ1bnRpbWUtZmxh
ZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVy
dGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJj
YXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAi
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxl
LXN1ZmZpeCIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtc3Zn
LXNoYWRvdyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAg
ICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUKQEAgLTY5NzEsNiArNzA1MSwxNiBAQAogICAg
ICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zaGFwZXMvI3By
b3BkZWYtc2hhcGUtaW1hZ2UtdGhyZXNob2xkIgogICAgICAgICAgICAgfQogICAgICAgICB9LAor
ICAgICAgICAic3lzdGVtIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291
bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Cisg
ICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAi
Y3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3
LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0iCisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXRhcC1oaWdobGlnaHQt
Y29sb3IiOiB7CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJj
b2RlZ2VuLXByb3BlcnRpZXMiOiB7CkBAIC03MTQxLDYgKzcyMzEsMTEgQEAKICAgICAgICAgICAg
ICJsb25nbmFtZSI6ICJDU1MgR2VuZXJhdGVkIENvbnRlbnQgTW9kdWxlIiwKICAgICAgICAgICAg
ICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb250ZW50LTMvIgogICAgICAgICB9
LAorICAgICAgICAiY3NzLWNvdW50ZXItc3R5bGVzIjogeworICAgICAgICAgICAgInNob3J0bmFt
ZSI6ICJDU1MgQ291bnRlciBTdHlsZXMiLAorICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBD
b3VudGVyIFN0eWxlcyBNb2R1bGUiLAorICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53
My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMiCisgICAgICAgIH0sCiAgICAgICAgICJjc3Mt
ZGV2aWNlLWFkYXB0IjogewogICAgICAgICAgICAgInNob3J0bmFtZSI6ICJDU1MgRGV2aWNlIEFk
YXB0YXRpb24iLAogICAgICAgICAgICAgImxvbmduYW1lIjogIkNTUyBEZXZpY2UgQWRhcHRhdGlv
biBNb2R1bGUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29y
ZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBlMjRj
OWJmOGM4MzRiZmNlNzBhZTAwOTA4NTIzNTgwM2IyMWNkZWU2Li4zZjNkYTAwYjE1YjMwOTIxMjQ4
ODNjY2Y5ZGNiZTNmZjQxYThjM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgpAQCAtMTUwNSw2ICsxNTA1LDI0IEBAIGZyb20tZm9udAogc3RhbmRhcmQKIGhpZ2gKIAor
Ly8gQGNvdW50ZXItc3R5bGUgYHN5c3RlbWAgZGVzY3JpcHRvciB2YWx1ZXMKKy8vIGh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeXN0ZW0K
K2N5Y2xpYworbnVtZXJpYworLy8gYWxwaGFiZXRpYworc3ltYm9saWMKK2FkZGl0aXZlCisvLyBm
aXhlZAorZXh0ZW5kcworCisvLyBAY291bnRlci1zdHlsZSBgc3BlYWstYXNgIGRlc2NyaXB0b3Ig
dmFsdWVzCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2Nv
dW50ZXItc3R5bGUtc3BlYWstYXMKKy8vIGF1dG8KK2J1bGxldHMKK251bWJlcnMKK3dvcmRzCisv
LyBzcGVsbC1vdXQKKwogLy8gQHN1cHBvcnRzIHNlbGVjdG9yKCkKIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtY29uZGl0aW9uYWwtNC8jdHlwZWRlZi1zdXBwb3J0cy1zZWxlY3Rvci1m
bgogc2VsZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAKaW5kZXggZTUxNGMzOThiNDViNzM4ZjkwYWExMDc2YzEyNjVhMWU2ODhjZDY1Yy4u
N2ViNDExYmMxZjcyOTc4N2Y4MWZjODJlZGY2MjZlZDcxZWM1YjMzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQ1MzUsMTUgKzQ1
MzUsMjE5IEBAIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNl
cjo6cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9
CiAKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRl
ci1zdHlsZS1zeXN0ZW0KK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVD
b3VudGVyU3R5bGVTeXN0ZW0oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYg
KGF1dG8gaWRlbnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVDeWNsaWMsIENTU1ZhbHVlTnVtZXJp
YywgQ1NTVmFsdWVBbHBoYWJldGljLCBDU1NWYWx1ZVN5bWJvbGljLCBDU1NWYWx1ZUFkZGl0aXZl
PihyYW5nZSkpCisgICAgICAgIHJldHVybiBpZGVudDsKKworICAgIGlmIChhdXRvIGlkZW50ID0g
Y29uc3VtZUlkZW50PENTU1ZhbHVlRml4ZWQ+KHJhbmdlKSkgeworICAgICAgICBpZiAocmFuZ2Uu
YXRFbmQoKSkKKyAgICAgICAgICAgIHJldHVybiBpZGVudDsKKyAgICAgICAgLy8gSWYgd2UgaGF2
ZSB0aGUgYGZpeGVkYCBrZXl3b3JkIGJ1dCB0aGUgcmFuZ2UgaXMgbm90IGF0IHRoZSBlbmQsIHRo
ZSBuZXh0IHRva2VuIG11c3QgYmUgYSBpbnRlZ2VyLgorICAgICAgICAvLyBJZiBpdCdzIG5vdCwg
dGhpcyB2YWx1ZSBpcyBpbnZhbGlkLgorICAgICAgICBhdXRvIGZpcnN0U3ltYm9sVmFsdWUgPSBj
b25zdW1lSW50ZWdlcihyYW5nZSk7CisgICAgICAgIGlmICghZmlyc3RTeW1ib2xWYWx1ZSkKKyAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZl
VmFsdWVQYWlyKGlkZW50LnJlbGVhc2VOb25OdWxsKCksIGZpcnN0U3ltYm9sVmFsdWUucmVsZWFz
ZU5vbk51bGwoKSk7CisgICAgfQorCisgICAgaWYgKGF1dG8gaWRlbnQgPSBjb25zdW1lSWRlbnQ8
Q1NTVmFsdWVFeHRlbmRzPihyYW5nZSkpIHsKKyAgICAgICAgLy8gVGhlcmUgbXVzdCBiZSBhIGA8
Y291bnRlci1zdHlsZS1uYW1lPmAgZm9sbG93aW5nIHRoZSBgZXh0ZW5kc2Aga2V5d29yZC4gSWYg
dGhlcmUgaXNuJ3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBwYXJzZWRD
b3VudGVyU3R5bGVOYW1lID0gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFuZ2UpOworICAgICAg
ICBpZiAoIXBhcnNlZENvdW50ZXJTdHlsZU5hbWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNl
Tm9uTnVsbCgpLCBwYXJzZWRDb3VudGVyU3R5bGVOYW1lLnJlbGVhc2VOb25OdWxsKCkpOworICAg
IH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nz
cy1jb3VudGVyLXN0eWxlcy0zLyN0eXBlZGVmLXN5bWJvbAorc3RhdGljIFJlZlB0cjxDU1NWYWx1
ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBpZiAoYXV0byBzdHJpbmcg
PSBjb25zdW1lU3RyaW5nKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHN0cmluZzsKKyAgICBpZiAo
YXV0byBjdXN0b21JZGVudCA9IGNvbnN1bWVDdXN0b21JZGVudChyYW5nZSkpCisgICAgICAgIHJl
dHVybiBjdXN0b21JZGVudDsKKyAgICAvLyBUaGVyZSBhcmUgaW5oZXJlbnQgZGlmZmljdWx0aWVz
IGluIHN1cHBvcnRpbmcgPGltYWdlPiBzeW1ib2xzIGluIEBjb3VudGVyLXN0eWxlcywgc28gZ2F0
ZSB0aGVtIGJlaGluZCBhCisgICAgLy8gZmxhZyBmb3Igbm93LiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NjQ1CisgICAgaWYgKGNvbnRleHQuY291bnRlclN0eWxl
QXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCkgeworICAgICAgICBpZiAoYXV0byBpbWFnZSA9IGNv
bnN1bWVJbWFnZShyYW5nZSwgY29udGV4dCwgeyBBbGxvd2VkSW1hZ2VUeXBlOjpVUkxGdW5jdGlv
biwgQWxsb3dlZEltYWdlVHlwZTo6R2VuZXJhdGVkSW1hZ2UgfSkpCisgICAgICAgICAgICByZXR1
cm4gaW1hZ2U7CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCisvLyBodHRwczovL3d3
dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtbmVnYXRpdmUK
K3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVOZWdhdGl2ZShDU1NQ
YXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkK
K3sKKyAgICBhdXRvIHByZXBlbmRWYWx1ZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFu
Z2UsIGNvbnRleHQpOworICAgIGlmICghcHJlcGVuZFZhbHVlKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIHByZXBlbmRWYWx1
ZTsKKworICAgIGF1dG8gYXBwZW5kVmFsdWUgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJh
bmdlLCBjb250ZXh0KTsKKyAgICBpZiAoIWFwcGVuZFZhbHVlIHx8ICFyYW5nZS5hdEVuZCgpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVl
cyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB2YWx1ZXMtPmFw
cGVuZChwcmVwZW5kVmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgdmFsdWVzLT5hcHBlbmQo
YXBwZW5kVmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKwor
Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLXJhbmdlCitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQ291bnRl
clN0eWxlUmFuZ2VCb3VuZChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAo
YXV0byBpbmZpbml0ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUluZmluaXRlPihyYW5nZSkpCisg
ICAgICAgIHJldHVybiBpbmZpbml0ZTsKKyAgICBpZiAoYXV0byBpbnRlZ2VyID0gY29uc3VtZUlu
dGVnZXIocmFuZ2UpKQorICAgICAgICByZXR1cm4gaW50ZWdlcjsKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNj
b3VudGVyLXN0eWxlLXJhbmdlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRl
clN0eWxlUmFuZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8g
YXV0b1ZhbHVlID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQXV0bz4ocmFuZ2UpKQorICAgICAgICBy
ZXR1cm4gYXV0b1ZhbHVlOworCisgICAgYXV0byByYW5nZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNy
ZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBhdXRvIGxvd2VyQm91bmQg
PSBjb25zdW1lQ291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlmICghbG93
ZXJCb3VuZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIHVwcGVy
Qm91bmQgPSBjb25zdW1lQ291bnRlclN0eWxlUmFuZ2VCb3VuZChyYW5nZSk7CisgICAgICAgIGlm
ICghdXBwZXJCb3VuZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIC8v
IElmIHRoZSBsb3dlciBib3VuZCBvZiBhbnkgcmFuZ2UgaXMgaGlnaGVyIHRoYW4gdGhlIHVwcGVy
IGJvdW5kLCB0aGUgZW50aXJlIGRlc2NyaXB0b3IgaXMgaW52YWxpZCBhbmQgbXVzdCBiZQorICAg
ICAgICAvLyBpZ25vcmVkLgorICAgICAgICBpZiAobG93ZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiB1
cHBlckJvdW5kLT5pc051bWJlcigpICYmIGxvd2VyQm91bmQtPmludFZhbHVlKCkgPiB1cHBlckJv
dW5kLT5pbnRWYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJh
bmdlTGlzdC0+YXBwZW5kKGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihsb3dlckJvdW5kLnJlbGVh
c2VOb25OdWxsKCksIHVwcGVyQm91bmQucmVsZWFzZU5vbk51bGwoKSwgUGFpcjo6SWRlbnRpY2Fs
VmFsdWVFbmNvZGluZzo6RG9Ob3RDb2FsZXNjZSkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21t
YUluY2x1ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwg
IXJhbmdlTGlzdC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVy
biByYW5nZUxpc3Q7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1z
dHlsZXMtMy8jY291bnRlci1zdHlsZS1wYWQKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1
bWVDb3VudGVyU3R5bGVQYWQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbnRlZ2VyOwor
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sOworICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3lt
Ym9sKSB7CisgICAgICAgIGlmICghaW50ZWdlcikgeworICAgICAgICAgICAgaW50ZWdlciA9IGNv
bnN1bWVJbnRlZ2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRpdmUpOworICAgICAgICAgICAg
aWYgKGludGVnZXIpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKCFzeW1ib2wpIHsKKyAgICAgICAgICAgIHN5bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgICAgICAgICAgaWYgKHN5bWJvbCkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICB9CisgICAgaWYgKCFyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBhdXRvIHZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsK
KyAgICB2YWx1ZXMtPmFwcGVuZChpbnRlZ2VyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHZhbHVl
cy0+YXBwZW5kKHN5bWJvbC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICByZXR1cm4gdmFsdWVzOwor
fQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50
ZXItc3R5bGUtc3ltYm9scworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJT
dHlsZVN5bWJvbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNv
bnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byBzeW1ib2xzID0gQ1NTVmFsdWVMaXN0OjpjcmVh
dGVTcGFjZVNlcGFyYXRlZCgpOworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgeworICAgICAg
ICBhdXRvIHN5bWJvbCA9IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQp
OworICAgICAgICBpZiAoIXN5bWJvbCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICBzeW1ib2xzLT5hcHBlbmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKyAg
ICBpZiAoIXN5bWJvbHMtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gc3ltYm9sczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVy
LXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+
IGNvbnN1bWVDb3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
cmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byB2YWx1
ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBsYXN0SW50ZWdlcjsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gaW50ZWdlcjsKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiBzeW1i
b2w7CisgICAgICAgIHdoaWxlICghaW50ZWdlciB8fCAhc3ltYm9sKSB7CisgICAgICAgICAgICBp
ZiAoIWludGVnZXIpIHsKKyAgICAgICAgICAgICAgICBpbnRlZ2VyID0gY29uc3VtZUludGVnZXIo
cmFuZ2UsIFZhbHVlUmFuZ2VOb25OZWdhdGl2ZSk7CisgICAgICAgICAgICAgICAgaWYgKGludGVn
ZXIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgaWYgKCFzeW1ib2wpIHsKKyAgICAgICAgICAgICAgICBzeW1ib2wgPSBjb25zdW1lQ291
bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBpZiAoc3lt
Ym9sKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxhc3RJbnRl
Z2VyKSB7CisgICAgICAgICAgICAvLyBUaGUgYWRkaXRpdmUgdHVwbGVzIG11c3QgYmUgc3BlY2lm
aWVkIGluIG9yZGVyIG9mIHN0cmljdGx5IGRlc2NlbmRpbmcKKyAgICAgICAgICAgIC8vIHdlaWdo
dDsgb3RoZXJ3aXNlLCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25v
cmVkLgorICAgICAgICAgICAgaWYgKGludGVnZXItPmludFZhbHVlKCkgPj0gbGFzdEludGVnZXIt
PmludFZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0K
KyAgICAgICAgbGFzdEludGVnZXIgPSBpbnRlZ2VyOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChp
bnRlZ2VyLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hp
dGVzcGFjZShyYW5nZSkpOworICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhdmFsdWVzLT5sZW5n
dGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKwor
Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0
eWxlLXNwZWFrLWFzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxl
U3BlYWtBcyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0byBzcGVh
a0FzSWRlbnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUJ1bGxldHMsIENT
U1ZhbHVlTnVtYmVycywgQ1NTVmFsdWVXb3JkcywgQ1NTVmFsdWVTcGVsbE91dD4ocmFuZ2UpKQor
ICAgICAgICByZXR1cm4gc3BlYWtBc0lkZW50OworICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0
eWxlTmFtZShyYW5nZSk7Cit9CisKIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7
CiAgICAgaWYgKCFjb250ZXh0LmNvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2hl
biB3ZSBjYW4gcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgVU5VU0VEX1BB
UkFNKHByb3BJZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJhbmdlKTsKLSAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBzd2l0Y2ggKHByb3BJZCkgewor
ICAgIGNhc2UgQ1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRl
clN0eWxlU3lzdGVtKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TmVnYXRpdmU6CisgICAg
ICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmVnYXRpdmUocmFuZ2UsIGNvbnRleHQpOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlQcmVmaXg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN1ZmZpeDoK
KyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQp
OworICAgIGNhc2UgQ1NTUHJvcGVydHlSYW5nZToKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3Vu
dGVyU3R5bGVSYW5nZShyYW5nZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZDoKKyAgICAgICAg
cmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVQYWQocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVO
YW1lKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgcmV0dXJu
IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENT
U1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJT
dHlsZUFkZGl0aXZlU3ltYm9scyhyYW5nZSwgY29udGV4dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVNwZWFrQXM6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhyYW5n
ZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIH0KIH0KIAogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFy
c2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBjb25zdCBDU1NQ
YXJzZXJDb250ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDQ3MDJiNWU5N2I0OWFlYWE3NTIwMTViYjg2Zjg2OGRkYmQzNTk3
YzAuLmU2YTI0MmQ2NTYyMDdjZDQzNzA4Y2I4M2I4YjI5MjQ0MWFhMTYwYjcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNC0yMCAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisg
ICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0
b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6
OmRlZmF1bHRzKToKKyAgICAgICAgRml4IHR5cG8gKG1pc3NpbmcgJ3MnKS4gIENTU0NvdW50ZXJT
dHlsZUF0UnVsZXNFbmFibGVkLCBub3QKKyAgICAgICAgQ1NTQ291bnRlclN0eWxlQXRSdWxlRW5h
YmxlZC4KKwogMjAyMS0wNC0yMCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWNDYXRhbHlzdCB0ZXN0cyBjcmFzaCBvbiBOU0ludGVybmFsSW5jb25z
aXN0ZW5jeUV4Y2VwdGlvbiwgcmVhc29uOiBOU0FwcGxpY2F0aW9uIGhhcyBub3QgYmVlbiBjcmVh
dGVkIHlldApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGZiOGEyMzJhY2Nh
YzUxZDYzMjQ2ZGQ0Mzk1ZTEyNGMwOTk2ZjUwZGEuLmVlMGUzY2ViYzBmN2NmZWQ5ODlmMWM1MDJk
ZTMzZjU5NTRlMDg4YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTEz
Myw3ICsxMzMsNyBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygp
CiAgICAgICAgICAgICB7ICJBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQiLCBmYWxzZSB9LAogICAg
ICAgICAgICAgeyAiQXR0YWNobWVudEVsZW1lbnRFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAg
ICAgIHsgIkNTU0NvbnRhaW5tZW50RW5hYmxlZCIsIGZhbHNlIH0sCi0gICAgICAgICAgICB7ICJD
U1NDb3VudGVyU3R5bGVBdFJ1bGVFbmFibGVkIiwgZmFsc2UgfSwKKyAgICAgICAgICAgIHsgIkNT
U0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgIHsgIkNT
U0NvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQiLCBmYWxzZSB9LAogICAgICAg
ICAgICAgeyAiQ1NTTG9naWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NT
T01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlIH0sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmQwNWM3ZWE4
NGFhMzMzNGJhNGNlMWRkYTcxY2JiOWM0ZGIzMTc3Zi4uZjZiZjBhNTNjNTFjMjE5NTVkMTE2OTBm
ZTQ3Njg5MDZjNTNlY2ViZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTA0LTIwICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGVuc3VyaW5nIDxp
bWFnZT4gQGNvdW50ZXItc3R5bGUgc3ltYm9sIHZhbHVlcyBjYW5ub3QgYmUKKyAgICAgICAgcGFy
c2VkIHdoZW4gdGhlIGBjb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkYCBmZWF0
dXJlIGZsYWcKKyAgICAgICAgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgLS0tCisKKyAgICAgICAg
VGhpcyB0ZXN0IGlzIHNraXBwZWQgb24gV2luZG93cyBiZWNhdXNlIEkgaGF2ZW4ndCBiZWVuIGFi
bGUgdG8gZ2V0IHRoZQorICAgICAgICByZXF1aXJlZCBmZWF0dXJlIGZsYWdzIChDU1NDb3VudGVy
U3R5bGVBdFJ1bGVzRW5hYmxlZCBhbmQKKyAgICAgICAgQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZCkgdG8gd29yayBwcm9wZXJseSBmb3IgdGhhdAorICAgICAgICBwb3J0
LgorCisgICAgICAgIFRoZSBjb2RlIGhpZGRlbiBiZWhpbmQgdGhlc2UgZmxhZ3MgaXMgYWxsIGlu
IHRoZSBDU1MgcGFyc2VyLCB3aGljaCBpcyBub3QKKyAgICAgICAgdW5pcXVlIHRvIFdpbmRvd3Ms
IHNvIEkgdGhpbmsgd2UgY2FuIGJlIGNvbmZpZGVudCB0aGF0IGlmIHRoZSB0ZXN0IHBhc3Nlcwor
ICAgICAgICBvbiBhbGwgb3RoZXIgcGxhdGZvcm1zLCB0aGF0IHRoZSBiZWhhdmlvciBpcyBjb3Jy
ZWN0IG9uIFdpbmRvd3MgdG9vLgorCisgICAgICAgIE9uZSBhdHRlbXB0IGF0IGltcGxlbWVudGlu
ZyB0aGUgbmVjZXNzYXJ5IFdpbmRvd3Mtc3BlY2lmaWMgZmxhZyBmdW5jdGlvbmFsaXR5IGlzIGhl
cmU6CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9
NDI2MzcxJmFjdGlvbj1lZGl0CisKKyAgICAgICAgV2hpY2ggZmFpbGVkIHRvIGNvbXBpbGVbMV0g
d2l0aCB0aGlzIGVycm9yOgorCisgICAgICAgID4gQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcd29y
a2VyXFdpbmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJUcmVlXHdpblxEdW1wUmVuZGVy
VHJlZS5jcHAoODM0LDUxKTogZXJyb3IgQzIwMzk6ICdzZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVz
RW5hYmxlZCc6IGlzIG5vdCBhIG1lbWJlciBvZiAnSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcnIFtD
OlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVpbGRcV2ViS2l0QnVp
bGRcUmVsZWFzZVxUb29sc1xEdW1wUmVuZGVyVHJlZVxEdW1wUmVuZGVyVHJlZUxpYi52Y3hwcm9q
XQorICAgICAgICA+IEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xi
dWlsZFxUb29sc1xEdW1wUmVuZGVyVHJlZVx3aW5cRHVtcFJlbmRlclRyZWUuY3BwKDgzNSw2Mik6
IGVycm9yIEMyMDM5OiAnc2V0Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxl
ZCc6IGlzIG5vdCBhIG1lbWJlciBvZiAnSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcnIFtDOlxjeWd3
aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVpbGRcV2ViS2l0QnVpbGRcUmVs
ZWFzZVxUb29sc1xEdW1wUmVuZGVyVHJlZVxEdW1wUmVuZGVyVHJlZUxpYi52Y3hwcm9qXQorCisg
ICAgICAgIFRob3NlIG1ldGhvZHMgYXJlIHByZXNlbnQgaW4gYElXZWJQcmVmZXJlbmNlc1ByaXZh
dGU3LmlkbGAsIGFuZCBpbXBsZW1lbnRlZCBzaW1pbGFybHkgdG8gb3RoZXIKKyAgICAgICAgZmxh
Z3MgaW4gb3RoZXIgcGxhY2VzIChlLmcuIHdpbi9XZWJQcmVmZXJlbmNlcy57aCwgY3BwfSwgd2lu
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oKS4KKyAgICAgICAgSSBjYW4ndCByZXByb2R1Y2Ug
dGhpcyBjb21waWxhdGlvbiBlcnJvciBvbiBteSBXaW5kb3dzIG1hY2hpbmUuCisKKyAgICAgICAg
SSB0aGVuIHRyaWVkIHJlbW92aW5nIHRoZSBsaW5lcyB0aGF0IGNhdXNlZCB0aGUgYWJvdmUgY29t
cGlsYXRpb24gZmFpbHVyZS4KKyAgICAgICAgVGhvc2Ugc2V0dGVycyBhcmUgY2FsbGVkIGluIER1
bXBSZW5kZXJUcmVlOjplbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcywgc28gaW4KKyAgICAgICAg
bGlldSBvZiBlbmFibGluZyB0aGVzZSBmbGFncyB0aGVyZSBJIGNvdWxkIGVuYWJsZSB0aGUgZmxh
ZyBJIG5lZWQgdmlhIHRlc3QgaGVhZGVyLgorCisgICAgICAgIFRoYXQgcGF0Y2ggaXM6IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTQyNjUwOSZhY3Rpb249ZWRpdAor
CisgICAgICAgIFRoaXMgcmVzdWx0cyBpbiBzdWNjZXNzZnVsIGNvbXBpbGF0aW9uLCBidXQgY2F1
c2VzIGxvdHMgKGFsbD8pIG9mIHRoZQorICAgICAgICBsYXlvdXQgdGVzdHMgdG8gZmFpbFsyXSB3
aXRoIGEgc3RhY2t0cmFjZSB0aGF0IGxvb2tzIGxpa2U6CisKKyAgICAgICAgMDAgMDAwMDAwNjVg
NzM4ZmRmMDAgMDAwMDdmZmNgM2U5ZTMxMTMgV2ViS2l0IVdlYlByZWZlcmVuY2VzOjpzcGVlY2hS
ZWNvZ25pdGlvbkVuYWJsZWQoaW50ICogZW5hYmxlZCA9IDB4MDAwMDdmZmNgM2VhZTBmNTApKzB4
MjkgW0M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxTb3Vy
Y2VcV2ViS2l0TGVnYWN5XHdpblxXZWJQcmVmZXJlbmNlcy5jcHAgQCAyNjE3XQorICAgICAgICAw
MSAwMDAwMDA2NWA3MzhmZGYzMCAwMDAwN2ZmY2AzZTllM2NjMCBEdW1wUmVuZGVyVHJlZUxpYiFy
ZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKHN0cnVjdCBJV2ViUHJlZmVyZW5j
ZXMgKiBwcmVmZXJlbmNlcyA9IDB4MDAwMDAyMDVgZTJmMjA0YjApKzB4NjMgW0M6XGN5Z3dpblxo
b21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxUb29sc1xEdW1wUmVuZGVyVHJl
ZVx3aW5cRHVtcFJlbmRlclRyZWUuY3BwIEAgODQ3XQorICAgICAgICAwMiAwMDAwMDA2NWA3Mzhm
ZGZhMCAwMDAwN2ZmY2AzZTllNDE3MSBEdW1wUmVuZGVyVHJlZUxpYiFyZXNldFdlYlZpZXdUb0Nv
bnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY2xhc3MgV1RSOjpUZXN0T3B0aW9ucyAqIG9wdGlv
bnMgPSAweDAwMDAwMDY1YDczOGZlYTYwKSsweDJlMCBbQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rc
d29ya2VyXFdpbmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJUcmVlXHdpblxEdW1wUmVu
ZGVyVHJlZS5jcHAgQCAxMDU0XQorICAgICAgICAwMyAwMDAwMDA2NWA3MzhmZTA1MCAwMDAwN2Zm
Y2AzZTllNjdkMyBEdW1wUmVuZGVyVHJlZUxpYiFydW5UZXN0KGNsYXNzIHN0ZDo6YmFzaWNfc3Ry
aW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ICog
aW5wdXRMaW5lID0gPFZhbHVlIHVuYXZhaWxhYmxlIGVycm9yPikrMHgyZjEgW0M6XGN5Z3dpblxo
b21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxUb29sc1xEdW1wUmVuZGVyVHJl
ZVx3aW5cRHVtcFJlbmRlclRyZWUuY3BwIEAgMTIzOV0KKyAgICAgICAgMDQgMDAwMDAwNjVgNzM4
ZmVjYTAgMDAwMDdmZjdgODk5NTJmMzAgRHVtcFJlbmRlclRyZWVMaWIhbWFpbihpbnQgYXJnYyA9
IDxWYWx1ZSB1bmF2YWlsYWJsZSBlcnJvcj4sIGNoYXIgKiogYXJndiA9IDxWYWx1ZSB1bmF2YWls
YWJsZSBlcnJvcj4pKzB4NWQzIFtDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93
cy1FV1NcYnVpbGRcVG9vbHNcRHVtcFJlbmRlclRyZWVcd2luXER1bXBSZW5kZXJUcmVlLmNwcCBA
IDE2NzZdCisgICAgICAgIDA1IDAwMDAwMDY1YDczOGZmNWIwIDAwMDA3ZmY3YDg5OTUzODg0IER1
bXBSZW5kZXJUcmVlIW1haW4oaW50IGFyZ2MgPSAwbjIsIGNoYXIgKiogYXJndiA9IDB4MDAwMDAy
MDVgZTJlNzRiODApKzB4ODgwIFtDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93
cy1FV1NcYnVpbGRcVG9vbHNcd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVyTWFpbi5jcHAgQCAy
MzJdCisKKyAgICAgICAgSSBoYXZlbid0IGRvbmUgbXVjaCBkaWdnaW5nIGludG8gd2h5IHRoaXMg
aGFwcGVucywgYW5kIGNhbm5vdCByZXByb2R1Y2UgaXQgb24gbXkgV2luZG93cyBtYWNoaW5lLgor
CisgICAgICAgIFsxXTogaHR0cHM6Ly9ld3MtYnVpbGQud2Via2l0Lm9yZy8jL2J1aWxkZXJzLzEw
L2J1aWxkcy84Njc0NworICAgICAgICBbMl06IGh0dHBzOi8vZXdzLWJ1aWxkLndlYmtpdC5vcmcv
Iy9idWlsZGVycy8xMC9idWlsZHMvODY4OTcKKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zOiBTa2lwIG5ld2x5IGFkZGVkIHRlc3Qgb24gV2luZG93cy4KKyAgICAgICAg
KiB3ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFn
ZS1zeW1ib2xzLW5vdC1leHBvc2VkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTIwICBSb2JlcnQg
SmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIEJpZ1N1ciBEZWJ1ZyBdIGh0
dHAvdGVzdHMvc2VjdXJpdHkvd2ViYXVkaW8tcmVuZGVyLXJlbW90ZS1hdWRpby1ibG9ja2VkLW5v
LWNyb3Nzb3JpZ2luLmh0bWwgaXMgYSBmbGFrZXkgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggZWY1MDExYjNmNDZhYTg5ODE3ZTA0M2Q2MzMxOTAxMGQ3NTlmNjMwNi4u
YzhiZGE1NDg2Y2YwNDQ5MDllZGUwYWEwOWI3NDc1YWQ1ZjAzNGRkMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDQtMjAgIFR5bGVyIFdpbGNv
Y2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5
bGVzXSBQYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFyc2luZyBmb3IgYWxsIEBjb3VudGVyLXN0
eWxlIGRlc2NyaXB0b3JzIGlzIGltcGxlbWVudGVkIHdpdGggdGhpcworICAgICAgICBwYXRjaCwg
c28gbWFyayBtb3JlIHRlc3RzIHBhc3NpbmcuCisKKyAgICAgICAgWW91J2xsIG5vdGljZSB0aGF0
IHNvbWUgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMgaW1wbGVtZW50ZWQgaW4gdGhpcworICAg
ICAgICBwYXRjaCBkaWQgbm90IGdhaW4gYW55IHBhc3NpbmcgdGVzdHMgKGUuZy4gYHBhZGAsIGBu
ZWdhdGl2ZWApLiAgSW4gYWxsCisgICAgICAgIG9mIHRoZXNlIGNhc2VzLCB0aGUgZXhwZWN0ZWQg
cmVzdWx0cyBjb250YWluIGEgPHN0cmluZz4gdmFsdWUsIGFuZCB3ZQorICAgICAgICBmYWlsIG9u
bHkgYmVjYXVzZSB3ZSBpbmNvcnJlY3RseSBkb24ndCBzZXJpYWxpemUgdGhlc2UgPHN0cmluZz4g
dmFsdWVzCisgICAgICAgIHdpdGggcXVvdGVzLiAgSSBoYXZlIG1hbnVhbGx5IGNvbmZpcm1lZCBp
biBhbGwgY2FzZXMgdGhhdCB0aGVzZSB2YWx1ZXMKKyAgICAgICAgYXJlIHByb3Blcmx5IHBhcnNl
ZCwgc28gaXQncyBqdXN0IHRoZSBzZXJpYWxpemF0aW9uIHRoYXQncyBpbmNvcnJlY3QuCisKKyAg
ICAgICAgVGhlc2UgPHN0cmluZz4gdmFsdWVzIHNlcmlhbGl6ZSB3aXRob3V0IHF1b3RlcyBiZWNh
dXNlIFdlYktpdCdzIHJlcHJlc2VudGF0aW9uCisgICAgICAgIG9mIGN1c3RvbSBpZGVudGlmaWVy
cyBpcyBub3QgYSBzZXBhcmF0ZSB0eXBlLCBidXQgaW5zdGVhZCBvdmVybG9hZGVkIG9udG8gdGhl
CisgICAgICAgIENTU19TVFJJTkcgdHlwZS4gIFRoaXMgbWVhbnMgdGhhdCBkdXJpbmcgc2VyaWFs
aXphdGlvbiB0aW1lLCBXZWJLaXQgbXVzdCBndWVzcworICAgICAgICB3aGV0aGVyIGl0IGlzIGFj
dHVhbGx5IHNlcmlhbGl6aW5nIGEgc3RyaW5nIChhbmQgaW5jbHVkZSBxdW90ZXMgaWYgc28pLCBv
ciBpZgorICAgICAgICBpdCdzIHNlcmlhbGl6aW5nIGEgY3VzdG9tIGlkZW50IChsZWF2aW5nIG9m
ZiBxdW90ZXMgaWYgc28pLgorCisgICAgICAgIFJlbGV2YW50IGNvZGUgc25pcHBldDoKKworICAg
ICAgICBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdC9ibG9iLzM2Y2FlZWMwNzk3NWJk
NWY0N2RiOGFjNmI3NDljMjc4NzIzMGE0NjEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01hcmt1cC5j
cHAjTDE1MyNMMTYxCisKKyAgICAgICAgUmVsZXZhbnQgY2hhbmdlbG9nIHNuaXBwZXQgZnJvbSBE
YXZpZCBIeWF0dCwgMjAxNi0xMi0wNzoKKworICAgICAgICA+IFdlIGFsc28gb3ZlcmxvYWQgQ1NT
X1NUUklORyBwcmltaXRpdmUgdmFsdWUgdHlwZSBhbmQgaGF2ZSBpdCBhY3QgYXMgYm90aCBhIHN0
cmluZworICAgICAgICA+IGFuZCBhIGN1c3RvbSBpZGVudGlmaWVyLiBUaGlzIGlzIGxhbWUsIHNp
bmNlIHRoZSBwYXJzZXIgc2hvdWxkIGhhdmUgbWFkZSB0d28gZGlmZmVyZW50CisgICAgICAgID4g
dHlwZXMgb2Ygb2JqZWN0cyBpbnN0ZWFkLCBidXQgc2luY2Ugb3VyIHBhcnNlciBkb2Vzbid0IGRv
IHRoYXQgeWV0LCBJIGFkZGVkIGEgc2VyaWFsaXplQXNTdHJpbmdPckN1c3RvbUlkZW50CisgICAg
ICAgID4gdGhhdCBwcmVzZXJ2ZXMgb3VyIG9sZCBiZWhhdmlvciBvZiAicXVvdGUgdGhlIHN0cmlu
ZyBvbmx5IGlmIG5lZWRlZC4iIEluIHRoaXMgY2FzZSB3aGF0CisgICAgICAgID4gdGhhdCByZWFs
bHkgbWVhbnQgd2FzICJUcnkgdG8gZ3Vlc3MgdGhhdCB3ZSB3ZXJlIG9yaWdpbmFsbHkgYSBjdXN0
b20gaWRlbnQgYW5kIGxlYXZlIG9mZgorICAgICAgICA+IHF1b3RlcyBpZiBzby4iIFRoaXMgZnVu
Y3Rpb24gd2lsbCBnbyBhd2F5IG9uY2Ugd2UgcHJvcGVybHkgY3JlYXRlIENTU1N0cmluZ1ZhbHVl
cyBhbmQKKyAgICAgICAgPiBDU1NDdXN0b21JZGVudFZhbHVlcyBpbnN0ZWFkIG9mIHR1cm5pbmcg
dGhlIGxhdHRlciBpbnRvIHN0cmluZ3MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxl
LXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50eHQ6CisKIDIwMjEt
MDQtMjAgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBodG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJl
ZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvIHRlc3RzIGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291
bnRlci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggNTZhZjllMWQ0ODRlNWM0NWQ0
N2NhZDMzN2JjNWE3ZDBkYTEwNzQ3OS4uNzU5NDc4OGUxYzIwOWMwOTljZTJiZTNkZTc5NDdhN2Uz
ZDUyMjgwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVk
LnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGJh
cicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQ
QVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogYmFyJyBpcyB2YWxpZAogUEFTUyBAY291bnRl
ci1zdHlsZSAnZmFsbGJhY2s6ICJiYXIiJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxl
ICdmYWxsYmFjazogbm9uZScgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJh
Y2s6IGluaXRpYWwnIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0
eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVy
LXN0eWxlLXByZWZpeC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCAwOTJkN2E5MWNk
OWJlOTJhZDQxYTI4MDMzYjhlNTFmNjNlNWMxYTMwLi44N2M2YTA2YTZiNDg0YmZlMDIyNzk3MDdk
MDJhNTZmM2UwMjI1YTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVm
aXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5
bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC03LDIwICs3LDIwIEBAIEZB
SUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogImluaGVyaXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93CiBGQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICJpbmhl
cml0IicgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0x
CiBGQUlMIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9u
b3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQogRkFJTCBAY291bnRlci1zdHlsZSAn
c3VmZml4OiAidW5zZXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogY3VzdG9tLWlkZW50JyBp
cyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwg
QGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3By
ZWZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4
OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGlu
aXRpYWwnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogaW5pdGlhbCcg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBpbmhlcml0JyBpcyBpbnZh
bGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGluaGVyaXQnIGlzIGludmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdW5zZXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50
ZXItc3R5bGUgJ3N1ZmZpeDogdW5zZXQnIGlzIGludmFsaWQKLUZBSUwgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogdXJsKCJodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQgYXNz
ZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0
eWxlICdzdWZmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAncHJlZml4OiB1cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdzdWZmaXg6IHVybChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2
YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3ByZWZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAnc3VmZml4OiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdwcmVmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxl
LmNvbS9mb28ucG5nIiknIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVy
bChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1z
dHlsZSAnc3VmZml4OiB1cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQK
K1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1
ZSknIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVu
dCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiAn
IGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogJyBpcyBpbnZhbGlkCiBQ
QVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGZvbyBiYXInIGlzIGludmFsaWQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRl
ci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDQy
NzM3MmUxODAyMzE1NWJmM2FkNDY1ZjBlYmE4NmQyNjNkNzYxZDMuLjM0MzcxMDE5OTgwNzJkZDQ2
NjkxNWQyZWU5NjNiYThiODU0Mzc3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0
eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5
bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlMIEBj
b3VudGVyLXN0eWxlICdyYW5nZTogYXV0bycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5p
dGUgaW5maW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlk
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IDAgaW5maW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmlu
aXRlIDAsIDUgMTAsIDEwMCBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5p
dGUgMTAsIDUgMjAsIDE1IGluZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBp
cyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIGluZmluaXRlJyBp
cyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlk
CitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1Mg
QGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAwLCA1IDEwLCAxMDAgaW5maW5pdGUnIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMTAsIDUgMjAsIDE1
IGluZmluaXRlJyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6ICcgaXMgaW52
YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IDAgLTEnIGlzIGludmFsaWQKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50
eHQKaW5kZXggZDNiM2U0M2M3ZjUxY2M4ZGIzMmYxN2VlMDgzYTkyNWU1ZDQ3NjU0YS4uYzYzZGY3
NjNmZDUxYjM0NmMzM2RmNDUwZjZjMTUyMjY4ZGNiZDQ1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVz
L2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsx
LDExIEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBhdXRvJyBpcyB2YWxpZCBh
c3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXIt
c3R5bGUgJ3NwZWFrLWFzOiBidWxsZXRzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBudW1i
ZXJzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdz
cGVhay1hczogc3BlbGwtb3V0JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsb3V0JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFs
czogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFz
OiBhdXRvJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogbnVtYmVycycgaXMgdmFs
aWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQKK1BBU1Mg
QGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdzcGVhay1hczogYmFyJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAn
c3BlYWstYXM6IHNwZWxsb3V0JyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWst
YXM6IGJ1bGxldHMgbnVtYmVycycgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3Bl
YWstYXM6IG5vbmUnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBp
bml0aWFsJyBpcyBpbnZhbGlkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1z
eXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3Rl
bS1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGZlMWVmYzg3MmM0NTNjODg5YmVhMWJmYzhlN2Qz
ZTNjY2E3NmJiMTcuLjU3NjFlYTFkODI3ODlhMWYwOTQwNzhkYTViZGE4NDQ5MGIzZmJkMWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDEzICsxLDEzIEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3lj
bGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
LUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQnIGlzIHZhbGlkIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lz
dGVtOiBmaXhlZCAxMDAnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAtMScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdzeXN0ZW06IHN5bWJvbGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczog
Z290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWxw
aGFiZXRpYycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkIGFzc2Vy
dF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHls
ZSAnc3lzdGVtOiBhZGRpdGl2ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFy
JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3ljbGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRl
ci1zdHlsZSAnc3lzdGVtOiBmaXhlZCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5
c3RlbTogZml4ZWQgMTAwJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBm
aXhlZCAtMScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMn
IGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGFscGhhYmV0aWMnIGlzIHZh
bGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkCitQQVNT
IEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGFkZGl0aXZlJyBpcyB2YWxpZAorUEFTUyBAY291bnRl
ci1zdHlsZSAnc3lzdGVtOiBleHRlbmRzIGJhcicgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5
bGUgJ3N5c3RlbTogZmxvYXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3Rl
bTogY3ljbGljIGN5Y2xpYycgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVt
OiBleHRlbmRzIG5vbmUnIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggY2VmMzU4MTBhMWVkYzA2YTg4N2Q2NzlhMzFmZmI3ZGZhMDUyNDJm
Yi4uZGYzNzYxM2I4ZTBjMGE4MzkxYjk0ODAzOGQyMWI1MmQ2ZjEwMmRmMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2NTcsMyArNDY1Nyw3IEBAIGZh
c3QvZm9ybXMvb25zZWxlY3QtdGV4dGZpZWxkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogZmFzdC9m
b3Jtcy9vcHRpb24tbW91c2VldmVudHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBmYXN0L2Zvcm1z
L3Bhc3N3b3JkLWRvdWJsZWNsaWNrLXNlbGVjdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGZh
c3QvdGV4dC9vZmZzZXRGb3JQb3NpdGlvbi1jb21wbGV4LWZhbGxiYWNrLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQorCisjIFRoaXMgdGVzdCBpcyBza2lwcGVkIGJlY2F1c2UgdGhlIG5lY2Vzc2FyeSBm
ZWF0dXJlIGZsYWcgZnVuY3Rpb25hbGl0eSBzcGVjaWZpYyB0byB0aGUgV2luZG93cyBXZWJLaXQg
bGVnYWN5IHBvcnQgaXMKKyMgbm90IGltcGxlbWVudGVkLiAgVGhlIGZlYXR1cmUgZmxhZ3MgaW4g
cXVlc3Rpb24gYXJlIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZCBDU1NDb3VudGVy
U3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkLgord2ViZXhwb3NlZC9jb3VudGVyLXN0eWxl
LWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9z
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWlt
YWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5Y2ZiM2Nj
NGEzN2U5ZDQzZDhjYmIzN2I2NGQ4NjBlNWQ5NTZmMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3Nl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQGNvdW50ZXItc3R5bGUgaW1h
Z2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
ZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBv
c2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM5MDZhNGRiNzczYmNhMzFkMTk2MjJjYmFlNDkwY2ZjMzRm
ODE3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1z
dHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQ1NTQ291bnRlclN0eWxlQXRS
dWxlSW1hZ2VTeW1ib2xzRW5hYmxlZD1mYWxzZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAY291bnRlci1z
dHlsZSBmb28geworICAgICAgICBzeXN0ZW06IGN5Y2xpYzsKKyAgICAgICAgc3VmZml4OiAiICI7
CisgICAgICAgIHN5bWJvbHM6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpOworICAgIH0K
Kzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnN0
IGNzc1J1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXMKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhjc3NSdWxlcy5sZW5ndGgsIDEsICdTaG91bGRcJ3ZlIGJlZW4gYWJsZSB0byBw
YXJzZSBAY291bnRlci1zdHlsZS4nKQorICAgICAgICBhc3NlcnRfZXF1YWxzKGNzc1J1bGVzWzBd
LnN5bWJvbHMsICcnLCAnU2hvdWxkblwndCBoYXZlIGJlZW4gYWJsZSB0byBwYXJzZSBpbWFnZSBz
eW1ib2wgdmFsdWUgd2l0aCB0aGUgcnVudGltZSBmZWF0dXJlIGZsYWcgZGlzYWJsZWQuJykKKyAg
ICB9LCAnQGNvdW50ZXItc3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQnKQorPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426678</attachid>
            <date>2021-04-21 06:42:13 -0700</date>
            <delta_ts>2021-04-22 15:41:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210421084211.patch</filename>
            <type>text/plain</type>
            <size>55307</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZmMzZDg3Mjg1YzQ1
YTkxZDhjNDJlZWE2OWE5MWVmMzYzZDY3Yy4uYzQ5Zjg0NGU2MWI1YzU3YWIyMGQwNzRmM2M0OWI3
N2YwMjM5MTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTIxICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIGFuZCBXUFRz
CisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKToKKyAgICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3IgcHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAg
ICAgIChXZWJDb3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nv
dW50ZXJTdHlsZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVy
U3R5bGVSdWxlOjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVS
dWxlOjpzZXRQYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0
RmFsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3lt
Ym9scyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2
ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3Bl
YWtBcyk6CisgICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9u
YWxpdHkgcmVxdWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmg6CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBn
ZXR0ZXIgYW5kIHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3Jp
cHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgIEFkZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFz
YCAKKyAgICAgICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lQ291bnRlclN0eWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVTeW1ib2wpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHls
ZU5lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZUJv
dW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpjb25zdW1lQ291bnRlclN0eWxlUGFkKToKKyAgICAgICAgKFdlYkNvcmU6
OmNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVD
b3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNv
dW50ZXJTdHlsZVNwZWFrQXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcik6CisgICAgICAgIFBhcnNlIEBjb3VudGVyLXN0
eWxlIGRlc2NyaXB0b3JzLgorCiAyMDIxLTA0LTIxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ10gVGFrZSAiY29udGFpbjogc2l6ZSIgaW50byBhY2NvdW50
IHdoZW4gY29tcHV0aW5nIHRoZSBwcmVmZXJyZWQgbG9naWNhbCB3aWR0aApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1MTFm
ODllNjUwZjliNGQ1MjU4YjQyYWYyYjg3OWFhOTQ5YTVlZDRjLi4zNGJiZjRhMGFmZGZjZjIwZWE4
NjkyNTFiZTg3MDhjYjJmOTU1Y2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNDAwMyw2ICs0MDAzLDE4IEBAIFJlZlB0
cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5
bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIC8vIFRoZXNlIGFyZSBpbnRlbnRpb25hbGx5IHVu
aW1wbGVtZW50ZWQgYmVjYXVzZSB0aGV5IGFyZSBhY3R1YWxseSBkZXNjcmlwdG9ycyBmb3IgQGNv
dW50ZXItc3R5bGUuCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeXN0ZW06CisgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlOZWdhdGl2ZToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVByZWZpeDoK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVN1ZmZpeDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVJhbmdlOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFkOgorICAgICAgICBjYXNlIENTU1By
b3BlcnR5RmFsbGJhY2s6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xzOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICAgICAgYnJlYWs7CisK
ICAgICAgICAgLyogVW5pbXBsZW1lbnRlZCBAZm9udC1mYWNlIHByb3BlcnRpZXMgKi8KICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVNyYzoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVVuaWNvZGVS
YW5nZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNwcAppbmRleCAy
MjljNDUyNGQxZWU4YTdlODQyY2I3ZWI0YzdkNTUzZDkyOGVhNjM2Li4xZmZmMjRjYThlZmMxNTU5
MjY3MThiYTg0ODc0MDliOWI1NmRmOTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ291bnRlclN0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50
ZXJTdHlsZVJ1bGUuY3BwCkBAIC0yNiw2ICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKIAorI2luY2x1ZGUgIkNTU1Byb3BlcnR5
UGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkNTU1Rva2Vu
aXplci5oIgorI2luY2x1ZGUgIlBhaXIuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIFN0eWxlUnVsZUNvdW50ZXJTdHls
ZTo6U3R5bGVSdWxlQ291bnRlclN0eWxlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIFJlZjxTdHls
ZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcykKQEAgLTQwLDYgKzQ2LDk0IEBAIFJlZjxTdHlsZVJ1
bGVDb3VudGVyU3R5bGU+IFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6Y3JlYXRlKGNvbnN0IEF0b21T
dHJpbmcmIG5hbWUsCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlQ291bnRlclN0
eWxlKG5hbWUsIFdURk1vdmUocHJvcGVydGllcykpKTsKIH0KIAorc3RhdGljIENvdW50ZXJTdHls
ZVN5c3RlbSB0b0NvdW50ZXJTdHlsZVN5c3RlbUVudW0oUmVmUHRyPENTU1ZhbHVlPiBzeXN0ZW0p
Cit7CisgICAgaWYgKCFzeXN0ZW0gfHwgIXN5c3RlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAg
ICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKworICAgIGF1dG8mIHBy
aW1pdGl2ZVN5c3RlbVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpzeXN0ZW0p
OworICAgIEFTU0VSVChwcmltaXRpdmVTeXN0ZW1WYWx1ZS5pc1ZhbHVlSUQoKSB8fCBwcmltaXRp
dmVTeXN0ZW1WYWx1ZS5pc1BhaXIoKSk7CisgICAgQ1NTVmFsdWVJRCBzeXN0ZW1LZXl3b3JkID0g
Q1NTVmFsdWVJbnZhbGlkOworICAgIGlmIChwcmltaXRpdmVTeXN0ZW1WYWx1ZS5pc1ZhbHVlSUQo
KSkKKyAgICAgICAgc3lzdGVtS2V5d29yZCA9IHByaW1pdGl2ZVN5c3RlbVZhbHVlLnZhbHVlSUQo
KTsKKyAgICBlbHNlIGlmIChhdXRvKiBwYWlyID0gcHJpbWl0aXZlU3lzdGVtVmFsdWUucGFpclZh
bHVlKCkpIHsKKyAgICAgICAgLy8gVGhpcyB2YWx1ZSBtdXN0IGJlIGBmaXhlZGAgb3IgYGV4dGVu
ZHNgLCBib3RoIG9mIHdoaWNoIGNhbiBvciBtdXN0IGhhdmUgYW4gYWRkaXRpb25hbCBjb21wb25l
bnQuCisgICAgICAgIGF1dG8gZmlyc3RWYWx1ZSA9IHBhaXItPmZpcnN0KCk7CisgICAgICAgIEFT
U0VSVChmaXJzdFZhbHVlICYmIGZpcnN0VmFsdWUtPmlzVmFsdWVJRCgpKTsKKyAgICAgICAgaWYg
KGZpcnN0VmFsdWUpCisgICAgICAgICAgICBzeXN0ZW1LZXl3b3JkID0gZmlyc3RWYWx1ZS0+dmFs
dWVJRCgpOworICAgIH0KKworICAgIHN3aXRjaCAoc3lzdGVtS2V5d29yZCkgeworICAgIGNhc2Ug
Q1NTVmFsdWVDeWNsaWM6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkN5Y2xp
YzsKKyAgICBjYXNlIENTU1ZhbHVlRml4ZWQ6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVT
eXN0ZW06OkZpeGVkOworICAgIGNhc2UgQ1NTVmFsdWVTeW1ib2xpYzoKKyAgICAgICAgcmV0dXJu
IENvdW50ZXJTdHlsZVN5c3RlbTo6U3ltYm9saWM7CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0
aWM6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFscGhhYmV0aWM7CisgICAg
Y2FzZSBDU1NWYWx1ZU51bWVyaWM6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06
Ok51bWVyaWM7CisgICAgY2FzZSBDU1NWYWx1ZUFkZGl0aXZlOgorICAgICAgICByZXR1cm4gQ291
bnRlclN0eWxlU3lzdGVtOjpBZGRpdGl2ZTsKKyAgICBjYXNlIENTU1ZhbHVlRXh0ZW5kczoKKyAg
ICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6RXh0ZW5kczsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHls
ZVN5c3RlbTo6U3ltYm9saWM7CisgICAgfQorfQorCitzdGF0aWMgYm9vbCBzeW1ib2xzVmFsaWRG
b3JTeXN0ZW0oQ291bnRlclN0eWxlU3lzdGVtIHN5c3RlbSwgUmVmUHRyPENTU1ZhbHVlPiBzeW1i
b2xzLCBSZWZQdHI8Q1NTVmFsdWU+IGFkZGl0aXZlU3ltYm9scykKK3sKKyAgICBzd2l0Y2ggKHN5
c3RlbSkgeworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpDeWNsaWM6CisgICAgY2FzZSBD
b3VudGVyU3R5bGVTeXN0ZW06OkZpeGVkOgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpT
eW1ib2xpYzoKKyAgICAgICAgcmV0dXJuIHN5bWJvbHMgJiYgc3ltYm9scy0+aXNWYWx1ZUxpc3Qo
KSAmJiBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpzeW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNl
IENvdW50ZXJTdHlsZVN5c3RlbTo6QWxwaGFiZXRpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5
c3RlbTo6TnVtZXJpYzoKKyAgICAgICAgcmV0dXJuIHN5bWJvbHMgJiYgc3ltYm9scy0+aXNWYWx1
ZUxpc3QoKSAmJiBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpzeW1ib2xzKS5sZW5ndGgoKSA+PSAy
dTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6QWRkaXRpdmU6CisgICAgICAgIHJldHVy
biBhZGRpdGl2ZVN5bWJvbHMgJiYgYWRkaXRpdmVTeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRv
d25jYXN0PENTU1ZhbHVlTGlzdD4oKmFkZGl0aXZlU3ltYm9scykubGVuZ3RoKCk7CisgICAgY2Fz
ZSBDb3VudGVyU3R5bGVTeXN0ZW06OkV4dGVuZHM6CisgICAgICAgIHJldHVybiAhc3ltYm9scyAm
JiAhYWRkaXRpdmVTeW1ib2xzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIFN0eWxlUnVs
ZUNvdW50ZXJTdHlsZTo6bmV3VmFsdWVJbnZhbGlkT3JFcXVhbChDU1NQcm9wZXJ0eUlEIHByb3Bl
cnR5SUQsIGNvbnN0IFJlZlB0cjxDU1NWYWx1ZT4gbmV3VmFsdWUpIGNvbnN0Cit7CisgICAgYXV0
byBjdXJyZW50VmFsdWUgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVy
dHlJRCk7CisgICAgaWYgKGNvbXBhcmVDU1NWYWx1ZVB0cihjdXJyZW50VmFsdWUsIG5ld1ZhbHVl
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHM7
CisgICAgUmVmUHRyPENTU1ZhbHVlPiBhZGRpdGl2ZVN5bWJvbHM7CisgICAgc3dpdGNoIChwcm9w
ZXJ0eUlEKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVN5c3RlbToKKyAgICAgICAgLy8gSWYgdGhl
IGF0dHJpYnV0ZSBiZWluZyBzZXQgaXMgYHN5c3RlbWAsIGFuZCB0aGUgbmV3IHZhbHVlIHdvdWxk
IGNoYW5nZSB0aGUgYWxnb3JpdGhtIHVzZWQsIGRvIG5vdGhpbmcKKyAgICAgICAgLy8gYW5kIGFi
b3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICAvLyAoSXQncyBva2F5IHRvIGNoYW5nZSBhbiBhc3Bl
Y3Qgb2YgdGhlIGFsZ29yaXRobSwgbGlrZSB0aGUgZmlyc3Qgc3ltYm9sIHZhbHVlIG9mIGEgYGZp
eGVkYCBzeXN0ZW0uKQorICAgICAgICByZXR1cm4gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKGN1
cnJlbnRWYWx1ZSkgIT0gdG9Db3VudGVyU3R5bGVTeXN0ZW1FbnVtKG5ld1ZhbHVlKTsKKyAgICBj
YXNlIENTU1Byb3BlcnR5U3ltYm9sczoKKyAgICAgICAgc3ltYm9scyA9IG5ld1ZhbHVlOworICAg
ICAgICBhZGRpdGl2ZVN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJvbHMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENT
U1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzOgorICAgICAgICBzeW1ib2xzID0gbV9wcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3ltYm9scyk7CisgICAgICAgIGFkZGl0
aXZlU3ltYm9scyA9IG5ld1ZhbHVlOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGF1dG8gc3lzdGVtID0gbV9wcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3lzdGVtKTsKKyAgICByZXR1cm4gc3lt
Ym9sc1ZhbGlkRm9yU3lzdGVtKHRvQ291bnRlclN0eWxlU3lzdGVtRW51bShzeXN0ZW0pLCBzeW1i
b2xzLCBhZGRpdGl2ZVN5bWJvbHMpOworfQorCiBTdHlsZVJ1bGVDb3VudGVyU3R5bGU6On5TdHls
ZVJ1bGVDb3VudGVyU3R5bGUoKSA9IGRlZmF1bHQ7CiAKIE11dGFibGVTdHlsZVByb3BlcnRpZXMm
IFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6bXV0YWJsZVByb3BlcnRpZXMoKQpAQCAtNjQsOCArMTU4
LDQ3IEBAIENTU0NvdW50ZXJTdHlsZVJ1bGU6On5DU1NDb3VudGVyU3R5bGVSdWxlKCkgPSBkZWZh
dWx0OwogCiBTdHJpbmcgQ1NTQ291bnRlclN0eWxlUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiB7Ci0g
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGZ1bmN0aW9uIHdoZW4gd2UgcGFyc2UgQGNvdW50
ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgU3Ry
aW5nIHN5c3RlbVRleHQgPSBzeXN0ZW0oKTsKKyAgICBjb25zdCBjaGFyKiBzeXN0ZW1QcmVmaXgg
PSBzeXN0ZW1UZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBzeXN0ZW06ICI7CisgICAgY29uc3QgY2hh
ciogc3lzdGVtU3VmZml4ID0gc3lzdGVtVGV4dC5pc0VtcHR5KCkgPyAiIiA6ICI7IjsKKworICAg
IFN0cmluZyBzeW1ib2xzVGV4dCA9IHN5bWJvbHMoKTsKKyAgICBjb25zdCBjaGFyKiBzeW1ib2xz
UHJlZml4ID0gc3ltYm9sc1RleHQuaXNFbXB0eSgpID8gIiIgOiAiIHN5bWJvbHM6ICI7CisgICAg
Y29uc3QgY2hhciogc3ltYm9sc1N1ZmZpeCA9IHN5bWJvbHNUZXh0LmlzRW1wdHkoKSA/ICIiIDog
IjsiOworCisgICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9sc1RleHQgPSBhZGRpdGl2ZVN5bWJvbHMo
KTsKKyAgICBjb25zdCBjaGFyKiBhZGRpdGl2ZVN5bWJvbHNQcmVmaXggPSBhZGRpdGl2ZVN5bWJv
bHNUZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBhZGRpdGl2ZS1zeW1ib2xzOiAiOworICAgIGNvbnN0
IGNoYXIqIGFkZGl0aXZlU3ltYm9sc1N1ZmZpeCA9IGFkZGl0aXZlU3ltYm9sc1RleHQuaXNFbXB0
eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgbmVnYXRpdmVUZXh0ID0gbmVnYXRpdmUoKTsK
KyAgICBjb25zdCBjaGFyKiBuZWdhdGl2ZVByZWZpeCA9IG5lZ2F0aXZlVGV4dC5pc0VtcHR5KCkg
PyAiIiA6ICIgbmVnYXRpdmU6ICI7CisgICAgY29uc3QgY2hhciogbmVnYXRpdmVTdWZmaXggPSBu
ZWdhdGl2ZVRleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgcHJlZml4VGV4
dCA9IHByZWZpeCgpOworICAgIGNvbnN0IGNoYXIqIHByZWZpeFRleHRQcmVmaXggPSBwcmVmaXhU
ZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBwcmVmaXg6ICI7CisgICAgY29uc3QgY2hhciogcHJlZml4
VGV4dFN1ZmZpeCA9IHByZWZpeFRleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJp
bmcgc3VmZml4VGV4dCA9IHN1ZmZpeCgpOworICAgIGNvbnN0IGNoYXIqIHN1ZmZpeFRleHRQcmVm
aXggPSBzdWZmaXhUZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBzdWZmaXg6ICI7CisgICAgY29uc3Qg
Y2hhciogc3VmZml4VGV4dFN1ZmZpeCA9IHN1ZmZpeFRleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7
CisKKyAgICBTdHJpbmcgcGFkVGV4dCA9IHBhZCgpOworICAgIGNvbnN0IGNoYXIqIHBhZFByZWZp
eCA9IHBhZFRleHQuaXNFbXB0eSgpID8gIiIgOiAiIHBhZDogIjsKKyAgICBjb25zdCBjaGFyKiBw
YWRTdWZmaXggPSBwYWRUZXh0LmlzRW1wdHkoKSA/ICIiIDogIjsiOworCisgICAgU3RyaW5nIHJh
bmdlVGV4dCA9IHJhbmdlKCk7CisgICAgY29uc3QgY2hhciogcmFuZ2VQcmVmaXggPSByYW5nZVRl
eHQuaXNFbXB0eSgpID8gIiIgOiAiIHJhbmdlOiAiOworICAgIGNvbnN0IGNoYXIqIHJhbmdlU3Vm
Zml4ID0gcmFuZ2VUZXh0LmlzRW1wdHkoKSA/ICIiIDogIjsiOworCisgICAgU3RyaW5nIGZhbGxi
YWNrVGV4dCA9IGZhbGxiYWNrKCk7CisgICAgY29uc3QgY2hhciogZmFsbGJhY2tQcmVmaXggPSBm
YWxsYmFja1RleHQuaXNFbXB0eSgpID8gIiIgOiAiIGZhbGxiYWNrOiAiOworICAgIGNvbnN0IGNo
YXIqIGZhbGxiYWNrU3VmZml4ID0gZmFsbGJhY2tUZXh0LmlzRW1wdHkoKSA/ICIiIDogIjsiOwor
CisgICAgU3RyaW5nIHNwZWFrQXNUZXh0ID0gc3BlYWtBcygpOworICAgIGNvbnN0IGNoYXIqIHNw
ZWFrQXNQcmVmaXggPSBzcGVha0FzVGV4dC5pc0VtcHR5KCkgPyAiIiA6ICIgc3BlYWstYXM6ICI7
CisgICAgY29uc3QgY2hhciogc3BlYWtBc1N1ZmZpeCA9IHNwZWFrQXNUZXh0LmlzRW1wdHkoKSA/
ICIiIDogIjsiOworCisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIkBjb3VudGVyLXN0eWxlICIsIG5h
bWUoKSwgIiB7Iiwgc3lzdGVtUHJlZml4LCBzeXN0ZW1UZXh0LCBzeXN0ZW1TdWZmaXgsIHN5bWJv
bHNQcmVmaXgsIHN5bWJvbHNUZXh0LCBzeW1ib2xzU3VmZml4LCBhZGRpdGl2ZVN5bWJvbHNQcmVm
aXgsIGFkZGl0aXZlU3ltYm9sc1RleHQsIGFkZGl0aXZlU3ltYm9sc1N1ZmZpeCwgbmVnYXRpdmVQ
cmVmaXgsIG5lZ2F0aXZlVGV4dCwgbmVnYXRpdmVTdWZmaXgsIHByZWZpeFRleHRQcmVmaXgsIHBy
ZWZpeFRleHQsIHByZWZpeFRleHRTdWZmaXgsIHN1ZmZpeFRleHRQcmVmaXgsIHN1ZmZpeFRleHQs
IHN1ZmZpeFRleHRTdWZmaXgsIHBhZFByZWZpeCwgcGFkVGV4dCwgcGFkU3VmZml4LCByYW5nZVBy
ZWZpeCwgcmFuZ2VUZXh0LCByYW5nZVN1ZmZpeCwgZmFsbGJhY2tQcmVmaXgsIGZhbGxiYWNrVGV4
dCwgZmFsbGJhY2tTdWZmaXgsIHNwZWFrQXNQcmVmaXgsIHNwZWFrQXNUZXh0LCBzcGVha0FzU3Vm
Zml4LCAiIH0iKTsKIH0KIAogdm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpyZWF0dGFjaChTdHls
ZVJ1bGVCYXNlJiBydWxlKQpAQCAtNzMsNCArMjA2LDc3IEBAIHZvaWQgQ1NTQ291bnRlclN0eWxl
UnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKICAgICBtX2NvdW50ZXJTdHlsZVJ1
bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVDb3VudGVyU3R5bGUmPihydWxlKTsKIH0KIAorLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNkb20tY3NzY291
bnRlcnN0eWxlcnVsZS1uYW1lCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldE5hbWUoY29u
c3QgU3RyaW5nJiB0ZXh0KQoreworICAgIGF1dG8gdG9rZW5zID0gQ1NTVG9rZW5pemVyKHRleHQp
LnRva2VuUmFuZ2UoKTsKKyAgICBhdXRvIG5hbWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6
OmNvbnN1bWVDb3VudGVyU3R5bGVOYW1lSW5QcmVsdWRlKHRva2Vucyk7CisgICAgaWYgKG5hbWUu
aXNOdWxsKCkgfHwgbmFtZSA9PSBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5hbWUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25T
Y29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJTdHlsZVJ1bGUtPnNldE5hbWUobmFtZSk7Cit9CisK
K3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHZhbHVlVGV4dCkKK3sKKyAgICBhdXRvIHRva2VucyA9
IENTU1Rva2VuaXplcih2YWx1ZVRleHQpLnRva2VuUmFuZ2UoKTsKKyAgICBhdXRvIG5ld1ZhbHVl
ID0gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0
eUlELCB0b2tlbnMsIHBhcnNlckNvbnRleHQoKSk7CisgICAgaWYgKG1fY291bnRlclN0eWxlUnVs
ZS0+bmV3VmFsdWVJbnZhbGlkT3JFcXVhbChwcm9wZXJ0eUlELCBuZXdWYWx1ZSkpCisgICAgICAg
IHJldHVybjsKKworICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9u
U2NvcGUodGhpcyk7CisgICAgbV9jb3VudGVyU3R5bGVSdWxlLT5tdXRhYmxlUHJvcGVydGllcygp
LnNldFByb3BlcnR5KHByb3BlcnR5SUQsIFdURk1vdmUobmV3VmFsdWUpKTsKK30KKwordm9pZCBD
U1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0oY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAg
IHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3lzdGVtLCB0ZXh0KTsKK30KKwordm9pZCBDU1ND
b3VudGVyU3R5bGVSdWxlOjpzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAg
c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlOZWdhdGl2ZSwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NT
Q291bnRlclN0eWxlUnVsZTo6c2V0UHJlZml4KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBz
ZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVByZWZpeCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291
bnRlclN0eWxlUnVsZTo6c2V0U3VmZml4KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0
ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVN1ZmZpeCwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRl
clN0eWxlUnVsZTo6c2V0UmFuZ2UoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlcklu
dGVybmFsKENTU1Byb3BlcnR5UmFuZ2UsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHls
ZVJ1bGU6OnNldFBhZChjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwo
Q1NTUHJvcGVydHlQYWQsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNl
dEZhbGxiYWNrKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQ
cm9wZXJ0eUZhbGxiYWNrLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpz
ZXRTeW1ib2xzKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQ
cm9wZXJ0eVN5bWJvbHMsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNl
dEFkZGl0aXZlU3ltYm9scyhjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJu
YWwoQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJvbHMsIHRleHQpOworfQorCit2b2lkIENTU0NvdW50
ZXJTdHlsZVJ1bGU6OnNldFNwZWFrQXMoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRl
ckludGVybmFsKENTU1Byb3BlcnR5U3BlYWtBcywgdGV4dCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCmluZGV4IGIy
NGZlMWZkNjZmMTRkY2Y5NThhYTlhN2FmN2IzYzA5NDdjMzI4MzYuLjdhODk3ZmIxMmUzOTU2ZWU2
ZWY4NmY4MjM5OWE1N2NmYWE0MzVjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb3VudGVyU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJT
dHlsZVJ1bGUuaApAQCAtMzIsNiArMzIsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisv
LyBUaGUga2V5d29yZHMgdGhhdCBjYW4gYmUgdXNlZCBhcyB2YWx1ZXMgZm9yIHRoZSBjb3VudGVy
LXN0eWxlIGBzeXN0ZW1gIGRlc2NyaXB0b3IuCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtCitlbnVtIGNsYXNzIENvdW50
ZXJTdHlsZVN5c3RlbSA6IHVpbnQ4X3QgeworICAgIEN5Y2xpYywKKyAgICBOdW1lcmljLAorICAg
IEFscGhhYmV0aWMsCisgICAgU3ltYm9saWMsCisgICAgQWRkaXRpdmUsCisgICAgRml4ZWQsCisg
ICAgRXh0ZW5kcworfTsKKwogY2xhc3MgU3R5bGVSdWxlQ291bnRlclN0eWxlIGZpbmFsIDogcHVi
bGljIFN0eWxlUnVsZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlQ291
bnRlclN0eWxlPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVy
dGllcz4mJik7CkBAIC00MSw2ICs1MywyMCBAQCBwdWJsaWM6CiAgICAgTXV0YWJsZVN0eWxlUHJv
cGVydGllcyYgbXV0YWJsZVByb3BlcnRpZXMoKTsKIAogICAgIGNvbnN0IEF0b21TdHJpbmcmIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBTdHJpbmcgc3lzdGVtKCkgY29uc3Qg
eyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3lzdGVt
KTsgfQorICAgIFN0cmluZyBuZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+
Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eU5lZ2F0aXZlKTsgfQorICAgIFN0cmluZyBwcmVm
aXgoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJv
cGVydHlQcmVmaXgpOyB9CisgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVN1ZmZpeCk7IH0KKyAgICBTdHJp
bmcgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlSYW5nZSk7IH0KKyAgICBTdHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gbV9w
cm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5UGFkKTsgfQorICAgIFN0cmlu
ZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eUZhbGxiYWNrKTsgfQorICAgIFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3ltYm9scyk7
IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0
aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzKTsgfQorICAg
IFN0cmluZyBzcGVha0FzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0
eVZhbHVlKENTU1Byb3BlcnR5U3BlYWtBcyk7IH0KKworICAgIGJvb2wgbmV3VmFsdWVJbnZhbGlk
T3JFcXVhbChDU1NQcm9wZXJ0eUlELCBjb25zdCBSZWZQdHI8Q1NTVmFsdWU+IG5ld1ZhbHVlKSBj
b25zdDsKKworICAgIHZvaWQgc2V0TmFtZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7IG1fbmFt
ZSA9IG5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTdHlsZVJ1bGVDb3VudGVyU3R5
bGUoY29uc3QgQXRvbVN0cmluZyYsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOwpAQCAtNTksMzQg
Kzg1LDM0IEBAIHB1YmxpYzoKICAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDT1VOVEVSX1NUWUxFX1JVTEU7IH0KIAogICAgIFN0cmluZyBuYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5uYW1lKCk7IH0KLSAgICAvLyBGSVhNRTogSW1w
bGVtZW50IGFmdGVyIHdlIHBhcnNlIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzLgotICAgIFN0
cmluZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5n
IG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyBw
cmVmaXgoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHN1ZmZp
eCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgcmFuZ2UoKSBj
b25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHBhZCgpIGNvbnN0IHsg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJl
dHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0IHsg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7IH0KLQotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2Ug
cGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgdm9pZCBzZXROYW1lKGNvbnN0
IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0U3lzdGVtKGNvbnN0IFN0cmluZyYpIHsgfQotICAg
IHZvaWQgc2V0TmVnYXRpdmUoY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRQcmVmaXgo
Y29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRTdWZmaXgoY29uc3QgU3RyaW5nJikgeyB9
Ci0gICAgdm9pZCBzZXRSYW5nZShjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFBhZChj
b25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldEZhbGxiYWNrKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0U3ltYm9scyhjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldEFk
ZGl0aXZlU3ltYm9scyhjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFNwZWFrQXMoY29u
c3QgU3RyaW5nJikgeyB9CisgICAgU3RyaW5nIHN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fY291
bnRlclN0eWxlUnVsZS0+c3lzdGVtKCk7IH0KKyAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25zdCB7
IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5lZ2F0aXZlKCk7IH0KKyAgICBTdHJpbmcgcHJl
Zml4KCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wcmVmaXgoKTsgfQorICAg
IFN0cmluZyBzdWZmaXgoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnN1ZmZp
eCgpOyB9CisgICAgU3RyaW5nIHJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVS
dWxlLT5yYW5nZSgpOyB9CisgICAgU3RyaW5nIHBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRl
clN0eWxlUnVsZS0+cGFkKCk7IH0KKyAgICBTdHJpbmcgZmFsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2NvdW50ZXJTdHlsZVJ1bGUtPmZhbGxiYWNrKCk7IH0KKyAgICBTdHJpbmcgc3ltYm9scygp
IGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+c3ltYm9scygpOyB9CisgICAgU3Ry
aW5nIGFkZGl0aXZlU3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+
YWRkaXRpdmVTeW1ib2xzKCk7IH0KKyAgICBTdHJpbmcgc3BlYWtBcygpIGNvbnN0IHsgcmV0dXJu
IG1fY291bnRlclN0eWxlUnVsZS0+c3BlYWtBcygpOyB9CisKKyAgICB2b2lkIHNldE5hbWUoY29u
c3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTeXN0ZW0oY29uc3QgU3RyaW5nJik7CisgICAgdm9p
ZCBzZXROZWdhdGl2ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFByZWZpeChjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldFN1ZmZpeChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNl
dFJhbmdlKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgc2V0RmFsbGJhY2soY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRTeW1ib2xz
KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNvbnN0IFN0cmlu
ZyYpOworICAgIHZvaWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKICAg
ICBDU1NDb3VudGVyU3R5bGVSdWxlKFN0eWxlUnVsZUNvdW50ZXJTdHlsZSYsIENTU1N0eWxlU2hl
ZXQqIHBhcmVudCk7CiAKKyAgICB2b2lkIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5SUQsIGNv
bnN0IFN0cmluZyYpOworCiAgICAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gbV9jb3VudGVy
U3R5bGVSdWxlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXgg
NzJiOTU3ZWMwODU1NDRkMDY2ZGM1MjNlNWIxMDQwMGE5OTcxNzM4Zi4uZDhjY2Q2YjI0MDhkMDk3
NjhkNzM0ZTVhM2IzYTQyYTU0OGJmMGI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCkBAIC04MDMsNiArODAzLDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLXJ1YnktMS8jcnVieXBvcyIKICAgICAgICAgICAgIH0KICAg
ICAgICAgfSwKKyAgICAgICAgImFkZGl0aXZlLXN5bWJvbHMiOiB7CisgICAgICAgICAgICAic2V0
dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVn
ZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQor
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAg
ICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAg
ICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3Vu
dGVyLXN0eWxlLXN5bWJvbHMiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJh
bGlnbm1lbnQtYmFzZWxpbmUiOiB7CiAgICAgICAgICAgICAidmFsdWVzIjogWwogICAgICAgICAg
ICAgICAgICJhdXRvIiwKQEAgLTI0MzYsNiArMjQ0NiwxNiBAQAogICAgICAgICAgICAgICAgICJj
YXRlZ29yeSI6ICJzdmciCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJmYWxs
YmFjayI6IHsKKyAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0
UnVsZSIsCisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAg
ICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNw
ZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVy
LXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIv
Y3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtZmFsbGJhY2siCisgICAgICAgICAg
ICB9CisgICAgICAgIH0sCiAgICAgICAgICJmaWxsIjogewogICAgICAgICAgICAgImluaGVyaXRl
ZCI6IHRydWUsCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtMzM3Nyw2
ICszMzk3LDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLW92ZXJzY3JvbGwtMS8jcHJvcGRlZi1vdmVyc2Nyb2xsLWJlaGF2aW9yLXkiCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJwYWQiOiB7CisgICAgICAgICAgICAi
c2V0dGluZ3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNv
ZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1
ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAg
ICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAg
ICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNj
b3VudGVyLXN0eWxlLXBhZCIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgInBh
ZGRpbmciOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAg
ICAgICAgICJsb25naGFuZHMiOiBbCkBAIC0zODUwLDYgKzM4ODAsMTYgQEAKICAgICAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MzLXNwZWVjaC8jc3BlYWstYXMi
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJzeW1ib2xzIjogeworICAgICAg
ICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRl
ciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsK
KyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAg
ICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHls
ZXMtMy8jY291bnRlci1zdHlsZS1zeW1ib2xzIgorICAgICAgICAgICAgfQorICAgICAgICB9LAog
ICAgICAgICAidGFibGUtbGF5b3V0IjogewogICAgICAgICAgICAgInZhbHVlcyI6IFsKICAgICAg
ICAgICAgICAgICAiYXV0byIsCkBAIC02MDQ0LDYgKzYwODQsMTYgQEAKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICAic3RhdHVzIjogIm5vbi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAg
ICAgIm5lZ2F0aXZlIjogeworICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRl
clN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAg
ICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3Nz
LWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1uZWdhdGl2ZSIKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImNvbG9yLXNjaGVtZSI6IHsKICAgICAg
ICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYx
MjksNiArNjE3OSwxNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2Nzcy10cmFuc2Zvcm1zLTEvI3Byb3BkZWYtcGVyc3BlY3RpdmUtb3JpZ2luIgogICAg
ICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAicHJlZml4IjogeworICAgICAgICAgICAg
InNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxlIiwKKyAgICAgICAgICAgICJj
b2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRy
dWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAg
ICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8j
Y291bnRlci1zdHlsZS1wcmVmaXgiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICItd2Via2l0LXByaW50LWNvbG9yLWFkanVzdCI6IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQi
OiB0cnVlLAogICAgICAgICAgICAgInZhbHVlcyI6IFsKQEAgLTYxMzcsNiArNjE5NywxNiBAQAog
ICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJzdGF0dXMiOiAibm9uLXN0YW5kYXJkIgogICAg
ICAgICB9LAorICAgICAgICAicmFuZ2UiOiB7CisgICAgICAgICAgICAic2V0dGluZ3MtZmxhZyI6
ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGUiLAorICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRl
Z29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0
cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXJh
bmdlIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1ydGwtb3Jk
ZXJpbmciOiB7CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJ2
YWx1ZXMiOiBbCkBAIC02MTQ5LDYgKzYyMTksMTYgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAic3RhdHVzIjogIm5vbi1zdGFuZGFyZCIKICAgICAgICAgfSwKKyAgICAgICAgInN1ZmZp
eCI6IHsKKyAgICAgICAgICAgICJydW50aW1lLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxl
IiwKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAg
InNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lm
aWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5
bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mt
Y291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zdWZmaXgiCisgICAgICAgICAgICB9Cisg
ICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LXN2Zy1zaGFkb3ciOiB7CiAgICAgICAgICAgICAi
Y29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0
cnVlCkBAIC02OTcxLDYgKzcwNTEsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3Mtc2hhcGVzLyNwcm9wZGVmLXNoYXBlLWltYWdlLXRocmVzaG9s
ZCIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInN5c3RlbSI6IHsKKyAgICAg
ICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZSIsCisgICAgICAg
ICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxk
ZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7
CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAg
ICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5
bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtIgorICAgICAgICAgICAgfQorICAgICAgICB9LAog
ICAgICAgICAiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIjogewogICAgICAgICAgICAgImlu
aGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAt
NzE0MSw2ICs3MjMxLDExIEBACiAgICAgICAgICAgICAibG9uZ25hbWUiOiAiQ1NTIEdlbmVyYXRl
ZCBDb250ZW50IE1vZHVsZSIsCiAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtY29udGVudC0zLyIKICAgICAgICAgfSwKKyAgICAgICAgImNzcy1jb3VudGVyLXN0
eWxlcyI6IHsKKyAgICAgICAgICAgICJzaG9ydG5hbWUiOiAiQ1NTIENvdW50ZXIgU3R5bGVzIiwK
KyAgICAgICAgICAgICJsb25nbmFtZSI6ICJDU1MgQ291bnRlciBTdHlsZXMgTW9kdWxlIiwKKyAg
ICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxl
cy0zIgorICAgICAgICB9LAogICAgICAgICAiY3NzLWRldmljZS1hZGFwdCI6IHsKICAgICAgICAg
ICAgICJzaG9ydG5hbWUiOiAiQ1NTIERldmljZSBBZGFwdGF0aW9uIiwKICAgICAgICAgICAgICJs
b25nbmFtZSI6ICJDU1MgRGV2aWNlIEFkYXB0YXRpb24gTW9kdWxlIiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggZTI0YzliZjhjODM0YmZjZTcwYWUwMDkwODUyMzU4
MDNiMjFjZGVlNi4uM2YzZGEwMGIxNWIzMDkyMTI0ODgzY2NmOWRjYmUzZmY0MWE4YzNjNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTE1MDUsNiArMTUwNSwyNCBA
QCBmcm9tLWZvbnQKIHN0YW5kYXJkCiBoaWdoCiAKKy8vIEBjb3VudGVyLXN0eWxlIGBzeXN0ZW1g
IGRlc2NyaXB0b3IgdmFsdWVzCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtCitjeWNsaWMKK251bWVyaWMKKy8vIGFscGhh
YmV0aWMKK3N5bWJvbGljCithZGRpdGl2ZQorLy8gZml4ZWQKK2V4dGVuZHMKKworLy8gQGNvdW50
ZXItc3R5bGUgYHNwZWFrLWFzYCBkZXNjcmlwdG9yIHZhbHVlcworLy8gaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXNwZWFrLWFzCisvLyBh
dXRvCitidWxsZXRzCitudW1iZXJzCit3b3JkcworLy8gc3BlbGwtb3V0CisKIC8vIEBzdXBwb3J0
cyBzZWxlY3RvcigpCiAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbmRpdGlvbmFs
LTQvI3R5cGVkZWYtc3VwcG9ydHMtc2VsZWN0b3ItZm4KIHNlbGVjdG9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGU1MTRjMzk4YjQ1
YjczOGY5MGFhMTA3NmMxMjY1YTFlNjg4Y2Q2NWMuLjdlYjQxMWJjMWY3Mjk3ODdmODFmYzgyZWRm
NjI2ZWQ3MWVjNWIzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC00NTM1LDE1ICs0NTM1LDIxOSBAQCBSZWZQdHI8Q1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0
eVZhbHVlKAogICAgIHJldHVybiBudWxscHRyOwogfQogCisvLyBodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVtCitzdGF0aWMgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3lzdGVtKENTU1BhcnNl
clRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50
PENTU1ZhbHVlQ3ljbGljLCBDU1NWYWx1ZU51bWVyaWMsIENTU1ZhbHVlQWxwaGFiZXRpYywgQ1NT
VmFsdWVTeW1ib2xpYywgQ1NTVmFsdWVBZGRpdGl2ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4g
aWRlbnQ7CisKKyAgICBpZiAoYXV0byBpZGVudCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUZpeGVk
PihyYW5nZSkpIHsKKyAgICAgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgICAgICByZXR1
cm4gaWRlbnQ7CisgICAgICAgIC8vIElmIHdlIGhhdmUgdGhlIGBmaXhlZGAga2V5d29yZCBidXQg
dGhlIHJhbmdlIGlzIG5vdCBhdCB0aGUgZW5kLCB0aGUgbmV4dCB0b2tlbiBtdXN0IGJlIGEgaW50
ZWdlci4KKyAgICAgICAgLy8gSWYgaXQncyBub3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAg
ICAgICAgYXV0byBmaXJzdFN5bWJvbFZhbHVlID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAg
ICAgICBpZiAoIWZpcnN0U3ltYm9sVmFsdWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9u
TnVsbCgpLCBmaXJzdFN5bWJvbFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKworICAg
IGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlRXh0ZW5kcz4ocmFuZ2UpKSB7
CisgICAgICAgIC8vIFRoZXJlIG11c3QgYmUgYSBgPGNvdW50ZXItc3R5bGUtbmFtZT5gIGZvbGxv
d2luZyB0aGUgYGV4dGVuZHNgIGtleXdvcmQuIElmIHRoZXJlIGlzbid0LCB0aGlzIHZhbHVlIGlz
IGludmFsaWQuCisgICAgICAgIGF1dG8gcGFyc2VkQ291bnRlclN0eWxlTmFtZSA9IGNvbnN1bWVD
b3VudGVyU3R5bGVOYW1lKHJhbmdlKTsKKyAgICAgICAgaWYgKCFwYXJzZWRDb3VudGVyU3R5bGVO
YW1lKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjcmVhdGVQ
cmltaXRpdmVWYWx1ZVBhaXIoaWRlbnQucmVsZWFzZU5vbk51bGwoKSwgcGFyc2VkQ291bnRlclN0
eWxlTmFtZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlwZWRl
Zi1zeW1ib2wKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1i
b2woQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNv
bnRleHQpCit7CisgICAgaWYgKGF1dG8gc3RyaW5nID0gY29uc3VtZVN0cmluZyhyYW5nZSkpCisg
ICAgICAgIHJldHVybiBzdHJpbmc7CisgICAgaWYgKGF1dG8gY3VzdG9tSWRlbnQgPSBjb25zdW1l
Q3VzdG9tSWRlbnQocmFuZ2UpKQorICAgICAgICByZXR1cm4gY3VzdG9tSWRlbnQ7CisgICAgLy8g
VGhlcmUgYXJlIGluaGVyZW50IGRpZmZpY3VsdGllcyBpbiBzdXBwb3J0aW5nIDxpbWFnZT4gc3lt
Ym9scyBpbiBAY291bnRlci1zdHlsZXMsIHNvIGdhdGUgdGhlbSBiZWhpbmQgYQorICAgIC8vIGZs
YWcgZm9yIG5vdy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY0
NQorICAgIGlmIChjb250ZXh0LmNvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQp
IHsKKyAgICAgICAgaWYgKGF1dG8gaW1hZ2UgPSBjb25zdW1lSW1hZ2UocmFuZ2UsIGNvbnRleHQs
IHsgQWxsb3dlZEltYWdlVHlwZTo6VVJMRnVuY3Rpb24sIEFsbG93ZWRJbWFnZVR5cGU6OkdlbmVy
YXRlZEltYWdlIH0pKQorICAgICAgICAgICAgcmV0dXJuIGltYWdlOworICAgIH0KKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0
eWxlcy0zLyNjb3VudGVyLXN0eWxlLW5lZ2F0aXZlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBj
b25zdW1lQ291bnRlclN0eWxlTmVnYXRpdmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgYXV0byBwcmVwZW5kVmFsdWUg
PSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICBpZiAoIXBy
ZXBlbmRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKHJhbmdlLmF0RW5k
KCkpCisgICAgICAgIHJldHVybiBwcmVwZW5kVmFsdWU7CisKKyAgICBhdXRvIGFwcGVuZFZhbHVl
ID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAgaWYgKCFh
cHBlbmRWYWx1ZSB8fCAhcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNw
YWNlU2VwYXJhdGVkKCk7CisgICAgdmFsdWVzLT5hcHBlbmQocHJlcGVuZFZhbHVlLnJlbGVhc2VO
b25OdWxsKCkpOworICAgIHZhbHVlcy0+YXBwZW5kKGFwcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxs
KCkpOworICAgIHJldHVybiB2YWx1ZXM7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9j
c3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gaW5maW5pdGUgPSBjb25zdW1lSWRl
bnQ8Q1NTVmFsdWVJbmZpbml0ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gaW5maW5pdGU7Cisg
ICAgaWYgKGF1dG8gaW50ZWdlciA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKSkKKyAgICAgICAgcmV0
dXJuIGludGVnZXI7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGlj
IFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChhdXRvIGF1dG9WYWx1ZSA9IGNvbnN1bWVJZGVudDxD
U1NWYWx1ZUF1dG8+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGF1dG9WYWx1ZTsKKworICAgIGF1
dG8gcmFuZ2VMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAg
IGRvIHsKKyAgICAgICAgYXV0byBsb3dlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdl
Qm91bmQocmFuZ2UpOworICAgICAgICBpZiAoIWxvd2VyQm91bmQpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgYXV0byB1cHBlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHls
ZVJhbmdlQm91bmQocmFuZ2UpOworICAgICAgICBpZiAoIXVwcGVyQm91bmQpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAvLyBJZiB0aGUgbG93ZXIgYm91bmQgb2YgYW55
IHJhbmdlIGlzIGhpZ2hlciB0aGFuIHRoZSB1cHBlciBib3VuZCwgdGhlIGVudGlyZSBkZXNjcmlw
dG9yIGlzIGludmFsaWQgYW5kIG11c3QgYmUKKyAgICAgICAgLy8gaWdub3JlZC4KKyAgICAgICAg
aWYgKGxvd2VyQm91bmQtPmlzTnVtYmVyKCkgJiYgdXBwZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiBs
b3dlckJvdW5kLT5pbnRWYWx1ZSgpID4gdXBwZXJCb3VuZC0+aW50VmFsdWUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByYW5nZUxpc3QtPmFwcGVuZChjcmVhdGVQcmlt
aXRpdmVWYWx1ZVBhaXIobG93ZXJCb3VuZC5yZWxlYXNlTm9uTnVsbCgpLCB1cHBlckJvdW5kLnJl
bGVhc2VOb25OdWxsKCksIFBhaXI6OklkZW50aWNhbFZhbHVlRW5jb2Rpbmc6OkRvTm90Q29hbGVz
Y2UpKTsKKyAgICB9IHdoaWxlIChjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdl
KSk7CisgICAgaWYgKCFyYW5nZS5hdEVuZCgpIHx8ICFyYW5nZUxpc3QtPmxlbmd0aCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gcmFuZ2VMaXN0OworfQorCisvLyBodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFk
CitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlUGFkKENTU1BhcnNl
clRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorewor
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gaW50ZWdlcjsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJv
bDsKKyAgICB3aGlsZSAoIWludGVnZXIgfHwgIXN5bWJvbCkgeworICAgICAgICBpZiAoIWludGVn
ZXIpIHsKKyAgICAgICAgICAgIGludGVnZXIgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwgVmFsdWVS
YW5nZU5vbk5lZ2F0aXZlKTsKKyAgICAgICAgICAgIGlmIChpbnRlZ2VyKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlmICghc3ltYm9sKSB7CisgICAgICAg
ICAgICBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsK
KyAgICAgICAgICAgIGlmIChzeW1ib2wpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIGlmICghcmFuZ2UuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0byB2YWx1ZXMgPSBDU1NWYWx1
ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgdmFsdWVzLT5hcHBlbmQoaW50ZWdl
ci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXN5bWJvbHMKK3N0YXRpYyBS
ZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1
dG8gc3ltYm9scyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICB3
aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKKyAgICAgICAgYXV0byBzeW1ib2wgPSBjb25zdW1lQ291
bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFzeW1ib2wpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgc3ltYm9scy0+YXBwZW5kKHN5bWJv
bC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgaWYgKCFzeW1ib2xzLT5sZW5ndGgoKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHN5bWJvbHM7Cit9CisKKy8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1z
eW1ib2xzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlQWRkaXRp
dmVTeW1ib2xzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8gdmFsdWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVD
b21tYVNlcGFyYXRlZCgpOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbGFzdEludGVn
ZXI7CisgICAgZG8geworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGludGVnZXI7
CisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sOworICAgICAgICB3aGlsZSAoIWludGVn
ZXIgfHwgIXN5bWJvbCkgeworICAgICAgICAgICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAg
ICAgICAgaW50ZWdlciA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlLCBWYWx1ZVJhbmdlTm9uTmVnYXRp
dmUpOworICAgICAgICAgICAgICAgIGlmIChpbnRlZ2VyKQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghc3ltYm9sKSB7CisgICAg
ICAgICAgICAgICAgc3ltYm9sID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgaWYgKHN5bWJvbCkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChsYXN0SW50ZWdlcikgeworICAgICAgICAgICAgLy8gVGhl
IGFkZGl0aXZlIHR1cGxlcyBtdXN0IGJlIHNwZWNpZmllZCBpbiBvcmRlciBvZiBzdHJpY3RseSBk
ZXNjZW5kaW5nCisgICAgICAgICAgICAvLyB3ZWlnaHQ7IG90aGVyd2lzZSwgdGhlIGRlY2xhcmF0
aW9uIGlzIGludmFsaWQgYW5kIG11c3QgYmUgaWdub3JlZC4KKyAgICAgICAgICAgIGlmIChpbnRl
Z2VyLT5pbnRWYWx1ZSgpID49IGxhc3RJbnRlZ2VyLT5pbnRWYWx1ZSgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9CisgICAgICAgIGxhc3RJbnRlZ2VyID0gaW50
ZWdlcjsKKyAgICAgICAgdmFsdWVzLT5hcHBlbmQoaW50ZWdlci5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICAgICAgdmFsdWVzLT5hcHBlbmQoc3ltYm9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0g
d2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICBpZiAo
IXJhbmdlLmF0RW5kKCkgfHwgIXZhbHVlcy0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIHJldHVybiB2YWx1ZXM7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9j
c3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zcGVhay1hcworc3RhdGljIFJlZlB0
cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50ZXJTdHlsZVNwZWFrQXMoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gc3BlYWtBc0lkZW50ID0gY29uc3VtZUlkZW50PENT
U1ZhbHVlQXV0bywgQ1NTVmFsdWVCdWxsZXRzLCBDU1NWYWx1ZU51bWJlcnMsIENTU1ZhbHVlV29y
ZHMsIENTU1ZhbHVlU3BlbGxPdXQ+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNwZWFrQXNJZGVu
dDsKKyAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZU5hbWUocmFuZ2UpOworfQorCiBSZWZQ
dHI8Q1NTVmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0
b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewogICAgIGlmICghY29udGV4dC5jb3VudGVy
U3R5bGVBdFJ1bGVzRW5hYmxlZCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgLy8gRklY
TUU6IEltcGxlbWVudCB0aGlzIGZ1bmN0aW9uIHdoZW4gd2UgY2FuIHBhcnNlIEBjb3VudGVyLXN0
eWxlIGRlc2NyaXB0b3JzLgotICAgIFVOVVNFRF9QQVJBTShwcm9wSWQpOwotICAgIFVOVVNFRF9Q
QVJBTShyYW5nZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIHJldHVybiBudWxs
cHRyOworCisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5U3lzdGVt
OgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZVN5c3RlbShyYW5nZSk7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZlOgorICAgICAgICByZXR1cm4gY29uc3VtZUNvdW50ZXJT
dHlsZU5lZ2F0aXZlKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UHJlZml4
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlTdWZmaXg6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291
bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UmFu
Z2U6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlUmFuZ2UocmFuZ2UpOworICAg
IGNhc2UgQ1NTUHJvcGVydHlQYWQ6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxl
UGFkKHJhbmdlLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5RmFsbGJhY2s6CisgICAg
ICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmFtZShyYW5nZSk7CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9s
cyhyYW5nZSwgY29udGV4dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoK
KyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVBZGRpdGl2ZVN5bWJvbHMocmFuZ2Us
IGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTcGVha0FzOgorICAgICAgICByZXR1cm4g
Y29uc3VtZUNvdW50ZXJTdHlsZVNwZWFrQXMocmFuZ2UpOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiB9
CiAKIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihD
U1NQcm9wZXJ0eUlEIHByb3BJZCwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OGJiMTcz
YTYyNTU2ZmM0NGQ2MTBiZGJkZWU0MTRiNzVkYTg2OGQxLi42YjljMTcyYTAwMmZjMWFhZjliYzIw
OThlZmNjN2E4ZGU5ZDgwNTc0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMjEgIFR5bGVyIFdpbGNvY2sg
IDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVz
XSBQYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RPcHRpb25zOjpkZWZhdWx0cyk6CisgICAgICAgIEZpeCB0
eXBvIChtaXNzaW5nICdzJykuICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVzRW5hYmxlZCwgbm90Cisg
ICAgICAgIENTU0NvdW50ZXJTdHlsZUF0UnVsZUVuYWJsZWQuCisKIDIwMjEtMDQtMjEgIExhdXJv
IE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gQWxsb3cgZGVmaW5p
bmcgY3VzdG9tIHJlcG8gYW5kIGJyYW5jaCBmb3IgQ29nIGNoZWNrb3V0CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggZmI4YTIzMmFjY2FjNTFkNjMyNDZkZDQzOTVlMTI0YzA5
OTZmNTBkYS4uZWUwZTNjZWJjMGY3Y2ZlZDk4OWYxYzUwMmRlMzNmNTk1NGUwODhjNiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTMzLDcgKzEzMyw3IEBAIGNvbnN0IFRl
c3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKICAgICAgICAgICAgIHsgIkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJBdHRhY2htZW50
RWxlbWVudEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NTQ29udGFpbm1lbnRF
bmFibGVkIiwgZmFsc2UgfSwKLSAgICAgICAgICAgIHsgIkNTU0NvdW50ZXJTdHlsZUF0UnVsZUVu
YWJsZWQiLCBmYWxzZSB9LAorICAgICAgICAgICAgeyAiQ1NTQ291bnRlclN0eWxlQXRSdWxlc0Vu
YWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1h
Z2VTeW1ib2xzRW5hYmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJDU1NMb2dpY2FsRW5h
YmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkIiwgZmFsc2UgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YjVlNGI0MGU1ZjJiNjIxM2I3YzZkZmUyNDhkMDY2
YTEyNmI1MWNmLi5lZDRlOGU4ODk4MWU3ZmVjYTExODM5MTFiMDQxNzQ0MjcxMjdmMjUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNjMgQEAKKzIwMjEtMDQtMjEgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bw
cm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNvdW50ZXItc3R5bGVzXSBQYXJzZSBAY291
bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRlc3QgZW5zdXJpbmcgPGltYWdlPiBAY291bnRlci1zdHlsZSBz
eW1ib2wgdmFsdWVzIGNhbm5vdCBiZQorICAgICAgICBwYXJzZWQgd2hlbiB0aGUgYGNvdW50ZXJT
dHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWRgIGZlYXR1cmUgZmxhZworICAgICAgICBpcyBk
aXNhYmxlZC4KKworICAgICAgICAtLS0KKworICAgICAgICBUaGlzIHRlc3QgaXMgc2tpcHBlZCBv
biBXaW5kb3dzIGJlY2F1c2UgSSBoYXZlbid0IGJlZW4gYWJsZSB0byBnZXQgdGhlCisgICAgICAg
IHJlcXVpcmVkIGZlYXR1cmUgZmxhZ3MgKENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFu
ZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkKSB0byB3
b3JrIHByb3Blcmx5IGZvciB0aGF0CisgICAgICAgIHBvcnQuCisKKyAgICAgICAgVGhlIGNvZGUg
aGlkZGVuIGJlaGluZCB0aGVzZSBmbGFncyBpcyBhbGwgaW4gdGhlIENTUyBwYXJzZXIsIHdoaWNo
IGlzIG5vdAorICAgICAgICB1bmlxdWUgdG8gV2luZG93cywgc28gSSB0aGluayB3ZSBjYW4gYmUg
Y29uZmlkZW50IHRoYXQgaWYgdGhlIHRlc3QgcGFzc2VzCisgICAgICAgIG9uIGFsbCBvdGhlciBw
bGF0Zm9ybXMsIHRoYXQgdGhlIGJlaGF2aW9yIGlzIGNvcnJlY3Qgb24gV2luZG93cyB0b28uCisK
KyAgICAgICAgT25lIGF0dGVtcHQgYXQgaW1wbGVtZW50aW5nIHRoZSBuZWNlc3NhcnkgV2luZG93
cy1zcGVjaWZpYyBmbGFnIGZ1bmN0aW9uYWxpdHkgaXMgaGVyZToKKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD00MjYzNzEmYWN0aW9uPWVkaXQKKwor
ICAgICAgICBXaGljaCBmYWlsZWQgdG8gY29tcGlsZVsxXSB3aXRoIHRoaXMgZXJyb3I6CisKKyAg
ICAgICAgPiBDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVpbGRc
VG9vbHNcRHVtcFJlbmRlclRyZWVcd2luXER1bXBSZW5kZXJUcmVlLmNwcCg4MzQsNTEpOiBlcnJv
ciBDMjAzOTogJ3NldENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkJzogaXMgbm90IGEgbWVt
YmVyIG9mICdJV2ViUHJlZmVyZW5jZXNQcml2YXRlNycgW0M6XGN5Z3dpblxob21lXGJ1aWxkYm90
XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxXZWJLaXRCdWlsZFxSZWxlYXNlXFRvb2xzXER1bXBS
ZW5kZXJUcmVlXER1bXBSZW5kZXJUcmVlTGliLnZjeHByb2pdCisgICAgICAgID4gQzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcd29ya2VyXFdpbmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJU
cmVlXHdpblxEdW1wUmVuZGVyVHJlZS5jcHAoODM1LDYyKTogZXJyb3IgQzIwMzk6ICdzZXRDU1ND
b3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFibGVkJzogaXMgbm90IGEgbWVtYmVyIG9m
ICdJV2ViUHJlZmVyZW5jZXNQcml2YXRlNycgW0M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtl
clxXaW5kb3dzLUVXU1xidWlsZFxXZWJLaXRCdWlsZFxSZWxlYXNlXFRvb2xzXER1bXBSZW5kZXJU
cmVlXER1bXBSZW5kZXJUcmVlTGliLnZjeHByb2pdCisKKyAgICAgICAgVGhvc2UgbWV0aG9kcyBh
cmUgcHJlc2VudCBpbiBgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcuaWRsYCwgYW5kIGltcGxlbWVu
dGVkIHNpbWlsYXJseSB0byBvdGhlcgorICAgICAgICBmbGFncyBpbiBvdGhlciBwbGFjZXMgKGUu
Zy4gd2luL1dlYlByZWZlcmVuY2VzLntoLCBjcHB9LCB3aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgpLgorICAgICAgICBJIGNhbid0IHJlcHJvZHVjZSB0aGlzIGNvbXBpbGF0aW9uIGVycm9y
IG9uIG15IFdpbmRvd3MgbWFjaGluZS4KKworICAgICAgICBJIHRoZW4gdHJpZWQgcmVtb3Zpbmcg
dGhlIGxpbmVzIHRoYXQgY2F1c2VkIHRoZSBhYm92ZSBjb21waWxhdGlvbiBmYWlsdXJlLgorICAg
ICAgICBUaG9zZSBzZXR0ZXJzIGFyZSBjYWxsZWQgaW4gRHVtcFJlbmRlclRyZWU6OmVuYWJsZUV4
cGVyaW1lbnRhbEZlYXR1cmVzLCBzbyBpbgorICAgICAgICBsaWV1IG9mIGVuYWJsaW5nIHRoZXNl
IGZsYWdzIHRoZXJlIEkgY291bGQgZW5hYmxlIHRoZSBmbGFnIEkgbmVlZCB2aWEgdGVzdCBoZWFk
ZXIuCisKKyAgICAgICAgVGhhdCBwYXRjaCBpczogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0
YWNobWVudC5jZ2k/aWQ9NDI2NTA5JmFjdGlvbj1lZGl0CisKKyAgICAgICAgVGhpcyByZXN1bHRz
IGluIHN1Y2Nlc3NmdWwgY29tcGlsYXRpb24sIGJ1dCBjYXVzZXMgbG90cyAoYWxsPykgb2YgdGhl
CisgICAgICAgIGxheW91dCB0ZXN0cyB0byBmYWlsWzJdIHdpdGggYSBzdGFja3RyYWNlIHRoYXQg
bG9va3MgbGlrZToKKworICAgICAgICAwMCAwMDAwMDA2NWA3MzhmZGYwMCAwMDAwN2ZmY2AzZTll
MzExMyBXZWJLaXQhV2ViUHJlZmVyZW5jZXM6OnNwZWVjaFJlY29nbml0aW9uRW5hYmxlZChpbnQg
KiBlbmFibGVkID0gMHgwMDAwN2ZmY2AzZWFlMGY1MCkrMHgyOSBbQzpcY3lnd2luXGhvbWVcYnVp
bGRib3Rcd29ya2VyXFdpbmRvd3MtRVdTXGJ1aWxkXFNvdXJjZVxXZWJLaXRMZWdhY3lcd2luXFdl
YlByZWZlcmVuY2VzLmNwcCBAIDI2MTddCisgICAgICAgIDAxIDAwMDAwMDY1YDczOGZkZjMwIDAw
MDA3ZmZjYDNlOWUzY2MwIER1bXBSZW5kZXJUcmVlTGliIXJlc2V0V2ViUHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMoc3RydWN0IElXZWJQcmVmZXJlbmNlcyAqIHByZWZlcmVuY2VzID0gMHgw
MDAwMDIwNWBlMmYyMDRiMCkrMHg2MyBbQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcd29ya2VyXFdp
bmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJUcmVlXHdpblxEdW1wUmVuZGVyVHJlZS5j
cHAgQCA4NDddCisgICAgICAgIDAyIDAwMDAwMDY1YDczOGZkZmEwIDAwMDA3ZmZjYDNlOWU0MTcx
IER1bXBSZW5kZXJUcmVlTGliIXJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVz
dGluZyhjbGFzcyBXVFI6OlRlc3RPcHRpb25zICogb3B0aW9ucyA9IDB4MDAwMDAwNjVgNzM4ZmVh
NjApKzB4MmUwIFtDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVp
bGRcVG9vbHNcRHVtcFJlbmRlclRyZWVcd2luXER1bXBSZW5kZXJUcmVlLmNwcCBAIDEwNTRdCisg
ICAgICAgIDAzIDAwMDAwMDY1YDczOGZlMDUwIDAwMDA3ZmZjYDNlOWU2N2QzIER1bXBSZW5kZXJU
cmVlTGliIXJ1blRlc3QoY2xhc3Mgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJh
aXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gKiBpbnB1dExpbmUgPSA8VmFsdWUgdW5h
dmFpbGFibGUgZXJyb3I+KSsweDJmMSBbQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcd29ya2VyXFdp
bmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJUcmVlXHdpblxEdW1wUmVuZGVyVHJlZS5j
cHAgQCAxMjM5XQorICAgICAgICAwNCAwMDAwMDA2NWA3MzhmZWNhMCAwMDAwN2ZmN2A4OTk1MmYz
MCBEdW1wUmVuZGVyVHJlZUxpYiFtYWluKGludCBhcmdjID0gPFZhbHVlIHVuYXZhaWxhYmxlIGVy
cm9yPiwgY2hhciAqKiBhcmd2ID0gPFZhbHVlIHVuYXZhaWxhYmxlIGVycm9yPikrMHg1ZDMgW0M6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxUb29sc1xEdW1w
UmVuZGVyVHJlZVx3aW5cRHVtcFJlbmRlclRyZWUuY3BwIEAgMTY3Nl0KKyAgICAgICAgMDUgMDAw
MDAwNjVgNzM4ZmY1YjAgMDAwMDdmZjdgODk5NTM4ODQgRHVtcFJlbmRlclRyZWUhbWFpbihpbnQg
YXJnYyA9IDBuMiwgY2hhciAqKiBhcmd2ID0gMHgwMDAwMDIwNWBlMmU3NGI4MCkrMHg4ODAgW0M6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxUb29sc1x3aW5c
RExMTGF1bmNoZXJcRExMTGF1bmNoZXJNYWluLmNwcCBAIDIzMl0KKworICAgICAgICBJIGhhdmVu
J3QgZG9uZSBtdWNoIGRpZ2dpbmcgaW50byB3aHkgdGhpcyBoYXBwZW5zLCBhbmQgY2Fubm90IHJl
cHJvZHVjZSBpdCBvbiBteSBXaW5kb3dzIG1hY2hpbmUuCisKKyAgICAgICAgWzFdOiBodHRwczov
L2V3cy1idWlsZC53ZWJraXQub3JnLyMvYnVpbGRlcnMvMTAvYnVpbGRzLzg2NzQ3CisgICAgICAg
IFsyXTogaHR0cHM6Ly9ld3MtYnVpbGQud2Via2l0Lm9yZy8jL2J1aWxkZXJzLzEwL2J1aWxkcy84
Njg5NworCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgbmV3
bHkgYWRkZWQgdGVzdCBvbiBXaW5kb3dzLgorICAgICAgICAqIHdlYmV4cG9zZWQvY291bnRlci1z
dHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQu
aHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMjEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNTYxMDcpOiBUZXh0IG1vdmVzIGFyb3VuZCB3aGVu
IHNlbGVjdGluZyBhdCBodHRwczovL3d3dy50b2t5by1zcG9ydHMuY28uanAvZW50YW1lL25ld3Mv
MjgzNDE4Ny8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE4ODU2NGU2MzVhM2Zi
ZDk4NWM0OWFiOTYxYTA2YWE0NzEwMDMwN2UuLjhkOGU5ZDhmYmYxMWJjZDZjNzFjNjQ5YjRmNGRj
ZDU4ZDk4M2FhMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDIxLTA0LTIxICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+
CisKKyAgICAgICAgW2Nzcy1jb3VudGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVz
Y3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDcxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFBhcnNpbmcgZm9yIGFsbCBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycyBpcyBpbXBsZW1lbnRl
ZCB3aXRoIHRoaXMKKyAgICAgICAgcGF0Y2gsIHNvIG1hcmsgbW9yZSB0ZXN0cyBwYXNzaW5nLgor
CisgICAgICAgIFlvdSdsbCBub3RpY2UgdGhhdCBzb21lIEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0
b3JzIGltcGxlbWVudGVkIGluIHRoaXMKKyAgICAgICAgcGF0Y2ggZGlkIG5vdCBnYWluIGFueSBw
YXNzaW5nIHRlc3RzIChlLmcuIGBwYWRgLCBgbmVnYXRpdmVgKS4gIEluIGFsbAorICAgICAgICBv
ZiB0aGVzZSBjYXNlcywgdGhlIGV4cGVjdGVkIHJlc3VsdHMgY29udGFpbiBhIDxzdHJpbmc+IHZh
bHVlLCBhbmQgd2UKKyAgICAgICAgZmFpbCBvbmx5IGJlY2F1c2Ugd2UgaW5jb3JyZWN0bHkgZG9u
J3Qgc2VyaWFsaXplIHRoZXNlIDxzdHJpbmc+IHZhbHVlcworICAgICAgICB3aXRoIHF1b3Rlcy4g
IEkgaGF2ZSBtYW51YWxseSBjb25maXJtZWQgaW4gYWxsIGNhc2VzIHRoYXQgdGhlc2UgdmFsdWVz
CisgICAgICAgIGFyZSBwcm9wZXJseSBwYXJzZWQsIHNvIGl0J3MganVzdCB0aGUgc2VyaWFsaXph
dGlvbiB0aGF0J3MgaW5jb3JyZWN0LgorCisgICAgICAgIFRoZXNlIDxzdHJpbmc+IHZhbHVlcyBz
ZXJpYWxpemUgd2l0aG91dCBxdW90ZXMgYmVjYXVzZSBXZWJLaXQncyByZXByZXNlbnRhdGlvbgor
ICAgICAgICBvZiBjdXN0b20gaWRlbnRpZmllcnMgaXMgbm90IGEgc2VwYXJhdGUgdHlwZSwgYnV0
IGluc3RlYWQgb3ZlcmxvYWRlZCBvbnRvIHRoZQorICAgICAgICBDU1NfU1RSSU5HIHR5cGUuICBU
aGlzIG1lYW5zIHRoYXQgZHVyaW5nIHNlcmlhbGl6YXRpb24gdGltZSwgV2ViS2l0IG11c3QgZ3Vl
c3MKKyAgICAgICAgd2hldGhlciBpdCBpcyBhY3R1YWxseSBzZXJpYWxpemluZyBhIHN0cmluZyAo
YW5kIGluY2x1ZGUgcXVvdGVzIGlmIHNvKSwgb3IgaWYKKyAgICAgICAgaXQncyBzZXJpYWxpemlu
ZyBhIGN1c3RvbSBpZGVudCAobGVhdmluZyBvZmYgcXVvdGVzIGlmIHNvKS4KKworICAgICAgICBS
ZWxldmFudCBjb2RlIHNuaXBwZXQ6CisKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL1dlYktp
dC9XZWJLaXQvYmxvYi8zNmNhZWVjMDc5NzViZDVmNDdkYjhhYzZiNzQ5YzI3ODcyMzBhNDYxL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNYXJrdXAuY3BwI0wxNTMjTDE2MQorCisgICAgICAgIFJlbGV2
YW50IGNoYW5nZWxvZyBzbmlwcGV0IGZyb20gRGF2aWQgSHlhdHQsIDIwMTYtMTItMDc6CisKKyAg
ICAgICAgPiBXZSBhbHNvIG92ZXJsb2FkIENTU19TVFJJTkcgcHJpbWl0aXZlIHZhbHVlIHR5cGUg
YW5kIGhhdmUgaXQgYWN0IGFzIGJvdGggYSBzdHJpbmcKKyAgICAgICAgPiBhbmQgYSBjdXN0b20g
aWRlbnRpZmllci4gVGhpcyBpcyBsYW1lLCBzaW5jZSB0aGUgcGFyc2VyIHNob3VsZCBoYXZlIG1h
ZGUgdHdvIGRpZmZlcmVudAorICAgICAgICA+IHR5cGVzIG9mIG9iamVjdHMgaW5zdGVhZCwgYnV0
IHNpbmNlIG91ciBwYXJzZXIgZG9lc24ndCBkbyB0aGF0IHlldCwgSSBhZGRlZCBhIHNlcmlhbGl6
ZUFzU3RyaW5nT3JDdXN0b21JZGVudAorICAgICAgICA+IHRoYXQgcHJlc2VydmVzIG91ciBvbGQg
YmVoYXZpb3Igb2YgInF1b3RlIHRoZSBzdHJpbmcgb25seSBpZiBuZWVkZWQuIiBJbiB0aGlzIGNh
c2Ugd2hhdAorICAgICAgICA+IHRoYXQgcmVhbGx5IG1lYW50IHdhcyAiVHJ5IHRvIGd1ZXNzIHRo
YXQgd2Ugd2VyZSBvcmlnaW5hbGx5IGEgY3VzdG9tIGlkZW50IGFuZCBsZWF2ZSBvZmYKKyAgICAg
ICAgPiBxdW90ZXMgaWYgc28uIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZ28gYXdheSBvbmNlIHdlIHBy
b3Blcmx5IGNyZWF0ZSBDU1NTdHJpbmdWYWx1ZXMgYW5kCisgICAgICAgID4gQ1NTQ3VzdG9tSWRl
bnRWYWx1ZXMgaW5zdGVhZCBvZiB0dXJuaW5nIHRoZSBsYXR0ZXIgaW50byBzdHJpbmdzLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRl
ci1zdHlsZS1mYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5
bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50
ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1z
eW50YXgtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTIxICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBsYXN0LWJhc2VsaW5lIHNob3VsZG4ndCBhZmZl
Y3QgYmFzZWxpbmUgYWxpZ25tZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1mYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFj
ay1leHBlY3RlZC50eHQKaW5kZXggNTZhZjllMWQ0ODRlNWM0NWQ0N2NhZDMzN2JjNWE3ZDBkYTEw
NzQ3OS4uNzU5NDc4OGUxYzIwOWMwOTljZTJiZTNkZTc5NDdhN2UzZDUyMjgwOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGJhcicgaXMgdmFsaWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxl
ICdmYWxsYmFjazogYmFyJyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6
ICJiYXIiJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogbm9uZScg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnZmFsbGJhY2s6IGluaXRpYWwnIGlzIGlu
dmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZmaXgt
c3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZpeC1zdWZm
aXgtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCAwOTJkN2E5MWNkOWJlOTJhZDQxYTI4MDMzYjhl
NTFmNjNlNWMxYTMwLi44N2M2YTA2YTZiNDg0YmZlMDIyNzk3MDdkMDJhNTZmM2UwMjI1YTM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1wcmVmaXgtc3VmZml4LXN5bnRheC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcHJlZml4LXN1ZmZpeC1z
eW50YXgtZXhwZWN0ZWQudHh0CkBAIC03LDIwICs3LDIwIEBAIEZBSUwgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogImluaGVyaXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93CiBGQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6ICJpbmhlcml0IicgaXMgdmFsaWQgYXNz
ZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCiBGQUlMIEBjb3VudGVyLXN0
eWxlICdwcmVmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlz
YWxsb3dlZCB2YWx1ZSAtMQogRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4OiAidW5zZXQiJyBp
cyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwg
QGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1
ZmZpeDogY3VzdG9tLWlkZW50JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogY3VzdG9tLWlkZW50
JyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiBjdXN0b20taWRlbnQnIGlz
IHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGluaXRpYWwnIGlzIGludmFsaWQK
IFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogaW5pdGlhbCcgaXMgaW52YWxpZAogUEFTUyBA
Y291bnRlci1zdHlsZSAncHJlZml4OiBpbmhlcml0JyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVy
LXN0eWxlICdzdWZmaXg6IGluaGVyaXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUg
J3ByZWZpeDogdW5zZXQnIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDog
dW5zZXQnIGlzIGludmFsaWQKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJsKCJodHRw
czovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IHVybCgi
aHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiB1
cmwoaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVh
bHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6
IHVybChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZCBhc3NlcnRfbm90X2Vx
dWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZp
eDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3VmZml4
OiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVh
bHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6
IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlzIHZhbGlkCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdzdWZmaXg6IHVybCgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nIiknIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IHVybChodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmcpJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiB1cmwo
aHR0cHM6Ly9leGFtcGxlLmNvbS9mb28ucG5nKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5
bGUgJ3ByZWZpeDogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkCitQQVNT
IEBjb3VudGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpJyBp
cyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiAnIGlzIGludmFsaWQKIFBBU1Mg
QGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxl
ICdwcmVmaXg6IGZvbyBiYXInIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3Vu
dGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1z
dHlsZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDQyNzM3MmUxODAyMzE1NWJmM2Fk
NDY1ZjBlYmE4NmQyNjNkNzYxZDMuLjM0MzcxMDE5OTgwNzJkZDQ2NjkxNWQyZWU5NjNiYThiODU0
Mzc3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4
cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5n
ZTogYXV0bycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgaW5maW5pdGUnIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IDAg
aW5maW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAsIDUgMTAsIDEwMCBp
bmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMTAsIDUgMjAsIDE1IGlu
ZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUg
LTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBpcyB2YWxpZAorUEFTUyBAY291
bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIGluZmluaXRlJyBpcyB2YWxpZAorUEFTUyBAY291
bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0
eWxlICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Jh
bmdlOiBpbmZpbml0ZSAwLCA1IDEwLCAxMDAgaW5maW5pdGUnIGlzIHZhbGlkCitQQVNTIEBjb3Vu
dGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMTAsIDUgMjAsIDE1IGluZmluaXRlJyBpcyB2YWxp
ZAogUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6ICcgaXMgaW52YWxpZAogUEFTUyBAY291bnRl
ci1zdHlsZSAncmFuZ2U6IDAgLTEnIGlzIGludmFsaWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVz
L2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
b3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZDNiM2U0M2M3
ZjUxY2M4ZGIzMmYxN2VlMDgzYTkyNWU1ZDQ3NjU0YS4uYzYzZGY3NjNmZDUxYjM0NmMzM2RmNDUw
ZjZjMTUyMjY4ZGNiZDQ1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3Bl
YWstYXMtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1z
cGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiAKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBhdXRvJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczog
Z290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBi
dWxsZXRzJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUg
LTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBudW1iZXJzJyBpcyB2YWxpZCBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5
bGUgJ3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogc3BlbGwtb3V0
JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZB
SUwgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWst
YXM6IHNwZWxsb3V0JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQg
dmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBhdXRvJyBpcyB2YWxpZAor
UEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMnIGlzIHZhbGlkCitQQVNTIEBj
b3VudGVyLXN0eWxlICdzcGVhay1hczogbnVtYmVycycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXIt
c3R5bGUgJ3NwZWFrLWFzOiB3b3JkcycgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3Nw
ZWFrLWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1h
czogYmFyJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsb3V0
JyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJ1bGxldHMgbnVtYmVy
cycgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IG5vbmUnIGlzIGlu
dmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBpbml0aWFsJyBpcyBpbnZhbGlk
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQu
dHh0CmluZGV4IGZlMWVmYzg3MmM0NTNjODg5YmVhMWJmYzhlN2QzZTNjY2E3NmJiMTcuLjU3NjFl
YTFkODI3ODlhMWYwOTQwNzhkYTViZGE4NDQ5MGIzZmJkMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9jb3VudGVyLXN0eWxlLXN5c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEz
IEBACiAKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3ljbGljJyBpcyB2YWxpZCBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5
bGUgJ3N5c3RlbTogZml4ZWQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAxMDAnIGlz
IHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBA
Y291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAtMScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVh
bHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06
IHN5bWJvbGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWxwaGFiZXRpYycgaXMgdmFsaWQg
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhZGRpdGl2
ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1G
QUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFyJyBpcyB2YWxpZCBhc3NlcnRf
bm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50ZXItc3R5bGUg
J3N5c3RlbTogY3ljbGljJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBm
aXhlZCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZml4ZWQgMTAwJyBp
cyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCAtMScgaXMgdmFsaWQK
K1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMnIGlzIHZhbGlkCitQQVNTIEBj
b3VudGVyLXN0eWxlICdzeXN0ZW06IGFscGhhYmV0aWMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IG51bWVyaWMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdz
eXN0ZW06IGFkZGl0aXZlJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBl
eHRlbmRzIGJhcicgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZmxvYXQn
IGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogY3ljbGljIGN5Y2xpYycg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBleHRlbmRzIG5vbmUnIGlz
IGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
Y2VmMzU4MTBhMWVkYzA2YTg4N2Q2NzlhMzFmZmI3ZGZhMDUyNDJmYi4uZGYzNzYxM2I4ZTBjMGE4
MzkxYjk0ODAzOGQyMWI1MmQ2ZjEwMmRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTQ2NTcsMyArNDY1Nyw3IEBAIGZhc3QvZm9ybXMvb25zZWxlY3Qt
dGV4dGZpZWxkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogZmFzdC9mb3Jtcy9vcHRpb24tbW91c2Vl
dmVudHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBmYXN0L2Zvcm1zL3Bhc3N3b3JkLWRvdWJsZWNs
aWNrLXNlbGVjdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGZhc3QvdGV4dC9vZmZzZXRGb3JQ
b3NpdGlvbi1jb21wbGV4LWZhbGxiYWNrLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCisjIFRoaXMg
dGVzdCBpcyBza2lwcGVkIGJlY2F1c2UgdGhlIG5lY2Vzc2FyeSBmZWF0dXJlIGZsYWcgZnVuY3Rp
b25hbGl0eSBzcGVjaWZpYyB0byB0aGUgV2luZG93cyBXZWJLaXQgbGVnYWN5IHBvcnQgaXMKKyMg
bm90IGltcGxlbWVudGVkLiAgVGhlIGZlYXR1cmUgZmxhZ3MgaW4gcXVlc3Rpb24gYXJlIENTU0Nv
dW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZCBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5
bWJvbHNFbmFibGVkLgord2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90
LWV4cG9zZWQuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZXhwb3Nl
ZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4
cG9zZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5Y2ZiM2NjNGEzN2U5ZDQzZDhjYmIzN2I2
NGQ4NjBlNWQ5NTZmMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2Vk
L2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgQGNvdW50ZXItc3R5bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90
IGV4cG9zZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0
eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmV4cG9z
ZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTM5MDZhNGRiNzczYmNhMzFkMTk2MjJjYmFlNDkwY2ZjMzRmODE3ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xz
LW5vdC1leHBvc2VkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgQ1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5h
YmxlZD1mYWxzZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAY291bnRlci1zdHlsZSBmb28geworICAgICAg
ICBzeXN0ZW06IGN5Y2xpYzsKKyAgICAgICAgc3VmZml4OiAiICI7CisgICAgICAgIHN5bWJvbHM6
IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpOworICAgIH0KKzwvc3R5bGU+Cis8c2NyaXB0
PgorICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnN0IGNzc1J1bGVzID0gZG9jdW1l
bnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXMKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjc3NSdWxl
cy5sZW5ndGgsIDEsICdTaG91bGRcJ3ZlIGJlZW4gYWJsZSB0byBwYXJzZSBAY291bnRlci1zdHls
ZS4nKQorICAgICAgICBhc3NlcnRfZXF1YWxzKGNzc1J1bGVzWzBdLnN5bWJvbHMsICcnLCAnU2hv
dWxkblwndCBoYXZlIGJlZW4gYWJsZSB0byBwYXJzZSBpbWFnZSBzeW1ib2wgdmFsdWUgd2l0aCB0
aGUgcnVudGltZSBmZWF0dXJlIGZsYWcgZGlzYWJsZWQuJykKKyAgICB9LCAnQGNvdW50ZXItc3R5
bGUgaW1hZ2Ugc3ltYm9scyBhcmUgbm90IGV4cG9zZWQnKQorPC9zY3JpcHQ+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426858</attachid>
            <date>2021-04-22 15:41:12 -0700</date>
            <delta_ts>2021-04-22 22:25:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224718-20210422174111.patch</filename>
            <type>text/plain</type>
            <size>56407</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg2MDU3MTBjMzI0ODM0
MzVkMWNlZDk0Njg3MmNiOTliZDg0Njk1OS4uMjJjNTg4ZTA1MjgyNzgzZDU4OGI1ZTUzMjlmZDY0
NDgxYWFiMTU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA0LTIyICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy1jb3Vu
dGVyLXN0eWxlc10gUGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDcxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXJzaW5nIGFu
ZCBDU1NDb3VudGVyU3R5bGVSdWxlIElETCBpbnRlcmZhY2UgZm9yIEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3JzLgorICAgICAgICBTZWUgc3BlYyBmb3IgZnVsbCBkZXRhaWxzIG9uIGFsbCBkZXNj
cmlwdG9yczoKKworICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI3RoZS1jb3VudGVyLXN0eWxlLXJ1bGUKKworICAgICAgICBUZXN0OiB3ZWJleHBv
c2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIGFuZCBXUFRz
CisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKToKKyAgICAgICAgUmV0dXJuIGBudWxscHRyYCBmb3IgbmV3IEBjb3VudGVyLXN0eWxlIGRl
c2NyaXB0b3IgcHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvQ291bnRlclN0eWxlU3lzdGVtRW51bSk6CisgICAg
ICAgIChXZWJDb3JlOjpzeW1ib2xzVmFsaWRGb3JTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1ZUludmFsaWRPckVxdWFsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvdW50ZXJTdHlsZVJ1bGU6OmNzc1RleHQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXR0ZXJJbnRlcm5hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRTeXN0ZW0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0TmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nv
dW50ZXJTdHlsZVJ1bGU6OnNldFN1ZmZpeCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVy
U3R5bGVSdWxlOjpzZXRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVS
dWxlOjpzZXRQYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0
RmFsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3lt
Ym9scyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRBZGRpdGl2
ZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ291bnRlclN0eWxlUnVsZTo6c2V0U3Bl
YWtBcyk6CisgICAgICAgIEltcGxlbWVudCBzZXR0ZXJzIGFuZCB0YW5nZW50aWFsIGZ1bmN0aW9u
YWxpdHkgcmVxdWlyZWQgYnkgc2V0dGVycy4KKworICAgICAgICAqIGNzcy9DU1NDb3VudGVyU3R5
bGVSdWxlLmg6CisgICAgICAgIFJlcGxhY2UgRklYTUUgd2l0aCBhY3R1YWwgZGVzY3JpcHRvciBn
ZXR0ZXIgYW5kIHNldHRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICBBZGQgQGNvdW50ZXItc3R5bGUgZGVzY3Jp
cHRvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgIEFkZCBuZXcgdmFsdWVzIHJlcXVpcmVkIGZvciBgc3lzdGVtYCBhbmQgYHNwZWFrLWFz
YCAKKyAgICAgICAgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQgY29uc3QpOgorICAg
ICAgICBFbnN1cmUgbmV3IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzIGFyZSBkaXNhYmxlZCBh
dCBydW50aW1lIGJhc2VkCisgICAgICAgIG9uIENTU1BhcnNlckNvbnRleHQgc3RhdGUuCisKKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNvbnN1bWVDb3VudGVyU3R5bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3Vt
ZUNvdW50ZXJTdHlsZVN5bWJvbCk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQ291bnRlclN0
eWxlTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZVJhbmdl
Qm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb3VudGVyU3R5bGVQYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Y29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3Vt
ZUNvdW50ZXJTdHlsZUFkZGl0aXZlU3ltYm9scyk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1l
Q291bnRlclN0eWxlU3BlYWtBcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNl
cjo6cGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKToKKyAgICAgICAgUGFyc2UgQGNvdW50ZXIt
c3R5bGUgZGVzY3JpcHRvcnMuCisKIDIwMjEtMDQtMjIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGRpc2NyZXRlIGFuaW1hdGlvbiBzdXBwb3J0IGZv
ciBib3JkZXItaW1hZ2UtcmVwZWF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDUxMWY4OWU2NTBmOWI0ZDUyNThiNDJhZjJi
ODc5YWE5NDlhNWVkNGMuLjM0YmJmNGEwYWZkZmNmMjBlYTg2OTI1MWJlODcwOGNiMmY5NTVjYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCkBAIC00MDAzLDYgKzQwMDMsMTggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0
eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAg
ICAgICAgLy8gVGhlc2UgYXJlIGludGVudGlvbmFsbHkgdW5pbXBsZW1lbnRlZCBiZWNhdXNlIHRo
ZXkgYXJlIGFjdHVhbGx5IGRlc2NyaXB0b3JzIGZvciBAY291bnRlci1zdHlsZS4KKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVN5c3RlbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU5lZ2F0aXZl
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UHJlZml4OgorICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U3VmZml4OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlQYWQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVN5bWJvbHM6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRp
dGl2ZVN5bWJvbHM6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmltcGxlbWVu
dGVkIEBmb250LWZhY2UgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Jj
OgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZVJhbmdlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwCmluZGV4IDIyOWM0NTI0ZDFlZThhN2U4NDJjYjdl
YjRjN2Q1NTNkOTI4ZWE2MzYuLjc4YWY1NTlkMzU0YWQzZDRlNzdjZDRjOWMyNWJiNGYyYzM2Njhl
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKQEAgLTI2
LDYgKzI2LDEyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0
eWxlUnVsZS5oIgogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJD
U1NTdHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiUGFp
ci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIAogU3R5bGVSdWxlQ291bnRlclN0eWxlOjpTdHlsZVJ1bGVDb3VudGVyU3R5
bGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0
aWVzKQpAQCAtNDAsNiArNDYsOTQgQEAgUmVmPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gU3R5bGVS
dWxlQ291bnRlclN0eWxlOjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUobmFtZSwgV1RGTW92ZShwcm9w
ZXJ0aWVzKSkpOwogfQogCitzdGF0aWMgQ291bnRlclN0eWxlU3lzdGVtIHRvQ291bnRlclN0eWxl
U3lzdGVtRW51bShSZWZQdHI8Q1NTVmFsdWU+IHN5c3RlbSkKK3sKKyAgICBpZiAoIXN5c3RlbSB8
fCAhc3lzdGVtLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHJldHVybiBDb3VudGVyU3R5
bGVTeXN0ZW06OlN5bWJvbGljOworCisgICAgYXV0byYgcHJpbWl0aXZlU3lzdGVtVmFsdWUgPSBk
b3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnN5c3RlbSk7CisgICAgQVNTRVJUKHByaW1pdGl2
ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpIHx8IHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzUGFpcigp
KTsKKyAgICBDU1NWYWx1ZUlEIHN5c3RlbUtleXdvcmQgPSBDU1NWYWx1ZUludmFsaWQ7CisgICAg
aWYgKHByaW1pdGl2ZVN5c3RlbVZhbHVlLmlzVmFsdWVJRCgpKQorICAgICAgICBzeXN0ZW1LZXl3
b3JkID0gcHJpbWl0aXZlU3lzdGVtVmFsdWUudmFsdWVJRCgpOworICAgIGVsc2UgaWYgKGF1dG8q
IHBhaXIgPSBwcmltaXRpdmVTeXN0ZW1WYWx1ZS5wYWlyVmFsdWUoKSkgeworICAgICAgICAvLyBU
aGlzIHZhbHVlIG11c3QgYmUgYGZpeGVkYCBvciBgZXh0ZW5kc2AsIGJvdGggb2Ygd2hpY2ggY2Fu
IG9yIG11c3QgaGF2ZSBhbiBhZGRpdGlvbmFsIGNvbXBvbmVudC4KKyAgICAgICAgYXV0byBmaXJz
dFZhbHVlID0gcGFpci0+Zmlyc3QoKTsKKyAgICAgICAgQVNTRVJUKGZpcnN0VmFsdWUgJiYgZmly
c3RWYWx1ZS0+aXNWYWx1ZUlEKCkpOworICAgICAgICBpZiAoZmlyc3RWYWx1ZSkKKyAgICAgICAg
ICAgIHN5c3RlbUtleXdvcmQgPSBmaXJzdFZhbHVlLT52YWx1ZUlEKCk7CisgICAgfQorCisgICAg
c3dpdGNoIChzeXN0ZW1LZXl3b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUN5Y2xpYzoKKyAgICAg
ICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Q3ljbGljOworICAgIGNhc2UgQ1NTVmFsdWVG
aXhlZDoKKyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4ZWQ7CisgICAgY2Fz
ZSBDU1NWYWx1ZVN5bWJvbGljOgorICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpT
eW1ib2xpYzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIENv
dW50ZXJTdHlsZVN5c3RlbTo6QWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlTnVtZXJpYzoK
KyAgICAgICAgcmV0dXJuIENvdW50ZXJTdHlsZVN5c3RlbTo6TnVtZXJpYzsKKyAgICBjYXNlIENT
U1ZhbHVlQWRkaXRpdmU6CisgICAgICAgIHJldHVybiBDb3VudGVyU3R5bGVTeXN0ZW06OkFkZGl0
aXZlOworICAgIGNhc2UgQ1NTVmFsdWVFeHRlbmRzOgorICAgICAgICByZXR1cm4gQ291bnRlclN0
eWxlU3lzdGVtOjpFeHRlbmRzOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICByZXR1cm4gQ291bnRlclN0eWxlU3lzdGVtOjpTeW1ib2xpYzsKKyAg
ICB9Cit9CisKK3N0YXRpYyBib29sIHN5bWJvbHNWYWxpZEZvclN5c3RlbShDb3VudGVyU3R5bGVT
eXN0ZW0gc3lzdGVtLCBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbHMsIFJlZlB0cjxDU1NWYWx1ZT4g
YWRkaXRpdmVTeW1ib2xzKQoreworICAgIHN3aXRjaCAoc3lzdGVtKSB7CisgICAgY2FzZSBDb3Vu
dGVyU3R5bGVTeXN0ZW06OkN5Y2xpYzoKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6Rml4
ZWQ6CisgICAgY2FzZSBDb3VudGVyU3R5bGVTeXN0ZW06OlN5bWJvbGljOgorICAgICAgICByZXR1
cm4gc3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENTU1ZhbHVl
TGlzdD4oKnN5bWJvbHMpLmxlbmd0aCgpOworICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpB
bHBoYWJldGljOgorICAgIGNhc2UgQ291bnRlclN0eWxlU3lzdGVtOjpOdW1lcmljOgorICAgICAg
ICByZXR1cm4gc3ltYm9scyAmJiBzeW1ib2xzLT5pc1ZhbHVlTGlzdCgpICYmIGRvd25jYXN0PENT
U1ZhbHVlTGlzdD4oKnN5bWJvbHMpLmxlbmd0aCgpID49IDJ1OworICAgIGNhc2UgQ291bnRlclN0
eWxlU3lzdGVtOjpBZGRpdGl2ZToKKyAgICAgICAgcmV0dXJuIGFkZGl0aXZlU3ltYm9scyAmJiBh
ZGRpdGl2ZVN5bWJvbHMtPmlzVmFsdWVMaXN0KCkgJiYgZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pigq
YWRkaXRpdmVTeW1ib2xzKS5sZW5ndGgoKTsKKyAgICBjYXNlIENvdW50ZXJTdHlsZVN5c3RlbTo6
RXh0ZW5kczoKKyAgICAgICAgcmV0dXJuICFzeW1ib2xzICYmICFhZGRpdGl2ZVN5bWJvbHM7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgU3R5bGVSdWxlQ291bnRlclN0eWxlOjpuZXdWYWx1
ZUludmFsaWRPckVxdWFsKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgUmVmUHRyPENT
U1ZhbHVlPiBuZXdWYWx1ZSkgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRWYWx1ZSA9IG1fcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoY29tcGFy
ZUNTU1ZhbHVlUHRyKGN1cnJlbnRWYWx1ZSwgbmV3VmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3ltYm9sczsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+
IGFkZGl0aXZlU3ltYm9sczsKKyAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKKyAgICBjYXNlIENT
U1Byb3BlcnR5U3lzdGVtOgorICAgICAgICAvLyBJZiB0aGUgYXR0cmlidXRlIGJlaW5nIHNldCBp
cyBgc3lzdGVtYCwgYW5kIHRoZSBuZXcgdmFsdWUgd291bGQgY2hhbmdlIHRoZSBhbGdvcml0aG0g
dXNlZCwgZG8gbm90aGluZworICAgICAgICAvLyBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAg
ICAgIC8vIChJdCdzIG9rYXkgdG8gY2hhbmdlIGFuIGFzcGVjdCBvZiB0aGUgYWxnb3JpdGhtLCBs
aWtlIHRoZSBmaXJzdCBzeW1ib2wgdmFsdWUgb2YgYSBgZml4ZWRgIHN5c3RlbS4pCisgICAgICAg
IHJldHVybiB0b0NvdW50ZXJTdHlsZVN5c3RlbUVudW0oY3VycmVudFZhbHVlKSAhPSB0b0NvdW50
ZXJTdHlsZVN5c3RlbUVudW0obmV3VmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlTeW1ib2xz
OgorICAgICAgICBzeW1ib2xzID0gbmV3VmFsdWU7CisgICAgICAgIGFkZGl0aXZlU3ltYm9scyA9
IG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUFkZGl0aXZlU3lt
Ym9scyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJv
bHM6CisgICAgICAgIHN5bWJvbHMgPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlTeW1ib2xzKTsKKyAgICAgICAgYWRkaXRpdmVTeW1ib2xzID0gbmV3VmFsdWU7
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgYXV0byBzeXN0ZW0gPSBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlTeXN0ZW0pOworICAgIHJldHVybiBzeW1ib2xzVmFsaWRGb3JTeXN0ZW0odG9D
b3VudGVyU3R5bGVTeXN0ZW1FbnVtKHN5c3RlbSksIHN5bWJvbHMsIGFkZGl0aXZlU3ltYm9scyk7
Cit9CisKIFN0eWxlUnVsZUNvdW50ZXJTdHlsZTo6flN0eWxlUnVsZUNvdW50ZXJTdHlsZSgpID0g
ZGVmYXVsdDsKIAogTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlQ291bnRlclN0eWxl
OjptdXRhYmxlUHJvcGVydGllcygpCkBAIC02NCw4ICsxNTgsNTggQEAgQ1NTQ291bnRlclN0eWxl
UnVsZTo6fkNTU0NvdW50ZXJTdHlsZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBDU1NDb3Vu
dGVyU3R5bGVSdWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMgZnVuY3Rpb24gd2hlbiB3ZSBwYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycy4K
LSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmcgc3lzdGVtVGV4dCA9IHN5c3Rl
bSgpOworICAgIGNvbnN0IGNoYXIqIHN5c3RlbVByZWZpeCA9IHN5c3RlbVRleHQuaXNFbXB0eSgp
ID8gIiIgOiAiIHN5c3RlbTogIjsKKyAgICBjb25zdCBjaGFyKiBzeXN0ZW1TdWZmaXggPSBzeXN0
ZW1UZXh0LmlzRW1wdHkoKSA/ICIiIDogIjsiOworCisgICAgU3RyaW5nIHN5bWJvbHNUZXh0ID0g
c3ltYm9scygpOworICAgIGNvbnN0IGNoYXIqIHN5bWJvbHNQcmVmaXggPSBzeW1ib2xzVGV4dC5p
c0VtcHR5KCkgPyAiIiA6ICIgc3ltYm9sczogIjsKKyAgICBjb25zdCBjaGFyKiBzeW1ib2xzU3Vm
Zml4ID0gc3ltYm9sc1RleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgYWRk
aXRpdmVTeW1ib2xzVGV4dCA9IGFkZGl0aXZlU3ltYm9scygpOworICAgIGNvbnN0IGNoYXIqIGFk
ZGl0aXZlU3ltYm9sc1ByZWZpeCA9IGFkZGl0aXZlU3ltYm9sc1RleHQuaXNFbXB0eSgpID8gIiIg
OiAiIGFkZGl0aXZlLXN5bWJvbHM6ICI7CisgICAgY29uc3QgY2hhciogYWRkaXRpdmVTeW1ib2xz
U3VmZml4ID0gYWRkaXRpdmVTeW1ib2xzVGV4dC5pc0VtcHR5KCkgPyAiIiA6ICI7IjsKKworICAg
IFN0cmluZyBuZWdhdGl2ZVRleHQgPSBuZWdhdGl2ZSgpOworICAgIGNvbnN0IGNoYXIqIG5lZ2F0
aXZlUHJlZml4ID0gbmVnYXRpdmVUZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBuZWdhdGl2ZTogIjsK
KyAgICBjb25zdCBjaGFyKiBuZWdhdGl2ZVN1ZmZpeCA9IG5lZ2F0aXZlVGV4dC5pc0VtcHR5KCkg
PyAiIiA6ICI7IjsKKworICAgIFN0cmluZyBwcmVmaXhUZXh0ID0gcHJlZml4KCk7CisgICAgY29u
c3QgY2hhciogcHJlZml4VGV4dFByZWZpeCA9IHByZWZpeFRleHQuaXNFbXB0eSgpID8gIiIgOiAi
IHByZWZpeDogIjsKKyAgICBjb25zdCBjaGFyKiBwcmVmaXhUZXh0U3VmZml4ID0gcHJlZml4VGV4
dC5pc0VtcHR5KCkgPyAiIiA6ICI7IjsKKworICAgIFN0cmluZyBzdWZmaXhUZXh0ID0gc3VmZml4
KCk7CisgICAgY29uc3QgY2hhciogc3VmZml4VGV4dFByZWZpeCA9IHN1ZmZpeFRleHQuaXNFbXB0
eSgpID8gIiIgOiAiIHN1ZmZpeDogIjsKKyAgICBjb25zdCBjaGFyKiBzdWZmaXhUZXh0U3VmZml4
ID0gc3VmZml4VGV4dC5pc0VtcHR5KCkgPyAiIiA6ICI7IjsKKworICAgIFN0cmluZyBwYWRUZXh0
ID0gcGFkKCk7CisgICAgY29uc3QgY2hhciogcGFkUHJlZml4ID0gcGFkVGV4dC5pc0VtcHR5KCkg
PyAiIiA6ICIgcGFkOiAiOworICAgIGNvbnN0IGNoYXIqIHBhZFN1ZmZpeCA9IHBhZFRleHQuaXNF
bXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgcmFuZ2VUZXh0ID0gcmFuZ2UoKTsKKyAg
ICBjb25zdCBjaGFyKiByYW5nZVByZWZpeCA9IHJhbmdlVGV4dC5pc0VtcHR5KCkgPyAiIiA6ICIg
cmFuZ2U6ICI7CisgICAgY29uc3QgY2hhciogcmFuZ2VTdWZmaXggPSByYW5nZVRleHQuaXNFbXB0
eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgZmFsbGJhY2tUZXh0ID0gZmFsbGJhY2soKTsK
KyAgICBjb25zdCBjaGFyKiBmYWxsYmFja1ByZWZpeCA9IGZhbGxiYWNrVGV4dC5pc0VtcHR5KCkg
PyAiIiA6ICIgZmFsbGJhY2s6ICI7CisgICAgY29uc3QgY2hhciogZmFsbGJhY2tTdWZmaXggPSBm
YWxsYmFja1RleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICBTdHJpbmcgc3BlYWtBc1Rl
eHQgPSBzcGVha0FzKCk7CisgICAgY29uc3QgY2hhciogc3BlYWtBc1ByZWZpeCA9IHNwZWFrQXNU
ZXh0LmlzRW1wdHkoKSA/ICIiIDogIiBzcGVhay1hczogIjsKKyAgICBjb25zdCBjaGFyKiBzcGVh
a0FzU3VmZml4ID0gc3BlYWtBc1RleHQuaXNFbXB0eSgpID8gIiIgOiAiOyI7CisKKyAgICByZXR1
cm4gbWFrZVN0cmluZygiQGNvdW50ZXItc3R5bGUgIiwgbmFtZSgpLCAiIHsiLAorICAgICAgICBz
eXN0ZW1QcmVmaXgsIHN5c3RlbVRleHQsIHN5c3RlbVN1ZmZpeCwKKyAgICAgICAgc3ltYm9sc1By
ZWZpeCwgc3ltYm9sc1RleHQsIHN5bWJvbHNTdWZmaXgsCisgICAgICAgIGFkZGl0aXZlU3ltYm9s
c1ByZWZpeCwgYWRkaXRpdmVTeW1ib2xzVGV4dCwgYWRkaXRpdmVTeW1ib2xzU3VmZml4LAorICAg
ICAgICBuZWdhdGl2ZVByZWZpeCwgbmVnYXRpdmVUZXh0LCBuZWdhdGl2ZVN1ZmZpeCwKKyAgICAg
ICAgcHJlZml4VGV4dFByZWZpeCwgcHJlZml4VGV4dCwgcHJlZml4VGV4dFN1ZmZpeCwKKyAgICAg
ICAgc3VmZml4VGV4dFByZWZpeCwgc3VmZml4VGV4dCwgc3VmZml4VGV4dFN1ZmZpeCwKKyAgICAg
ICAgcGFkUHJlZml4LCBwYWRUZXh0LCBwYWRTdWZmaXgsCisgICAgICAgIHJhbmdlUHJlZml4LCBy
YW5nZVRleHQsIHJhbmdlU3VmZml4LAorICAgICAgICBmYWxsYmFja1ByZWZpeCwgZmFsbGJhY2tU
ZXh0LCBmYWxsYmFja1N1ZmZpeCwKKyAgICAgICAgc3BlYWtBc1ByZWZpeCwgc3BlYWtBc1RleHQs
IHNwZWFrQXNTdWZmaXgsCisgICAgIiB9Iik7CiB9CiAKIHZvaWQgQ1NTQ291bnRlclN0eWxlUnVs
ZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKQEAgLTczLDQgKzIxNyw3OSBAQCB2b2lk
IENTU0NvdW50ZXJTdHlsZVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiAgICAg
bV9jb3VudGVyU3R5bGVSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlQ291bnRlclN0eWxlJj4o
cnVsZSk7CiB9CiAKKy8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY291bnRlci1zdHls
ZXMtMy8jZG9tLWNzc2NvdW50ZXJzdHlsZXJ1bGUtbmFtZQordm9pZCBDU1NDb3VudGVyU3R5bGVS
dWxlOjpzZXROYW1lKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBhdXRvIHRva2VuaXplciA9
IENTU1Rva2VuaXplcih0ZXh0KTsKKyAgICBhdXRvIHRva2VuUmFuZ2UgPSB0b2tlbml6ZXIudG9r
ZW5SYW5nZSgpOworICAgIGF1dG8gbmFtZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29u
c3VtZUNvdW50ZXJTdHlsZU5hbWVJblByZWx1ZGUodG9rZW5SYW5nZSk7CisgICAgaWYgKG5hbWUu
aXNOdWxsKCkgfHwgbmFtZSA9PSBtX2NvdW50ZXJTdHlsZVJ1bGUtPm5hbWUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25T
Y29wZSh0aGlzKTsKKyAgICBtX2NvdW50ZXJTdHlsZVJ1bGUtPnNldE5hbWUobmFtZSk7Cit9CisK
K3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHZhbHVlVGV4dCkKK3sKKyAgICBhdXRvIHRva2VuaXpl
ciA9IENTU1Rva2VuaXplcih2YWx1ZVRleHQpOworICAgIGF1dG8gdG9rZW5SYW5nZSA9IHRva2Vu
aXplci50b2tlblJhbmdlKCk7CisgICAgYXV0byBuZXdWYWx1ZSA9IENTU1Byb3BlcnR5UGFyc2Vy
OjpwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IocHJvcGVydHlJRCwgdG9rZW5SYW5nZSwgcGFy
c2VyQ29udGV4dCgpKTsKKyAgICBpZiAobV9jb3VudGVyU3R5bGVSdWxlLT5uZXdWYWx1ZUludmFs
aWRPckVxdWFsKHByb3BlcnR5SUQsIG5ld1ZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Q1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKyAg
ICBtX2NvdW50ZXJTdHlsZVJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkocHJv
cGVydHlJRCwgV1RGTW92ZShuZXdWYWx1ZSkpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1
bGU6OnNldFN5c3RlbShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwo
Q1NTUHJvcGVydHlTeXN0ZW0sIHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6
OnNldE5lZ2F0aXZlKGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChD
U1NQcm9wZXJ0eU5lZ2F0aXZlLCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxl
OjpzZXRQcmVmaXgoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENT
U1Byb3BlcnR5UHJlZml4LCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpz
ZXRTdWZmaXgoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1By
b3BlcnR5U3VmZml4LCB0ZXh0KTsKK30KKwordm9pZCBDU1NDb3VudGVyU3R5bGVSdWxlOjpzZXRS
YW5nZShjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVy
dHlSYW5nZSwgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0UGFkKGNv
bnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eVBhZCwg
dGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0RmFsbGJhY2soY29uc3Qg
U3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5RmFsbGJhY2ss
IHRleHQpOworfQorCit2b2lkIENTU0NvdW50ZXJTdHlsZVJ1bGU6OnNldFN5bWJvbHMoY29uc3Qg
U3RyaW5nJiB0ZXh0KQoreworICAgIHNldHRlckludGVybmFsKENTU1Byb3BlcnR5U3ltYm9scywg
dGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0QWRkaXRpdmVTeW1ib2xz
KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBzZXR0ZXJJbnRlcm5hbChDU1NQcm9wZXJ0eUFk
ZGl0aXZlU3ltYm9scywgdGV4dCk7Cit9CisKK3ZvaWQgQ1NTQ291bnRlclN0eWxlUnVsZTo6c2V0
U3BlYWtBcyhjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgc2V0dGVySW50ZXJuYWwoQ1NTUHJv
cGVydHlTcGVha0FzLCB0ZXh0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmgKaW5kZXggYjI0ZmUxZmQ2NmYxNGRjZjk1
OGFhOWE3YWY3YjNjMDk0N2MzMjgzNi4uN2E4OTdmYjEyZTM5NTZlZTZlZjg2ZjgyMzk5YTU3Y2Zh
YTQzNWMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ291bnRlclN0eWxlUnVsZS5oCkBAIC0z
Miw2ICszMiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIFRoZSBrZXl3b3JkcyB0
aGF0IGNhbiBiZSB1c2VkIGFzIHZhbHVlcyBmb3IgdGhlIGNvdW50ZXItc3R5bGUgYHN5c3RlbWAg
ZGVzY3JpcHRvci4KKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMt
My8jY291bnRlci1zdHlsZS1zeXN0ZW0KK2VudW0gY2xhc3MgQ291bnRlclN0eWxlU3lzdGVtIDog
dWludDhfdCB7CisgICAgQ3ljbGljLAorICAgIE51bWVyaWMsCisgICAgQWxwaGFiZXRpYywKKyAg
ICBTeW1ib2xpYywKKyAgICBBZGRpdGl2ZSwKKyAgICBGaXhlZCwKKyAgICBFeHRlbmRzCit9Owor
CiBjbGFzcyBTdHlsZVJ1bGVDb3VudGVyU3R5bGUgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFz
ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmKTsKQEAgLTQx
LDYgKzUzLDIwIEBAIHB1YmxpYzoKICAgICBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBtdXRhYmxl
UHJvcGVydGllcygpOwogCiAgICAgY29uc3QgQXRvbVN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZTsgfQorICAgIFN0cmluZyBzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlTeXN0ZW0pOyB9CisgICAgU3RyaW5n
IG5lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVl
KENTU1Byb3BlcnR5TmVnYXRpdmUpOyB9CisgICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVByZWZpeCk7IH0K
KyAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9w
ZXJ0eVZhbHVlKENTU1Byb3BlcnR5U3VmZml4KTsgfQorICAgIFN0cmluZyByYW5nZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydGllcy0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVJhbmdl
KTsgfQorICAgIFN0cmluZyBwYWQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFBy
b3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlQYWQpOyB9CisgICAgU3RyaW5nIGZhbGxiYWNrKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RmFs
bGJhY2spOyB9CisgICAgU3RyaW5nIHN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRp
ZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlTeW1ib2xzKTsgfQorICAgIFN0cmluZyBh
ZGRpdGl2ZVN5bWJvbHMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5
VmFsdWUoQ1NTUHJvcGVydHlBZGRpdGl2ZVN5bWJvbHMpOyB9CisgICAgU3RyaW5nIHNwZWFrQXMo
KSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVy
dHlTcGVha0FzKTsgfQorCisgICAgYm9vbCBuZXdWYWx1ZUludmFsaWRPckVxdWFsKENTU1Byb3Bl
cnR5SUQsIGNvbnN0IFJlZlB0cjxDU1NWYWx1ZT4gbmV3VmFsdWUpIGNvbnN0OworCisgICAgdm9p
ZCBzZXROYW1lKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUpIHsgbV9uYW1lID0gbmFtZTsgfQogCiBw
cml2YXRlOgogICAgIGV4cGxpY2l0IFN0eWxlUnVsZUNvdW50ZXJTdHlsZShjb25zdCBBdG9tU3Ry
aW5nJiwgUmVmPFN0eWxlUHJvcGVydGllcz4mJik7CkBAIC01OSwzNCArODUsMzQgQEAgcHVibGlj
OgogICAgIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENPVU5URVJf
U1RZTEVfUlVMRTsgfQogCiAgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50
ZXJTdHlsZVJ1bGUtPm5hbWUoKTsgfQotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWZ0ZXIgd2Ug
cGFyc2UgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRvcnMuCi0gICAgU3RyaW5nIHN5c3RlbSgpIGNv
bnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgbmVnYXRpdmUoKSBjb25z
dCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgU3RyaW5nIHByZWZpeCgpIGNvbnN0IHsg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgc3VmZml4KCkgY29uc3QgeyByZXR1
cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIFN0cmluZyByYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQotICAgIFN0cmluZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7IH0KLSAgICBTdHJpbmcgc3ltYm9scygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
IH0KLSAgICBTdHJpbmcgYWRkaXRpdmVTeW1ib2xzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQotICAgIFN0cmluZyBzcGVha0FzKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmco
KTsgfQotCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCBhZnRlciB3ZSBwYXJzZSBAY291bnRlci1z
dHlsZSBkZXNjcmlwdG9ycy4KLSAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJikgeyB9Ci0g
ICAgdm9pZCBzZXRTeXN0ZW0oY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXROZWdhdGl2
ZShjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFByZWZpeChjb25zdCBTdHJpbmcmKSB7
IH0KLSAgICB2b2lkIHNldFN1ZmZpeChjb25zdCBTdHJpbmcmKSB7IH0KLSAgICB2b2lkIHNldFJh
bmdlKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0UGFkKGNvbnN0IFN0cmluZyYpIHsg
fQotICAgIHZvaWQgc2V0RmFsbGJhY2soY29uc3QgU3RyaW5nJikgeyB9Ci0gICAgdm9pZCBzZXRT
eW1ib2xzKGNvbnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0QWRkaXRpdmVTeW1ib2xzKGNv
bnN0IFN0cmluZyYpIHsgfQotICAgIHZvaWQgc2V0U3BlYWtBcyhjb25zdCBTdHJpbmcmKSB7IH0K
KyAgICBTdHJpbmcgc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5z
eXN0ZW0oKTsgfQorICAgIFN0cmluZyBuZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRl
clN0eWxlUnVsZS0+bmVnYXRpdmUoKTsgfQorICAgIFN0cmluZyBwcmVmaXgoKSBjb25zdCB7IHJl
dHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnByZWZpeCgpOyB9CisgICAgU3RyaW5nIHN1ZmZpeCgp
IGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxlUnVsZS0+c3VmZml4KCk7IH0KKyAgICBTdHJp
bmcgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTdHlsZVJ1bGUtPnJhbmdlKCk7IH0K
KyAgICBTdHJpbmcgcGFkKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5wYWQo
KTsgfQorICAgIFN0cmluZyBmYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclN0eWxl
UnVsZS0+ZmFsbGJhY2soKTsgfQorICAgIFN0cmluZyBzeW1ib2xzKCkgY29uc3QgeyByZXR1cm4g
bV9jb3VudGVyU3R5bGVSdWxlLT5zeW1ib2xzKCk7IH0KKyAgICBTdHJpbmcgYWRkaXRpdmVTeW1i
b2xzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVSdWxlLT5hZGRpdGl2ZVN5bWJvbHMo
KTsgfQorICAgIFN0cmluZyBzcGVha0FzKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU3R5bGVS
dWxlLT5zcGVha0FzKCk7IH0KKworICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKKyAg
ICB2b2lkIHNldFN5c3RlbShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldE5lZ2F0aXZlKGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IFN0cmluZyYpOworICAgIHZv
aWQgc2V0U3VmZml4KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UmFuZ2UoY29uc3QgU3Ry
aW5nJik7CisgICAgdm9pZCBzZXRQYWQoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRGYWxs
YmFjayhjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFN5bWJvbHMoY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBzZXRBZGRpdGl2ZVN5bWJvbHMoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBz
ZXRTcGVha0FzKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgogICAgIENTU0NvdW50ZXJTdHls
ZVJ1bGUoU3R5bGVSdWxlQ291bnRlclN0eWxlJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAor
ICAgIHZvaWQgc2V0dGVySW50ZXJuYWwoQ1NTUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJik7CisK
ICAgICBSZWY8U3R5bGVSdWxlQ291bnRlclN0eWxlPiBtX2NvdW50ZXJTdHlsZVJ1bGU7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA3MmI5NTdlYzA4NTU0NGQw
NjZkYzUyM2U1YjEwNDAwYTk5NzE3MzhmLi40NzFiOTlkY2RkODVjMjEwYTk0NTEzMTgyNDFmMzJl
YzA2NDYxN2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTgwMyw2
ICs4MDMsMTYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtcnVieS0xLyNydWJ5cG9zIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAg
ICAiYWRkaXRpdmUtc3ltYm9scyI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMi
OiB7CisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRS
dWxlcyIsCisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0
ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1z
eW1ib2xzIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiYWxpZ25tZW50LWJh
c2VsaW5lIjogewogICAgICAgICAgICAgInZhbHVlcyI6IFsKICAgICAgICAgICAgICAgICAiYXV0
byIsCkBAIC0yNDM2LDYgKzI0NDYsMTYgQEAKICAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAi
c3ZnIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiZmFsbGJhY2siOiB7Cisg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJzZXR0
aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZXMiLAorICAgICAgICAgICAgICAgICJz
a2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmlj
YXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxl
cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNv
dW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtZmFsbGJhY2siCisgICAgICAgICAgICB9Cisg
ICAgICAgIH0sCiAgICAgICAgICJmaWxsIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRy
dWUsCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtMzM3Nyw2ICszMzk3
LDE2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLW92ZXJzY3JvbGwtMS8jcHJvcGRlZi1vdmVyc2Nyb2xsLWJlaGF2aW9yLXkiCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJwYWQiOiB7CisgICAgICAgICAgICAiY29kZWdl
bi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0Nv
dW50ZXJTdHlsZUF0UnVsZXMiLAorICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVl
CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAg
ICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAg
ICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2Nv
dW50ZXItc3R5bGUtcGFkIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAicGFk
ZGluZyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAg
ICAgICAgImxvbmdoYW5kcyI6IFsKQEAgLTM4NTAsNiArMzg4MCwxNiBAQAogICAgICAgICAgICAg
ICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2NzczMtc3BlZWNoLyNzcGVhay1hcyIK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgInN5bWJvbHMiOiB7CisgICAgICAg
ICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJzZXR0aW5ncy1m
bGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZXMiLAorICAgICAgICAgICAgICAgICJza2lwLWJ1
aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24i
OiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisg
ICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXIt
c3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3ltYm9scyIKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKICAgICAgICAgInRhYmxlLWxheW91dCI6IHsKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCiAg
ICAgICAgICAgICAgICAgImF1dG8iLApAQCAtNjA0NCw2ICs2MDg0LDE2IEBACiAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQiCiAgICAgICAgIH0sCisg
ICAgICAgICJuZWdhdGl2ZSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ291bnRlclN0eWxlQXRSdWxl
cyIsCisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdv
cnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1uZWdh
dGl2ZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImNvbG9yLXNjaGVtZSI6
IHsKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgInZhbHVlcyI6
IFsKQEAgLTYxMjksNiArNjE3OSwxNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy10cmFuc2Zvcm1zLTEvI3Byb3BkZWYtcGVyc3BlY3RpdmUtb3Jp
Z2luIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAicHJlZml4IjogeworICAg
ICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2V0dGlu
Z3MtZmxhZyI6ICJjc3NDb3VudGVyU3R5bGVBdFJ1bGVzIiwKKyAgICAgICAgICAgICAgICAic2tp
cC1idWlsZGVyIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0
aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY291bnRlci1zdHlsZXMi
LAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3Vu
dGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXByZWZpeCIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKICAgICAgICAgIi13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0IjogewogICAgICAgICAg
ICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAgICAidmFsdWVzIjogWwpAQCAtNjEzNyw2
ICs2MTk3LDE2IEBACiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24t
c3RhbmRhcmQiCiAgICAgICAgIH0sCisgICAgICAgICJyYW5nZSI6IHsKKyAgICAgICAgICAgICJj
b2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAi
Y3NzQ291bnRlclN0eWxlQXRSdWxlcyIsCisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6
IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAg
ICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvdW50ZXItc3R5bGVzIiwKKyAgICAgICAg
ICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMt
My8jY291bnRlci1zdHlsZS1yYW5nZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAg
ICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRy
dWUsCiAgICAgICAgICAgICAidmFsdWVzIjogWwpAQCAtNjE0OSw2ICs2MjE5LDE2IEBACiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQiCiAgICAgICAg
IH0sCisgICAgICAgICJzdWZmaXgiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVz
IjogeworICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0
UnVsZXMiLAorICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNh
dGVnb3J5IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJo
dHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUt
c3VmZml4IgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1zdmct
c2hhZG93IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAg
ICAgICAgICAic2tpcC1jb2RlZ2VuIjogdHJ1ZQpAQCAtNjk3MSw2ICs3MDUxLDE2IEBACiAgICAg
ICAgICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNoYXBlcy8jcHJv
cGRlZi1zaGFwZS1pbWFnZS10aHJlc2hvbGQiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisg
ICAgICAgICJzeXN0ZW0iOiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewor
ICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvdW50ZXJTdHlsZUF0UnVsZXMi
LAorICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5
IjogImNzcy1jb3VudGVyLXN0eWxlcyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lzdGVt
IgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC10YXAtaGlnaGxp
Z2h0LWNvbG9yIjogewogICAgICAgICAgICAgImluaGVyaXRlZCI6IHRydWUsCiAgICAgICAgICAg
ICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewpAQCAtNzE0MSw2ICs3MjMxLDExIEBACiAgICAgICAg
ICAgICAibG9uZ25hbWUiOiAiQ1NTIEdlbmVyYXRlZCBDb250ZW50IE1vZHVsZSIsCiAgICAgICAg
ICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29udGVudC0zLyIKICAgICAg
ICAgfSwKKyAgICAgICAgImNzcy1jb3VudGVyLXN0eWxlcyI6IHsKKyAgICAgICAgICAgICJzaG9y
dG5hbWUiOiAiQ1NTIENvdW50ZXIgU3R5bGVzIiwKKyAgICAgICAgICAgICJsb25nbmFtZSI6ICJD
U1MgQ291bnRlciBTdHlsZXMgTW9kdWxlIiwKKyAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93
d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zIgorICAgICAgICB9LAogICAgICAgICAi
Y3NzLWRldmljZS1hZGFwdCI6IHsKICAgICAgICAgICAgICJzaG9ydG5hbWUiOiAiQ1NTIERldmlj
ZSBBZGFwdGF0aW9uIiwKICAgICAgICAgICAgICJsb25nbmFtZSI6ICJDU1MgRGV2aWNlIEFkYXB0
YXRpb24gTW9kdWxlIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXgg
ZTI0YzliZjhjODM0YmZjZTcwYWUwMDkwODUyMzU4MDNiMjFjZGVlNi4uM2YzZGEwMGIxNWIzMDky
MTI0ODgzY2NmOWRjYmUzZmY0MWE4YzNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KQEAgLTE1MDUsNiArMTUwNSwyNCBAQCBmcm9tLWZvbnQKIHN0YW5kYXJkCiBoaWdo
CiAKKy8vIEBjb3VudGVyLXN0eWxlIGBzeXN0ZW1gIGRlc2NyaXB0b3IgdmFsdWVzCisvLyBodHRw
czovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtc3lz
dGVtCitjeWNsaWMKK251bWVyaWMKKy8vIGFscGhhYmV0aWMKK3N5bWJvbGljCithZGRpdGl2ZQor
Ly8gZml4ZWQKK2V4dGVuZHMKKworLy8gQGNvdW50ZXItc3R5bGUgYHNwZWFrLWFzYCBkZXNjcmlw
dG9yIHZhbHVlcworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0z
LyNjb3VudGVyLXN0eWxlLXNwZWFrLWFzCisvLyBhdXRvCitidWxsZXRzCitudW1iZXJzCit3b3Jk
cworLy8gc3BlbGwtb3V0CisKIC8vIEBzdXBwb3J0cyBzZWxlY3RvcigpCiAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbmRpdGlvbmFsLTQvI3R5cGVkZWYtc3VwcG9ydHMtc2VsZWN0
b3ItZm4KIHNlbGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJD
b250ZXh0LmNwcAppbmRleCBhYzYxNDA5YzE2YjU5ZDk2NTMxZjMyZDA2NGM3NzJjMWNjZjlhOTI5
Li4zOGZkNDVhOTM4ZjJhODY4Mzc1MWVlZDcxNDhjNzI5ZjIzYTEzZmYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAKQEAgLTE4MSw2ICsxODEs
MTYgQEAgdm9pZCBhZGQoSGFzaGVyJiBoYXNoZXIsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNv
bnRleHQpCiBib29sIENTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eSkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7
CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFkZGl0aXZlU3ltYm9sczoKKyAgICBjYXNlIENTU1Byb3Bl
cnR5RmFsbGJhY2s6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVBhZDoKKyAgICBjYXNlIENTU1Byb3Bl
cnR5U3ltYm9sczoKKyAgICBjYXNlIENTU1Byb3BlcnR5TmVnYXRpdmU6CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVByZWZpeDoKKyAgICBjYXNlIENTU1Byb3BlcnR5UmFuZ2U6CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVN1ZmZpeDoKKyAgICBjYXNlIENTU1Byb3BlcnR5U3lzdGVtOgorICAgICAgICByZXR1
cm4gIWNvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkOwogICAgIGNhc2UgQ1NTUHJvcGVydHlBc3Bl
Y3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3BlY3RSYXRpb0VuYWJsZWQ7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eUNvbnRhaW46CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCmluZGV4IGU1MTRjMzk4YjQ1YjczOGY5MGFhMTA3NmMxMjY1YTFlNjg4
Y2Q2NWMuLjQ1NGRiMTY1ZTJmYzcwYjJjZjFkNzg2ZGEwYzQ3YTIzM2RlYmY1YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00NTM1
LDE1ICs0NTM1LDIxOSBAQCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVy
dHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKAogICAgIHJldHVybiBudWxs
cHRyOwogfQogCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMv
I2NvdW50ZXItc3R5bGUtc3lzdGVtCitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBj
b25zdW1lQ291bnRlclN0eWxlU3lzdGVtKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQorewor
ICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3VtZUlkZW50PENTU1ZhbHVlQ3ljbGljLCBDU1NWYWx1
ZU51bWVyaWMsIENTU1ZhbHVlQWxwaGFiZXRpYywgQ1NTVmFsdWVTeW1ib2xpYywgQ1NTVmFsdWVB
ZGRpdGl2ZT4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gaWRlbnQ7CisKKyAgICBpZiAoYXV0byBp
ZGVudCA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUZpeGVkPihyYW5nZSkpIHsKKyAgICAgICAgaWYg
KHJhbmdlLmF0RW5kKCkpCisgICAgICAgICAgICByZXR1cm4gaWRlbnQ7CisgICAgICAgIC8vIElm
IHdlIGhhdmUgdGhlIGBmaXhlZGAga2V5d29yZCBidXQgdGhlIHJhbmdlIGlzIG5vdCBhdCB0aGUg
ZW5kLCB0aGUgbmV4dCB0b2tlbiBtdXN0IGJlIGEgaW50ZWdlci4KKyAgICAgICAgLy8gSWYgaXQn
cyBub3QsIHRoaXMgdmFsdWUgaXMgaW52YWxpZC4KKyAgICAgICAgYXV0byBmaXJzdFN5bWJvbFZh
bHVlID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgICAgICBpZiAoIWZpcnN0U3ltYm9sVmFs
dWUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVBy
aW1pdGl2ZVZhbHVlUGFpcihpZGVudC5yZWxlYXNlTm9uTnVsbCgpLCBmaXJzdFN5bWJvbFZhbHVl
LnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0KKworICAgIGlmIChhdXRvIGlkZW50ID0gY29uc3Vt
ZUlkZW50PENTU1ZhbHVlRXh0ZW5kcz4ocmFuZ2UpKSB7CisgICAgICAgIC8vIFRoZXJlIG11c3Qg
YmUgYSBgPGNvdW50ZXItc3R5bGUtbmFtZT5gIGZvbGxvd2luZyB0aGUgYGV4dGVuZHNgIGtleXdv
cmQuIElmIHRoZXJlIGlzbid0LCB0aGlzIHZhbHVlIGlzIGludmFsaWQuCisgICAgICAgIGF1dG8g
cGFyc2VkQ291bnRlclN0eWxlTmFtZSA9IGNvbnN1bWVDb3VudGVyU3R5bGVOYW1lKHJhbmdlKTsK
KyAgICAgICAgaWYgKCFwYXJzZWRDb3VudGVyU3R5bGVOYW1lKQorICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYWx1ZVBhaXIoaWRlbnQu
cmVsZWFzZU5vbk51bGwoKSwgcGFyc2VkQ291bnRlclN0eWxlTmFtZS5yZWxlYXNlTm9uTnVsbCgp
KTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlwZWRlZi1zeW1ib2wKK3N0YXRpYyBSZWZQdHI8
Q1NTVmFsdWU+IGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2woQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
cmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgaWYgKGF1dG8g
c3RyaW5nID0gY29uc3VtZVN0cmluZyhyYW5nZSkpCisgICAgICAgIHJldHVybiBzdHJpbmc7Cisg
ICAgaWYgKGF1dG8gY3VzdG9tSWRlbnQgPSBjb25zdW1lQ3VzdG9tSWRlbnQocmFuZ2UpKQorICAg
ICAgICByZXR1cm4gY3VzdG9tSWRlbnQ7CisgICAgLy8gVGhlcmUgYXJlIGluaGVyZW50IGRpZmZp
Y3VsdGllcyBpbiBzdXBwb3J0aW5nIDxpbWFnZT4gc3ltYm9scyBpbiBAY291bnRlci1zdHlsZXMs
IHNvIGdhdGUgdGhlbSBiZWhpbmQgYQorICAgIC8vIGZsYWcgZm9yIG5vdy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY0NQorICAgIGlmIChjb250ZXh0LmNvdW50
ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQpIHsKKyAgICAgICAgaWYgKGF1dG8gaW1h
Z2UgPSBjb25zdW1lSW1hZ2UocmFuZ2UsIGNvbnRleHQsIHsgQWxsb3dlZEltYWdlVHlwZTo6VVJM
RnVuY3Rpb24sIEFsbG93ZWRJbWFnZVR5cGU6OkdlbmVyYXRlZEltYWdlIH0pKQorICAgICAgICAg
ICAgcmV0dXJuIGltYWdlOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0
cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3VudGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLW5l
Z2F0aXZlCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlTmVnYXRp
dmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNv
bnRleHQpCit7CisgICAgYXV0byBwcmVwZW5kVmFsdWUgPSBjb25zdW1lQ291bnRlclN0eWxlU3lt
Ym9sKHJhbmdlLCBjb250ZXh0KTsKKyAgICBpZiAoIXByZXBlbmRWYWx1ZSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBwcmVw
ZW5kVmFsdWU7CisKKyAgICBhdXRvIGFwcGVuZFZhbHVlID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5
bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAgaWYgKCFhcHBlbmRWYWx1ZSB8fCAhcmFuZ2UuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0
PiB2YWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgdmFs
dWVzLT5hcHBlbmQocHJlcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHZhbHVlcy0+
YXBwZW5kKGFwcGVuZFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiB2YWx1ZXM7
Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291
bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7Cisg
ICAgaWYgKGF1dG8gaW5maW5pdGUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVJbmZpbml0ZT4ocmFu
Z2UpKQorICAgICAgICByZXR1cm4gaW5maW5pdGU7CisgICAgaWYgKGF1dG8gaW50ZWdlciA9IGNv
bnN1bWVJbnRlZ2VyKHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGludGVnZXI7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKKy8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHls
ZXMtMy8jY291bnRlci1zdHlsZS1yYW5nZQorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVJhbmdlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlm
IChhdXRvIGF1dG9WYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZUF1dG8+KHJhbmdlKSkKKyAg
ICAgICAgcmV0dXJuIGF1dG9WYWx1ZTsKKworICAgIGF1dG8gcmFuZ2VMaXN0ID0gQ1NTVmFsdWVM
aXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgYXV0byBsb3dl
ckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQocmFuZ2UpOworICAgICAgICBp
ZiAoIWxvd2VyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgYXV0
byB1cHBlckJvdW5kID0gY29uc3VtZUNvdW50ZXJTdHlsZVJhbmdlQm91bmQocmFuZ2UpOworICAg
ICAgICBpZiAoIXVwcGVyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICAvLyBJZiB0aGUgbG93ZXIgYm91bmQgb2YgYW55IHJhbmdlIGlzIGhpZ2hlciB0aGFuIHRo
ZSB1cHBlciBib3VuZCwgdGhlIGVudGlyZSBkZXNjcmlwdG9yIGlzIGludmFsaWQgYW5kIG11c3Qg
YmUKKyAgICAgICAgLy8gaWdub3JlZC4KKyAgICAgICAgaWYgKGxvd2VyQm91bmQtPmlzTnVtYmVy
KCkgJiYgdXBwZXJCb3VuZC0+aXNOdW1iZXIoKSAmJiBsb3dlckJvdW5kLT5pbnRWYWx1ZSgpID4g
dXBwZXJCb3VuZC0+aW50VmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICByYW5nZUxpc3QtPmFwcGVuZChjcmVhdGVQcmltaXRpdmVWYWx1ZVBhaXIobG93ZXJCb3Vu
ZC5yZWxlYXNlTm9uTnVsbCgpLCB1cHBlckJvdW5kLnJlbGVhc2VOb25OdWxsKCksIFBhaXI6Oklk
ZW50aWNhbFZhbHVlRW5jb2Rpbmc6OkRvTm90Q29hbGVzY2UpKTsKKyAgICB9IHdoaWxlIChjb25z
dW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgaWYgKCFyYW5nZS5hdEVu
ZCgpIHx8ICFyYW5nZUxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICByZXR1cm4gcmFuZ2VMaXN0OworfQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNv
dW50ZXItc3R5bGVzLTMvI2NvdW50ZXItc3R5bGUtcGFkCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVl
PiBjb25zdW1lQ291bnRlclN0eWxlUGFkKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxDU1NWYWx1ZT4gaW50
ZWdlcjsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbDsKKyAgICB3aGlsZSAoIWludGVnZXIg
fHwgIXN5bWJvbCkgeworICAgICAgICBpZiAoIWludGVnZXIpIHsKKyAgICAgICAgICAgIGludGVn
ZXIgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CisgICAgICAgICAgICBpZiAoaW50ZWdlcikK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIXN5bWJv
bCkgeworICAgICAgICAgICAgc3ltYm9sID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5n
ZSwgY29udGV4dCk7CisgICAgICAgICAgICBpZiAoc3ltYm9sKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBp
ZiAoIXJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8gdmFs
dWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIHZhbHVlcy0+
YXBwZW5kKGludGVnZXIucmVsZWFzZU5vbk51bGwoKSk7CisgICAgdmFsdWVzLT5hcHBlbmQoc3lt
Ym9sLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiB2YWx1ZXM7Cit9CisKKy8vIGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jY291bnRlci1zdHlsZS1zeW1i
b2xzCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9scyhD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKK3sKKyAgICBhdXRvIHN5bWJvbHMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJh
dGVkKCk7CisgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpKSB7CisgICAgICAgIGF1dG8gc3ltYm9s
ID0gY29uc3VtZUNvdW50ZXJTdHlsZVN5bWJvbChyYW5nZSwgY29udGV4dCk7CisgICAgICAgIGlm
ICghc3ltYm9sKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHN5bWJvbHMt
PmFwcGVuZChzeW1ib2wucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfQorICAgIGlmICghc3ltYm9s
cy0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBzeW1ib2xz
OworfQorCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI2Nv
dW50ZXItc3R5bGUtc3ltYm9scworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvdW50
ZXJTdHlsZUFkZGl0aXZlU3ltYm9scyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3Qg
Q1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIHZhbHVlcyA9IENTU1ZhbHVl
TGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGxhc3RJbnRlZ2VyOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBpbnRlZ2VyOworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHN5bWJvbDsKKyAgICAgICAg
d2hpbGUgKCFpbnRlZ2VyIHx8ICFzeW1ib2wpIHsKKyAgICAgICAgICAgIGlmICghaW50ZWdlcikg
eworICAgICAgICAgICAgICAgIGludGVnZXIgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7Cisg
ICAgICAgICAgICAgICAgaWYgKGludGVnZXIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFzeW1ib2wpIHsKKyAgICAgICAgICAg
ICAgICBzeW1ib2wgPSBjb25zdW1lQ291bnRlclN0eWxlU3ltYm9sKHJhbmdlLCBjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICBpZiAoc3ltYm9sKQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKGxhc3RJbnRlZ2VyKSB7CisgICAgICAgICAgICAvLyBUaGUgYWRkaXRp
dmUgdHVwbGVzIG11c3QgYmUgc3BlY2lmaWVkIGluIG9yZGVyIG9mIHN0cmljdGx5IGRlc2NlbmRp
bmcKKyAgICAgICAgICAgIC8vIHdlaWdodDsgb3RoZXJ3aXNlLCB0aGUgZGVjbGFyYXRpb24gaXMg
aW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLgorICAgICAgICAgICAgaWYgKGludGVnZXItPmlu
dFZhbHVlKCkgPj0gbGFzdEludGVnZXItPmludFZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAgbGFzdEludGVnZXIgPSBpbnRlZ2VyOwor
ICAgICAgICB2YWx1ZXMtPmFwcGVuZChpbnRlZ2VyLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAg
ICB2YWx1ZXMtPmFwcGVuZChzeW1ib2wucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfSB3aGlsZSAo
Y29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpOworICAgIGlmICghcmFuZ2Uu
YXRFbmQoKSB8fCAhdmFsdWVzLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgcmV0dXJuIHZhbHVlczsKK30KKworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1jb3Vu
dGVyLXN0eWxlcy0zLyNjb3VudGVyLXN0eWxlLXNwZWFrLWFzCitzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ291bnRlclN0eWxlU3BlYWtBcyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSkKK3sKKyAgICBpZiAoYXV0byBzcGVha0FzSWRlbnQgPSBjb25zdW1lSWRlbnQ8Q1NTVmFsdWVB
dXRvLCBDU1NWYWx1ZUJ1bGxldHMsIENTU1ZhbHVlTnVtYmVycywgQ1NTVmFsdWVXb3JkcywgQ1NT
VmFsdWVTcGVsbE91dD4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gc3BlYWtBc0lkZW50OworICAg
IHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmFtZShyYW5nZSk7Cit9CisKIFJlZlB0cjxDU1NW
YWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQ
cm9wZXJ0eUlEIHByb3BJZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgaWYgKCFjb250ZXh0LmNvdW50ZXJTdHlsZUF0
UnVsZXNFbmFibGVkKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAvLyBGSVhNRTogSW1w
bGVtZW50IHRoaXMgZnVuY3Rpb24gd2hlbiB3ZSBjYW4gcGFyc2UgQGNvdW50ZXItc3R5bGUgZGVz
Y3JpcHRvcnMuCi0gICAgVU5VU0VEX1BBUkFNKHByb3BJZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJh
bmdlKTsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlTeXN0ZW06CisgICAg
ICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlU3lzdGVtKHJhbmdlKTsKKyAgICBjYXNlIENT
U1Byb3BlcnR5TmVnYXRpdmU6CisgICAgICAgIHJldHVybiBjb25zdW1lQ291bnRlclN0eWxlTmVn
YXRpdmUocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVydHlQcmVmaXg6CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVN1ZmZpeDoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5
bGVTeW1ib2wocmFuZ2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVydHlSYW5nZToKKyAg
ICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVSYW5nZShyYW5nZSk7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVBhZDoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVQYWQocmFu
Z2UsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTUHJvcGVydHlGYWxsYmFjazoKKyAgICAgICAgcmV0
dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVOYW1lKHJhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5
U3ltYm9sczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVDb3VudGVyU3R5bGVTeW1ib2xzKHJhbmdl
LCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWRkaXRpdmVTeW1ib2xzOgorICAgICAg
ICByZXR1cm4gY29uc3VtZUNvdW50ZXJTdHlsZUFkZGl0aXZlU3ltYm9scyhyYW5nZSwgY29udGV4
dCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVNwZWFrQXM6CisgICAgICAgIHJldHVybiBjb25zdW1l
Q291bnRlclN0eWxlU3BlYWtBcyhyYW5nZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KIH0KIAogYm9v
bCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3Bl
cnR5SUQgcHJvcElkLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk2MTFjMWEwYTdlMmQx
ZmZkZmI3MjE2MmM1NTYxYWNkNjJlYzBiNzMuLmRkY2VkNGI2YjQzYzk1YTU3OTRjZWRkZWUyMzEx
MTcyY2FjMzYwYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNC0yMiAgVHlsZXIgV2lsY29jayAgPHR3aWxj
by5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNl
IEBjb3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6OmRlZmF1bHRzKToKKyAgICAgICAgRml4IHR5cG8gKG1p
c3NpbmcgJ3MnKS4gIENTU0NvdW50ZXJTdHlsZUF0UnVsZXNFbmFibGVkLCBub3QKKyAgICAgICAg
Q1NTQ291bnRlclN0eWxlQXRSdWxlRW5hYmxlZC4KKwogMjAyMS0wNC0yMiAgVGltIE5ndXllbiAg
PG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCAiVGltIE5ndXllbiIgdG8gY29udHJpYnV0
b3JzLmpzb24uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggZmI4YTIzMmFj
Y2FjNTFkNjMyNDZkZDQzOTVlMTI0YzA5OTZmNTBkYS4uZWUwZTNjZWJjMGY3Y2ZlZDk4OWYxYzUw
MmRlMzNmNTk1NGUwODhjNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAt
MTMzLDcgKzEzMyw3IEBAIGNvbnN0IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRz
KCkKICAgICAgICAgICAgIHsgIkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZCIsIGZhbHNlIH0sCiAg
ICAgICAgICAgICB7ICJBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAg
ICAgICAgeyAiQ1NTQ29udGFpbm1lbnRFbmFibGVkIiwgZmFsc2UgfSwKLSAgICAgICAgICAgIHsg
IkNTU0NvdW50ZXJTdHlsZUF0UnVsZUVuYWJsZWQiLCBmYWxzZSB9LAorICAgICAgICAgICAgeyAi
Q1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAi
Q1NTQ291bnRlclN0eWxlQXRSdWxlSW1hZ2VTeW1ib2xzRW5hYmxlZCIsIGZhbHNlIH0sCiAgICAg
ICAgICAgICB7ICJDU1NMb2dpY2FsRW5hYmxlZCIsIGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJD
U1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkIiwgZmFsc2UgfSwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZTE0ZmFh
MWUxODJmYjgzNTU0ZDcyZWJiOTQ0N2M5MGM3MDA3YmRjLi5mOWJiNDY3YTE1YWRhMDg5YzZlODM4
ZTMzN2YyYmI5YWIyYWE4NDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMjEtMDQtMjIgIFR5
bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLWNv
dW50ZXItc3R5bGVzXSBQYXJzZSBAY291bnRlci1zdHlsZSBkZXNjcmlwdG9ycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgZW5zdXJpbmcg
PGltYWdlPiBAY291bnRlci1zdHlsZSBzeW1ib2wgdmFsdWVzIGNhbm5vdCBiZQorICAgICAgICBw
YXJzZWQgd2hlbiB0aGUgYGNvdW50ZXJTdHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWRgIGZl
YXR1cmUgZmxhZworICAgICAgICBpcyBkaXNhYmxlZC4KKworICAgICAgICAtLS0KKworICAgICAg
ICBUaGlzIHRlc3QgaXMgc2tpcHBlZCBvbiBXaW5kb3dzIGJlY2F1c2UgSSBoYXZlbid0IGJlZW4g
YWJsZSB0byBnZXQgdGhlCisgICAgICAgIHJlcXVpcmVkIGZlYXR1cmUgZmxhZ3MgKENTU0NvdW50
ZXJTdHlsZUF0UnVsZXNFbmFibGVkIGFuZAorICAgICAgICBDU1NDb3VudGVyU3R5bGVBdFJ1bGVJ
bWFnZVN5bWJvbHNFbmFibGVkKSB0byB3b3JrIHByb3Blcmx5IGZvciB0aGF0CisgICAgICAgIHBv
cnQuCisKKyAgICAgICAgVGhlIGNvZGUgaGlkZGVuIGJlaGluZCB0aGVzZSBmbGFncyBpcyBhbGwg
aW4gdGhlIENTUyBwYXJzZXIsIHdoaWNoIGlzIG5vdAorICAgICAgICB1bmlxdWUgdG8gV2luZG93
cywgc28gSSB0aGluayB3ZSBjYW4gYmUgY29uZmlkZW50IHRoYXQgaWYgdGhlIHRlc3QgcGFzc2Vz
CisgICAgICAgIG9uIGFsbCBvdGhlciBwbGF0Zm9ybXMsIHRoYXQgdGhlIGJlaGF2aW9yIGlzIGNv
cnJlY3Qgb24gV2luZG93cyB0b28uCisKKyAgICAgICAgT25lIGF0dGVtcHQgYXQgaW1wbGVtZW50
aW5nIHRoZSBuZWNlc3NhcnkgV2luZG93cy1zcGVjaWZpYyBmbGFnIGZ1bmN0aW9uYWxpdHkgaXMg
aGVyZToKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9p
ZD00MjYzNzEmYWN0aW9uPWVkaXQKKworICAgICAgICBXaGljaCBmYWlsZWQgdG8gY29tcGlsZVsx
XSB3aXRoIHRoaXMgZXJyb3I6CisKKyAgICAgICAgPiBDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3
b3JrZXJcV2luZG93cy1FV1NcYnVpbGRcVG9vbHNcRHVtcFJlbmRlclRyZWVcd2luXER1bXBSZW5k
ZXJUcmVlLmNwcCg4MzQsNTEpOiBlcnJvciBDMjAzOTogJ3NldENTU0NvdW50ZXJTdHlsZUF0UnVs
ZXNFbmFibGVkJzogaXMgbm90IGEgbWVtYmVyIG9mICdJV2ViUHJlZmVyZW5jZXNQcml2YXRlNycg
W0M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxXZWJLaXRC
dWlsZFxSZWxlYXNlXFRvb2xzXER1bXBSZW5kZXJUcmVlXER1bXBSZW5kZXJUcmVlTGliLnZjeHBy
b2pdCisgICAgICAgID4gQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcd29ya2VyXFdpbmRvd3MtRVdT
XGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJUcmVlXHdpblxEdW1wUmVuZGVyVHJlZS5jcHAoODM1LDYy
KTogZXJyb3IgQzIwMzk6ICdzZXRDU1NDb3VudGVyU3R5bGVBdFJ1bGVJbWFnZVN5bWJvbHNFbmFi
bGVkJzogaXMgbm90IGEgbWVtYmVyIG9mICdJV2ViUHJlZmVyZW5jZXNQcml2YXRlNycgW0M6XGN5
Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxXZWJLaXRCdWlsZFxS
ZWxlYXNlXFRvb2xzXER1bXBSZW5kZXJUcmVlXER1bXBSZW5kZXJUcmVlTGliLnZjeHByb2pdCisK
KyAgICAgICAgVGhvc2UgbWV0aG9kcyBhcmUgcHJlc2VudCBpbiBgSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZTcuaWRsYCwgYW5kIGltcGxlbWVudGVkIHNpbWlsYXJseSB0byBvdGhlcgorICAgICAgICBm
bGFncyBpbiBvdGhlciBwbGFjZXMgKGUuZy4gd2luL1dlYlByZWZlcmVuY2VzLntoLCBjcHB9LCB3
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgpLgorICAgICAgICBJIGNhbid0IHJlcHJvZHVj
ZSB0aGlzIGNvbXBpbGF0aW9uIGVycm9yIG9uIG15IFdpbmRvd3MgbWFjaGluZS4KKworICAgICAg
ICBJIHRoZW4gdHJpZWQgcmVtb3ZpbmcgdGhlIGxpbmVzIHRoYXQgY2F1c2VkIHRoZSBhYm92ZSBj
b21waWxhdGlvbiBmYWlsdXJlLgorICAgICAgICBUaG9zZSBzZXR0ZXJzIGFyZSBjYWxsZWQgaW4g
RHVtcFJlbmRlclRyZWU6OmVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzLCBzbyBpbgorICAgICAg
ICBsaWV1IG9mIGVuYWJsaW5nIHRoZXNlIGZsYWdzIHRoZXJlIEkgY291bGQgZW5hYmxlIHRoZSBm
bGFnIEkgbmVlZCB2aWEgdGVzdCBoZWFkZXIuCisKKyAgICAgICAgVGhhdCBwYXRjaCBpczogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9NDI2NTA5JmFjdGlvbj1lZGl0
CisKKyAgICAgICAgVGhpcyByZXN1bHRzIGluIHN1Y2Nlc3NmdWwgY29tcGlsYXRpb24sIGJ1dCBj
YXVzZXMgbG90cyAoYWxsPykgb2YgdGhlCisgICAgICAgIGxheW91dCB0ZXN0cyB0byBmYWlsWzJd
IHdpdGggYSBzdGFja3RyYWNlIHRoYXQgbG9va3MgbGlrZToKKworMDAwMDdmZmNgM2U5ZTMxMTMg
V2ViS2l0IVdlYlByZWZlcmVuY2VzOjpzcGVlY2hSZWNvZ25pdGlvbkVuYWJsZWQoaW50ICogZW5h
YmxlZCA9IDB4MDAwMDdmZmNgM2VhZTBmNTApKzB4MjkgW0M6XGN5Z3dpblxob21lXGJ1aWxkYm90
XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxTb3VyY2VcV2ViS2l0TGVnYWN5XHdpblxXZWJQcmVm
ZXJlbmNlcy5jcHAgQCAyNjE3XQorMDAwMDdmZmNgM2U5ZTNjYzAgRHVtcFJlbmRlclRyZWVMaWIh
cmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyhzdHJ1Y3QgSVdlYlByZWZlcmVu
Y2VzICogcHJlZmVyZW5jZXMgPSAweDAwMDAwMjA1YGUyZjIwNGIwKSsweDYzIFtDOlxjeWd3aW5c
aG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVpbGRcVG9vbHNcRHVtcFJlbmRlclRy
ZWVcd2luXER1bXBSZW5kZXJUcmVlLmNwcCBAIDg0N10KKzAwMDA3ZmZjYDNlOWU0MTcxIER1bXBS
ZW5kZXJUcmVlTGliIXJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhj
bGFzcyBXVFI6OlRlc3RPcHRpb25zICogb3B0aW9ucyA9IDB4MDAwMDAwNjVgNzM4ZmVhNjApKzB4
MmUwIFtDOlxjeWd3aW5caG9tZVxidWlsZGJvdFx3b3JrZXJcV2luZG93cy1FV1NcYnVpbGRcVG9v
bHNcRHVtcFJlbmRlclRyZWVcd2luXER1bXBSZW5kZXJUcmVlLmNwcCBAIDEwNTRdCiswMDAwN2Zm
Y2AzZTllNjdkMyBEdW1wUmVuZGVyVHJlZUxpYiFydW5UZXN0KGNsYXNzIHN0ZDo6YmFzaWNfc3Ry
aW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ICog
aW5wdXRMaW5lID0gPFZhbHVlIHVuYXZhaWxhYmxlIGVycm9yPikrMHgyZjEgW0M6XGN5Z3dpblxo
b21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dzLUVXU1xidWlsZFxUb29sc1xEdW1wUmVuZGVyVHJl
ZVx3aW5cRHVtcFJlbmRlclRyZWUuY3BwIEAgMTIzOV0KKzAwMDA3ZmY3YDg5OTUyZjMwIER1bXBS
ZW5kZXJUcmVlTGliIW1haW4oaW50IGFyZ2MgPSA8VmFsdWUgdW5hdmFpbGFibGUgZXJyb3I+LCBj
aGFyICoqIGFyZ3YgPSA8VmFsdWUgdW5hdmFpbGFibGUgZXJyb3I+KSsweDVkMyBbQzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcd29ya2VyXFdpbmRvd3MtRVdTXGJ1aWxkXFRvb2xzXER1bXBSZW5kZXJU
cmVlXHdpblxEdW1wUmVuZGVyVHJlZS5jcHAgQCAxNjc2XQorMDAwMDdmZjdgODk5NTM4ODQgRHVt
cFJlbmRlclRyZWUhbWFpbihpbnQgYXJnYyA9IDBuMiwgY2hhciAqKiBhcmd2ID0gMHgwMDAwMDIw
NWBlMmU3NGI4MCkrMHg4ODAgW0M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHdvcmtlclxXaW5kb3dz
LUVXU1xidWlsZFxUb29sc1x3aW5cRExMTGF1bmNoZXJcRExMTGF1bmNoZXJNYWluLmNwcCBAIDIz
Ml0KKworICAgICAgICBJIGhhdmVuJ3QgZG9uZSBtdWNoIGRpZ2dpbmcgaW50byB3aHkgdGhpcyBo
YXBwZW5zLCBhbmQgY2Fubm90IHJlcHJvZHVjZSBpdCBvbiBteSBXaW5kb3dzIG1hY2hpbmUuCisK
KyAgICAgICAgWzFdOiBodHRwczovL2V3cy1idWlsZC53ZWJraXQub3JnLyMvYnVpbGRlcnMvMTAv
YnVpbGRzLzg2NzQ3CisgICAgICAgIFsyXTogaHR0cHM6Ly9ld3MtYnVpbGQud2Via2l0Lm9yZy8j
L2J1aWxkZXJzLzEwL2J1aWxkcy84Njg5NworCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnM6IFNraXAgbmV3bHkgYWRkZWQgdGVzdCBvbiBXaW5kb3dzLgorICAgICAgICAq
IHdlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdl
LXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMjIgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE11
bHRpLWNvbHVtbiBzcGFubmVycyBhcmUgbm90IHBhcnQgb2YgdGhlIGVuY2xvc2luZyBtdWx0aS1j
b2x1bW4gcmVuZGVyZXIncyBzdWJ0cmVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCBjOWRjYzA2ZTY4ZTM3YTEyNzA2NWE3NDNmNzEzODY3MWE5NTg0MDJjLi4yNTA1MTIxYTcyNTVi
MmRiOGM3MmNhMTYzOTdlNTdlMWFmMjI2OWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0NiBAQAorMjAyMS0wNC0yMiAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5v
QHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtY291bnRlci1zdHlsZXNdIFBhcnNlIEBj
b3VudGVyLXN0eWxlIGRlc2NyaXB0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBQYXJzaW5nIGZvciBhbGwgQGNvdW50ZXItc3R5bGUgZGVzY3JpcHRv
cnMgaXMgaW1wbGVtZW50ZWQgd2l0aCB0aGlzCisgICAgICAgIHBhdGNoLCBzbyBtYXJrIG1vcmUg
dGVzdHMgcGFzc2luZy4KKworICAgICAgICBZb3UnbGwgbm90aWNlIHRoYXQgc29tZSBAY291bnRl
ci1zdHlsZSBkZXNjcmlwdG9ycyBpbXBsZW1lbnRlZCBpbiB0aGlzCisgICAgICAgIHBhdGNoIGRp
ZCBub3QgZ2FpbiBhbnkgcGFzc2luZyB0ZXN0cyAoZS5nLiBgcGFkYCwgYG5lZ2F0aXZlYCkuICBJ
biBhbGwKKyAgICAgICAgb2YgdGhlc2UgY2FzZXMsIHRoZSBleHBlY3RlZCByZXN1bHRzIGNvbnRh
aW4gYSA8c3RyaW5nPiB2YWx1ZSwgYW5kIHdlCisgICAgICAgIGZhaWwgb25seSBiZWNhdXNlIHdl
IGluY29ycmVjdGx5IGRvbid0IHNlcmlhbGl6ZSB0aGVzZSA8c3RyaW5nPiB2YWx1ZXMKKyAgICAg
ICAgd2l0aCBxdW90ZXMuICBJIGhhdmUgbWFudWFsbHkgY29uZmlybWVkIGluIGFsbCBjYXNlcyB0
aGF0IHRoZXNlIHZhbHVlcworICAgICAgICBhcmUgcHJvcGVybHkgcGFyc2VkLCBzbyBpdCdzIGp1
c3QgdGhlIHNlcmlhbGl6YXRpb24gdGhhdCdzIGluY29ycmVjdC4KKworICAgICAgICBUaGVzZSA8
c3RyaW5nPiB2YWx1ZXMgc2VyaWFsaXplIHdpdGhvdXQgcXVvdGVzIGJlY2F1c2UgV2ViS2l0J3Mg
cmVwcmVzZW50YXRpb24KKyAgICAgICAgb2YgY3VzdG9tIGlkZW50aWZpZXJzIGlzIG5vdCBhIHNl
cGFyYXRlIHR5cGUsIGJ1dCBpbnN0ZWFkIG92ZXJsb2FkZWQgb250byB0aGUKKyAgICAgICAgQ1NT
X1NUUklORyB0eXBlLiAgVGhpcyBtZWFucyB0aGF0IGR1cmluZyBzZXJpYWxpemF0aW9uIHRpbWUs
IFdlYktpdCBtdXN0IGd1ZXNzCisgICAgICAgIHdoZXRoZXIgaXQgaXMgYWN0dWFsbHkgc2VyaWFs
aXppbmcgYSBzdHJpbmcgKGFuZCBpbmNsdWRlIHF1b3RlcyBpZiBzbyksIG9yIGlmCisgICAgICAg
IGl0J3Mgc2VyaWFsaXppbmcgYSBjdXN0b20gaWRlbnQgKGxlYXZpbmcgb2ZmIHF1b3RlcyBpZiBz
bykuCisKKyAgICAgICAgUmVsZXZhbnQgY29kZSBzbmlwcGV0OgorCisgICAgICAgIGh0dHBzOi8v
Z2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0L2Jsb2IvMzZjYWVlYzA3OTc1YmQ1ZjQ3ZGI4YWM2Yjc0
OWMyNzg3MjMwYTQ2MS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWFya3VwLmNwcCNMMTUzI0wxNjEK
KworICAgICAgICBSZWxldmFudCBjaGFuZ2Vsb2cgc25pcHBldCBmcm9tIERhdmlkIEh5YXR0LCAy
MDE2LTEyLTA3OgorCisgICAgICAgID4gV2UgYWxzbyBvdmVybG9hZCBDU1NfU1RSSU5HIHByaW1p
dGl2ZSB2YWx1ZSB0eXBlIGFuZCBoYXZlIGl0IGFjdCBhcyBib3RoIGEgc3RyaW5nCisgICAgICAg
ID4gYW5kIGEgY3VzdG9tIGlkZW50aWZpZXIuIFRoaXMgaXMgbGFtZSwgc2luY2UgdGhlIHBhcnNl
ciBzaG91bGQgaGF2ZSBtYWRlIHR3byBkaWZmZXJlbnQKKyAgICAgICAgPiB0eXBlcyBvZiBvYmpl
Y3RzIGluc3RlYWQsIGJ1dCBzaW5jZSBvdXIgcGFyc2VyIGRvZXNuJ3QgZG8gdGhhdCB5ZXQsIEkg
YWRkZWQgYSBzZXJpYWxpemVBc1N0cmluZ09yQ3VzdG9tSWRlbnQKKyAgICAgICAgPiB0aGF0IHBy
ZXNlcnZlcyBvdXIgb2xkIGJlaGF2aW9yIG9mICJxdW90ZSB0aGUgc3RyaW5nIG9ubHkgaWYgbmVl
ZGVkLiIgSW4gdGhpcyBjYXNlIHdoYXQKKyAgICAgICAgPiB0aGF0IHJlYWxseSBtZWFudCB3YXMg
IlRyeSB0byBndWVzcyB0aGF0IHdlIHdlcmUgb3JpZ2luYWxseSBhIGN1c3RvbSBpZGVudCBhbmQg
bGVhdmUgb2ZmCisgICAgICAgID4gcXVvdGVzIGlmIHNvLiIgVGhpcyBmdW5jdGlvbiB3aWxsIGdv
IGF3YXkgb25jZSB3ZSBwcm9wZXJseSBjcmVhdGUgQ1NTU3RyaW5nVmFsdWVzIGFuZAorICAgICAg
ICA+IENTU0N1c3RvbUlkZW50VmFsdWVzIGluc3RlYWQgb2YgdHVybmluZyB0aGUgbGF0dGVyIGlu
dG8gc3RyaW5ncy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUt
cHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3Vu
dGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRl
ci1zdHlsZS1zeXN0ZW0tc3ludGF4LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0yMiAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgZGlzY3JldGUgYW5p
bWF0aW9uIHN1cHBvcnQgZm9yIGJvcmRlci1pbWFnZS1yZXBlYXQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9jb3VudGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3Vu
dGVyLXN0eWxlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCA1NmFmOWUxZDQ4NGU1YzQ1ZDQ3
Y2FkMzM3YmM1YTdkMGRhMTA3NDc5Li43NTk0Nzg4ZTFjMjA5YzA5OWNlMmJlM2RlNzk0N2E3ZTNk
NTIyODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1mYWxsYmFjay1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtZmFsbGJhY2stZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEBjb3VudGVyLXN0eWxlICdmYWxsYmFjazogYmFy
JyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BB
U1MgQGNvdW50ZXItc3R5bGUgJ2ZhbGxiYWNrOiBiYXInIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVy
LXN0eWxlICdmYWxsYmFjazogImJhciInIGlzIGludmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUg
J2ZhbGxiYWNrOiBub25lJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdmYWxsYmFj
azogaW5pdGlhbCcgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5
bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXIt
c3R5bGUtcHJlZml4LXN1ZmZpeC1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDA5MmQ3YTkxY2Q5
YmU5MmFkNDFhMjgwMzNiOGU1MWY2M2U1YzFhMzAuLjg3YzZhMDZhNmI0ODRiZmUwMjI3OTcwN2Qw
MmE1NmYzZTAyMjVhMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXByZWZp
eC1zdWZmaXgtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1wcmVmaXgtc3VmZml4LXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTcsMjAgKzcsMjAgQEAgRkFJ
TCBAY291bnRlci1zdHlsZSAncHJlZml4OiAiaW5oZXJpdCInIGlzIHZhbGlkIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3cKIEZBSUwgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogImluaGVy
aXQiJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEK
IEZBSUwgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogInVuc2V0IicgaXMgdmFsaWQgYXNzZXJ0X25v
dF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCiBGQUlMIEBjb3VudGVyLXN0eWxlICdz
dWZmaXg6ICJ1bnNldCInIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAncHJlZml4OiBjdXN0b20taWRlbnQnIGlz
IHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBA
Y291bnRlci1zdHlsZSAnc3VmZml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAncHJl
Zml4OiBjdXN0b20taWRlbnQnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzdWZmaXg6
IGN1c3RvbS1pZGVudCcgaXMgdmFsaWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogaW5p
dGlhbCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiBpbml0aWFsJyBp
cyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6IGluaGVyaXQnIGlzIGludmFs
aWQKIFBBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogaW5oZXJpdCcgaXMgaW52YWxpZAogUEFT
UyBAY291bnRlci1zdHlsZSAncHJlZml4OiB1bnNldCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRl
ci1zdHlsZSAnc3VmZml4OiB1bnNldCcgaXMgaW52YWxpZAotRkFJTCBAY291bnRlci1zdHlsZSAn
cHJlZml4OiB1cmwoImh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyIpJyBpcyB2YWxpZCBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5
bGUgJ3N1ZmZpeDogdXJsKCJodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMgdmFsaWQg
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVy
LXN0eWxlICdwcmVmaXg6IHVybChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyknIGlzIHZh
bGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291
bnRlci1zdHlsZSAncHJlZml4OiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVlKScgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdzdWZmaXg6IGxpbmVhci1ncmFkaWVudCh5ZWxsb3csIGJsdWUpJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKK1BBU1MgQGNvdW50
ZXItc3R5bGUgJ3ByZWZpeDogdXJsKCJodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmciKScgaXMg
dmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogdXJsKCJodHRwczovL2V4YW1wbGUu
Y29tL2Zvby5wbmciKScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogdXJs
KGh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLnBuZyknIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0
eWxlICdzdWZmaXg6IHVybChodHRwczovL2V4YW1wbGUuY29tL2Zvby5wbmcpJyBpcyB2YWxpZAor
UEFTUyBAY291bnRlci1zdHlsZSAncHJlZml4OiBsaW5lYXItZ3JhZGllbnQoeWVsbG93LCBibHVl
KScgaXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N1ZmZpeDogbGluZWFyLWdyYWRpZW50
KHllbGxvdywgYmx1ZSknIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdwcmVmaXg6ICcg
aXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3VmZml4OiAnIGlzIGludmFsaWQKIFBB
U1MgQGNvdW50ZXItc3R5bGUgJ3ByZWZpeDogZm9vIGJhcicgaXMgaW52YWxpZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jb3VudGVyLXN0eWxlLXJhbmdlLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggNDI3
MzcyZTE4MDIzMTU1YmYzYWQ0NjVmMGViYTg2ZDI2M2Q3NjFkMy4uMzQzNzEwMTk5ODA3MmRkNDY2
OTE1ZDJlZTk2M2JhOGI4NTQzNzcxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5
bGUtcmFuZ2Utc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHls
ZS1yYW5nZS1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDEwIEBACiAKLUZBSUwgQGNv
dW50ZXItc3R5bGUgJ3JhbmdlOiBhdXRvJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0
ZSBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZh
bHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMCcgaXMgdmFsaWQg
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVy
LXN0eWxlICdyYW5nZTogMCBpbmZpbml0ZScgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5p
dGUgMCwgNSAxMCwgMTAwIGluZmluaXRlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290
IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0
ZSAxMCwgNSAyMCwgMTUgaW5maW5pdGUnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAncmFuZ2U6IGF1dG8nIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgaW5maW5pdGUnIGlz
IHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogaW5maW5pdGUgMCcgaXMgdmFsaWQK
K1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiAwIGluZmluaXRlJyBpcyB2YWxpZAorUEFTUyBA
Y291bnRlci1zdHlsZSAncmFuZ2U6IGluZmluaXRlIDAsIDUgMTAsIDEwMCBpbmZpbml0ZScgaXMg
dmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3JhbmdlOiBpbmZpbml0ZSAxMCwgNSAyMCwgMTUg
aW5maW5pdGUnIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogJyBpcyBpbnZh
bGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdyYW5nZTogMCAtMScgaXMgaW52YWxpZAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvY291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3BlYWstYXMtc3ludGF4LWV4cGVjdGVkLnR4
dAppbmRleCBkM2IzZTQzYzdmNTFjYzhkYjMyZjE3ZWUwODNhOTI1ZTVkNDc2NTRhLi5jNjNkZjc2
M2ZkNTFiMzQ2YzMzZGY0NTBmNmMxNTIyNjhkY2JkNDU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
Y291bnRlci1zdHlsZS1zcGVhay1hcy1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9jb3VudGVyLXN0eWxlLXNwZWFrLWFzLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEs
MTEgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGF1dG8nIGlzIHZhbGlkIGFz
c2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1z
dHlsZSAnc3BlYWstYXM6IGJ1bGxldHMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IG51bWJl
cnMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQot
RkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHdvcmRzJyBpcyB2YWxpZCBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3Nw
ZWFrLWFzOiBzcGVsbC1vdXQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGJhcicgaXMgdmFs
aWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3Vu
dGVyLXN0eWxlICdzcGVhay1hczogc3BlbGxvdXQnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6
IGF1dG8nIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1hczogYnVsbGV0cycg
aXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3NwZWFrLWFzOiBudW1iZXJzJyBpcyB2YWxp
ZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IHdvcmRzJyBpcyB2YWxpZAorUEFTUyBA
Y291bnRlci1zdHlsZSAnc3BlYWstYXM6IHNwZWxsLW91dCcgaXMgdmFsaWQKK1BBU1MgQGNvdW50
ZXItc3R5bGUgJ3NwZWFrLWFzOiBiYXInIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdz
cGVhay1hczogc3BlbGxvdXQnIGlzIHZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVhay1h
czogYnVsbGV0cyBudW1iZXJzJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzcGVh
ay1hczogbm9uZScgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3BlYWstYXM6IGlu
aXRpYWwnIGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jb3VudGVyLXN0eWxlLXN5
c3RlbS1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVt
LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZmUxZWZjODcyYzQ1M2M4ODliZWExYmZjOGU3ZDNl
M2NjYTc2YmIxNy4uNTc2MWVhMWQ4Mjc4OWExZjA5NDA3OGRhNWJkYTg0NDkwYjNmYmQxZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2NvdW50ZXItc3R5bGUtc3lzdGVtLXN5bnRheC1leHBlY3RlZC50
eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNs
aWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQot
RkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBmaXhlZCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0
ZW06IGZpeGVkIDEwMCcgaXMgdmFsaWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZpeGVkIC0xJyBpcyB2YWxp
ZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50
ZXItc3R5bGUgJ3N5c3RlbTogc3ltYm9saWMnIGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQotRkFJTCBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBhbHBo
YWJldGljJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUg
LTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogbnVtZXJpYycgaXMgdmFsaWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIEBjb3VudGVyLXN0eWxl
ICdzeXN0ZW06IGFkZGl0aXZlJyBpcyB2YWxpZCBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgLTEKLUZBSUwgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogZXh0ZW5kcyBiYXIn
IGlzIHZhbGlkIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAtMQorUEFT
UyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBjeWNsaWMnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IGZpeGVkJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lz
dGVtOiBmaXhlZCAxMDAnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06IGZp
eGVkIC0xJyBpcyB2YWxpZAorUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVtOiBzeW1ib2xpYycg
aXMgdmFsaWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWxwaGFiZXRpYycgaXMgdmFs
aWQKK1BBU1MgQGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogbnVtZXJpYycgaXMgdmFsaWQKK1BBU1Mg
QGNvdW50ZXItc3R5bGUgJ3N5c3RlbTogYWRkaXRpdmUnIGlzIHZhbGlkCitQQVNTIEBjb3VudGVy
LXN0eWxlICdzeXN0ZW06IGV4dGVuZHMgYmFyJyBpcyB2YWxpZAogUEFTUyBAY291bnRlci1zdHls
ZSAnc3lzdGVtOiBmbG9hdCcgaXMgaW52YWxpZAogUEFTUyBAY291bnRlci1zdHlsZSAnc3lzdGVt
OiBjeWNsaWMgY3ljbGljJyBpcyBpbnZhbGlkCiBQQVNTIEBjb3VudGVyLXN0eWxlICdzeXN0ZW06
IGV4dGVuZHMgbm9uZScgaXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBjZWYzNTgxMGExZWRjMDZhODg3ZDY3OWEzMWZmYjdkZmEwNTI0MmZi
Li5kZjM3NjEzYjhlMGMwYTgzOTFiOTQ4MDM4ZDIxYjUyZDZmMTAyZGYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY1NywzICs0NjU3LDcgQEAgZmFz
dC9mb3Jtcy9vbnNlbGVjdC10ZXh0ZmllbGQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBmYXN0L2Zv
cm1zL29wdGlvbi1tb3VzZWV2ZW50cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGZhc3QvZm9ybXMv
cGFzc3dvcmQtZG91YmxlY2xpY2stc2VsZWN0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogZmFz
dC90ZXh0L29mZnNldEZvclBvc2l0aW9uLWNvbXBsZXgtZmFsbGJhY2suaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCisKKyMgVGhpcyB0ZXN0IGlzIHNraXBwZWQgYmVjYXVzZSB0aGUgbmVjZXNzYXJ5IGZl
YXR1cmUgZmxhZyBmdW5jdGlvbmFsaXR5IHNwZWNpZmljIHRvIHRoZSBXaW5kb3dzIFdlYktpdCBs
ZWdhY3kgcG9ydCBpcworIyBub3QgaW1wbGVtZW50ZWQuICBUaGUgZmVhdHVyZSBmbGFncyBpbiBx
dWVzdGlvbiBhcmUgQ1NTQ291bnRlclN0eWxlQXRSdWxlc0VuYWJsZWQgYW5kIENTU0NvdW50ZXJT
dHlsZUF0UnVsZUltYWdlU3ltYm9sc0VuYWJsZWQuCit3ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUt
aW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3Nl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJleHBvc2VkL2NvdW50ZXItc3R5bGUtaW1h
Z2Utc3ltYm9scy1ub3QtZXhwb3NlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDljZmIzY2M0
YTM3ZTlkNDNkOGNiYjM3YjY0ZDg2MGU1ZDk1NmYwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmV4cG9zZWQvY291bnRlci1zdHlsZS1pbWFnZS1zeW1ib2xzLW5vdC1leHBvc2Vk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBAY291bnRlci1zdHlsZSBpbWFn
ZSBzeW1ib2xzIGFyZSBub3QgZXhwb3NlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJl
eHBvc2VkL2NvdW50ZXItc3R5bGUtaW1hZ2Utc3ltYm9scy1ub3QtZXhwb3NlZC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9z
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MzkwNmE0ZGI3NzNiY2EzMWQxOTYyMmNiYWU0OTBjZmMzNGY4
MTdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZXhwb3NlZC9jb3VudGVyLXN0
eWxlLWltYWdlLXN5bWJvbHMtbm90LWV4cG9zZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBDU1NDb3VudGVyU3R5bGVBdFJ1
bGVJbWFnZVN5bWJvbHNFbmFibGVkPWZhbHNlIF0gLS0+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAgIEBjb3VudGVyLXN0
eWxlIGZvbyB7CisgICAgICAgIHN5c3RlbTogY3ljbGljOworICAgICAgICBzdWZmaXg6ICIgIjsK
KyAgICAgICAgc3ltYm9sczogbGluZWFyLWdyYWRpZW50KHllbGxvdywgYmx1ZSk7CisgICAgfQor
PC9zdHlsZT4KKzxzY3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgY29uc3Qg
Y3NzUnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlcworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNzc1J1bGVzLmxlbmd0aCwgMSwgJ1Nob3VsZFwndmUgYmVlbiBhYmxlIHRvIHBh
cnNlIEBjb3VudGVyLXN0eWxlLicpCisgICAgICAgIGFzc2VydF9lcXVhbHMoY3NzUnVsZXNbMF0u
c3ltYm9scywgJycsICdTaG91bGRuXCd0IGhhdmUgYmVlbiBhYmxlIHRvIHBhcnNlIGltYWdlIHN5
bWJvbCB2YWx1ZSB3aXRoIHRoZSBydW50aW1lIGZlYXR1cmUgZmxhZyBkaXNhYmxlZC4nKQorICAg
IH0sICdAY291bnRlci1zdHlsZSBpbWFnZSBzeW1ib2xzIGFyZSBub3QgZXhwb3NlZCcpCis8L3Nj
cmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>