<?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>102491</bug_id>
          
          <creation_ts>2012-11-16 05:58:27 -0800</creation_ts>
          <short_desc>[css3-text] Add partial parsing support for text-underline-position property from CSS3 Text</short_desc>
          <delta_ts>2013-03-12 10:28:02 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>101931</blocked>
    
    <blocked>102795</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Lamarque V. Souza">lamarque</reporter>
          <assigned_to name="Lamarque V. Souza">lamarque</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>bruno.abinader</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769172</commentid>
    <comment_count>0</comment_count>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2012-11-16 05:58:27 -0800</bug_when>
    <thetext>This bug intends to add parsing support for &quot;text-underline-position&quot; CSS3 property. Rendering support is going to be implemented on another bug. This is a sub-task for bug 101931.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769201</commentid>
    <comment_count>1</comment_count>
      <attachid>174668</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2012-11-16 06:23:26 -0800</bug_when>
    <thetext>Created attachment 174668
Patch

Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793548</commentid>
    <comment_count>2</comment_count>
      <attachid>179922</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2012-12-18 04:44:57 -0800</bug_when>
    <thetext>Created attachment 179922
Patch

Updated to current git revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793715</commentid>
    <comment_count>3</comment_count>
      <attachid>179922</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-18 09:18:20 -0800</bug_when>
    <thetext>Comment on attachment 179922
Patch

Attachment 179922 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15400222

New failing tests:
fast/frames/sandboxed-iframe-attribute-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808967</commentid>
    <comment_count>4</comment_count>
      <attachid>183092</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-01-16 18:56:16 -0800</bug_when>
    <thetext>Created attachment 183092
Parse text-underline-position

Fix getComputedStyle-text-underline-position-expected.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809011</commentid>
    <comment_count>5</comment_count>
      <attachid>183104</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-01-16 20:12:01 -0800</bug_when>
    <thetext>Created attachment 183104
Parse text-underline-position (EWS only version)

Same patch with css3-text enabled by default so that bots can really test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809042</commentid>
    <comment_count>6</comment_count>
      <attachid>183104</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 20:54:35 -0800</bug_when>
    <thetext>Comment on attachment 183104
Parse text-underline-position (EWS only version)

Attachment 183104 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15909703</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809084</commentid>
    <comment_count>7</comment_count>
      <attachid>183104</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 22:24:37 -0800</bug_when>
    <thetext>Comment on attachment 183104
Parse text-underline-position (EWS only version)

Attachment 183104 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15914671</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809087</commentid>
    <comment_count>8</comment_count>
      <attachid>183104</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 22:31:45 -0800</bug_when>
    <thetext>Comment on attachment 183104
Parse text-underline-position (EWS only version)

Attachment 183104 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15912670

New failing tests:
fast/css3-text/css3-text-decoration/text-decoration-style.html
fast/css3-text/css3-text-decoration/repaint/repaint-text-decoration-style.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809133</commentid>
    <comment_count>9</comment_count>
      <attachid>183104</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 00:02:10 -0800</bug_when>
    <thetext>Comment on attachment 183104
Parse text-underline-position (EWS only version)

Attachment 183104 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15908834

New failing tests:
fast/css3-text/css3-text-decoration/text-decoration-style.html
fast/css3-text/css3-text-decoration/repaint/repaint-text-decoration-style.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809277</commentid>
    <comment_count>10</comment_count>
      <attachid>183104</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 05:01:44 -0800</bug_when>
    <thetext>Comment on attachment 183104
Parse text-underline-position (EWS only version)

Attachment 183104 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/15908986</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809288</commentid>
    <comment_count>11</comment_count>
      <attachid>183171</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-01-17 05:40:34 -0800</bug_when>
    <thetext>Created attachment 183171
Parse text-underline-position (EWS only version)

Enable css3-conditional-rules in some missing points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809303</commentid>
    <comment_count>12</comment_count>
      <attachid>183171</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 06:28:33 -0800</bug_when>
    <thetext>Comment on attachment 183171
Parse text-underline-position (EWS only version)

Attachment 183171 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/15906898</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809306</commentid>
    <comment_count>13</comment_count>
      <attachid>183171</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 06:32:28 -0800</bug_when>
    <thetext>Comment on attachment 183171
Parse text-underline-position (EWS only version)

Attachment 183171 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15913760</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809394</commentid>
    <comment_count>14</comment_count>
      <attachid>183171</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 09:33:06 -0800</bug_when>
    <thetext>Comment on attachment 183171
Parse text-underline-position (EWS only version)

Attachment 183171 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15926694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809518</commentid>
    <comment_count>15</comment_count>
      <attachid>183222</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-01-17 11:10:50 -0800</bug_when>
    <thetext>Created attachment 183222
Parse text-underline-position (EWS only version)

Attempt to fix compilation problem in some bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809616</commentid>
    <comment_count>16</comment_count>
      <attachid>183222</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 12:21:21 -0800</bug_when>
    <thetext>Comment on attachment 183222
Parse text-underline-position (EWS only version)

Attachment 183222 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15944080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809669</commentid>
    <comment_count>17</comment_count>
      <attachid>183222</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 13:01:07 -0800</bug_when>
    <thetext>Comment on attachment 183222
Parse text-underline-position (EWS only version)

Attachment 183222 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15943096

New failing tests:
fast/css3-text/css3-text-decoration/text-decoration-style.html
fast/css3-text/css3-text-decoration/repaint/repaint-text-decoration-style.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809941</commentid>
    <comment_count>18</comment_count>
      <attachid>183309</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-01-17 16:26:39 -0800</bug_when>
    <thetext>Created attachment 183309
Parse text-underline-position (EWS only version)

Disable css3-text decoration unit tests since they lack -expected.png files. See https://bugs.webkit.org/show_bug.cgi?id=100546.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810091</commentid>
    <comment_count>19</comment_count>
      <attachid>183309</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 18:52:22 -0800</bug_when>
    <thetext>Comment on attachment 183309
Parse text-underline-position (EWS only version)

Attachment 183309 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15947195</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839760</commentid>
    <comment_count>20</comment_count>
      <attachid>189797</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-02-22 11:24:25 -0800</bug_when>
    <thetext>Created attachment 189797
Parse text-underline-position

Update to current git revision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839765</commentid>
    <comment_count>21</comment_count>
      <attachid>189798</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-02-22 11:28:00 -0800</bug_when>
    <thetext>Created attachment 189798
Parse text-underline-position (EWS only version)

Same patch with css3-text enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840703</commentid>
    <comment_count>22</comment_count>
      <attachid>189798</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-24 22:46:56 -0800</bug_when>
    <thetext>Comment on attachment 189798
Parse text-underline-position (EWS only version)

Attachment 189798 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16728997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847042</commentid>
    <comment_count>23</comment_count>
      <attachid>189797</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-03-04 16:58:20 -0800</bug_when>
    <thetext>Comment on attachment 189797
Parse text-underline-position

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

You are on the right tracks. This will need another round as you allow cases that are not compliant (and not tested).

&gt; Source/WebCore/ChangeLog:24
&gt; +        (WebCore):

These entries are not useful and should be removed.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1361
&gt; +    if (list-&gt;length())
&gt; +        return list;
&gt; +
&gt; +    ASSERT_NOT_REACHED();
&gt; +    return cssValuePool().createExplicitInitialValue();

We should probably just have:

ASSERT(list-&gt;length());
return list;

&gt; Source/WebCore/css/CSSParser.cpp:9100
&gt; +        m_valueList-&gt;next();

Do you need this?

&gt; Source/WebCore/css/CSSParser.cpp:9104
&gt; +    if (value-&gt;id == CSSValueAlphabetic) {

This could be added to the &apos;if&apos; above.

&gt; Source/WebCore/css/CSSParser.cpp:9106
&gt; +        m_valueList-&gt;next();

Ditto.

&gt; Source/WebCore/css/CSSParser.cpp:9111
&gt; +    bool isValid = true;

I don&apos;t think we need this |isValid| variable: if you are not valid, I would expect you to bail out from the function as there is no point in continuing.

&gt; Source/WebCore/css/CSSParser.cpp:9113
&gt; +    while (isValid &amp;&amp; value) {

We could probably get away without the loop here as we really expect to parse only 2 values but in any order.

&gt; Source/WebCore/css/CSSParser.cpp:9132
&gt; +

You would wrongly accept:
* -webkit-text-underline-position: under under;
* -webkit-text-underline-position: under under under;
* -webkit-text-underline-position: left under under;

These cases should be added to your test.

&gt; Source/WebCore/css/CSSValueKeywords.in:949
&gt; +#if !(defined(ENABLE_SVG) &amp;&amp; ENABLE_SVG) &amp;&amp; defined(ENABLE_CSS3_TEXT) &amp;&amp; ENABLE_CSS3_TEXT

It&apos;s probably a bad idea to have the same property defined in 2 places. I would rather see it defined here only.

&gt; Source/WebCore/css/CSSValueKeywords.in:952
&gt; +#endif // CSS3_TEXT

Nit: No need for the &quot;// CSS3_TEXT&quot;, especially since it&apos;s wrong.

&gt; Source/WebCore/css/StyleBuilder.cpp:1960
&gt; +    setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());

If you handle the value here (which is fine), there is a giant switch to update in StyleResolver.cpp to say that you do so. Unfortunately, it doesn&apos;t break the build because of SVG defining the &apos;default&apos; case.

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:368
&gt; +inline TextUnderlinePosition operator| (TextUnderlinePosition a, TextUnderlinePosition b) { return TextUnderlinePosition(int(a) | int(b)); }
&gt; +inline TextUnderlinePosition&amp; operator|=(TextUnderlinePosition&amp; a, TextUnderlinePosition b) { return a = a | b; }

Not a huge fan of these operators for 2 reasons:
* What you get is *not* a TextUnderlinePosition as it isn&apos;t a defined value.
* This doesn&apos;t match our current style, which is to use flags.

It&apos;s a smart way of handling this situation but I think a simple

typedef unsigned TextUnderlinePositionFlags;
(or a plain unsigned)

would do a better job.

&gt; LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js:99
&gt; +

Missing the bad cases: left left, left right, right right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848143</commentid>
    <comment_count>24</comment_count>
      <attachid>191578</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-05 15:19:54 -0800</bug_when>
    <thetext>Created attachment 191578
Parse text-underline-position

Fix issues reported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848149</commentid>
    <comment_count>25</comment_count>
      <attachid>191580</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-05 15:22:29 -0800</bug_when>
    <thetext>Created attachment 191580
Parse text-underline-position (EWS only version)

Same patch with css3-text enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848165</commentid>
    <comment_count>26</comment_count>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-05 15:33:39 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; These entries are not useful and should be removed.
&gt; &gt; Source/WebCore/css/CSSParser.cpp:9100
&gt; &gt; +        m_valueList-&gt;next();
&gt; 
&gt; Do you need this?

No, but I have changed the parser in the latest patch, so this is not a issue anymore.

&gt; &gt; Source/WebCore/css/CSSValueKeywords.in:949
&gt; &gt; +#if !(defined(ENABLE_SVG) &amp;&amp; ENABLE_SVG) &amp;&amp; defined(ENABLE_CSS3_TEXT) &amp;&amp; ENABLE_CSS3_TEXT
&gt; 
&gt; It&apos;s probably a bad idea to have the same property defined in 2 places. I would rather see it defined here only.

Can we define a value and not use it? There are the cases where both ENABLE_SVG and ENABLE_CSS3_TEXT are enabled, when both are disabled and when only one of them is enabled. I added the extra ENABLE_SVG to prevent alphabetic being defined twice when both ENABLE_SVG and ENABLE_CSS3_TEXT are enabled. I do not see how I can define it here without causing a conflict in the svg file that also defines the &apos;alphabetic&apos; value without such a check, unless we define it regardless of the svg and css3-text feature flags values.

&gt; &gt; Source/WebCore/css/CSSValueKeywords.in:952
&gt; &gt; +#endif // CSS3_TEXT
&gt; 
&gt; Nit: No need for the &quot;// CSS3_TEXT&quot;, especially since it&apos;s wrong.

Ok, the feature flag was renamed some months ago and I forgot to change the text above.

&gt; &gt; Source/WebCore/css/StyleBuilder.cpp:1960
&gt; &gt; +    setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());
&gt; 
&gt; If you handle the value here (which is fine), there is a giant switch to update in StyleResolver.cpp to say that you do so. Unfortunately, it doesn&apos;t break the build because of SVG defining the &apos;default&apos; case.

Which of the switches in StyleResolver.cpp are you talking about?

&gt; &gt; Source/WebCore/rendering/style/RenderStyleConstants.h:368
&gt; &gt; +inline TextUnderlinePosition operator| (TextUnderlinePosition a, TextUnderlinePosition b) { return TextUnderlinePosition(int(a) | int(b)); }
&gt; &gt; +inline TextUnderlinePosition&amp; operator|=(TextUnderlinePosition&amp; a, TextUnderlinePosition b) { return a = a | b; }
&gt; 
&gt; Not a huge fan of these operators for 2 reasons:
&gt; * What you get is *not* a TextUnderlinePosition as it isn&apos;t a defined value.
&gt; * This doesn&apos;t match our current style, which is to use flags.
&gt; 
&gt; It&apos;s a smart way of handling this situation but I think a simple
&gt; 
&gt; typedef unsigned TextUnderlinePositionFlags;
&gt; (or a plain unsigned)
&gt; 
&gt; would do a better job.

That does not do the trick but I managed remove those operators and refactor the only place that use them.

The other issues reported have been fixed in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848663</commentid>
    <comment_count>27</comment_count>
      <attachid>191580</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 02:46:18 -0800</bug_when>
    <thetext>Comment on attachment 191580
Parse text-underline-position (EWS only version)

Attachment 191580 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/16999094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848979</commentid>
    <comment_count>28</comment_count>
      <attachid>191775</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-06 09:47:45 -0800</bug_when>
    <thetext>Created attachment 191775
Parse text-underline-position

According to http://www.w3.org/TR/CSS/#partial we should not accept values that do not have rendering support. &apos;under left&apos; and &apos;under right&apos; are not implement in https://bugs.webkit.org/show_bug.cgi?id=102795 so remove the support for them in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848992</commentid>
    <comment_count>29</comment_count>
      <attachid>191778</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-06 09:54:08 -0800</bug_when>
    <thetext>Created attachment 191778
Parse text-underline-position (EWS only version)

Same patch with css3-text enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849295</commentid>
    <comment_count>30</comment_count>
      <attachid>191778</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 14:25:18 -0800</bug_when>
    <thetext>Comment on attachment 191778
Parse text-underline-position (EWS only version)

Attachment 191778 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/16987183</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852520</commentid>
    <comment_count>31</comment_count>
      <attachid>191775</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-03-11 11:42:05 -0700</bug_when>
    <thetext>Comment on attachment 191775
Parse text-underline-position

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [css3-text] Add parsing support text-underline-position property from CSS3 Text

This should be renamed as you don&apos;t totally match the specification in this change.

&gt; Source/WebCore/ChangeLog:12
&gt; +        OBS: values &apos;under left&apos; and &apos;under right&apos; are not implemented in this

OBS? If you meant observation, either state it or use &apos;note&apos;.

Also, you should just mention what you did here instead of just observing it:

This patch extends the existing parsing to support &apos;alphabetic&apos; and &apos;under&apos;. We don&apos;t fully match the specification as we don&apos;t support [ left | right ] and this is left for another implementation as the rendering will need to be added.

&gt; Source/WebCore/ChangeLog:42
&gt; +        * rendering/style/RenderStyleConstants.h:
&gt; +        (WebCore::operator| ):
&gt; +        (WebCore::operator|=):
&gt; +        Added bitwise TextUnderlinePosition enum with operator functions | and |= operator (used in StyleBuilder).

The ChangeLog is stale. It should be updated before landing.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1362
&gt; +static PassRefPtr&lt;CSSValue&gt; renderTextUnderlinePositionFlagsToCSSValue(TextUnderlinePosition textUnderlinePosition)
&gt; +{
&gt; +    if (textUnderlinePosition == TextUnderlinePositionAuto)
&gt; +        return cssValuePool().createIdentifierValue(CSSValueAuto);
&gt; +
&gt; +    if (textUnderlinePosition == TextUnderlinePositionAlphabetic)
&gt; +        return cssValuePool().createIdentifierValue(CSSValueAlphabetic);
&gt; +
&gt; +    if (textUnderlinePosition == TextUnderlinePositionUnder)
&gt; +        return cssValuePool().createIdentifierValue(CSSValueUnder);
&gt; +
&gt; +    // TODO: Implement support for &apos;under left&apos; and &apos;under right&apos; values.
&gt; +
&gt; +    ASSERT_NOT_REACHED();
&gt; +    return cssValuePool().createExplicitInitialValue();
&gt; +}

Nit: This could be replaced with defining CSSPrimitiveValue::CSSPrimitiveValue(TextUnderlinePosition) in CSSPrimitiveValueMapping.h AFAICT.

&gt; Source/WebCore/css/CSSParser.cpp:9130
&gt; +        break;

No need for the break.

&gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:2372
&gt; +    // TODO: Implement support for &apos;under left&apos; and &apos;under right&apos; values.

We don&apos;t have TODO&apos;s in WebKit, only FIXME&apos;s.

&gt; Source/WebCore/css/CSSValueKeywords.in:949
&gt; +#if !(defined(ENABLE_SVG) &amp;&amp; ENABLE_SVG) &amp;&amp; defined(ENABLE_CSS3_TEXT) &amp;&amp; ENABLE_CSS3_TEXT

This will basically work but you still have 2 definitions of the same property which means that they can get out of sync.

I would rather go with a single definition than 2: either by defining the property here only using (my preference)

#if (defined(ENABLE_SVG) &amp;&amp; ENABLE_SVG) || (defined(ENABLE_CSS3_TEXT) &amp;&amp; ENABLE_CSS3_TEXT)

and removing the SVG bit or just enabling it always (not great but better than having to maintain 2 definitions).

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:363
&gt; +    // TODO: Implement support for &apos;under left&apos; and &apos;under right&apos; values.

s/TODO/FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852657</commentid>
    <comment_count>32</comment_count>
      <attachid>192542</attachid>
    <who name="Lamarque V. Souza">lamarque</who>
    <bug_when>2013-03-11 13:29:56 -0700</bug_when>
    <thetext>Created attachment 192542
Parse text-underline-position

Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852942</commentid>
    <comment_count>33</comment_count>
      <attachid>192542</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 18:12:47 -0700</bug_when>
    <thetext>Comment on attachment 192542
Parse text-underline-position

Clearing flags on attachment: 192542

Committed r145450: &lt;http://trac.webkit.org/changeset/145450&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853587</commentid>
    <comment_count>34</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-03-12 10:28:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed. Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174668</attachid>
            <date>2012-11-16 06:23:26 -0800</date>
            <delta_ts>2012-12-18 04:44:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102491-20121116122119.patch</filename>
            <type>text/plain</type>
            <size>33545</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVkMzA2MGZkMzlmN2I1
MmEyMDExYjc0YzE0MzgzOTRhNGM2Y2I3ZS4uMTdmNDczZmViODdkYjZmZDJkYjEwMWFkZDhiYWVl
NmZiYzk1ZGFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTExLTE2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEyLTEx
LTE2ICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQg
aW5pdGlhdG9yIHRvIENhY2hlZFJlc291cmNlUmVxdWVzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYWZiMDBkMTMyYjY0
YjFmMzMwM2JlMDA4YWYzYjUwZWExMmQ1N2NlZS4uMWQxZjhlZTAxNzQ2Njg1NTc0MzkxZDU4YjI0
OGEwNmE0NjY0MTc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE4NCw2ICsxODQsNyBAQCBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtp
dFRleHREZWNvcmF0aW9uTGluZSwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9u
U3R5bGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LAorICAgIENTU1Byb3Bl
cnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLAogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
IENTU1Byb3BlcnR5VGV4dEluZGVudCwKICAgICBDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsCkBA
IC0xMjQ0LDYgKzEyNDUsMjkgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRl
eHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoVGV4dERlY29yYXQKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJ
bml0aWFsVmFsdWUoKTsKIH0KKworc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRl
eHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShUZXh0VW5kZXJsaW5lUG9zaXRpb24g
dGV4dFVuZGVybGluZVBvc2l0aW9uKQoreworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24g
PT0gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9v
bCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOworCisgICAgaWYgKHRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9PSBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljKQorICAg
ICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
QWxwaGFiZXRpYyk7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVM
aXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRp
b24gJiBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlcikKKyAgICAgICAgbGlzdC0+YXBwZW5kKGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVVuZGVyKSk7CisgICAg
aWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQpCisg
ICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVMZWZ0KSk7CisgICAgZWxzZSBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4
dFVuZGVybGluZVBvc2l0aW9uUmlnaHQpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBv
b2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVSaWdodCkpOworCisgICAgaWYgKGxp
c3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbGlzdDsKKworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVFeHBsaWNpdEluaXRpYWxW
YWx1ZSgpOworfQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiBzdGF0aWMgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gZmlsbFJlcGVhdFRvQ1NTVmFsdWUoRUZpbGxSZXBlYXQgeFJlcGVhdCwgRUZpbGxSZXBl
YXQgeVJlcGVhdCkKQEAgLTIwMzksNiArMjA2Myw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0
CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25TdHlsZUZsYWdzVG9DU1NW
YWx1ZShzdHlsZS0+dGV4dERlY29yYXRpb25TdHlsZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlVmFsdWUoc3R5bGUtPnRleHRBbGlnbkxhc3QoKSk7CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAgICAgICByZXR1cm4g
cmVuZGVyVGV4dFVuZGVybGluZVBvc2l0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0VW5k
ZXJsaW5lUG9zaXRpb24oKSk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKICAgICAgICAgICAgIHJldHVy
biByZW5kZXJUZXh0RGVjb3JhdGlvbkZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dERlY29yYXRp
b25zSW5FZmZlY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDA2ZWY1NDM4NWE3
ZWRlNzRjZWFiYTZiMDc4MTJiYmE1ZmE4MjEyMzQuLmRmOTc4MDczY2M1MTY5NWFiNzY2OGFjNTYz
YjVkZWRiZjE3YzFiOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMTQxLDYgKzIx
NDEsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVTb2xpZCB8fCBpZCA9
PSBDU1NWYWx1ZURvdWJsZSB8fCBpZCA9PSBDU1NWYWx1ZURvdHRlZCB8fCBpZCA9PSBDU1NWYWx1
ZURhc2hlZCB8fCBpZCA9PSBDU1NWYWx1ZVdhdnkpCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbjoKKyAgICAgICAgLy8gYXV0byB8IGFscGhhYmV0aWMgfCBbIHVu
ZGVyIHx8IFsgbGVmdCB8IHJpZ2h0IF0gXQorICAgICAgICByZXR1cm4gcGFyc2VUZXh0VW5kZXJs
aW5lUG9zaXRpb24oaW1wb3J0YW50KTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogICAgIGNhc2Ug
Q1NTUHJvcGVydHlab29tOiAgICAgICAgICAvLyBub3JtYWwgfCByZXNldCB8IGRvY3VtZW50IHwg
PG51bWJlcj4gfCA8cGVyY2VudGFnZT4gfCBpbmhlcml0CkBAIC04Mjc1LDYgKzgyNzksNTQgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShDU1Mz
X1RFWFQpCitib29sIENTU1BhcnNlcjo6cGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBp
bXBvcnRhbnQpCit7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1
cnJlbnQoKTsKKyAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlQXV0bykgeworICAgICAgICBh
ZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgY3NzVmFs
dWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7Cisg
ICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVBbHBoYWJldGljKSB7CisgICAgICAgIGFk
ZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1
ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAg
ICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3Bh
Y2VTZXBhcmF0ZWQoKTsKKyAgICBib29sIGlzVmFsaWQgPSB0cnVlOworICAgIGJvb2wgbGVmdE9y
UmlnaHRBbHJlYWR5UGFyc2VkID0gZmFsc2U7CisgICAgd2hpbGUgKGlzVmFsaWQgJiYgdmFsdWUp
IHsKKyAgICAgICAgc3dpdGNoICh2YWx1ZS0+aWQpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUxl
ZnQ6CisgICAgICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAgICAgICAgIGlmIChsZWZ0T3JS
aWdodEFscmVhZHlQYXJzZWQpIHsKKyAgICAgICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsZWZ0T3JS
aWdodEFscmVhZHlQYXJzZWQgPSB0cnVlOworICAgICAgICBjYXNlIENTU1ZhbHVlVW5kZXI6Cisg
ICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZh
bHVlKHZhbHVlLT5pZCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgICAgICBpZiAoaXNWYWxpZCkKKyAgICAgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKKyAgICB9CisKKyAgICBpZiAobGlzdC0+bGVuZ3RoKCkgJiYgaXNWYWxpZCkgewor
ICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biwgbGlzdC5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogYm9vbCBD
U1NQYXJzZXI6OnBhcnNlVGV4dEVtcGhhc2lzU3R5bGUoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAg
dW5zaWduZWQgdmFsdWVMaXN0U2l6ZSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKaW5kZXggNTE4MWY5ZWNkODcwMjE0YWJjNzg1MDRmNjExZmMzZmZjNjFmNmVjOS4u
YjhhNWY1NjYyN2Y5NmQ4OGM3NWU5NTEzOWM2MWVkNjRiMjY2N2YyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaApAQCAtMjQwLDYgKzI0MCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkVGV4dERl
Y29yYXRpb25Qcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiwgYm9v
bCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlE
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworI2lmIEVOQUJMRShDU1MzX1RFWFQpCisgICAgYm9v
bCBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCk7CisjZW5kaWYgLy8g
Q1NTM19URVhUCiAKICAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4oYm9vbCBpbXBvcnRhbnQp
OwogICAgIGJvb2wgcGFyc2VDYWxjdWxhdGlvbihDU1NQYXJzZXJWYWx1ZSosIENhbGN1bGF0aW9u
UGVybWl0dGVkVmFsdWVSYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCAyMmY5ZmI3MDdkMmJkNGJlYmViMjI0Yjg3YWEwZTNiYjlj
NGY4ZGZhLi5mMWQxZjYzYWNmMjBkMzlkODA5MjQ3OGQ4NmI5YzA2MDhiZTU5MDI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTIyOTEs
NiArMjI5MSwyNSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgVGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsKIH0KKwordGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHRVbmRlcmxpbmVQb3NpdGlvbigp
IGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1
ZUF1dG86CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOworICAgIGNh
c2UgQ1NTVmFsdWVBbHBoYWJldGljOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0
aW9uQWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlVW5kZXI6CisgICAgICAgIHJldHVybiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlcjsKKyAgICBjYXNlIENTU1ZhbHVlTGVmdDoKKyAgICAg
ICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQ7CisgICAgY2FzZSBDU1NWYWx1ZVJp
Z2h0OgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uUmlnaHQ7CisgICAgfQor
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3Np
dGlvbkF1dG87Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVGV4dFNlY3VyaXR5IGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA2MTI4YTEwOTdiNmE2M2I0ZDNkMzY2YjdlYmUz
NDExYzMyNWRhNWRmLi4zY2Q5NGI3MGFjMTdhM2M3Y2IwZmU2NjFiY2ZmYmUxOTkyZmQzZmZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTMyOCw2ICszMjgsNyBAQCBib29sIENT
U1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkK
ICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVj
b3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKICNlbmRpZiAv
LyBDU1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5F
ZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpczoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggY2EzNTliNTIxM2EzZWZlZTdiN2FlZjY3
ZjJhZmQxYjdkNWU2NzE2NC4uNWI0YjNhN2VjOWFlMWQyMzUyMzZjMTRmZWRiNWY3ODY2ZmVlNDRi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTM1OCw2ICszNTgs
NyBAQCB6LWluZGV4CiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1saW5lCiAtd2Via2l0LXRleHQt
ZGVjb3JhdGlvbi1zdHlsZQogLXdlYmtpdC10ZXh0LWFsaWduLWxhc3QKKy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24KICNlbmRpZgogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVm
ZmVjdAogLXdlYmtpdC10ZXh0LWVtcGhhc2lzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCmluZGV4IDRiOWNjNmVhNmZiYmZlOGY3NDU1NWRhZDQ3NTk4MmM1YjM5MTljYWMuLmE0
NmE0NTVlNjFhMjllNGM5NmM5NDk0Zjk4ZGNiYzJjOWJmMWM4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC05MzcsNiArOTM3LDExIEBAIHdyYXAKIC8vIC13ZWJr
aXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmICEoZGVmaW5lZChFTkFCTEVfU1ZHKSAmJiBFTkFC
TEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQpICYmIEVOQUJMRV9DU1MzX1RFWFQK
Ky8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KK2FscGhhYmV0aWMKKyNlbmRpZiAv
LyBDU1MzX1RFWFQKKwogLy8gcG9zaXRpb24KICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfU1RJQ0tZ
X1BPU0lUSU9OKSAmJiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTgogLXdlYmtpdC1zdGlja3kK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggZWQ4ODY0MGE0OGFlMzc0OWJhNjYx
YTU4NzMyNmUwZTBiM2NlNGQ5ZC4uZTY1NGZiMzRmMWM5MDViYTk4YjhkMDNkNjE1NGY0NjZiNjlk
ODQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKQEAgLTExNDksNiArMTE0OSwz
NCBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorI2lmIEVOQUJMRShDU1MzX1RFWFQpCitjbGFzcyBB
cHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
dm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2
ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgaXMgdHJ1ZSBpZiB2
YWx1ZSBpcyAnYXV0bycgb3IgJ2FscGhhYmV0aWMnLgorICAgICAgICBpZiAodmFsdWUtPmlzUHJp
bWl0aXZlVmFsdWUoKSkgeworICAgICAgICAgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHQgPSAq
c3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgICAgICAgICBzdHls
ZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24odCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24g
dCA9IHN0YXRpY19jYXN0PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4oMCk7CisgICAgICAgIGZvciAo
Q1NTVmFsdWVMaXN0SXRlcmF0b3IgaSh2YWx1ZSk7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkg
eworICAgICAgICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSBpLnZhbHVlKCk7CisgICAgICAgICAgICBB
U1NFUlQoaXRlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKTsKKyAgICAgICAgICAgIHQgfD0gKnN0YXRp
Y19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlbSk7CisgICAgICAgIH0KKyAgICAgICAgc3R5
bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKHQpOworICAgIH0K
KyAgICBzdGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAg
ICAgUHJvcGVydHlIYW5kbGVyIGhhbmRsZXIgPSBBcHBseVByb3BlcnR5RGVmYXVsdEJhc2U8VGV4
dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnRleHRVbmRlcmxpbmVQb3NpdGlvbiwg
VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnNldFRleHRVbmRlcmxpbmVQb3Np
dGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5k
ZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVIYW5kbGVyKCk7CisgICAgICAgIHJldHVybiBQcm9wZXJ0
eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0RnVuY3Rpb24oKSwgaGFuZGxlci5pbml0aWFsRnVuY3Rp
b24oKSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGNs
YXNzIEFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBh
cHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENT
U1ZhbHVlKiB2YWx1ZSkKQEAgLTE5MTksNiArMTk0Nyw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVC
dWlsZGVyKCkKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwgQXBwbHlQcm9wZXJ0eVRleHREZWNv
cmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHRE
ZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERl
Y29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvblN0eWxlLCBUZXh0
RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxl
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlX
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIEFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5V2Via2l0VGV4dEFsaWduTGFzdCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RVRleHRBbGlnbkxh
c3QsICZSZW5kZXJTdHlsZTo6dGV4dEFsaWduTGFzdCwgRVRleHRBbGlnbkxhc3QsICZSZW5kZXJT
dHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgRVRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbFRleHRBbGlnbkxhc3Q+OjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlmIC8vIENTUzNfVEVY
VAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRJbmRlbnQsIEFwcGx5UHJv
cGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OnNldFRl
eHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQ+OjpjcmVhdGVIYW5kbGVy
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRl
eCAxZGViNmY3ODdlNGQyMGRjNDc1YjQzMjM1ZGVjYzRhZWNhMDU0NmMyLi43MjE0NWQ0NmRiNTY1
MDVkMDcwYjhiOWVkNjlmNzhjMzA2OWEwMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNjIwLDYgKzYyMCw3IEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25T
dHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5bGU+KHJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAgRVRleHRB
bGlnbkxhc3QgdGV4dEFsaWduTGFzdCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUZXh0
QWxpZ25MYXN0PihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0QWxpZ25MYXN0KTsgfQorICAgIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9zaXRpb24+KHJhcmVJbmhlcml0ZWREYXRhLT5t
X3RleHRVbmRlcmxpbmVQb3NpdGlvbik7IH0KICNlbHNlCiAgICAgVGV4dERlY29yYXRpb25TdHls
ZSB0ZXh0RGVjb3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gVGV4dERlY29yYXRpb25TdHls
ZVNvbGlkOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCkBAIC0xMTU0LDYgKzExNTUsNyBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uU3R5
bGUoVGV4dERlY29yYXRpb25TdHlsZSB2KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEs
IG1fdGV4dERlY29yYXRpb25TdHlsZSwgdik7IH0KICAgICB2b2lkIHNldFRleHRBbGlnbkxhc3Qo
RVRleHRBbGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRBbGln
bkxhc3QsIHYpIH0KKyAgICB2b2lkIHNldFRleHRVbmRlcmxpbmVQb3NpdGlvbihUZXh0VW5kZXJs
aW5lUG9zaXRpb24gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiwgdik7IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB2b2lkIHNldERpcmVj
dGlvbihUZXh0RGlyZWN0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSB2OyB9
CiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0KExlbmd0aCBzcGVjaWZpZWRMaW5lSGVpZ2h0KTsKQEAg
LTE2MTQsNiArMTYxNiw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHN0
YXRpYyBUZXh0RGVjb3JhdGlvblN0eWxlIGluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxlKCkgeyBy
ZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZVNvbGlkOyB9CiAgICAgc3RhdGljIEVUZXh0QWxpZ25M
YXN0IGluaXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1dG87IH0K
KyAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5lUG9z
aXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5kaWYgLy8g
Q1NTM19URVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4gMS4wZjsg
fQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAwOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCmluZGV4IDcyZTBjNGMzMzliZjE3YTQ4MmRhNjhiZjM4MGEzYzNkYTE5NzE0OGYuLjVi
NTE5ZjYwMDA0YWIyZmFlMjdiNTAzYTkyZWQwMTRhZWMxNWZiY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0z
NTIsNiArMzUyLDE0IEBAIGVudW0gRVRleHRBbGlnbkxhc3QgewogfTsKICNlbmRpZiAvLyBDU1Mz
X1RFWFQKIAorI2lmIEVOQUJMRShDU1MzX1RFWFQpCitlbnVtIFRleHRVbmRlcmxpbmVQb3NpdGlv
biB7CisgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0byA9IDB4MSwgVGV4dFVuZGVybGluZVBv
c2l0aW9uQWxwaGFiZXRpYyA9IDB4MiwgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIgPSAweDQs
IFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQgPSAweDgsIFRleHRVbmRlcmxpbmVQb3NpdGlvblJp
Z2h0ID0gMHgxMAorfTsKK2lubGluZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24gb3BlcmF0b3J8IChU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gYSwgVGV4dFVuZGVybGluZVBvc2l0aW9uIGIpIHsgcmV0dXJu
IFRleHRVbmRlcmxpbmVQb3NpdGlvbihpbnQoYSkgfCBpbnQoYikpOyB9CitpbmxpbmUgVGV4dFVu
ZGVybGluZVBvc2l0aW9uJiBvcGVyYXRvcnw9KFRleHRVbmRlcmxpbmVQb3NpdGlvbiYgYSwgVGV4
dFVuZGVybGluZVBvc2l0aW9uIGIpIHsgcmV0dXJuIGEgPSBhIHwgYjsgfQorI2VuZGlmIC8vIENT
UzNfVEVYVAorCiBlbnVtIEVQYWdlQnJlYWsgewogICAgIFBCQVVUTywgUEJBTFdBWVMsIFBCQVZP
SUQKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggYjFiYTU5ODZhNDkyMmZkYzU1MzViMWE0ZGI0
NzVlYzI3MjRlYWY3ZC4uZjAwNThiZDVjOGMwM2I0ODI5ODY3MWUyMmIwZTAzMDdjM2QwNzIwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmNwcApAQCAtOTcsNiArOTcsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RF
WFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3QoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0QWxpZ25M
YXN0KCkpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihSZW5kZXJTdHlsZTo6aW5pdGlh
bFRleHRVbmRlcmxpbmVQb3NpdGlvbigpKQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICwgaHlw
aGVuYXRpb25MaW1pdEJlZm9yZSgtMSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcigtMSkK
QEAgLTE2Miw2ICsxNjMsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAjZW5kaWYKICNpZiBF
TkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KG8ubV90ZXh0QWxpZ25MYXN0
KQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oby5tX3RleHRVbmRlcmxpbmVQb3NpdGlv
bikKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVu
YXRpb25TdHJpbmcpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKG8uaHlwaGVuYXRpb25M
aW1pdEJlZm9yZSkKQEAgLTI1NCw2ICsyNTYsNyBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERh
dGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICNl
bmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgICAgICYmIG1fdGV4dEFsaWduTGFzdCA9
PSBvLm1fdGV4dEFsaWduTGFzdAorICAgICAgICAmJiBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbiA9
PSBvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgICAg
ICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaAppbmRleCBkMDdlMDRjMzMwOTgwZjMwODg5MjU4ZDE1N2IxNzM4ZTkyMWJj
N2IzLi42MGNkMWU0MDM0ZDlhZTU5NzY5ODc5MzYxNTI2ZWM3NGRhOTFkYzAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmgKQEAgLTExMiw2ICsxMTIsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
M19URVhUKQogICAgIHVuc2lnbmVkIG1fdGV4dEFsaWduTGFzdCA6IDM7IC8vIEVUZXh0QWxpZ25M
YXN0CisgICAgdW5zaWduZWQgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gOiA1OyAvLyBUZXh0VW5k
ZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogICAgIEF0b21pY1N0cmluZyBo
eXBoZW5hdGlvblN0cmluZzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlNGY0NzZjYTU3NWJmYjU0OWRhZDljNzc1NjA1Mzc3
MDk2ZDc2ZGRjLi43ODE2ODk3MDA3NGVmMjdmZjQ1ODgyYmMzM2NmNTE1Y2VjY2YxNDE4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTEtMTYgIExhbWFycXVlIFYuIFNvdXphICA8TGFtYXJx
dWUuU291emFAYmFzeXNrb20uY29tPgorCisgICAgICAgIFtjc3MzLXRleHRdIEFkZCBwYXJzaW5n
IHN1cHBvcnQgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgZnJvbSBDU1MzIFRleHQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGdl
dENvbXB1dGVkU3R5bGUgbGF5b3V0IHRlc3RzIGZvciAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
IENTUzMKKyAgICAgICAgcHJvcGVydHksIHdpdGggJ3dlYmtpdCcgcHJlZml4LgorCisgICAgICAg
ICogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5
bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24u
anM6IEFkZGVkLgorICAgICAgICAodGVzdEVsZW1lbnRTdHlsZSk6CisgICAgICAgICh0ZXN0Q29t
cHV0ZWRTdHlsZSk6CisKIDIwMTItMTEtMTYgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29t
cHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9u
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY4NmM2NDRjOGY3OWVjYTE1NzM1YjAxYWY5ZTgw
NTJiOTNmZWI5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0
L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5NyBAQAorVGVz
dCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSBy
ZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0luaXRpYWwgdmFsdWU6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0n
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK0luaXRpYWwgdmFsdWUgKGV4
cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2lu
aXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVdJworUEFT
UyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24nKS5jc3NUZXh0IGlzICdpbml0aWFsJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhdXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKK1BBU1MgY29t
cHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnYWxwaGFiZXRpYyc6CitQ
QVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhbHBoYWJldGljJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ2FscGhhYmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIGlzICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAnYWxwaGFiZXRpYycKKworVmFsdWUgJ3VuZGVyJzoKK1BBU1MgZS5zdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBlLnN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3Vu
ZGVyJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
dW5kZXInCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVM
aXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCisKK1ZhbHVlICdsZWZ0
JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2xlZnQnCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5z
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykuY3NzVGV4dCBpcyAnbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gaXMgJ2xlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnbGVmdCcK
KworVmFsdWUgJ3JpZ2h0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ3JpZ2h0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAncmlnaHQnCisKK1ZhbHVlICd1bmRlciBsZWZ0JzoKK1BBU1MgZS5zdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBp
cyAndW5kZXIgbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIg
bGVmdCcKKworQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IGlzICd1bmRlciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0
IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQn
CisKK1ZhbHVlICd1bmRlciByaWdodCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcK
K1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVy
IHJpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitBbmNl
c3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BB
U1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJp
Z2h0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlz
dF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRl
ZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lNDVkNzcyMzViMTEyZTA2YjRjYzFiODU2MDBlZTM0YjBlM2U4NmNlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21w
dXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVz
dHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43Njk1MTNlNzQxMzBkMTQxMWNlZWQwOWFmMmI1ZTFhM2I5ODQ1NmY4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0
Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbi5qcwpAQCAtMCwwICsxLDEwMCBAQAorZnVuY3Rpb24gdGVzdEVsZW1lbnRTdHls
ZShwcm9wZXJ0eUpTLCBwcm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgaWYgKHR5cGUg
IT0gbnVsbCkgeworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS4iICsgcHJvcGVydHlKUywgIici
ICsgdmFsdWUgKyAiJyIpOworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAi
JyIpOworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsg
cHJvcGVydHlDU1MgKyAiJykuY3NzVGV4dCIsICInIiArIHZhbHVlICsgIiciKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgc2hvdWxkQmVOdWxsKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIg
KyBwcm9wZXJ0eUNTUyArICInKSIpOworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0ZWRTdHlsZShw
cm9wZXJ0eUpTLCBwcm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUsIG51bGwpOworICAgIHNob3VsZEJlKCJjb21w
dXRlZFN0eWxlLiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgc2hvdWxk
QmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsg
IicpLnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykuY3NzVGV4
dCIsICInIiArIHZhbHVlICsgIiciKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdG8gbWFrZSBz
dXJlIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgcmV0dXJucyB2YWx1
ZXMgcHJvcGVybHkuIikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QiPmhlbGxvIHdvcmxkPC9kaXY+JzsKK2RlYnVnKCJJbml0
aWFsIHZhbHVlOiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0
RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisK
K2RlYnVnKCJWYWx1ZSAnJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
ID0gJyc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRl
ZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7Citk
ZWJ1ZygnJyk7CisKK2RlYnVnKCJJbml0aWFsIHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5
bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRl
ZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7Citk
ZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRvJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJWYWx1ZSAnYWxwaGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiA9ICdhbHBoYWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwg
IltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRl
ZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGlj
Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7Cit0ZXN0Q29tcHV0ZWRTdHls
ZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJWYWx1ZSAnbGVmdCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICdsZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NT
VmFsdWVMaXN0XSIsICJsZWZ0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NWYWx1ZUxpc3RdIiwgImxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdy
aWdodCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdyaWdodCc7
Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmln
aHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAicmlnaHQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciBsZWZ0JzoiKTsK
K2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIGxlZnQnOwordGVz
dEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxl
ZnQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAidW5kZXIgbGVmdCIpOworZGVidWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9
ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVudCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb246IHVuZGVyIGxlZnQ7Ij5oZWxsbyA8c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8
L3NwYW4+PC9kaXY+JzsKK2RlYnVnKCJBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJl
bnQ6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rl
c3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJWYWx1ZSAndW5kZXIgcmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgcmlnaHQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7Cit0ZXN0Q29tcHV0ZWRT
dHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7Citk
ZWJ1ZygnJyk7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFy
ZW50IiBzdHlsZT0iLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgcmlnaHQ7
Ij5oZWxsbyA8c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+JzsKK2Rl
YnVnKCJBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uIiwgbnVsbCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NT
VmFsdWVMaXN0XSIsICJ1bmRlciByaWdodCIpOworZGVidWcoJycpOworCitkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179922</attachid>
            <date>2012-12-18 04:44:57 -0800</date>
            <delta_ts>2013-01-16 18:56:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102491-20121218104213.patch</filename>
            <type>text/plain</type>
            <size>33652</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg5YWFlM2Y1MTE0YjVh
MDJhOTQ3MDMxNGU2MzBhNjM0NmU0Y2RiZC4uZjAxMGFkNzY0NWE2M2YyZTJiZTAzNzY1Y2ExZTgz
ODRkODg5YWQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTEyLTE4ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEyLTEy
LTE3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IE1lZGlhUXVlcnlMaXN0IGxpc3RlbmVyIHNpbGVudGx5IGNhdGNoZXMgZXJy
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCmluZGV4IDQwMDk2NWYwNDVhNmNkOWRjZGFhODBlNzc2MTk3NzBjOWI0NjU0MmUuLmQx
YzllMDRmN2IwMmQyNDYxNWZmN2EyMWNlMmRlZjI3MmEzMDQ0ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xODksNiAr
MTg5LDcgQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10g
PSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4
dEFsaWduTGFzdCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwK
ICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRlbnQsCiAgICAgQ1NT
UHJvcGVydHlUZXh0UmVuZGVyaW5nLApAQCAtMTI3OSw2ICsxMjgwLDI5IEBAIHN0YXRpYyBQYXNz
UmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1ZhbHVl
KFRleHREZWNvcmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisKK3N0YXRpYyBQYXNz
UmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFs
dWUoVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbikKK3sKKyAgICBp
ZiAodGV4dFVuZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8pCisg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVBdXRvKTsKKworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGlu
ZVBvc2l0aW9uQWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAgUmVmUHRyPENTU1Zh
bHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAg
ICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIp
CisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBUZXh0
VW5kZXJsaW5lUG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAgIGVsc2UgaWYgKHRl
eHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0KQorICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1Zh
bHVlUmlnaHQpKTsKKworICAgIGlmIChsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGxp
c3Q7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAvLyBDU1MzX1RFWFQK
IAogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NTU1ZhbHVlKEVGaWxs
UmVwZWF0IHhSZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMDY2LDYgKzIwOTAsOCBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRE
ZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uU3R5bGUo
KSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgogICAgICAg
ICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT50ZXh0QWxpZ25M
YXN0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdz
VG9DU1NWYWx1ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwogI2VuZGlmIC8vIENT
UzNfVEVYVAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5F
ZmZlY3Q6CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25GbGFnc1RvQ1NT
VmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcAppbmRleCA2OTk1YjMxZmI1YWU5YjJiYjdmMjdkOGRhZDg0MDhjMDMyM2JhNmJmLi43
MzY5YzEwMjViNjkwYjE2NzQ4MGU4OGUwMDllYjY5OWQ2YTdiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcApAQCAtMjIwMiw2ICsyMjAyLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZh
bHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgaWYgKGlk
ID09IENTU1ZhbHVlU29saWQgfHwgaWQgPT0gQ1NTVmFsdWVEb3VibGUgfHwgaWQgPT0gQ1NTVmFs
dWVEb3R0ZWQgfHwgaWQgPT0gQ1NTVmFsdWVEYXNoZWQgfHwgaWQgPT0gQ1NTVmFsdWVXYXZ5KQog
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKKworICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAgIC8v
IGF1dG8gfCBhbHBoYWJldGljIHwgWyB1bmRlciB8fCBbIGxlZnQgfCByaWdodCBdIF0KKyAgICAg
ICAgcmV0dXJuIHBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGltcG9ydGFudCk7CiAjZW5kaWYg
Ly8gQ1NTM19URVhUCiAKICAgICBjYXNlIENTU1Byb3BlcnR5Wm9vbTogICAgICAgICAgLy8gbm9y
bWFsIHwgcmVzZXQgfCBkb2N1bWVudCB8IDxudW1iZXI+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJp
dApAQCAtODYxNiw2ICs4NjIwLDU0IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHREZWNvcmF0
aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4
dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KQoreworICAgIENTU1BhcnNlclZhbHVl
KiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CisgICAgaWYgKHZhbHVlLT5pZCA9PSBD
U1NWYWx1ZUF1dG8pIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2
YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVl
QWxwaGFiZXRpYykgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZh
bHVlLT5pZCksIGltcG9ydGFudCk7CisgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3Qg
PSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgYm9vbCBpc1ZhbGlk
ID0gdHJ1ZTsKKyAgICBib29sIGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCA9IGZhbHNlOworICAg
IHdoaWxlIChpc1ZhbGlkICYmIHZhbHVlKSB7CisgICAgICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7
CisgICAgICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6
CisgICAgICAgICAgICBpZiAobGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkKSB7CisgICAgICAgICAg
ICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgbGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkID0gdHJ1ZTsKKyAgICAg
ICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzVmFsaWQpCisgICAgICAg
ICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgfQorCisgICAgaWYgKGxpc3Qt
Pmxlbmd0aCgpICYmIGlzVmFsaWQpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlX
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGxpc3QucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5k
aWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHRFbXBoYXNpc1N0eWxl
KGJvb2wgaW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZhbHVlTGlzdFNpemUgPSBtX3ZhbHVl
TGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDM5MmZmOTg0MGM1YTZjODM5
YzJmMjE0NDM3YWI3NTg0YmI3MjVhOWQuLmE3NDMwY2FmMjljZGE5N2Y0NjRjM2IyZTZjZjA4Y2Ni
M2I0NTkzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI0OSw2ICsyNDksOSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlVGV4
dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyNpZiBF
TkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oYm9v
bCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgYm9vbCBwYXJzZUxpbmVC
b3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQ2FsY3VsYXRpb24oQ1NT
UGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFuZ2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggZmVhM2Y2ZDEw
MjQxZGUzY2Y1ZmViOWNkZThlNDZhNGU5ZmFiODkxZi4uMDE5ZWJjMGIyMGQ1MTg1Mzg1YWIxMzMy
Yzk4ZmJhYWY2YWFkNjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC0yMzI5LDYgKzIzMjksMjUgQEAgdGVtcGxhdGU8PiBpbmxpbmUg
Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdAog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxl
U29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5p
ZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVy
bGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAg
cmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM7CisgICAgY2FzZSBDU1NWYWx1
ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXI7CisgICAg
Y2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25M
ZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxp
bmVQb3NpdGlvblJpZ2h0OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOworfQogI2VuZGlmIC8vIENTUzNfVEVY
VAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggYjI1
MTIwMzIxYzA0NzgzODNhNjdlYTZjMjI0M2IxNjRmNDdmMmQzOC4uZWYzMDEwN2FhODNiYjk5MzI0
MTI3ZDcyMDg4MTJkMGNhMGRlMmQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBA
IC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5lOgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4
IDUwY2VkNmIwMzJmNjQzZDc5ZTdjNDJiZDBlYTMxZDI0NjI5MjBjYWUuLmYzZDlhMmExMjgxNDVi
MmMyMjVlNDUxNmQ2ZTZlNDMxMzFmMmQ4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCkBAIC0zNTgsNiArMzU4LDcgQEAgei1pbmRleAogLXdlYmtpdC10ZXh0LWRlY29y
YXRpb24tbGluZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGUKIC13ZWJraXQtdGV4dC1h
bGlnbi1sYXN0Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uCiAjZW5kaWYKIC13ZWJr
aXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4dC1lbXBoYXNpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA3NTkyNmY2MjdhMzdmMjA2ZjEx
NGYxNmE3NzcyOWU4ZmQ5MzZlODBiLi43NDhhMjkzOGM2YTA5NDVlMDczNWViYmIyYWJmYjYwMjAz
YThhYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtOTQ1LDYg
Kzk0NSwxMSBAQCB3cmFwCiAvLyAtd2Via2l0LWxpbmUtYWxpZ24KIGVkZ2VzCiAKKyNpZiAhKGRl
ZmluZWQoRU5BQkxFX1NWRykgJiYgRU5BQkxFX1NWRykgJiYgZGVmaW5lZChFTkFCTEVfQ1NTM19U
RVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisvLyAtd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uCithbHBoYWJldGljCisjZW5kaWYgLy8gQ1NTM19URVhUCisKIC8vIHBvc2l0aW9uCiAjaWYg
ZGVmaW5lZChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJiYgRU5BQkxFX0NTU19TVElDS1lf
UE9TSVRJT04KIC13ZWJraXQtc3RpY2t5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmlu
ZGV4IGY5ZDhkOGFjNmQwZmYxMTFlODlhNjNjNzc4NGFkODk5MTM2MTFmOTkuLmUxNzBiZTZkN2U1
ZTU4MGNkMjg3Njc3NjY3YzMwNjk2NmNkZjFjN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXIuY3BwCkBAIC0xMTUzLDYgKzExNTMsMzQgQEAgcHVibGljOgogICAgIH0KIH07CiAKKyNpZiBF
TkFCTEUoQ1NTM19URVhUKQorY2xhc3MgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQcm9wZXJ0eUlELCBT
dHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBUaGlzIGlzIHRydWUgaWYgdmFsdWUgaXMgJ2F1dG8nIG9yICdhbHBoYWJldGljJy4K
KyAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4o
dmFsdWUpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVy
bGluZVBvc2l0aW9uKHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHQgPSBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9z
aXRpb24+KDApOworICAgICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkodmFsdWUpOyBp
Lmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0g
aS52YWx1ZSgpOworICAgICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7
CisgICAgICAgICAgICB0IHw9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0p
OworICAgICAgICB9CisgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldFRleHRVbmRl
cmxpbmVQb3NpdGlvbih0KTsKKyAgICB9CisgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVh
dGVIYW5kbGVyKCkKKyAgICB7CisgICAgICAgIFByb3BlcnR5SGFuZGxlciBoYW5kbGVyID0gQXBw
bHlQcm9wZXJ0eURlZmF1bHRCYXNlPFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgJlJlbmRlclN0eWxl
Ojp0ZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgJlJlbmRlclN0
eWxlOjpzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgJlJl
bmRlclN0eWxlOjppbml0aWFsVGV4dFVuZGVybGluZVBvc2l0aW9uPjo6Y3JlYXRlSGFuZGxlcigp
OworICAgICAgICByZXR1cm4gUHJvcGVydHlIYW5kbGVyKGhhbmRsZXIuaW5oZXJpdEZ1bmN0aW9u
KCksIGhhbmRsZXIuaW5pdGlhbEZ1bmN0aW9uKCksICZhcHBseVZhbHVlKTsKKyAgICB9Cit9Owor
I2VuZGlmIC8vIENTUzNfVEVYVAorCiBjbGFzcyBBcHBseVByb3BlcnR5TGluZUhlaWdodCB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJl
c29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCkBAIC0xOTI2LDYgKzE5NTQs
NyBAQCBTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcigpCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxp
bmUsIEFwcGx5UHJvcGVydHlUZXh0RGVjb3JhdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLCBB
cHBseVByb3BlcnR5RGVmYXVsdDxUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnRl
eHREZWNvcmF0aW9uU3R5bGUsIFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0
VGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpp
bml0aWFsVGV4dERlY29yYXRpb25TdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBBcHBs
eVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3QsIEFwcGx5UHJv
cGVydHlEZWZhdWx0PEVUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxhc3Qs
IEVUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnNldFRleHRBbGlnbkxhc3QsIEVUZXh0QWxp
Z25MYXN0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0QWxpZ25MYXN0Pjo6Y3JlYXRlSGFuZGxl
cigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlUZXh0SW5kZW50LCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6dGV4dElu
ZGVudCwgJlJlbmRlclN0eWxlOjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxU
ZXh0SW5kZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggZWVjNTcyYmNmOTk4ZDUzOTFmYWIzNzk4Yzg0Nzlj
NDllZDQ4NDkxOS4uYjYxYTExNzc4MzUyY2I3OTJkODIyMDcyYzJhZjIxYjllNWVlZDAzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTU2NCw2
ICs1NjQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBUZXh0RGVjb3Jh
dGlvblN0eWxlIHRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxUZXh0RGVjb3JhdGlvblN0eWxlPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90ZXh0RGVjb3Jh
dGlvblN0eWxlKTsgfQogICAgIEVUZXh0QWxpZ25MYXN0IHRleHRBbGlnbkxhc3QoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxFVGV4dEFsaWduTGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1f
dGV4dEFsaWduTGFzdCk7IH0KKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGlu
ZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0
aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxz
ZQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApA
QCAtMTEwMyw2ICsxMTA0LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAg
dm9pZCBzZXRUZXh0RGVjb3JhdGlvblN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRf
VkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3RleHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAg
ICAgdm9pZCBzZXRUZXh0QWxpZ25MYXN0KEVUZXh0QWxpZ25MYXN0IHYpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgbV90ZXh0QWxpZ25MYXN0LCB2KTsgfQorICAgIHZvaWQgc2V0VGV4dFVu
ZGVybGluZVBvc2l0aW9uKFRleHRVbmRlcmxpbmVQb3NpdGlvbiB2KSB7IFNFVF9WQVIocmFyZUlu
aGVyaXRlZERhdGEsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uLCB2KTsgfQogI2VuZGlmIC8vIENT
UzNfVEVYVAogICAgIHZvaWQgc2V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb24gdikgeyBpbmhlcml0
ZWRfZmxhZ3MuX2RpcmVjdGlvbiA9IHY7IH0KICAgICB2b2lkIHNldExpbmVIZWlnaHQoTGVuZ3Ro
IHNwZWNpZmllZExpbmVIZWlnaHQpOwpAQCAtMTU2MSw2ICsxNTYzLDcgQEAgcHVibGljOgogI2lm
IEVOQUJMRShDU1MzX1RFWFQpCiAgICAgc3RhdGljIFRleHREZWNvcmF0aW9uU3R5bGUgaW5pdGlh
bFRleHREZWNvcmF0aW9uU3R5bGUoKSB7IHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7
IH0KICAgICBzdGF0aWMgRVRleHRBbGlnbkxhc3QgaW5pdGlhbFRleHRBbGlnbkxhc3QoKSB7IHJl
dHVybiBUZXh0QWxpZ25MYXN0QXV0bzsgfQorICAgIHN0YXRpYyBUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQ
b3NpdGlvbkF1dG87IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBzdGF0aWMgZmxvYXQgaW5p
dGlhbFpvb20oKSB7IHJldHVybiAxLjBmOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsT3V0bGlu
ZU9mZnNldCgpIHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggNGE1NTBlMmM4ZDY3NGVlZGUw
Mzg0YjBkYzRlNjcxYzAyNjRjZTU1Zi4uNWUxNWUzN2I2NjA1OTcwYzdjMjcyZjVkNmNkNjViZjJk
YmYxYWFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTM1NSw2ICszNTUsMTQgQEAgZW51bSBFVGV4dEFsaWdu
TGFzdCB7CiB9OwogI2VuZGlmIC8vIENTUzNfVEVYVAogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkK
K2VudW0gVGV4dFVuZGVybGluZVBvc2l0aW9uIHsKKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb25B
dXRvID0gMHgxLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljID0gMHgyLCBUZXh0VW5k
ZXJsaW5lUG9zaXRpb25VbmRlciA9IDB4NCwgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4
OCwgVGV4dFVuZGVybGluZVBvc2l0aW9uUmlnaHQgPSAweDEwCit9OworaW5saW5lIFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBvcGVyYXRvcnwgKFRleHRVbmRlcmxpbmVQb3NpdGlvbiBhLCBUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uKGludChhKSB8
IGludChiKSk7IH0KK2lubGluZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24mIG9wZXJhdG9yfD0oVGV4
dFVuZGVybGluZVBvc2l0aW9uJiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4g
YSA9IGEgfCBiOyB9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGVudW0gRVBhZ2VCcmVhayB7CiAg
ICAgUEJBVVRPLCBQQkFMV0FZUywgUEJBVk9JRAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCBj
Y2FiOTk5NTZkNDQ2YTAzYzdkY2JkOTE0M2EwZmJjYzE3ZDljNDY4Li4zZWQyYWVkN2ZjZDM3MzM1
MzU4ZWE4ZDk3ZGQ0OTdiZTQ2NTIyYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMDQsNiAr
MTA0LDcgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgp
CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KFJl
bmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdCgpKQorICAgICwgbV90ZXh0VW5kZXJsaW5l
UG9zaXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSkKICNl
bmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIG1fcnVieVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0
aWFsUnVieVBvc2l0aW9uKCkpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAt
MTc0LDYgKzE3NSw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICNlbmRpZgogI2lmIEVOQUJM
RShDU1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3Qoby5tX3RleHRBbGlnbkxhc3QpCisg
ICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKQog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgICwgbV9ydWJ5UG9zaXRpb24oby5tX3J1YnlQb3NpdGlv
bikKICAgICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCkBAIC0yNzAs
NiArMjcyLDcgQEAgYm9vbCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0
IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
M19URVhUKQogICAgICAgICAmJiBtX3RleHRBbGlnbkxhc3QgPT0gby5tX3RleHRBbGlnbkxhc3QK
KyAgICAgICAgJiYgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gby5tX3RleHRVbmRlcmxpbmVQ
b3NpdGlvbgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9
PSBvLm1fcnVieVBvc2l0aW9uCiAgICAgICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaAppbmRleCBlM2I4YjEzZWFlMTA2MjE3ZmQxMjZlZDU0MmZjYzBmYjE3MmQ1
Njk2Li4zMGMzNGIwZTY4OTczZjIzMjRkYTViZjhmZmJjODFjOWIyMzRkZDBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
M19URVhUKQogICAgIHVuc2lnbmVkIG1fdGV4dEFsaWduTGFzdCA6IDM7IC8vIEVUZXh0QWxpZ25M
YXN0CisgICAgdW5zaWduZWQgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gOiA1OyAvLyBUZXh0VW5k
ZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB1bnNpZ25lZCBtX3J1YnlQ
b3NpdGlvbiA6IDE7IC8vIFJ1YnlQb3NpdGlvbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWQzNzVkYTEyZjM4OThiNzI3
OTczZGQyOTFlZGIzODhmZmUzMGJmOC4uNDI5MDk2NWE1MjkzMTY3ZjhhNmM4MTIyNTRkNjFiNGYz
OGJmYTZhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTE4ICBMYW1hcnF1ZSBWLiBT
b3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBbY3NzMy10ZXh0
XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IGZy
b20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3IgJ3RleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3ZWJraXQnIHByZWZp
eC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9n
ZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50U3R5bGUpOgorICAg
ICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEyLTEyLTE3ICBZdXJ5IFNlbWlraGF0c2t5
ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE1lZGlhUXVl
cnlMaXN0IGxpc3RlbmVyIHNpbGVudGx5IGNhdGNoZXMgZXJyb3JzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29t
cHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40Zjg2YzY0NGM4Zjc5ZWNhMTU3MzViMDFhZjllODA1MmI5M2Zl
Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10
ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDk3IEBACitUZXN0IHRvIG1h
a2Ugc3VyZSAtd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMg
dmFsdWVzIHByb3Blcmx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlh
bCB2YWx1ZToKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK1ZhbHVlICcnOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1
dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworSW5pdGlhbCB2YWx1ZSAoZXhwbGljaXQp
OgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnaW5pdGlhbCcK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZV0nCitQQVNTIGUuc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LmNzc1RleHQgaXMgJ2luaXRpYWwnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
YXV0bycKKworVmFsdWUgJ2F1dG8nOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NW
YWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3Nz
VGV4dCBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0
IGlzICdhbHBoYWJldGljJworCitWYWx1ZSAndW5kZXInOgorUEFTUyBlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCitQ
QVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKKworVmFsdWUgJ2xlZnQnOgorUEFT
UyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnbGVmdCcKK1BBU1MgZS5z
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NU
ZXh0IGlzICdsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdsZWZ0JworCitWYWx1
ZSAncmlnaHQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
cmlnaHQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykuY3NzVGV4dCBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdyaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJp
bmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0
IGlzICdyaWdodCcKKworVmFsdWUgJ3VuZGVyIGxlZnQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRl
ciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBp
cyAndW5kZXIgbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0Jwor
CitBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51
bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3Vu
ZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFs
dWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKKworVmFs
dWUgJ3VuZGVyIHJpZ2h0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENT
U1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBj
b21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQn
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCisKK0FuY2VzdG9yIGlu
aGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21w
dXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxl
L2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0NWQ3NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRt
bApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4
dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5
bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRD
b21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2OTUx
M2U3NDEzMGQxNDExY2VlZDA5YWYyYjVlMWEzYjk4NDU2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRl
ZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmpzCkBAIC0wLDAgKzEsMTAwIEBACitmdW5jdGlvbiB0ZXN0RWxlbWVudFN0eWxlKHByb3Bl
cnR5SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkKK3sKKyAgICBpZiAodHlwZSAhPSBudWxs
KSB7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1
ZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
JyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmluZygpIiwgIiciICsgdHlwZSArICInIik7Cisg
ICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0
eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFsdWUgKyAiJyIpOworICAgIH0gZWxzZQorICAg
ICAgICBzaG91bGRCZU51bGwoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3Bl
cnR5Q1NTICsgIicpIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlKHByb3BlcnR5
SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkKK3sKKyAgICBjb21wdXRlZFN0eWxlID0gd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZSwgbnVsbCk7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykudG9T
dHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIici
ICsgdmFsdWUgKyAiJyIpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtlIHN1cmUgLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9w
ZXJseS4iKQorCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwg
PSAnPGRpdiBpZD0idGVzdCI+aGVsbG8gd29ybGQ8L2Rpdj4nOworZGVidWcoIkluaXRpYWwgdmFs
dWU6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK3Rlc3RFbGVtZW50
U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uIiwgbnVsbCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWco
IlZhbHVlICcnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnJzsK
K3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoIkluaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToiKTsKK2Uuc3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2luaXRpYWwnOwordGVzdEVsZW1lbnRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCAiW29iamVjdCBDU1NWYWx1ZV0iLCAiaW5pdGlhbCIpOwordGVzdENvbXB1dGVkU3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoIlZhbHVlICdhdXRvJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uID0gJ2F1dG8nOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwg
IltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVi
dWcoIlZhbHVlICdhbHBoYWJldGljJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uID0gJ2FscGhhYmV0aWMnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFiZXRpYyIpOwordGVzdENvbXB1dGVkU3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK2Rl
YnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJb
b2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVi
dWcoIlZhbHVlICdsZWZ0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
ID0gJ2xlZnQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxp
c3RdIiwgImxlZnQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1Zh
bHVlTGlzdF0iLCAibGVmdCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3JpZ2h0Jzoi
KTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3JpZ2h0JzsKK3Rlc3RF
bGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwor
dGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdo
dCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIGxlZnQnOiIpOworZS5zdHls
ZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgbGVmdCc7Cit0ZXN0RWxlbWVu
dFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOwor
dGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRl
ciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYg
aWQ9InRlc3QtcGFyZW50IiBzdHlsZT0iLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjog
dW5kZXIgbGVmdDsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48
L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsK
K2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1l
bnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAi
W29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVi
dWcoIlZhbHVlICd1bmRlciByaWdodCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICd1bmRlciByaWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcn
KTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0
eWxlPSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlciByaWdodDsiPmhlbGxv
IDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFu
Y2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBu
dWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxp
c3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1ZygnJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQodGVzdENvbnRhaW5lcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183092</attachid>
            <date>2013-01-16 18:56:16 -0800</date>
            <delta_ts>2013-02-22 11:24:02 -0800</delta_ts>
            <desc>Parse text-underline-position</desc>
            <filename>bug-102491-20130117005316.patch</filename>
            <type>text/plain</type>
            <size>33850</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1Nzc4NTZlZmMzNzU3
NzFjYmZkOTlkOGNjNWM0MDdhYTFiY2QxNy4uMWQxODY1NmYwOTU2NDZjNzY5ZTJjMzdiMjdlMzBh
MjI5NTk0MWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAxLTE2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAx
LTE2ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBmaXggYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBF
bGVtZW50LnJlbW92ZSgpIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBkNTc3NzcyMzEzZWE2YmExODY2OTgxMDBk
MDI5MWEzNDYzNmY5YTQ5Li4zMjE0N2ExM2NiN2ZiNGM2MWEwODBjOGExNDgyNjg5ZDU2NDYzYjQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtMTkwLDYgKzE5MCw3IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNv
bXB1dGVkUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRp
b25MaW5lLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25TdHlsZSwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3QsCisgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24sCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgQ1NTUHJvcGVydHlU
ZXh0SW5kZW50LAogICAgIENTU1Byb3BlcnR5VGV4dFJlbmRlcmluZywKQEAgLTEzMTcsNiArMTMx
OCwyOSBAQCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcmVuZGVyVGV4dERlY29yYXRpb25T
dHlsZUZsYWdzVG9DU1NWYWx1ZShUZXh0RGVjb3JhdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVFeHBsaWNpdEluaXRpYWxWYWx1ZSgp
OwogfQorCitzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcmVuZGVyVGV4dFVuZGVybGluZVBv
c2l0aW9uRmxhZ3NUb0NTU1ZhbHVlKFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0VW5kZXJsaW5l
UG9zaXRpb24pCit7CisgICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBUZXh0VW5kZXJs
aW5lUG9zaXRpb25BdXRvKQorICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0
aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWMpCisgICAgICAgIHJldHVybiBj
c3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBbHBoYWJldGljKTsK
KworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNw
YWNlU2VwYXJhdGVkKCk7CisgICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRl
cmxpbmVQb3NpdGlvblVuZGVyKQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCku
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlVW5kZXIpKTsKKyAgICBpZiAodGV4dFVuZGVy
bGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCkKKyAgICAgICAgbGlzdC0+
YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUxlZnQp
KTsKKyAgICBlbHNlIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBUZXh0VW5kZXJsaW5lUG9z
aXRpb25SaWdodCkKKyAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVJpZ2h0KSk7CisKKyAgICBpZiAobGlzdC0+bGVuZ3RoKCkp
CisgICAgICAgIHJldHVybiBsaXN0OworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7Cit9CiAj
ZW5kaWYgLy8gQ1NTM19URVhUCiAKIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBmaWxsUmVw
ZWF0VG9DU1NWYWx1ZShFRmlsbFJlcGVhdCB4UmVwZWF0LCBFRmlsbFJlcGVhdCB5UmVwZWF0KQpA
QCAtMjEwMCw2ICsyMTI0LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAgICAg
IHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50
ZXh0RGVjb3JhdGlvblN0eWxlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4
dEFsaWduTGFzdDoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1
ZShzdHlsZS0+dGV4dEFsaWduTGFzdCgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJUZXh0VW5k
ZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHRVbmRlcmxpbmVQb3NpdGlv
bigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRE
ZWNvcmF0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGVjMTRiMThkNjcyMGM1ODRjODFmZjk4
YTA1NTY0MWZjZDQ3Yjg4ZC4uNDViZDUwOWU1YTg5NjljMWQ0YmMzNWUyMjY2MDdmMmEzNTczZjY4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIyMDQsNiArMjIwNCwxMCBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlkIHx8IGlkID09IENTU1ZhbHVlRG91
YmxlIHx8IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09IENTU1ZhbHVlRGFzaGVkIHx8IGlk
ID09IENTU1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAg
ICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uOgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5kZXIgfHwgWyBsZWZ0
IHwgcmlnaHQgXSBdCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihp
bXBvcnRhbnQpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVpv
b206ICAgICAgICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8bnVtYmVyPiB8IDxw
ZXJjZW50YWdlPiB8IGluaGVyaXQKQEAgLTg4MjgsNiArODgzMiw1NCBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2Jvb2wg
Q1NTUGFyc2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCkKK3sK
KyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAg
IGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVBdXRvKSB7CisgICAgICAgIGFkZFByb3BlcnR5KENT
U1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1ZVBvb2woKS5jcmVh
dGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgbV92YWx1
ZUxpc3QtPm5leHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHZh
bHVlLT5pZCA9PSBDU1NWYWx1ZUFscGhhYmV0aWMpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NT
UHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVl
TGlzdC0+bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgp
OworICAgIGJvb2wgaXNWYWxpZCA9IHRydWU7CisgICAgYm9vbCBsZWZ0T3JSaWdodEFscmVhZHlQ
YXJzZWQgPSBmYWxzZTsKKyAgICB3aGlsZSAoaXNWYWxpZCAmJiB2YWx1ZSkgeworICAgICAgICBz
d2l0Y2ggKHZhbHVlLT5pZCkgeworICAgICAgICBjYXNlIENTU1ZhbHVlTGVmdDoKKyAgICAgICAg
Y2FzZSBDU1NWYWx1ZVJpZ2h0OgorICAgICAgICAgICAgaWYgKGxlZnRPclJpZ2h0QWxyZWFkeVBh
cnNlZCkgeworICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxlZnRPclJpZ2h0QWxyZWFkeVBh
cnNlZCA9IHRydWU7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgICAgIGxp
c3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlk
KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlz
VmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlm
IChpc1ZhbGlkKQorICAgICAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAg
IH0KKworICAgIGlmIChsaXN0LT5sZW5ndGgoKSAmJiBpc1ZhbGlkKSB7CisgICAgICAgIGFkZFBy
b3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBsaXN0LnJlbGVh
c2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0
dXJuIGZhbHNlOworfQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBib29sIENTU1BhcnNlcjo6cGFy
c2VUZXh0RW1waGFzaXNTdHlsZShib29sIGltcG9ydGFudCkKIHsKICAgICB1bnNpZ25lZCB2YWx1
ZUxpc3RTaXplID0gbV92YWx1ZUxpc3QtPnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRl
eCAxN2UzYTdkNWJiOWIyZGU5NGQ4YzRmOGM2ZDA4MzA4OTMxMGU2Yjk3Li45MmEwMDUzNWYzYjVk
ZmI4Mzc1ZjI1NzUyN2Q1Y2IyYTU5NWM4NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0y
NTEsNiArMjUxLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRUZXh0RGVjb3JhdGlvblByb3Bl
cnR5KENTU1Byb3BlcnR5SUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+LCBib29sIGltcG9ydGFudCk7
CiAgICAgYm9vbCBwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29s
IGltcG9ydGFudCk7CisjaWYgRU5BQkxFKENTUzNfVEVYVCkKKyAgICBib29sIHBhcnNlVGV4dFVu
ZGVybGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKIAog
ICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBw
YXJzZUNhbGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKiwgQ2FsY3VsYXRpb25QZXJtaXR0ZWRWYWx1
ZVJhbmdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oCmluZGV4IDJmNmY4ZDhjMzVjNzliZGNiNjAxMGJhZjExNTZjMTgwYzUyNDZkMGMuLjYyZmNk
OTI0OTM1YzhjNTZiNDk5ZTZlMWRkZTk0MTU2ZDc4NmNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjMyOSw2ICsyMzI5LDI1IEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0RGVjb3Jh
dGlvblN0eWxlKCkgY29uc3QKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4g
VGV4dERlY29yYXRpb25TdHlsZVNvbGlkOwogfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QKK3sKKyAg
ICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQXV0bzoKKyAgICAg
ICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87CisgICAgY2FzZSBDU1NWYWx1ZUFs
cGhhYmV0aWM6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGlj
OworICAgIGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQ
b3NpdGlvblVuZGVyOworICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICByZXR1cm4gVGV4
dFVuZGVybGluZVBvc2l0aW9uTGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAg
IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25SaWdodDsKKyAgICB9CisKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKK30K
ICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVUZXh0U2VjdXJpdHkgZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwCmluZGV4IDhjM2RiNTBhMDA3ZWQxMzE4NjNkNzhkZjI3NjM3M2M4MmJiMzI2MGEu
LmExZGE0MjdiYTUyYjE2YjNjMTBhMGUyZTA4ZjIxNzBjZTA2ZWEzOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcApAQCAtMzI5LDYgKzMyOSw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6Omlz
SW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZToK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdDoKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgogI2VuZGlmIC8vIENTUzNfVEVYVAog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbgppbmRleCAxYjM0ZWRjMjc0NWE3MmRiZTA3Mjk0MjhkMzViZDgyYjdiNGIw
YTkxLi42YmYyNDIwNmY3MWY4MzczOTk5YzMyNDBlOTA1ZDcyMWUwMWY1ZDIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMzY1LDYgKzM2NSw3IEBAIHotaW5kZXgK
IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLWxpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0
eWxlCiAtd2Via2l0LXRleHQtYWxpZ24tbGFzdAorLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbgogI2VuZGlmCiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0CiAtd2Via2l0
LXRleHQtZW1waGFzaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXgg
NzU5MjZmNjI3YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uNzQ4YTI5MzhjNmEwOTQ1
ZTA3MzVlYmJiMmFiZmI2MDIwM2E4YWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KQEAgLTk0NSw2ICs5NDUsMTEgQEAgd3JhcAogLy8gLXdlYmtpdC1saW5lLWFsaWdu
CiBlZGdlcwogCisjaWYgIShkZWZpbmVkKEVOQUJMRV9TVkcpICYmIEVOQUJMRV9TVkcpICYmIGRl
ZmluZWQoRU5BQkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNfVEVYVAorLy8gLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbgorYWxwaGFiZXRpYworI2VuZGlmIC8vIENTUzNfVEVYVAor
CiAvLyBwb3NpdGlvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICYm
IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OCiAtd2Via2l0LXN0aWNreQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcAppbmRleCA2ZDc4YzY4NDQ0MmNjN2UyNGViZjlhNjI4NjdiZDg4OTlm
ZTc5OGU2Li4wM2I5NDc1MTNmYzcwMTkxNjk5Zjg0NTlmOTM2ZmE5ZjM0MjE2ZmRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5LDM0IEBAIHB1YmxpYzoK
ICAgICB9CiB9OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNzIEFwcGx5UHJvcGVydHlU
ZXh0VW5kZXJsaW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFs
dWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUq
IHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlmIHZhbHVlIGlzICdhdXRv
JyBvciAnYWxwaGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgp
KSB7CisgICAgICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9ICpzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCktPnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gc3RhdGljX2Nh
c3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPigwKTsKKyAgICAgICAgZm9yIChDU1NWYWx1ZUxpc3RJ
dGVyYXRvciBpKHZhbHVlKTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAgICAgICAg
ICBDU1NWYWx1ZSogaXRlbSA9IGkudmFsdWUoKTsKKyAgICAgICAgICAgIEFTU0VSVChpdGVtLT5p
c1ByaW1pdGl2ZVZhbHVlKCkpOworICAgICAgICAgICAgdCB8PSAqc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPihpdGVtKTsKKyAgICAgICAgfQorICAgICAgICBzdHlsZVJlc29sdmVyLT5z
dHlsZSgpLT5zZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24odCk7CisgICAgfQorICAgIHN0YXRpYyBQ
cm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpCisgICAgeworICAgICAgICBQcm9wZXJ0eUhh
bmRsZXIgaGFuZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUZXh0VW5kZXJsaW5lUG9z
aXRpb24sICZSZW5kZXJTdHlsZTo6dGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5kZXJsaW5l
UG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5k
ZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlv
bj46OmNyZWF0ZUhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5k
bGVyLmluaGVyaXRGdW5jdGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlW
YWx1ZSk7CisgICAgfQorfTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogY2xhc3MgQXBwbHlQcm9w
ZXJ0eUxpbmVIZWlnaHQgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NT
UHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVl
KQpAQCAtMTkyMyw2ICsxOTUxLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIoKQogICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwg
QXBwbHlQcm9wZXJ0eVRleHREZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsIEFwcGx5
UHJvcGVydHlEZWZhdWx0PFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERl
Y29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0
RGVjb3JhdGlvblN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRp
YWxUZXh0RGVjb3JhdGlvblN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBseVByb3BlcnR5RGVm
YXVsdDxUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxhc3QsIFRleHRBbGln
bkxhc3QsICZSZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFsaWduTGFzdCwgJlJl
bmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
LCBBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRl
eHRJbmRlbnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAm
UmVuZGVyU3R5bGU6OnNldFRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRl
bnQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVRleHRPdmVyZmxvdywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJmbG93LCAmUmVuZGVy
U3R5bGU6OnRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnNldFRleHRP
dmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0T3ZlcmZsb3c+
OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAppbmRleCA4MTg4MDgxNTkwYWRiMGUwOTYxMTZjZmMyYTE2YzdkZmEyYzEwN2Ji
Li4xMzQxNGE2NmVkMWI5N2M3MGM4NTcwMTdjMDAzYTQ4ZmQ2N2RlODNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTY0LDYgKzU2NCw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUg
dGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNv
cmF0aW9uU3R5bGU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUp
OyB9CiAgICAgVGV4dEFsaWduTGFzdCB0ZXh0QWxpZ25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VGV4dEFsaWduTGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFz
dCk7IH0KKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5o
ZXJpdGVkRGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxzZQogICAgIFRleHRE
ZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHRE
ZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApAQCAtMTEwMyw2ICsx
MTA0LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0
RGVjb3JhdGlvblN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25J
bmhlcml0ZWREYXRhLCBtX3RleHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRU
ZXh0QWxpZ25MYXN0KFRleHRBbGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRh
LCBtX3RleHRBbGlnbkxhc3QsIHYpOyB9CisgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24oVGV4dFVuZGVybGluZVBvc2l0aW9uIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwg
bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24sIHYpOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAg
dm9pZCBzZXREaXJlY3Rpb24oVGV4dERpcmVjdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGly
ZWN0aW9uID0gdjsgfQogICAgIHZvaWQgc2V0TGluZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGlu
ZUhlaWdodCk7CkBAIC0xNTYxLDYgKzE1NjMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNf
VEVYVCkKICAgICBzdGF0aWMgVGV4dERlY29yYXRpb25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRp
b25TdHlsZSgpIHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRp
YyBUZXh0QWxpZ25MYXN0IGluaXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWdu
TGFzdEF1dG87IH0KKyAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0
VW5kZXJsaW5lUG9zaXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9
CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkgeyBy
ZXR1cm4gMS4wZjsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJl
dHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGU3YzEwOGY0ODJiMmUzYzE5ODVkZGE5YmQwNzA3MDhm
Nzk5OTIyZGIuLmQwYTM5MTBhNTQ3Y2Q2M2U2NmNhZGIyNjYxZWQ2ZWViZjNiYWYxMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCkBAIC0zNjAsNiArMzYwLDE0IEBAIGVudW0gVGV4dEFsaWduTGFzdCB7CiB9OwogI2Vu
ZGlmIC8vIENTUzNfVEVYVAogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2VudW0gVGV4dFVuZGVy
bGluZVBvc2l0aW9uIHsKKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvID0gMHgxLCBUZXh0
VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljID0gMHgyLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25V
bmRlciA9IDB4NCwgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4OCwgVGV4dFVuZGVybGlu
ZVBvc2l0aW9uUmlnaHQgPSAweDEwCit9OworaW5saW5lIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBv
cGVyYXRvcnwgKFRleHRVbmRlcmxpbmVQb3NpdGlvbiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24g
YikgeyByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uKGludChhKSB8IGludChiKSk7IH0KK2lu
bGluZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24mIG9wZXJhdG9yfD0oVGV4dFVuZGVybGluZVBvc2l0
aW9uJiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4gYSA9IGEgfCBiOyB9Cisj
ZW5kaWYgLy8gQ1NTM19URVhUCisKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFM
V0FZUywgUEJBVk9JRAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCAyODgyNmMyOTkzNDFlMGYx
YmEwNGNhZmJlZDhmMmU0MDU1MWZjMDY0Li5lNjIzMjNhZjUwZGI4MjY5YjUyYWNmOTI3M2Y2ZDQx
YjE2ZTY1ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYKICNpZiBF
TkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxlOjppbml0
aWFsVGV4dEFsaWduTGFzdCgpKQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oUmVuZGVy
U3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBDU1MzX1RF
WFQKICAgICAsIG1fcnVieVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBvc2l0aW9u
KCkpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3NSw3IEBA
IFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAg
ICAgLCBtX3RleHRBbGlnbkxhc3Qoby5tX3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3RleHRVbmRl
cmxpbmVQb3NpdGlvbihvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8vIENTUzNf
VEVYVAogICAgICwgbV9ydWJ5UG9zaXRpb24oby5tX3J1YnlQb3NpdGlvbikKICAgICAsIGh5cGhl
bmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcgQEAgYm9v
bCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZUluaGVy
aXRlZERhdGEmIG8pIGNvbnN0CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAg
ICAmJiBtX3RleHRBbGlnbkxhc3QgPT0gby5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAgJiYgbV90
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlm
IC8vIENTUzNfVEVYVAogICAgICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0
aW9uCiAgICAgICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApp
bmRleCBiMjI4MWY3NzI5NzA3ZjdjMTNiNDU5OWFhNzZkZjBiNTllOWU3M2FjLi5kMmJhMDA3ZjQz
OGM0YjUwZGNlYTljMzBiNTYxMDZmYzQxMTM0MDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTExOCw2
ICsxMTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHVu
c2lnbmVkIG1fdGV4dEFsaWduTGFzdCA6IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1bnNpZ25l
ZCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbiA6IDU7IC8vIFRleHRVbmRlcmxpbmVQb3NpdGlvbgog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDogMTsgLy8g
UnVieVBvc2l0aW9uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNmQzMGI3N2ZkNDNjMjY3YTg0MmE5YTQwY2I3ZTNiM2Q3
NjAwNmYyLi43ZWE1YmZkZDRlNGFmOWZjZDNjMGQ1NjJiYzFjYTY4MDBjMjNiYmVkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTMtMDEtMTYgIExhbWFycXVlIFYuIFNvdXphICA8TGFtYXJxdWUu
U291emFAYmFzeXNrb20uY29tPgorCisgICAgICAgIFtjc3MzLXRleHRdIEFkZCBwYXJzaW5nIHN1
cHBvcnQgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgZnJvbSBDU1MzIFRleHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ5MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGdldENv
bXB1dGVkU3R5bGUgbGF5b3V0IHRlc3RzIGZvciAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nIENT
UzMKKyAgICAgICAgcHJvcGVydHksIHdpdGggJ3dlYmtpdCcgcHJlZml4LgorCisgICAgICAgICog
ZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
c2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanM6
IEFkZGVkLgorICAgICAgICAodGVzdEVsZW1lbnRTdHlsZSk6CisgICAgICAgICh0ZXN0Q29tcHV0
ZWRTdHlsZSk6CisKIDIwMTMtMDEtMTYgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90
dHNjaGVzQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2VkIGdhcmRlbmluZy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0
aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4OGY5Mjk0MGY0MjU5OTk3N2Yx
NDc0OTM4NDRiYzhkMjlkMWUyMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OTcgQEAKK1Rlc3QgdG8gbWFrZSBzdXJlIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24g
cHJvcGVydHkgcmV0dXJucyB2YWx1ZXMgcHJvcGVybHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitJbml0aWFsIHZhbHVlOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1
dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworVmFsdWUgJyc6CitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlz
IG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitJbml0aWFs
IHZhbHVlIChleHBsaWNpdCk6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIGlzICdpbml0aWFsJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1Zh
bHVlXScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnaW5pdGlhbCcKK1BBU1MgY29tcHV0ZWRTdHls
ZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnYXV0byc6CitQQVNTIGUuc3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygp
IGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAn
YWxwaGFiZXRpYyc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICdhbHBoYWJldGljJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1p
dGl2ZVZhbHVlXScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29t
cHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBoYWJldGljJworCitWYWx1ZSAndW5k
ZXInOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIn
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1
bmRlcicKKworVmFsdWUgJ2xlZnQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiBpcyAnbGVmdCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NW
YWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdsZWZ0JworUEFTUyBjb21wdXRlZFN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnbGVmdCcKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS5jc3NUZXh0IGlzICdsZWZ0JworCitWYWx1ZSAncmlnaHQnOgorUEFTUyBlLnN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAncmlnaHQn
CitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdyaWdo
dCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3Rd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdyaWdodCcKKworVmFsdWUgJ3VuZGVyIGxl
ZnQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIg
bGVmdCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworCitBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJv
bSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3Nz
VGV4dCBpcyAndW5kZXIgbGVmdCcKKworVmFsdWUgJ3VuZGVyIHJpZ2h0JzoKK1BBU1MgZS5zdHls
ZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBlLnN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
dW5kZXIgcmlnaHQnCisKK0FuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoKK1BB
U1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5k
ZXIgcmlnaHQnCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1k
ZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NWQ3NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVl
MzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
c2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21w
dXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2OTUxM2U3NDEzMGQxNDExY2VlZDA5YWYyYjVlMWEzYjk4
NDU2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3Mz
LXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRl
ZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCkBAIC0wLDAgKzEsMTAwIEBACitmdW5j
dGlvbiB0ZXN0RWxlbWVudFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1
ZSkKK3sKKyAgICBpZiAodHlwZSAhPSBudWxsKSB7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxl
LiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmlu
ZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFs
dWUgKyAiJyIpOworICAgIH0gZWxzZQorICAgICAgICBzaG91bGRCZU51bGwoImUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpIik7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb21wdXRlZFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkK
K3sKKyAgICBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZSwgbnVsbCk7
CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVl
ICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCciICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOwor
ICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9w
ZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFsdWUgKyAiJyIpOworfQorCitkZXNjcmlw
dGlvbigiVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBw
cm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4iKQorCit2YXIgdGVzdENvbnRhaW5lciA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
KwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdCI+aGVsbG8gd29ybGQ8
L2Rpdj4nOworZGVidWcoIkluaXRpYWwgdmFsdWU6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QnKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgJycpOwordGVz
dENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1
dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICcnOiIpOworZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVs
bCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIkluaXRpYWwgdmFsdWUgKGV4
cGxpY2l0KToiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2luaXRp
YWwnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZV0iLCAiaW5p
dGlhbCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhdXRvJzoiKTsK
K2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8nOwordGVzdEVsZW1l
bnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOwor
dGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwg
ImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhbHBoYWJldGljJzoiKTsKK2Uu
c3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2FscGhhYmV0aWMnOwordGVzdEVs
ZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFi
ZXRpYyIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRl
cic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlcic7Cit0
ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIi
KTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAi
dW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdsZWZ0JzoiKTsKK2Uuc3R5bGUu
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2xlZnQnOwordGVzdEVsZW1lbnRTdHlsZSgi
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgImxlZnQiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAibGVmdCIpOworZGVidWcoJycp
OworCitkZWJ1ZygiVmFsdWUgJ3JpZ2h0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uID0gJ3JpZ2h0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ3VuZGVyIGxlZnQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
PSAndW5kZXIgbGVmdCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1Zh
bHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK3Rlc3RD
b250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBzdHlsZT0iLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgbGVmdDsiPmhlbGxvIDxzcGFuIGlkPSJ0
ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVy
aXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0
ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVy
IGxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciByaWdodCc6Iik7Citl
LnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlciByaWdodCc7Cit0ZXN0
RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmln
aHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAidW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcnKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwg
PSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxlPSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uOiB1bmRlciByaWdodDsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3Js
ZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBh
cmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwor
dGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgi
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1Zygn
Jyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183104</attachid>
            <date>2013-01-16 20:12:01 -0800</date>
            <delta_ts>2013-01-17 05:40:59 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130117020901.patch</filename>
            <type>text/plain</type>
            <size>45724</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1Nzc4NTZlZmMzNzU3
NzFjYmZkOTlkOGNjNWM0MDdhYTFiY2QxNy4uMWQxODY1NmYwOTU2NDZjNzY5ZTJjMzdiMjdlMzBh
MjI5NTk0MWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAxLTE2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAx
LTE2ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBmaXggYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBF
bGVtZW50LnJlbW92ZSgpIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDE1ZTcw
NTViMzEzNDI0ZmQyZjllMDQ2ODcyYTFlZmJlOWI5YmQ0ZDIuLmRlMmRlZjFiYWEwMGY1NmRhM2Ni
YjlkODMzZWMyYzRkYzE0Nzk1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
LUVOQUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9D
U1MzX1RFWFQ7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA0ZDg2OTI1ZDZmODZmYTU5ZjkxYzVjMjVmMGQ3NzM2ODlk
NDY3YTg2Li42MmEyNGM1YjBkMzEwZGVmMjY4ZWEyMTJmOThiZGY5YzNjYzJiMmQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDksOCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NI
QURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5Q
UkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VO
UFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19U
RVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7
CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8k
KFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5mZWF0dXJlcy5hbS5pbiBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVz
LmFtLmluCmluZGV4IDViZDM3Yzc3NGJjNDRkMDhkOTY1NmJiYmIzODJkY2IyOWM0Yzg3ZDAuLmEw
YzYyMGE4YTY0MGI1ZWQxZWJlZjg0MzljNzRiZDM5NjUwN2FmODIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCkBAIC02LDcgKzYsNyBAQCBmZWF0dXJlX2RlZmlu
ZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9DQU5WQVNfUFJPWFk9MCBcCiAJRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HPTEgXAogCUVOQUJMRV9DU1BfTkVYVD0wIFwKLQlFTkFCTEVfQ1NTM19URVhU
PTAgXAorCUVOQUJMRV9DU1MzX1RFWFQ9MSBcCiAJRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSz0xIFwKIAlFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HPTAgXAogCUVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT049MCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQ1Nzc3NzIzMTNlYTZiYTE4NjY5ODEwMGQwMjkxYTM0
NjM2ZjlhNDkuLjMyMTQ3YTEzY2I3ZmI0YzYxYTA4MGM4YTE0ODI2ODlkNTY0NjNiNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CkBAIC0xOTAsNiArMTkwLDcgQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQ
cm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUs
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3Bl
cnR5V2Via2l0VGV4dEFsaWduTGFzdCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiwKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRl
bnQsCiAgICAgQ1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nLApAQCAtMTMxNyw2ICsxMzE4LDI5IEBA
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxh
Z3NUb0NTU1ZhbHVlKFRleHREZWNvcmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisK
K3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25G
bGFnc1RvQ1NTVmFsdWUoVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlv
bikKK3sKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3Np
dGlvbkF1dG8pCisgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVBdXRvKTsKKworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0g
VGV4dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAg
UmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBh
cmF0ZWQoKTsKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBv
c2l0aW9uVW5kZXIpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9z
aXRpb24gJiBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQo
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAg
IGVsc2UgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJp
Z2h0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmll
clZhbHVlKENTU1ZhbHVlUmlnaHQpKTsKKworICAgIGlmIChsaXN0LT5sZW5ndGgoKSkKKyAgICAg
ICAgcmV0dXJuIGxpc3Q7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAv
LyBDU1MzX1RFWFQKIAogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NT
U1ZhbHVlKEVGaWxsUmVwZWF0IHhSZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMTAw
LDYgKzIxMjQsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJu
IHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNv
cmF0aW9uU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25M
YXN0OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxl
LT50ZXh0QWxpZ25MYXN0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQ
b3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERl
Y29yYXRpb25zSW5FZmZlY3Q6CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRp
b25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA4ZWMxNGIxOGQ2NzIwYzU4NGM4MWZmOThhMDU1NjQx
ZmNkNDdiODhkLi40NWJkNTA5ZTVhODk2OWMxZDRiYzM1ZTIyNjYwN2YyYTM1NzNmNjhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjIwNCw2ICsyMjA0LDEwIEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgaWYgKGlkID09IENTU1ZhbHVlU29saWQgfHwgaWQgPT0gQ1NTVmFsdWVEb3VibGUgfHwg
aWQgPT0gQ1NTVmFsdWVEb3R0ZWQgfHwgaWQgPT0gQ1NTVmFsdWVEYXNoZWQgfHwgaWQgPT0gQ1NT
VmFsdWVXYXZ5KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBi
cmVhazsKKworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246
CisgICAgICAgIC8vIGF1dG8gfCBhbHBoYWJldGljIHwgWyB1bmRlciB8fCBbIGxlZnQgfCByaWdo
dCBdIF0KKyAgICAgICAgcmV0dXJuIHBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGltcG9ydGFu
dCk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKICAgICBjYXNlIENTU1Byb3BlcnR5Wm9vbTogICAg
ICAgICAgLy8gbm9ybWFsIHwgcmVzZXQgfCBkb2N1bWVudCB8IDxudW1iZXI+IHwgPHBlcmNlbnRh
Z2U+IHwgaW5oZXJpdApAQCAtODgyOCw2ICs4ODMyLDU0IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KQoreworICAgIENT
U1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CisgICAgaWYgKHZh
bHVlLT5pZCA9PSBDU1NWYWx1ZUF1dG8pIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVlTGlzdC0+
bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAodmFsdWUtPmlk
ID09IENTU1ZhbHVlQWxwaGFiZXRpYykgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0
eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7CisgICAgICAgIG1fdmFsdWVMaXN0LT5u
ZXh0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIFJlZlB0cjxDU1NWYWx1
ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAg
Ym9vbCBpc1ZhbGlkID0gdHJ1ZTsKKyAgICBib29sIGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCA9
IGZhbHNlOworICAgIHdoaWxlIChpc1ZhbGlkICYmIHZhbHVlKSB7CisgICAgICAgIHN3aXRjaCAo
dmFsdWUtPmlkKSB7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICBjYXNlIENT
U1ZhbHVlUmlnaHQ6CisgICAgICAgICAgICBpZiAobGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkKSB7
CisgICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkID0g
dHJ1ZTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICAgICAgbGlzdC0+YXBw
ZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaXNWYWxpZCA9
IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzVmFs
aWQpCisgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgfQorCisg
ICAgaWYgKGxpc3QtPmxlbmd0aCgpICYmIGlzVmFsaWQpIHsKKyAgICAgICAgYWRkUHJvcGVydHko
Q1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGxpc3QucmVsZWFzZSgpLCBp
bXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHRF
bXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZhbHVlTGlzdFNp
emUgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDE3ZTNh
N2Q1YmI5YjJkZTk0ZDhjNGY4YzZkMDgzMDg5MzEwZTZiOTcuLjkyYTAwNTM1ZjNiNWRmYjgzNzVm
MjU3NTI3ZDVjYjJhNTk1Yzg1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI1MSw2ICsy
NTEsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NT
UHJvcGVydHlJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKICAgICBi
b29sIHBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KTsKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0VW5kZXJsaW5l
UG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgYm9v
bCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQ2Fs
Y3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFuZ2Up
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5k
ZXggMmY2ZjhkOGMzNWM3OWJkY2I2MDEwYmFmMTE1NmMxODBjNTI0NmQwYy4uNjJmY2Q5MjQ5MzVj
OGM1NmI0OTllNmUxZGRlOTQxNTZkNzg2Y2M1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMzI5LDYgKzIzMjksMjUgQEAgdGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNvcmF0aW9uU3R5
bGUoKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBUZXh0RGVj
b3JhdGlvblN0eWxlU29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAoreworICAgIHN3aXRj
aCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1
cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRp
YzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM7CisgICAg
Y2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9u
VW5kZXI7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJs
aW5lUG9zaXRpb25MZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAgICAgcmV0dXJu
IFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOworfQogI2VuZGlm
IC8vIENTUzNfVEVYVAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
UHJpbWl0aXZlVmFsdWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5j
cHAKaW5kZXggOGMzZGI1MGEwMDdlZDEzMTg2M2Q3OGRmMjc2MzczYzgyYmIzMjYwYS4uYTFkYTQy
N2JhNTJiMTZiM2MxMGEwZTJlMDhmMjE3MGNlMDZlYTM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwCkBAIC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0
ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxFKENTUzNfVEVY
VCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5lOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCmluZGV4IDFiMzRlZGMyNzQ1YTcyZGJlMDcyOTQyOGQzNWJkODJiN2I0YjBhOTEuLjZi
ZjI0MjA2ZjcxZjgzNzM5OTljMzI0MGU5MDVkNzIxZTAxZjVkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjUsNiArMzY1LDcgQEAgei1pbmRleAogLXdlYmtp
dC10ZXh0LWRlY29yYXRpb24tbGluZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGUKIC13
ZWJraXQtdGV4dC1hbGlnbi1sYXN0Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uCiAj
ZW5kaWYKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4dC1l
bXBoYXNpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA3NTkyNmY2
MjdhMzdmMjA2ZjExNGYxNmE3NzcyOWU4ZmQ5MzZlODBiLi43NDhhMjkzOGM2YTA5NDVlMDczNWVi
YmIyYWJmYjYwMjAzYThhYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgpAQCAtOTQ1LDYgKzk0NSwxMSBAQCB3cmFwCiAvLyAtd2Via2l0LWxpbmUtYWxpZ24KIGVkZ2Vz
CiAKKyNpZiAhKGRlZmluZWQoRU5BQkxFX1NWRykgJiYgRU5BQkxFX1NWRykgJiYgZGVmaW5lZChF
TkFCTEVfQ1NTM19URVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisvLyAtd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uCithbHBoYWJldGljCisjZW5kaWYgLy8gQ1NTM19URVhUCisKIC8vIHBv
c2l0aW9uCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJiYgRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04KIC13ZWJraXQtc3RpY2t5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwCmluZGV4IDZkNzhjNjg0NDQyY2M3ZTI0ZWJmOWE2Mjg2N2JkODg5OWZlNzk4ZTYu
LjAzYjk0NzUxM2ZjNzAxOTE2OTlmODQ1OWY5MzZmYTlmMzQyMTZmZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xMTQ5LDYgKzExNDksMzQgQEAgcHVibGljOgogICAgIH0K
IH07CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorY2xhc3MgQXBwbHlQcm9wZXJ0eVRleHRVbmRl
cmxpbmVQb3NpdGlvbiB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQ
cm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUp
CisgICAgeworICAgICAgICAvLyBUaGlzIGlzIHRydWUgaWYgdmFsdWUgaXMgJ2F1dG8nIG9yICdh
bHBoYWJldGljJy4KKyAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAg
ICAgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gKnN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4odmFsdWUpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+
c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHQgPSBzdGF0aWNfY2FzdDxUZXh0
VW5kZXJsaW5lUG9zaXRpb24+KDApOworICAgICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9y
IGkodmFsdWUpOyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1Zh
bHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAgICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0
aXZlVmFsdWUoKSk7CisgICAgICAgICAgICB0IHw9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZSo+KGl0ZW0pOworICAgICAgICB9CisgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCkt
PnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICB9CisgICAgc3RhdGljIFByb3BlcnR5
SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKKyAgICB7CisgICAgICAgIFByb3BlcnR5SGFuZGxlciBo
YW5kbGVyID0gQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPFRleHRVbmRlcmxpbmVQb3NpdGlvbiwg
JlJlbmRlclN0eWxlOjp0ZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRleHRVbmRlcmxpbmVQb3NpdGlv
biwgJlJlbmRlclN0eWxlOjpzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dFVuZGVybGluZVBvc2l0aW9uPjo6Y3Jl
YXRlSGFuZGxlcigpOworICAgICAgICByZXR1cm4gUHJvcGVydHlIYW5kbGVyKGhhbmRsZXIuaW5o
ZXJpdEZ1bmN0aW9uKCksIGhhbmRsZXIuaW5pdGlhbEZ1bmN0aW9uKCksICZhcHBseVZhbHVlKTsK
KyAgICB9Cit9OworI2VuZGlmIC8vIENTUzNfVEVYVAorCiBjbGFzcyBBcHBseVByb3BlcnR5TGlu
ZUhlaWdodCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQcm9wZXJ0
eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCkBAIC0x
OTIzLDYgKzE5NTEsNyBAQCBTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5lLCBBcHBseVBy
b3BlcnR5VGV4dERlY29yYXRpb246OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25TdHlsZSwgQXBwbHlQcm9wZXJ0
eURlZmF1bHQ8VGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlv
blN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnNldFRleHREZWNvcmF0
aW9uU3R5bGUsIFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRE
ZWNvcmF0aW9uU3R5bGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3QsIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRl
eHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6dGV4dEFsaWduTGFzdCwgVGV4dEFsaWduTGFzdCwg
JlJlbmRlclN0eWxlOjpzZXRUZXh0QWxpZ25MYXN0LCBUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5
bGU6OmluaXRpYWxUZXh0QWxpZ25MYXN0Pjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIEFwcGx5
UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb246OmNyZWF0ZUhhbmRsZXIoKSk7CiAjZW5kaWYg
Ly8gQ1NTM19URVhUCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5VGV4dEluZGVu
dCwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OnRleHRJbmRlbnQsICZSZW5kZXJT
dHlsZTo6c2V0VGV4dEluZGVudCwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dEluZGVudD46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5VGV4dE92
ZXJmbG93LCBBcHBseVByb3BlcnR5RGVmYXVsdDxUZXh0T3ZlcmZsb3csICZSZW5kZXJTdHlsZTo6
dGV4dE92ZXJmbG93LCBUZXh0T3ZlcmZsb3csICZSZW5kZXJTdHlsZTo6c2V0VGV4dE92ZXJmbG93
LCBUZXh0T3ZlcmZsb3csICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRPdmVyZmxvdz46OmNyZWF0
ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCmluZGV4IDgxODgwODE1OTBhZGIwZTA5NjExNmNmYzJhMTZjN2RmYTJjMTA3YmIuLjEzNDE0
YTY2ZWQxYjk3YzcwYzg1NzAxN2MwMDNhNDhmZDY3ZGU4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01NjQsNiArNTY0LDcgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgVGV4dERlY29yYXRpb25TdHlsZSB0ZXh0RGVj
b3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dERlY29yYXRpb25T
dHlsZT4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdGV4dERlY29yYXRpb25TdHlsZSk7IH0KICAg
ICBUZXh0QWxpZ25MYXN0IHRleHRBbGlnbkxhc3QoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxUZXh0QWxpZ25MYXN0PihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0QWxpZ25MYXN0KTsgfQor
ICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9zaXRpb24+KHJhcmVJbmhlcml0ZWRE
YXRhLT5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbik7IH0KICNlbHNlCiAgICAgVGV4dERlY29yYXRp
b25TdHlsZSB0ZXh0RGVjb3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gVGV4dERlY29yYXRp
b25TdHlsZVNvbGlkOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCkBAIC0xMTAzLDYgKzExMDQsNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB2b2lkIHNldFRleHREZWNvcmF0
aW9uU3R5bGUoVGV4dERlY29yYXRpb25TdHlsZSB2KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEsIG1fdGV4dERlY29yYXRpb25TdHlsZSwgdik7IH0KICAgICB2b2lkIHNldFRleHRBbGln
bkxhc3QoVGV4dEFsaWduTGFzdCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1fdGV4
dEFsaWduTGFzdCwgdik7IH0KKyAgICB2b2lkIHNldFRleHRVbmRlcmxpbmVQb3NpdGlvbihUZXh0
VW5kZXJsaW5lUG9zaXRpb24gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRV
bmRlcmxpbmVQb3NpdGlvbiwgdik7IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB2b2lkIHNl
dERpcmVjdGlvbihUZXh0RGlyZWN0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24g
PSB2OyB9CiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0KExlbmd0aCBzcGVjaWZpZWRMaW5lSGVpZ2h0
KTsKQEAgLTE1NjEsNiArMTU2Myw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgIHN0YXRpYyBUZXh0RGVjb3JhdGlvblN0eWxlIGluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxl
KCkgeyByZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZVNvbGlkOyB9CiAgICAgc3RhdGljIFRleHRB
bGlnbkxhc3QgaW5pdGlhbFRleHRBbGlnbkxhc3QoKSB7IHJldHVybiBUZXh0QWxpZ25MYXN0QXV0
bzsgfQorICAgIHN0YXRpYyBUZXh0VW5kZXJsaW5lUG9zaXRpb24gaW5pdGlhbFRleHRVbmRlcmxp
bmVQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87IH0KICNlbmRp
ZiAvLyBDU1MzX1RFWFQKICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFpvb20oKSB7IHJldHVybiAx
LjBmOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsT3V0bGluZU9mZnNldCgpIHsgcmV0dXJuIDA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKaW5kZXggZTdjMTA4ZjQ4MmIyZTNjMTk4NWRkYTliZDA3MDcwOGY3OTk5MjJk
Yi4uZDBhMzkxMGE1NDdjZDYzZTY2Y2FkYjI2NjFlZDZlZWJmM2JhZjEyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
QEAgLTM2MCw2ICszNjAsMTQgQEAgZW51bSBUZXh0QWxpZ25MYXN0IHsKIH07CiAjZW5kaWYgLy8g
Q1NTM19URVhUCiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorZW51bSBUZXh0VW5kZXJsaW5lUG9z
aXRpb24geworICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8gPSAweDEsIFRleHRVbmRlcmxp
bmVQb3NpdGlvbkFscGhhYmV0aWMgPSAweDIsIFRleHRVbmRlcmxpbmVQb3NpdGlvblVuZGVyID0g
MHg0LCBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0ID0gMHg4LCBUZXh0VW5kZXJsaW5lUG9zaXRp
b25SaWdodCA9IDB4MTAKK307CitpbmxpbmUgVGV4dFVuZGVybGluZVBvc2l0aW9uIG9wZXJhdG9y
fCAoVGV4dFVuZGVybGluZVBvc2l0aW9uIGEsIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBiKSB7IHJl
dHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb24oaW50KGEpIHwgaW50KGIpKTsgfQoraW5saW5lIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiYgb3BlcmF0b3J8PShUZXh0VW5kZXJsaW5lUG9zaXRpb24mIGEs
IFRleHRVbmRlcmxpbmVQb3NpdGlvbiBiKSB7IHJldHVybiBhID0gYSB8IGI7IH0KKyNlbmRpZiAv
LyBDU1MzX1RFWFQKKwogZW51bSBFUGFnZUJyZWFrIHsKICAgICBQQkFVVE8sIFBCQUxXQVlTLCBQ
QkFWT0lECiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IDI4ODI2YzI5OTM0MWUwZjFiYTA0Y2Fm
YmVkOGYyZTQwNTUxZmMwNjQuLmU2MjMyM2FmNTBkYjgyNjliNTJhY2Y5MjczZjZkNDFiMTZlNjVk
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTEwNCw2ICsxMDQsNyBAQCBTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICNlbmRpZgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3QoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0
QWxpZ25MYXN0KCkpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihSZW5kZXJTdHlsZTo6
aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbigpKQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
ICwgbV9ydWJ5UG9zaXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxSdWJ5UG9zaXRpb24oKSkKICAg
ICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoLTEpCkBAIC0xNzQsNiArMTc1LDcgQEAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhJiBvKQogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAsIG1f
dGV4dEFsaWduTGFzdChvLm1fdGV4dEFsaWduTGFzdCkKKyAgICAsIG1fdGV4dFVuZGVybGluZVBv
c2l0aW9uKG8ubV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAg
ICAgLCBtX3J1YnlQb3NpdGlvbihvLm1fcnVieVBvc2l0aW9uKQogICAgICwgaHlwaGVuYXRpb25T
dHJpbmcoby5oeXBoZW5hdGlvblN0cmluZykKQEAgLTI3MCw2ICsyNzIsNyBAQCBib29sIFN0eWxl
UmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YSYgbykgY29uc3QKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgICAgICYmIG1f
dGV4dEFsaWduTGFzdCA9PSBvLm1fdGV4dEFsaWduTGFzdAorICAgICAgICAmJiBtX3RleHRVbmRl
cmxpbmVQb3NpdGlvbiA9PSBvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uCiAjZW5kaWYgLy8gQ1NT
M19URVhUCiAgICAgICAgICYmIG1fcnVieVBvc2l0aW9uID09IG8ubV9ydWJ5UG9zaXRpb24KICAg
ICAgICAgJiYgbV9saW5lU25hcCA9PSBvLm1fbGluZVNuYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IGIy
MjgxZjc3Mjk3MDdmN2MxM2I0NTk5YWE3NmRmMGI1OWU5ZTczYWMuLmQyYmEwMDdmNDM4YzRiNTBk
Y2VhOWMzMGI1NjEwNmZjNDExMzQwMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtMTE4LDYgKzExOCw3
IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdW5zaWduZWQg
bV90ZXh0QWxpZ25MYXN0IDogMzsgLy8gVGV4dEFsaWduTGFzdAorICAgIHVuc2lnbmVkIG1fdGV4
dFVuZGVybGluZVBvc2l0aW9uIDogNTsgLy8gVGV4dFVuZGVybGluZVBvc2l0aW9uCiAjZW5kaWYg
Ly8gQ1NTM19URVhUCiAgICAgdW5zaWduZWQgbV9ydWJ5UG9zaXRpb24gOiAxOyAvLyBSdWJ5UG9z
aXRpb24KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBp
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IGVkYzNjMjgwNTk3
YjJlZGI4YWEzNmEzYzlhYjhkZDA0ZjQyYmMwNjkuLjhjZGM3ZjA3OGVlNDQ3NzEyNDdjY2ZmNjI1
NGNjOWNlMWZhY2Y0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVy
ZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTM5
LDggKzM5LDggQEAKICAgICAgICdFTkFCTEVfQ0FOVkFTX1BST1hZPTEnLAogICAgICAgJ0VOQUJM
RV9DSEFOTkVMX01FU1NBR0lORz0xJywKICAgICAgICdFTkFCTEVfQ1NQX05FWFQ9MScsCi0gICAg
ICAnRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCcsCi0gICAgICAnRU5BQkxFX0NTUzNf
VEVYVD0wJywKKyAgICAgICdFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xJywKKyAgICAg
ICdFTkFCTEVfQ1NTM19URVhUPTEnLAogICAgICAgJ0VOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUs9MScsCiAgICAgICAnRU5BQkxFX0NTU19DT01QT1NJVElORz0wJywKICAgICAgICdFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OPTAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmZmQ4MmEw
MjU0ZTc4MzhmNDk3MWMxMzhjOTg1YjdjOTg1MmU5MjcyLi5kMzhiYTFjZDA4YjE1MTQzODY1Yzgx
NzM1NzQyODI5NjM4OGVjNzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDksOCArNDksOCBAQCBF
TkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNL
WV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZB
UklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NT
UzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNf
Q09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsK
IEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGZmZDgyYTAyNTRlNzgzOGY0OTcxYzEzOGM5ODViN2M5ODUyZTkyNzIuLmQz
OGJhMWNkMDhiMTUxNDM4NjVjODE3MzU3NDI4Mjk2Mzg4ZWM3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00
OSw4ICs0OSw4IEBAIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVO
QUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT047CiBF
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEID0g
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRDsK
IEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwotRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMg
PSA7Ci1FTkFCTEVfQ1NTM19URVhUID0gOworRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMg
PSBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUzsKK0VOQUJMRV9DU1MzX1RFWFQgPSBFTkFC
TEVfQ1NTM19URVhUOwogRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUXyQoUExBVEZPUk1f
TkFNRSkpOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUX21hY29zeCA9IEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtl
IGIvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKaW5kZXggNDEzN2QzYjYzMGQyM2Nj
M2FhYmU3YzBiMDc5NDBkZWFiZWRlYmJhZS4uN2FmMTJiNTZhZjU4ZWZlNGZlOWIwNzUwYmY3ZDM4
YTY3YTkwODk0NiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKQEAgLTM3LDMgKzM3LDUgQEAg
c2V0KExJQl9TVUZGSVggIiIgQ0FDSEUgU1RSSU5HICJEZWZpbmUgc3VmZml4IG9mIGRpcmVjdG9y
eSBuYW1lICgzMi82NCkiKQogCiBzZXQoTElCX0lOU1RBTExfRElSICJsaWIke0xJQl9TVUZGSVh9
IiBDQUNIRSBQQVRIICJXaGVyZSB0byBpbnN0YWxsIGxpYnJhcmllcyAobGliJHtMSUJfU1VGRklY
fSkiKQogc2V0KEVYRUNfSU5TVEFMTF9ESVIgImJpbiIgQ0FDSEUgUEFUSCAiV2hlcmUgdG8gaW5z
dGFsbCBleGVjdXRhYmxlcyIpCisKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1MzX1RFWFQgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggMTAxZTQw
YzFlYjQwYzE3NGM1MGJkNmRiZmE5YzcyNTM5NDQ2ZjIyMS4uOGFhMDk4MGY3NjFlNjlkNTEwNGRk
NzRkMGY5MjliYjYyNzA3ZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMjEs
OCArMjEsOCBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBP
RkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJU
b2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2dsZSBDU1MzIENvbmRpdGlvbmFsIFJ1bGVz
IHN1cHBvcnQiIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTM19URVhU
ICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQiIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyAiVG9nZ2xlIENTUzMgQ29uZGl0aW9uYWwg
UnVsZXMgc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUzNf
VEVYVCAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLICJUb2dnbGUgQm94IERlY29yYXRp
b24gYnJlYWsgKENTUyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVycykgc3VwcG9ydCIgT04pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19DT01QT1NJVElORyAiVG9nZ2xlIENTUyBD
T01QT1NJVElORyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTiAiVG9nZ2xlIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBzdXBw
b3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMzky
YmY1MGY0OGFhNWFiYWVhMWQ2NmQ1NzA0NTQ3YTkxODUyZGVlYy4uY2U3OGU1MWFlMDIwMTA2ZTlm
MjRiODI4YjlkNDQwN2ZkNjQwODE0NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQpAQCAtMTg1LDEwICsxODUsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZhdWx0ID0+IGlzQXBwbGVXZWJLaXQoKSB8
fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NGaWx0ZXJzU3VwcG9ydCB9LAogCiAgICAg
eyBvcHRpb24gPT4gImNzczMtY29uZGl0aW9uYWwtcnVsZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NT
MyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IChpLmUuIFxAc3VwcG9ydHMpIiwKLSAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiLCBkZWZhdWx0ID0+IDAsIHZh
bHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBc
JGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMt
dGV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MzIFRleHQgc3VwcG9ydCIsCi0gICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+IChpc0VmbCgpIHx8IGlzR3RrKCkpLCB2
YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NT
M19URVhUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorCisg
ICAgeyBvcHRpb24gPT4gImNzcy1oaWVyYXJjaGllcyIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MgSGll
cmFyY2h5IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0hJRVJBUkNISUVT
IiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzc0hpZXJhcmNoaWVzU3VwcG9ydCB9LAogCiAg
ICAgeyBvcHRpb24gPT4gImNzcy1ib3gtZGVjb3JhdGlvbi1icmVhayIsIGRlc2MgPT4gIlRvZ2ds
ZSBDU1MgYm94LWRlY29yYXRpb24tYnJlYWsgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwk
Y3NzQm94RGVjb3JhdGlvbkJyZWFrU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2Uv
bWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1
cmVzL2ZlYXR1cmVzLnByaQppbmRleCBlM2U0MDhiZWRhYmU5YWE1YWU1ZDQzYWI4MmQ5YmM3YmE4
ZDFhYjcwLi44ODM3MzczMTU0MDFhYzYwYzAzN2UyNDI2N2JiYmNjNmIzNGFhZDMyIDEwMDY0NAot
LS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQorKysgYi9Ub29s
cy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQpAQCAtMzQsOCArMzQsOCBAQCBG
RUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OPTEgXAog
ICAgIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklY
RUQ9MSBcCiAgICAgRU5BQkxFX0NTU19WQVJJQUJMRVM9MCBcCi0gICAgRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVM9MCBcCi0gICAgRU5BQkxFX0NTUzNfVEVYVD0wIFwKKyAgICBFTkFCTEVf
Q1NTM19DT05ESVRJT05BTF9SVUxFUz0xIFwKKyAgICBFTkFCTEVfQ1NTM19URVhUPTEgXAogICAg
IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKICAgICBFTkFCTEVfREFUQUdSSUQ9MCBcCiAg
ICAgRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ9MSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDZkMzBiNzdmZDQzYzI2N2E4
NDJhOWE0MGNiN2UzYjNkNzYwMDZmMi4uN2VhNWJmZGQ0ZTRhZjlmY2QzYzBkNTYyYmMxY2E2ODAw
YzIzYmJlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAxLTE2ICBMYW1hcnF1ZSBWLiBT
b3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBbY3NzMy10ZXh0
XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IGZy
b20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3IgJ3RleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3ZWJraXQnIHByZWZp
eC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9n
ZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50U3R5bGUpOgorICAg
ICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEzLTAxLTE2ICBEb21pbmlrIFLDtnR0c2No
ZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODhm
OTI5NDBmNDI1OTk5NzdmMTQ3NDkzODQ0YmM4ZDI5ZDFlMjFkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDk3IEBACitUZXN0IHRvIG1ha2Ugc3VyZSAtd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Blcmx5LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCB2YWx1ZToKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMg
bnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICcn
OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
YXV0bycKKworSW5pdGlhbCB2YWx1ZSAoZXhwbGljaXQpOgorUEFTUyBlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnaW5pdGlhbCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBDU1NWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2luaXRpYWwnCitQ
QVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVl
XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworVmFsdWUgJ2F1dG8nOgor
UEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
YXV0bycKKworVmFsdWUgJ2FscGhhYmV0aWMnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2FscGhh
YmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYWxwaGFiZXRp
YycKKworVmFsdWUgJ3VuZGVyJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24gaXMgJ3VuZGVyJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1Zh
bHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFTUyBjb21wdXRlZFN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykuY3NzVGV4dCBpcyAndW5kZXInCisKK1ZhbHVlICdsZWZ0JzoKK1BBU1MgZS5zdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2xlZnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnbGVmdCcK
K1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2xlZnQn
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnbGVmdCcKKworVmFsdWUgJ3JpZ2h0JzoKK1BB
U1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3JpZ2h0JworUEFTUyBl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNz
c1RleHQgaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAncmlnaHQnCisK
K1ZhbHVlICd1bmRlciBsZWZ0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Q1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQn
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKKworQW5jZXN0b3IgaW5o
ZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1
dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0JworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK1ZhbHVlICd1bmRlciByaWdo
dCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBy
aWdodCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMg
ZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMt
dGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5
bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDVkNzcyMzViMTEy
ZTA2YjRjYzFiODU2MDBlZTM0YjBlM2U4NmNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwKQEAgLTAsMCArMSwx
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9n
ZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRl
Y29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Njk1MTNlNzQxMzBkMTQxMWNl
ZWQwOWFmMmI1ZTFhM2I5ODQ1NmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQt
dGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcwpAQCAtMCww
ICsxLDEwMCBAQAorZnVuY3Rpb24gdGVzdEVsZW1lbnRTdHlsZShwcm9wZXJ0eUpTLCBwcm9wZXJ0
eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgaWYgKHR5cGUgIT0gbnVsbCkgeworICAgICAgICBz
aG91bGRCZSgiZS5zdHlsZS4iICsgcHJvcGVydHlKUywgIiciICsgdmFsdWUgKyAiJyIpOworICAg
ICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlD
U1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOworICAgICAgICBzaG91bGRC
ZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykuY3Nz
VGV4dCIsICInIiArIHZhbHVlICsgIiciKTsKKyAgICB9IGVsc2UKKyAgICAgICAgc2hvdWxkQmVO
dWxsKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKSIp
OworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0ZWRTdHlsZShwcm9wZXJ0eUpTLCBwcm9wZXJ0eUNT
UywgdHlwZSwgdmFsdWUpCit7CisgICAgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGUsIG51bGwpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLiIgKyBwcm9wZXJ0
eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLnRvU3RyaW5nKCkiLCAiJyIg
KyB0eXBlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykuY3NzVGV4dCIsICInIiArIHZhbHVlICsgIici
KTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdG8gbWFrZSBzdXJlIC13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gcHJvcGVydHkgcmV0dXJucyB2YWx1ZXMgcHJvcGVybHkuIikKKwordmFy
IHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK3Rlc3RDb250
YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
dGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRl
c3QiPmhlbGxvIHdvcmxkPC9kaXY+JzsKK2RlYnVnKCJJbml0aWFsIHZhbHVlOiIpOworZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIs
IG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1p
dGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnJzoiKTsK
K2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJyc7Cit0ZXN0RWxlbWVudFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJJ
bml0aWFsIHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTVmFsdWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAnYXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdh
dXRvJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFs
dWVdIiwgImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYWxw
aGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhbHBo
YWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7CitkZWJ1ZygnJyk7CisKK2Rl
YnVnKCJWYWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gPSAndW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1
ZUxpc3RdIiwgInVuZGVyIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBD
U1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnbGVm
dCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdsZWZ0JzsKK3Rl
c3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJsZWZ0Iik7
Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgImxl
ZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdyaWdodCc6Iik7CitlLnN0eWxlLndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdyaWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQiKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoIlZhbHVlICd1bmRlciBsZWZ0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIGxlZnQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOworZGVi
dWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVu
dCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyIGxlZnQ7Ij5o
ZWxsbyA8c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+JzsKK2RlYnVn
KCJBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgbnVsbCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFs
dWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5k
ZXIgcmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5k
ZXIgcmlnaHQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxp
c3RdIiwgInVuZGVyIHJpZ2h0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1ZygnJyk7CisKK3Rlc3RDb250
YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBzdHlsZT0iLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgcmlnaHQ7Ij5oZWxsbyA8c3BhbiBpZD0idGVz
dC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+JzsKK2RlYnVnKCJBbmNlc3RvciBpbmhlcml0
cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOwordGVz
dENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBy
aWdodCIpOworZGVidWcoJycpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RDb250
YWluZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggOTViZDM0YmE4MmUzMmRlNWY4NTI0MDQ3NDFlM2Y1OGY4MzllYWU2NS4uMjUzOGNm
ZTk2ZTlmM2YxYjZlNWM3NGM5Mjk1ZDM3YjNmMjBlODg3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMTgsMTAgKzIxOCw2IEBAIHdl
YmtpdC5vcmcvYi84NTI2MiBmYXN0L21lZGlhL21xLXJlc29sdXRpb24tZHBpLWRwY20td2Fybmlu
Zy5odG1sIFsgU2tpcCBdCiAjIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJs
ZWQuCiB3ZWJraXQub3JnL2IvODkwNTIgZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24KIAotIyBD
U1MzIFRleHQgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1MzX1RF
WFQpLgotd2Via2l0Lm9yZy9iLzU4NDkxIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0
aW9uCi13ZWJraXQub3JnL2IvNzYxNzMgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWFsaWduLWxh
c3QKLQogIyBDaHJvbWl1bSBkb2VzIG5vdCBzdXBwb3J0IHNtYXJ0IHBhc3RpbmcgaW4gdGV4dCBj
b250cm9scyB5ZXQuCiB3ZWJraXQub3JnL2IvNjA4MzAgZWRpdGluZy9wYXN0ZWJvYXJkL3NtYXJ0
LXBhc3RlLWluLXRleHQtY29udHJvbC5odG1sCiAKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmll
cy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzIGIvV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKaW5kZXggODNlODM1
NzBhZmQxNTA5NWQ1ZjQxMjcxMzY2MTllZjc1M2JjMDBmMC4uMzY5ZDMxNjJlMjdkNWZlZjcxZDg1
Mzk5MGVmMWY4OWQ4Y2IzZTZhYSAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29s
cy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFyaWVzL3dp
bi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKQEAgLTQ4LDEyICs0OCwxMiBA
QAogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVM
RVMiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyIK
IAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFt
ZT0iRU5BQkxFX0NTUzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9DU1MzX1RF
WFQiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCmRp
ZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmlu
ZXNDYWlyby52c3Byb3BzIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1
cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwppbmRleCA1ZDVkMmI5NzI0NjE1MzY1MzYwZmZjMGEyOTA1
MWI3MTVkOTMyODdiLi43YjY0ZDM3NTc5ZDBlNTQ4M2VhYzg2NTMwZDk5ZDczZDFhOTU3YTg0IDEw
MDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmlu
ZXNDYWlyby52c3Byb3BzCisrKyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9G
ZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKQEAgLTQzLDEyICs0MywxMiBAQAogCS8+CiAgIDxV
c2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiCi0JCVZhbHVl
PSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyIKIAkJUGVyZm9ybUVu
dmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NT
UzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9DU1MzX1RFWFQiCiAJCVBlcmZv
cm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCmRpZmYgLS1naXQgYS9j
b25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggOWYzNThhYjNkNDMwOGI1ODE3NTkxODJl
ZDRmZTk0M2NiOThjODA5Zi4uMzE1YzQ0MTc1NmQ2NzM5Zjc0MGUzYWJmZDhlODQyYmRiZTJiZThh
ZSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNzMzLDYg
KzczMywxNSBAQCBBQ19BUkdfRU5BQkxFKGNvdmVyYWdlLAogICAgICAgICAgICAgICBbXSxbZW5h
YmxlX2NvdmVyYWdlPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9jb3ZlcmFnZV0pCiAK
KyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgQ1NTMyB0ZXh0IGRlY29yYXRpb24gc3VwcG9ydAor
QUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIHRleHQgZGVjb3JhdGlvbiBz
dXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoY3NzM190ZXh0LAorICAgICAgICAgICAgICBBQ19IRUxQ
X1NUUklORyhbLS1lbmFibGUtY3NzMy10ZXh0LWRlY29yYXRpb25dLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbZW5hYmxlIENTUzMgdGV4dCBkZWNvcmF0aW9uIHN1cHBvcnQgW2RlZmF1
bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2NzczNfdGV4dD0ieWVzIl0pCitB
Q19NU0dfUkVTVUxUKFskZW5hYmxlX2NzczNfdGV4dF0pCitBTV9DT05ESVRJT05BTChbRU5BQkxF
X0NTUzNfVEVYVF0sW3Rlc3QgIiRlbmFibGVfY3NzM190ZXh0IiA9ICJ5ZXMiXSkKKwogIyBjaGVj
ayB3aGV0aGVyIHRvIGVuYWJsZSBGYXN0TWFsbG9jCiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIg
dG8gZW5hYmxlIG9wdGltaXplZCBtZW1vcnkgYWxsb2NhdG9yXSkKIEFDX0FSR19FTkFCTEUoZmFz
dF9tYWxsb2MsCg==
</data>
<flag name="commit-queue"
          id="201379"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183171</attachid>
            <date>2013-01-17 05:40:34 -0800</date>
            <delta_ts>2013-01-17 11:11:54 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130117113733.patch</filename>
            <type>text/plain</type>
            <size>46880</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1Nzc4NTZlZmMzNzU3
NzFjYmZkOTlkOGNjNWM0MDdhYTFiY2QxNy4uMWQxODY1NmYwOTU2NDZjNzY5ZTJjMzdiMjdlMzBh
MjI5NTk0MWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAxLTE2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAx
LTE2ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBmaXggYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBF
bGVtZW50LnJlbW92ZSgpIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDE1ZTcw
NTViMzEzNDI0ZmQyZjllMDQ2ODcyYTFlZmJlOWI5YmQ0ZDIuLmRlMmRlZjFiYWEwMGY1NmRhM2Ni
YjlkODMzZWMyYzRkYzE0Nzk1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
LUVOQUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9D
U1MzX1RFWFQ7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA0ZDg2OTI1ZDZmODZmYTU5ZjkxYzVjMjVmMGQ3NzM2ODlk
NDY3YTg2Li42MmEyNGM1YjBkMzEwZGVmMjY4ZWEyMTJmOThiZGY5YzNjYzJiMmQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDksOCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NI
QURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5Q
UkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VO
UFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19U
RVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7
CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8k
KFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5mZWF0dXJlcy5hbS5pbiBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVz
LmFtLmluCmluZGV4IDViZDM3Yzc3NGJjNDRkMDhkOTY1NmJiYmIzODJkY2IyOWM0Yzg3ZDAuLjFk
NmZiM2MyYjFjMGU2MTJiYTA3ZmE4N2YxZTgyN2UxZDE3NTJmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCkBAIC02LDcgKzYsOCBAQCBmZWF0dXJlX2RlZmlu
ZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9DQU5WQVNfUFJPWFk9MCBcCiAJRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HPTEgXAogCUVOQUJMRV9DU1BfTkVYVD0wIFwKLQlFTkFCTEVfQ1NTM19URVhU
PTAgXAorCUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTEgXAorCUVOQUJMRV9DU1MzX1RF
WFQ9MSBcCiAJRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSz0xIFwKIAlFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HPTAgXAogCUVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT049MCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IGQ1Nzc3NzIzMTNlYTZiYTE4NjY5ODEwMGQwMjkxYTM0NjM2ZjlhNDkuLjMyMTQ3YTEzY2I3
ZmI0YzYxYTA4MGM4YTE0ODI2ODlkNTY0NjNiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xOTAsNiArMTkwLDcgQEAg
c3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAg
Q1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFz
dCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwKICNlbmRpZiAv
LyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRlbnQsCiAgICAgQ1NTUHJvcGVydHlU
ZXh0UmVuZGVyaW5nLApAQCAtMTMxNyw2ICsxMzE4LDI5IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENT
U1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1ZhbHVlKFRleHREZWNv
cmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisKK3N0YXRpYyBQYXNzUmVmUHRyPENT
U1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoVGV4dFVu
ZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbikKK3sKKyAgICBpZiAodGV4dFVu
ZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8pCisgICAgICAgIHJl
dHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsK
KworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9u
QWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4g
bGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBpZiAodGV4
dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIpCisgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBUZXh0VW5kZXJsaW5l
UG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAgIGVsc2UgaWYgKHRleHRVbmRlcmxp
bmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0KQorICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUmlnaHQp
KTsKKworICAgIGlmIChsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGxpc3Q7CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRl
RXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogc3RhdGlj
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NTU1ZhbHVlKEVGaWxsUmVwZWF0IHhS
ZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMTAwLDYgKzIxMjQsOCBAQCBQYXNzUmVm
UHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NT
VmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9u
U3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uU3R5bGUoKSk7CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT50ZXh0QWxpZ25MYXN0KCkpOwor
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgorICAg
ICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1
ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwogI2VuZGlmIC8vIENTUzNfVEVYVAog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5
bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnku
aW4KaW5kZXggNjE4N2Q2YzE1NDVhOGUzYzA3MTc2NDIwZTA0YTkzZWQ0MWVjMDgxMi4uYWY0ZWVk
MGYzMmQ4ZjdlNmNkODMzNGEyMjEwYTFiYjMyNWJkYzc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55LmluCkBAIC05Myw2ICs5Myw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGNzc3l5ZXJyb3Io
dm9pZCosIGNvbnN0IGNoYXIqKQogJXRva2VuIFBBR0VfU1lNCiAldG9rZW4gTUVESUFfU1lNCiAj
aWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKKy8qIGxpbmUgYWRkZWQganVzdCB0byBm
b3JjZSB0aGlzIGZpbGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBidWlsZC4g
Ki8KICV0b2tlbiBTVVBQT1JUU19TWU0KICNlbmRpZgogJXRva2VuIEZPTlRfRkFDRV9TWU0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGVjMTRiMThkNjcyMGM1ODRjODFmZjk4YTA1NTY0
MWZjZDQ3Yjg4ZC4uNDViZDUwOWU1YTg5NjljMWQ0YmMzNWUyMjY2MDdmMmEzNTczZjY4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIyMDQsNiArMjIwNCwxMCBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlkIHx8IGlkID09IENTU1ZhbHVlRG91YmxlIHx8
IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09IENTU1ZhbHVlRGFzaGVkIHx8IGlkID09IENT
U1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAg
YnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
OgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5kZXIgfHwgWyBsZWZ0IHwgcmln
aHQgXSBdCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihpbXBvcnRh
bnQpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVpvb206ICAg
ICAgICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8bnVtYmVyPiB8IDxwZXJjZW50
YWdlPiB8IGluaGVyaXQKQEAgLTg4MjgsNiArODgzMiw1NCBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2Jvb2wgQ1NTUGFy
c2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCkKK3sKKyAgICBD
U1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAgIGlmICh2
YWx1ZS0+aWQgPT0gQ1NTVmFsdWVBdXRvKSB7CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3Bl
cnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZUFscGhhYmV0aWMpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVlTGlzdC0+
bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTVmFs
dWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAg
IGJvb2wgaXNWYWxpZCA9IHRydWU7CisgICAgYm9vbCBsZWZ0T3JSaWdodEFscmVhZHlQYXJzZWQg
PSBmYWxzZTsKKyAgICB3aGlsZSAoaXNWYWxpZCAmJiB2YWx1ZSkgeworICAgICAgICBzd2l0Y2gg
KHZhbHVlLT5pZCkgeworICAgICAgICBjYXNlIENTU1ZhbHVlTGVmdDoKKyAgICAgICAgY2FzZSBD
U1NWYWx1ZVJpZ2h0OgorICAgICAgICAgICAgaWYgKGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCkg
eworICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCA9
IHRydWU7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlzVmFsaWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlmIChpc1Zh
bGlkKQorICAgICAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgIH0KKwor
ICAgIGlmIChsaXN0LT5sZW5ndGgoKSAmJiBpc1ZhbGlkKSB7CisgICAgICAgIGFkZFByb3BlcnR5
KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBsaXN0LnJlbGVhc2UoKSwg
aW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZh
bHNlOworfQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBib29sIENTU1BhcnNlcjo6cGFyc2VUZXh0
RW1waGFzaXNTdHlsZShib29sIGltcG9ydGFudCkKIHsKICAgICB1bnNpZ25lZCB2YWx1ZUxpc3RT
aXplID0gbV92YWx1ZUxpc3QtPnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxN2Uz
YTdkNWJiOWIyZGU5NGQ4YzRmOGM2ZDA4MzA4OTMxMGU2Yjk3Li45MmEwMDUzNWYzYjVkZmI4Mzc1
ZjI1NzUyN2Q1Y2IyYTU5NWM4NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yNTEsNiAr
MjUxLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRUZXh0RGVjb3JhdGlvblByb3BlcnR5KENT
U1Byb3BlcnR5SUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+LCBib29sIGltcG9ydGFudCk7CiAgICAg
Ym9vbCBwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCk7CisjaWYgRU5BQkxFKENTUzNfVEVYVCkKKyAgICBib29sIHBhcnNlVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKIAogICAgIGJv
b2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUNh
bGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKiwgQ2FsY3VsYXRpb25QZXJtaXR0ZWRWYWx1ZVJhbmdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmlu
ZGV4IDJmNmY4ZDhjMzVjNzliZGNiNjAxMGJhZjExNTZjMTgwYzUyNDZkMGMuLjYyZmNkOTI0OTM1
YzhjNTZiNDk5ZTZlMWRkZTk0MTU2ZDc4NmNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjMyOSw2ICsyMzI5LDI1IEBAIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0RGVjb3JhdGlvblN0
eWxlKCkgY29uc3QKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gVGV4dERl
Y29yYXRpb25TdHlsZVNvbGlkOwogfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0
Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQXV0bzoKKyAgICAgICAgcmV0
dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0
aWM6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljOworICAg
IGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlv
blVuZGVyOworICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICByZXR1cm4gVGV4dFVuZGVy
bGluZVBvc2l0aW9uTGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgIHJldHVy
biBUZXh0VW5kZXJsaW5lUG9zaXRpb25SaWdodDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKK30KICNlbmRp
ZiAvLyBDU1MzX1RFWFQKIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEVUZXh0U2VjdXJpdHkgZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
Y3BwCmluZGV4IDhjM2RiNTBhMDA3ZWQxMzE4NjNkNzhkZjI3NjM3M2M4MmJiMzI2MGEuLmExZGE0
MjdiYTUyYjE2YjNjMTBhMGUyZTA4ZjIxNzBjZTA2ZWEzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmNwcApAQCAtMzI5LDYgKzMyOSw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJp
dGVkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShDU1MzX1RF
WFQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZToKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdDoKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgppbmRleCAxYjM0ZWRjMjc0NWE3MmRiZTA3Mjk0MjhkMzViZDgyYjdiNGIwYTkxLi42
YmYyNDIwNmY3MWY4MzczOTk5YzMyNDBlOTA1ZDcyMWUwMWY1ZDIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMzY1LDYgKzM2NSw3IEBAIHotaW5kZXgKIC13ZWJr
aXQtdGV4dC1kZWNvcmF0aW9uLWxpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlCiAt
d2Via2l0LXRleHQtYWxpZ24tbGFzdAorLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbgog
I2VuZGlmCiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0CiAtd2Via2l0LXRleHQt
ZW1waGFzaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggNzU5MjZm
NjI3YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uNzQ4YTI5MzhjNmEwOTQ1ZTA3MzVl
YmJiMmFiZmI2MDIwM2E4YWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KQEAgLTk0NSw2ICs5NDUsMTEgQEAgd3JhcAogLy8gLXdlYmtpdC1saW5lLWFsaWduCiBlZGdl
cwogCisjaWYgIShkZWZpbmVkKEVOQUJMRV9TVkcpICYmIEVOQUJMRV9TVkcpICYmIGRlZmluZWQo
RU5BQkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNfVEVYVAorLy8gLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbgorYWxwaGFiZXRpYworI2VuZGlmIC8vIENTUzNfVEVYVAorCiAvLyBw
b3NpdGlvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICYmIEVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OCiAtd2Via2l0LXN0aWNreQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVC
dWlsZGVyLmNwcAppbmRleCA2ZDc4YzY4NDQ0MmNjN2UyNGViZjlhNjI4NjdiZDg4OTlmZTc5OGU2
Li4wM2I5NDc1MTNmYzcwMTkxNjk5Zjg0NTlmOTM2ZmE5ZjM0MjE2ZmRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5LDM0IEBAIHB1YmxpYzoKICAgICB9
CiB9OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNzIEFwcGx5UHJvcGVydHlUZXh0VW5k
ZXJsaW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NT
UHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVl
KQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlmIHZhbHVlIGlzICdhdXRvJyBvciAn
YWxwaGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7Cisg
ICAgICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9ICpzdGF0aWNfY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCkt
PnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCisgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gc3RhdGljX2Nhc3Q8VGV4
dFVuZGVybGluZVBvc2l0aW9uPigwKTsKKyAgICAgICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRv
ciBpKHZhbHVlKTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAgICAgICAgICBDU1NW
YWx1ZSogaXRlbSA9IGkudmFsdWUoKTsKKyAgICAgICAgICAgIEFTU0VSVChpdGVtLT5pc1ByaW1p
dGl2ZVZhbHVlKCkpOworICAgICAgICAgICAgdCB8PSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPihpdGVtKTsKKyAgICAgICAgfQorICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LT5zZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24odCk7CisgICAgfQorICAgIHN0YXRpYyBQcm9wZXJ0
eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpCisgICAgeworICAgICAgICBQcm9wZXJ0eUhhbmRsZXIg
aGFuZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUZXh0VW5kZXJsaW5lUG9zaXRpb24s
ICZSZW5kZXJTdHlsZTo6dGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5kZXJsaW5lUG9zaXRp
b24sICZSZW5kZXJTdHlsZTo6c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5kZXJsaW5l
UG9zaXRpb24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbj46OmNy
ZWF0ZUhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5kbGVyLmlu
aGVyaXRGdW5jdGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlWYWx1ZSk7
CisgICAgfQorfTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogY2xhc3MgQXBwbHlQcm9wZXJ0eUxp
bmVIZWlnaHQgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVy
dHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVlKQpAQCAt
MTkyMyw2ICsxOTUxLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIoKQogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwgQXBwbHlQ
cm9wZXJ0eVRleHREZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsIEFwcGx5UHJvcGVy
dHlEZWZhdWx0PFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRp
b25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3Jh
dGlvblN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0
RGVjb3JhdGlvblN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBseVByb3BlcnR5RGVmYXVsdDxU
ZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3Qs
ICZSZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFsaWduTGFzdCwgJlJlbmRlclN0
eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBBcHBs
eVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlm
IC8vIENTUzNfVEVYVAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRJbmRl
bnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAmUmVuZGVy
U3R5bGU6OnNldFRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQ+Ojpj
cmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRP
dmVyZmxvdywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6
OnRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnNldFRleHRPdmVyZmxv
dywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0T3ZlcmZsb3c+OjpjcmVh
dGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAppbmRleCA4MTg4MDgxNTkwYWRiMGUwOTYxMTZjZmMyYTE2YzdkZmEyYzEwN2JiLi4xMzQx
NGE2NmVkMWI5N2M3MGM4NTcwMTdjMDAzYTQ4ZmQ2N2RlODNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTY0LDYgKzU2NCw3IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERl
Y29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9u
U3R5bGU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAg
ICAgVGV4dEFsaWduTGFzdCB0ZXh0QWxpZ25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8VGV4dEFsaWduTGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFzdCk7IH0K
KyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5oZXJpdGVk
RGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxzZQogICAgIFRleHREZWNvcmF0
aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHREZWNvcmF0
aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApAQCAtMTEwMyw2ICsxMTA0LDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0RGVjb3Jh
dGlvblN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3RleHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRUZXh0QWxp
Z25MYXN0KFRleHRBbGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3Rl
eHRBbGlnbkxhc3QsIHYpOyB9CisgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24oVGV4
dFVuZGVybGluZVBvc2l0aW9uIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0
VW5kZXJsaW5lUG9zaXRpb24sIHYpOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdm9pZCBz
ZXREaXJlY3Rpb24oVGV4dERpcmVjdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9u
ID0gdjsgfQogICAgIHZvaWQgc2V0TGluZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGluZUhlaWdo
dCk7CkBAIC0xNTYxLDYgKzE1NjMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkK
ICAgICBzdGF0aWMgVGV4dERlY29yYXRpb25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRpb25TdHls
ZSgpIHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRpYyBUZXh0
QWxpZ25MYXN0IGluaXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1
dG87IH0KKyAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJs
aW5lUG9zaXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5k
aWYgLy8gQ1NTM19URVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4g
MS4wZjsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAw
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCmluZGV4IGU3YzEwOGY0ODJiMmUzYzE5ODVkZGE5YmQwNzA3MDhmNzk5OTIy
ZGIuLmQwYTM5MTBhNTQ3Y2Q2M2U2NmNhZGIyNjYxZWQ2ZWViZjNiYWYxMjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CkBAIC0zNjAsNiArMzYwLDE0IEBAIGVudW0gVGV4dEFsaWduTGFzdCB7CiB9OwogI2VuZGlmIC8v
IENTUzNfVEVYVAogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2VudW0gVGV4dFVuZGVybGluZVBv
c2l0aW9uIHsKKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvID0gMHgxLCBUZXh0VW5kZXJs
aW5lUG9zaXRpb25BbHBoYWJldGljID0gMHgyLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlciA9
IDB4NCwgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4OCwgVGV4dFVuZGVybGluZVBvc2l0
aW9uUmlnaHQgPSAweDEwCit9OworaW5saW5lIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBvcGVyYXRv
cnwgKFRleHRVbmRlcmxpbmVQb3NpdGlvbiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyBy
ZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uKGludChhKSB8IGludChiKSk7IH0KK2lubGluZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24mIG9wZXJhdG9yfD0oVGV4dFVuZGVybGluZVBvc2l0aW9uJiBh
LCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4gYSA9IGEgfCBiOyB9CisjZW5kaWYg
Ly8gQ1NTM19URVhUCisKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFMV0FZUywg
UEJBVk9JRAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCAyODgyNmMyOTkzNDFlMGYxYmEwNGNh
ZmJlZDhmMmU0MDU1MWZjMDY0Li5lNjIzMjNhZjUwZGI4MjY5YjUyYWNmOTI3M2Y2ZDQxYjE2ZTY1
ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAgU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxlOjppbml0aWFsVGV4
dEFsaWduTGFzdCgpKQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oUmVuZGVyU3R5bGU6
OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAg
ICAsIG1fcnVieVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBvc2l0aW9uKCkpCiAg
ICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3NSw3IEBAIFN0eWxl
UmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YSYgbykKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgLCBt
X3RleHRBbGlnbkxhc3Qoby5tX3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQ
b3NpdGlvbihvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8vIENTUzNfVEVYVAog
ICAgICwgbV9ydWJ5UG9zaXRpb24oby5tX3J1YnlQb3NpdGlvbikKICAgICAsIGh5cGhlbmF0aW9u
U3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcgQEAgYm9vbCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERh
dGEmIG8pIGNvbnN0CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICAmJiBt
X3RleHRBbGlnbkxhc3QgPT0gby5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAgJiYgbV90ZXh0VW5k
ZXJsaW5lUG9zaXRpb24gPT0gby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENT
UzNfVEVYVAogICAgICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAg
ICAgICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCBi
MjI4MWY3NzI5NzA3ZjdjMTNiNDU5OWFhNzZkZjBiNTllOWU3M2FjLi5kMmJhMDA3ZjQzOGM0YjUw
ZGNlYTljMzBiNTYxMDZmYzQxMTM0MDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTExOCw2ICsxMTgs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHVuc2lnbmVk
IG1fdGV4dEFsaWduTGFzdCA6IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1bnNpZ25lZCBtX3Rl
eHRVbmRlcmxpbmVQb3NpdGlvbiA6IDU7IC8vIFRleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlm
IC8vIENTUzNfVEVYVAogICAgIHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDogMTsgLy8gUnVieVBv
c2l0aW9uCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lw
aSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCBlZGMzYzI4MDU5
N2IyZWRiOGFhMzZhM2M5YWI4ZGQwNGY0MmJjMDY5Li44Y2RjN2YwNzhlZTQ0NzcxMjQ3Y2NmZjYy
NTRjYzljZTFmYWNmNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1
cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC0z
OSw4ICszOSw4IEBACiAgICAgICAnRU5BQkxFX0NBTlZBU19QUk9YWT0xJywKICAgICAgICdFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkc9MScsCiAgICAgICAnRU5BQkxFX0NTUF9ORVhUPTEnLAotICAg
ICAgJ0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTAnLAotICAgICAgJ0VOQUJMRV9DU1Mz
X1RFWFQ9MCcsCisgICAgICAnRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MScsCisgICAg
ICAnRU5BQkxFX0NTUzNfVEVYVD0xJywKICAgICAgICdFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLPTEnLAogICAgICAgJ0VOQUJMRV9DU1NfQ09NUE9TSVRJTkc9MCcsCiAgICAgICAnRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTj0wJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmZkODJh
MDI1NGU3ODM4ZjQ5NzFjMTM4Yzk4NWI3Yzk4NTJlOTI3Mi4uZDM4YmExY2QwOGIxNTE0Mzg2NWM4
MTczNTc0MjgyOTYzODhlYzc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDggKzQ5LDggQEAg
RU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElD
S1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NTX1RS
QU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxFX0NTU19W
QVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVOQUJMRV9D
U1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1MzX1RFWFQ7
CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCBmZmQ4MmEwMjU0ZTc4MzhmNDk3MWMxMzhjOTg1YjdjOTg1MmU5MjcyLi5k
MzhiYTFjZDA4YjE1MTQzODY1YzgxNzM1NzQyODI5NjM4OGVjNzRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDksOCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBF
TkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwog
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCA9
IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQ7
CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
ID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
ID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5B
QkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JN
X05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFr
ZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDQxMzdkM2I2MzBkMjNj
YzNhYWJlN2MwYjA3OTQwZGVhYmVkZWJiYWUuLjcxOTVhNzExMWRkOTE3OTNmM2IzZjc0OWE2Nzg1
OTBhZGI1NDNlNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0zNywzICszNyw2IEBA
IHNldChMSUJfU1VGRklYICIiIENBQ0hFIFNUUklORyAiRGVmaW5lIHN1ZmZpeCBvZiBkaXJlY3Rv
cnkgbmFtZSAoMzIvNjQpIikKIAogc2V0KExJQl9JTlNUQUxMX0RJUiAibGliJHtMSUJfU1VGRklY
fSIgQ0FDSEUgUEFUSCAiV2hlcmUgdG8gaW5zdGFsbCBsaWJyYXJpZXMgKGxpYiR7TElCX1NVRkZJ
WH0pIikKIHNldChFWEVDX0lOU1RBTExfRElSICJiaW4iIENBQ0hFIFBBVEggIldoZXJlIHRvIGlu
c3RhbGwgZXhlY3V0YWJsZXMiKQorCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9DU1MzX1RFWFQgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
aW5kZXggMTAxZTQwYzFlYjQwYzE3NGM1MGJkNmRiZmE5YzcyNTM5NDQ2ZjIyMS4uOGFhMDk4MGY3
NjFlNjlkNTEwNGRkNzRkMGY5MjliYjYyNzA3ZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQpAQCAtMjEsOCArMjEsOCBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94
eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQi
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCi0gICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2dsZSBDU1MzIENvbmRp
dGlvbmFsIFJ1bGVzIHN1cHBvcnQiIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfQ1NTM19URVhUICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQiIE9GRikKKyAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyAiVG9nZ2xlIENTUzMg
Q29uZGl0aW9uYWwgUnVsZXMgc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0NTUzNfVEVYVCAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0IiBPTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLICJUb2dnbGUg
Qm94IERlY29yYXRpb24gYnJlYWsgKENTUyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVycykgc3VwcG9y
dCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19DT01QT1NJVElORyAi
VG9nZ2xlIENTUyBDT01QT1NJVElORyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiAiVG9nZ2xlIENTUyBEZXZpY2UgQWRh
cHRhdGlvbiBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0KaW5kZXggMzkyYmY1MGY0OGFhNWFiYWVhMWQ2NmQ1NzA0NTQ3YTkxODUyZGVlYy4uY2U3OGU1
MWFlMDIwMTA2ZTlmMjRiODI4YjlkNDQwN2ZkNjQwODE0NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTg1LDEwICsxODUsMTMgQEAgbXkgQGZlYXR1cmVzID0g
KAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZhdWx0ID0+IGlzQXBw
bGVXZWJLaXQoKSB8fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NGaWx0ZXJzU3VwcG9y
dCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtY29uZGl0aW9uYWwtcnVsZXMiLCBkZXNjID0+
ICJUb2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IChpLmUuIFxAc3VwcG9ydHMp
IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiLCBkZWZh
dWx0ID0+IDAsIHZhbHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBwb3J0IH0sCisgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwgZGVmYXVsdCA9PiAx
LCB2YWx1ZSA9PiBcJGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRp
b24gPT4gImNzczMtdGV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MzIFRleHQgc3VwcG9ydCIsCi0g
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+IChpc0VmbCgpIHx8
IGlzR3RrKCkpLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQ1NTM19URVhUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3Vw
cG9ydCB9LAorCisgICAgeyBvcHRpb24gPT4gImNzcy1oaWVyYXJjaGllcyIsIGRlc2MgPT4gIlRv
Z2dsZSBDU1MgSGllcmFyY2h5IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NT
X0hJRVJBUkNISUVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzc0hpZXJhcmNoaWVzU3Vw
cG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzcy1ib3gtZGVjb3JhdGlvbi1icmVhayIsIGRl
c2MgPT4gIlRvZ2dsZSBDU1MgYm94LWRlY29yYXRpb24tYnJlYWsgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsiLCBkZWZhdWx0ID0+IDEs
IHZhbHVlID0+IFwkY3NzQm94RGVjb3JhdGlvbkJyZWFrU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEv
VG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9Ub29scy9xbWFrZS9t
a3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQppbmRleCBlM2U0MDhiZWRhYmU5YWE1YWU1ZDQz
YWI4MmQ5YmM3YmE4ZDFhYjcwLi44ODM3MzczMTU0MDFhYzYwYzAzN2UyNDI2N2JiYmNjNmIzNGFh
ZDMyIDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnBy
aQorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQpAQCAtMzQs
OCArMzQsOCBAQCBGRUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OPTEgXAogICAgIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJ
T05TX1VOUFJFRklYRUQ9MSBcCiAgICAgRU5BQkxFX0NTU19WQVJJQUJMRVM9MCBcCi0gICAgRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCBcCi0gICAgRU5BQkxFX0NTUzNfVEVYVD0wIFwK
KyAgICBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xIFwKKyAgICBFTkFCTEVfQ1NTM19U
RVhUPTEgXAogICAgIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKICAgICBFTkFCTEVfREFU
QUdSSUQ9MCBcCiAgICAgRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ9MSBcCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDZkMzBi
NzdmZDQzYzI2N2E4NDJhOWE0MGNiN2UzYjNkNzYwMDZmMi4uN2VhNWJmZGQ0ZTRhZjlmY2QzYzBk
NTYyYmMxY2E2ODAwYzIzYmJlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAxLTE2ICBM
YW1hcnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAg
ICBbY3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IHByb3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3Ig
J3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3
ZWJraXQnIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNv
cmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50
U3R5bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEzLTAxLTE2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAg
W0VGTF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ODhmOTI5NDBmNDI1OTk5NzdmMTQ3NDkzODQ0YmM4ZDI5ZDFlMjFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDk3IEBACitUZXN0IHRvIG1ha2Ugc3VyZSAtd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Bl
cmx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCB2YWx1ZToKK1BB
U1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8n
CisKK1ZhbHVlICcnOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAnYXV0bycKKworSW5pdGlhbCB2YWx1ZSAoZXhwbGljaXQpOgorUEFTUyBlLnN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnaW5pdGlhbCcKK1BBU1MgZS5zdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMg
J2luaXRpYWwnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworVmFs
dWUgJ2F1dG8nOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAnYXV0bycKKworVmFsdWUgJ2FscGhhYmV0aWMnOgorUEFTUyBlLnN0eWxlLndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2FscGhhYmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIGlzICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlz
ICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBp
cyAnYWxwaGFiZXRpYycKKworVmFsdWUgJ3VuZGVyJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCisKK1ZhbHVlICdsZWZ0JzoKK1BBU1Mg
ZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2xlZnQnCitQQVNTIGUuc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4
dCBpcyAnbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ2xlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NT
VmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnbGVmdCcKKworVmFsdWUg
J3JpZ2h0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3Jp
Z2h0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBp
cyAncmlnaHQnCisKK1ZhbHVlICd1bmRlciBsZWZ0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIg
bGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J3VuZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NT
VmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKKwor
QW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxs
CitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRl
ciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK1ZhbHVl
ICd1bmRlciByaWdodCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IGlzICd1bmRlciByaWdodCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NW
YWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKK1BBU1MgY29t
cHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0Jwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitBbmNlc3RvciBpbmhl
cml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0
ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dl
dENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NDVkNzcyMzViMTEyZTA2YjRjYzFiODU2MDBlZTM0YjBlM2U4NmNlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29t
cHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwK
QEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHls
ZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQv
Y3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Njk1MTNl
NzQxMzBkMTQxMWNlZWQwOWFmMmI1ZTFhM2I5ODQ1NmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRT
dHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bi5qcwpAQCAtMCwwICsxLDEwMCBAQAorZnVuY3Rpb24gdGVzdEVsZW1lbnRTdHlsZShwcm9wZXJ0
eUpTLCBwcm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgaWYgKHR5cGUgIT0gbnVsbCkg
eworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS4iICsgcHJvcGVydHlKUywgIiciICsgdmFsdWUg
KyAiJyIpOworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCci
ICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOworICAg
ICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlD
U1MgKyAiJykuY3NzVGV4dCIsICInIiArIHZhbHVlICsgIiciKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgc2hvdWxkQmVOdWxsKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0
eUNTUyArICInKSIpOworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0ZWRTdHlsZShwcm9wZXJ0eUpT
LCBwcm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgY29tcHV0ZWRTdHlsZSA9IHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGUsIG51bGwpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxl
LiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLnRvU3Ry
aW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykuY3NzVGV4dCIsICInIiAr
IHZhbHVlICsgIiciKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdG8gbWFrZSBzdXJlIC13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgcmV0dXJucyB2YWx1ZXMgcHJvcGVy
bHkuIikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0g
JzxkaXYgaWQ9InRlc3QiPmhlbGxvIHdvcmxkPC9kaXY+JzsKK2RlYnVnKCJJbml0aWFsIHZhbHVl
OiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0RWxlbWVudFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAnJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJyc7Cit0
ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJJbml0aWFsIHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgIltvYmplY3QgQ1NTVmFsdWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJWYWx1ZSAnYXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICdhdXRvJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NT
UHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVn
KCJWYWx1ZSAnYWxwaGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiA9ICdhbHBoYWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7CitkZWJ1
ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gPSAndW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29i
amVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7CitkZWJ1ZygnJyk7CisKK2RlYnVn
KCJWYWx1ZSAnbGVmdCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9
ICdsZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0
XSIsICJsZWZ0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1
ZUxpc3RdIiwgImxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdyaWdodCc6Iik7
CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdyaWdodCc7Cit0ZXN0RWxl
bWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQiKTsKK3Rl
c3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQi
KTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciBsZWZ0JzoiKTsKK2Uuc3R5bGUu
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIGxlZnQnOwordGVzdEVsZW1lbnRT
dHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK3Rl
c3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIg
bGVmdCIpOworZGVidWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJ0ZXN0LXBhcmVudCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVu
ZGVyIGxlZnQ7Ij5oZWxsbyA8c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9k
aXY+JzsKK2RlYnVnKCJBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7Citl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50
U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVn
KCJWYWx1ZSAndW5kZXIgcmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24gPSAndW5kZXIgcmlnaHQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1ZygnJyk7
CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBzdHls
ZT0iLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgcmlnaHQ7Ij5oZWxsbyA8
c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+JzsKK2RlYnVnKCJBbmNl
c3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVs
bCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0
XSIsICJ1bmRlciByaWdodCIpOworZGVidWcoJycpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKHRlc3RDb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggOTViZDM0YmE4MmUzMmRlNWY4NTI0MDQ3NDFlM2Y1OGY4Mzll
YWU2NS4uMjUzOGNmZTk2ZTlmM2YxYjZlNWM3NGM5Mjk1ZDM3YjNmMjBlODg3MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMTgsMTAg
KzIxOCw2IEBAIHdlYmtpdC5vcmcvYi84NTI2MiBmYXN0L21lZGlhL21xLXJlc29sdXRpb24tZHBp
LWRwY20td2FybmluZy5odG1sIFsgU2tpcCBdCiAjIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBu
b3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODkwNTIgZmFzdC9jc3MvaW1hZ2Utb3JpZW50
YXRpb24KIAotIyBDU1MzIFRleHQgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVO
QUJMRV9DU1MzX1RFWFQpLgotd2Via2l0Lm9yZy9iLzU4NDkxIGZhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uCi13ZWJraXQub3JnL2IvNzYxNzMgZmFzdC9jc3MzLXRleHQvY3NzMy10
ZXh0LWFsaWduLWxhc3QKLQogIyBDaHJvbWl1bSBkb2VzIG5vdCBzdXBwb3J0IHNtYXJ0IHBhc3Rp
bmcgaW4gdGV4dCBjb250cm9scyB5ZXQuCiB3ZWJraXQub3JnL2IvNjA4MzAgZWRpdGluZy9wYXN0
ZWJvYXJkL3NtYXJ0LXBhc3RlLWluLXRleHQtY29udHJvbC5odG1sCiAKZGlmZiAtLWdpdCBhL1dl
YktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzIGIv
V2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMK
aW5kZXggODNlODM1NzBhZmQxNTA5NWQ1ZjQxMjcxMzY2MTllZjc1M2JjMDBmMC4uMzY5ZDMxNjJl
MjdkNWZlZjcxZDg1Mzk5MGVmMWY4OWQ4Y2IzZTZhYSAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKKysrIGIvV2ViS2l0
TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKQEAgLTQ4
LDEyICs0OCwxMiBAQAogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVMiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJ
T05BTF9SVUxFUyIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2Vy
TWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVO
QUJMRV9DU1MzX1RFWFQiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8
VXNlck1hY3JvCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMv
RmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92
c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwppbmRleCA1ZDVkMmI5NzI0NjE1MzY1
MzYwZmZjMGEyOTA1MWI3MTVkOTMyODdiLi43YjY0ZDM3NTc5ZDBlNTQ4M2VhYzg2NTMwZDk5ZDcz
ZDFhOTU3YTg0IDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMv
RmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCisrKyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKQEAgLTQzLDEyICs0MywxMiBA
QAogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVM
RVMiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyIK
IAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFt
ZT0iRU5BQkxFX0NTUzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9DU1MzX1RF
WFQiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCmRp
ZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggOWYzNThhYjNkNDMw
OGI1ODE3NTkxODJlZDRmZTk0M2NiOThjODA5Zi4uOWNiMDBjNWFmMmFjMTkxMzcxY2RhYTBjOWYy
NzZlZWI0NjljNjJhZSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5h
YwpAQCAtNzMzLDYgKzczMywyNCBAQCBBQ19BUkdfRU5BQkxFKGNvdmVyYWdlLAogICAgICAgICAg
ICAgICBbXSxbZW5hYmxlX2NvdmVyYWdlPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9j
b3ZlcmFnZV0pCiAKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgQ1NTMyBjb25kaXRpb25hbCBy
dWxlcyBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIENTUzMgY29u
ZGl0aW9uYWwgcnVsZXMgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGNzczNfY29uZGl0aW9uYWxf
cnVsZXMsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb25kaXRpb25h
bC1ydWxlc10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgQ1NTMyBjb25k
aXRpb25hbCBydWxlcyBzdXBwb3J0IFtkZWZhdWx0PXllc11dKSwKKyAgICAgICAgICAgICAgW10s
W2VuYWJsZV9jc3MzX2NvbmRpdGlvbmFsX3J1bGVzPSJ5ZXMiXSkKK0FDX01TR19SRVNVTFQoWyRl
bmFibGVfY3NzM19jb25kaXRpb25hbF9ydWxlc10pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVNdLFt0ZXN0ICIkZW5hYmxlX2NzczNfY29uZGl0aW9uYWxfcnVs
ZXMiID0gInllcyJdKQorCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIENTUzMgdGV4dCBkZWNv
cmF0aW9uIHN1cHBvcnQKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgQ1NTMyB0
ZXh0IGRlY29yYXRpb24gc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGNzczNfdGV4dCwKKyAgICAg
ICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNzczMtdGV4dC1kZWNvcmF0aW9uXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBDU1MzIHRleHQgZGVjb3JhdGlv
biBzdXBwb3J0IFtkZWZhdWx0PXllc11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9jc3Mz
X3RleHQ9InllcyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9jc3MzX3RleHRdKQorQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9DU1MzX1RFWFRdLFt0ZXN0ICIkZW5hYmxlX2NzczNfdGV4dCIgPSAi
eWVzIl0pCisKICMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgRmFzdE1hbGxvYwogQUNfTVNHX0NI
RUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBvcHRpbWl6ZWQgbWVtb3J5IGFsbG9jYXRvcl0pCiBB
Q19BUkdfRU5BQkxFKGZhc3RfbWFsbG9jLAo=
</data>
<flag name="commit-queue"
          id="201470"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183222</attachid>
            <date>2013-01-17 11:10:50 -0800</date>
            <delta_ts>2013-01-17 16:26:57 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130117170749.patch</filename>
            <type>text/plain</type>
            <size>47544</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1Nzc4NTZlZmMzNzU3
NzFjYmZkOTlkOGNjNWM0MDdhYTFiY2QxNy4uYWM2NjI1M2UwOTFhZDBlMjZjZGU5MTUxOGQ0NmRj
NGQ4ZGY3ZmQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAxLTE3ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAx
LTE2ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBmaXggYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBF
bGVtZW50LnJlbW92ZSgpIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDE1ZTcw
NTViMzEzNDI0ZmQyZjllMDQ2ODcyYTFlZmJlOWI5YmQ0ZDIuLmRlMmRlZjFiYWEwMGY1NmRhM2Ni
YjlkODMzZWMyYzRkYzE0Nzk1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
LUVOQUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9D
U1MzX1RFWFQ7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA0ZDg2OTI1ZDZmODZmYTU5ZjkxYzVjMjVmMGQ3NzM2ODlk
NDY3YTg2Li42MmEyNGM1YjBkMzEwZGVmMjY4ZWEyMTJmOThiZGY5YzNjYzJiMmQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDksOCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NI
QURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5Q
UkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VO
UFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19U
RVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7
CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8k
KFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5mZWF0dXJlcy5hbS5pbiBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVz
LmFtLmluCmluZGV4IDViZDM3Yzc3NGJjNDRkMDhkOTY1NmJiYmIzODJkY2IyOWM0Yzg3ZDAuLjFk
NmZiM2MyYjFjMGU2MTJiYTA3ZmE4N2YxZTgyN2UxZDE3NTJmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCkBAIC02LDcgKzYsOCBAQCBmZWF0dXJlX2RlZmlu
ZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9DQU5WQVNfUFJPWFk9MCBcCiAJRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HPTEgXAogCUVOQUJMRV9DU1BfTkVYVD0wIFwKLQlFTkFCTEVfQ1NTM19URVhU
PTAgXAorCUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTEgXAorCUVOQUJMRV9DU1MzX1RF
WFQ9MSBcCiAJRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSz0xIFwKIAlFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HPTAgXAogCUVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT049MCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IGQ1Nzc3NzIzMTNlYTZiYTE4NjY5ODEwMGQwMjkxYTM0NjM2ZjlhNDkuLjMyMTQ3YTEzY2I3
ZmI0YzYxYTA4MGM4YTE0ODI2ODlkNTY0NjNiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xOTAsNiArMTkwLDcgQEAg
c3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAg
Q1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFz
dCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwKICNlbmRpZiAv
LyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRlbnQsCiAgICAgQ1NTUHJvcGVydHlU
ZXh0UmVuZGVyaW5nLApAQCAtMTMxNyw2ICsxMzE4LDI5IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENT
U1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1ZhbHVlKFRleHREZWNv
cmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisKK3N0YXRpYyBQYXNzUmVmUHRyPENT
U1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoVGV4dFVu
ZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbikKK3sKKyAgICBpZiAodGV4dFVu
ZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8pCisgICAgICAgIHJl
dHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsK
KworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9u
QWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4g
bGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBpZiAodGV4
dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIpCisgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBUZXh0VW5kZXJsaW5l
UG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAgIGVsc2UgaWYgKHRleHRVbmRlcmxp
bmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0KQorICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUmlnaHQp
KTsKKworICAgIGlmIChsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGxpc3Q7CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRl
RXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogc3RhdGlj
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NTU1ZhbHVlKEVGaWxsUmVwZWF0IHhS
ZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMTAwLDYgKzIxMjQsOCBAQCBQYXNzUmVm
UHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NT
VmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9u
U3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uU3R5bGUoKSk7CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT50ZXh0QWxpZ25MYXN0KCkpOwor
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgorICAg
ICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1
ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwogI2VuZGlmIC8vIENTUzNfVEVYVAog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5
bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnku
aW4KaW5kZXggNjE4N2Q2YzE1NDVhOGUzYzA3MTc2NDIwZTA0YTkzZWQ0MWVjMDgxMi4uYWY0ZWVk
MGYzMmQ4ZjdlNmNkODMzNGEyMjEwYTFiYjMyNWJkYzc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55LmluCkBAIC05Myw2ICs5Myw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGNzc3l5ZXJyb3Io
dm9pZCosIGNvbnN0IGNoYXIqKQogJXRva2VuIFBBR0VfU1lNCiAldG9rZW4gTUVESUFfU1lNCiAj
aWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKKy8qIGxpbmUgYWRkZWQganVzdCB0byBm
b3JjZSB0aGlzIGZpbGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBidWlsZC4g
Ki8KICV0b2tlbiBTVVBQT1JUU19TWU0KICNlbmRpZgogJXRva2VuIEZPTlRfRkFDRV9TWU0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGVjMTRiMThkNjcyMGM1ODRjODFmZjk4YTA1NTY0
MWZjZDQ3Yjg4ZC4uNDViZDUwOWU1YTg5NjljMWQ0YmMzNWUyMjY2MDdmMmEzNTczZjY4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIyMDQsNiArMjIwNCwxMCBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlkIHx8IGlkID09IENTU1ZhbHVlRG91YmxlIHx8
IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09IENTU1ZhbHVlRGFzaGVkIHx8IGlkID09IENT
U1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAg
YnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
OgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5kZXIgfHwgWyBsZWZ0IHwgcmln
aHQgXSBdCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihpbXBvcnRh
bnQpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVpvb206ICAg
ICAgICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8bnVtYmVyPiB8IDxwZXJjZW50
YWdlPiB8IGluaGVyaXQKQEAgLTg4MjgsNiArODgzMiw1NCBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2Jvb2wgQ1NTUGFy
c2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCkKK3sKKyAgICBD
U1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAgIGlmICh2
YWx1ZS0+aWQgPT0gQ1NTVmFsdWVBdXRvKSB7CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3Bl
cnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZUFscGhhYmV0aWMpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVlTGlzdC0+
bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTVmFs
dWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAg
IGJvb2wgaXNWYWxpZCA9IHRydWU7CisgICAgYm9vbCBsZWZ0T3JSaWdodEFscmVhZHlQYXJzZWQg
PSBmYWxzZTsKKyAgICB3aGlsZSAoaXNWYWxpZCAmJiB2YWx1ZSkgeworICAgICAgICBzd2l0Y2gg
KHZhbHVlLT5pZCkgeworICAgICAgICBjYXNlIENTU1ZhbHVlTGVmdDoKKyAgICAgICAgY2FzZSBD
U1NWYWx1ZVJpZ2h0OgorICAgICAgICAgICAgaWYgKGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCkg
eworICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCA9
IHRydWU7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlzVmFsaWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlmIChpc1Zh
bGlkKQorICAgICAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgIH0KKwor
ICAgIGlmIChsaXN0LT5sZW5ndGgoKSAmJiBpc1ZhbGlkKSB7CisgICAgICAgIGFkZFByb3BlcnR5
KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBsaXN0LnJlbGVhc2UoKSwg
aW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZh
bHNlOworfQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBib29sIENTU1BhcnNlcjo6cGFyc2VUZXh0
RW1waGFzaXNTdHlsZShib29sIGltcG9ydGFudCkKIHsKICAgICB1bnNpZ25lZCB2YWx1ZUxpc3RT
aXplID0gbV92YWx1ZUxpc3QtPnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxN2Uz
YTdkNWJiOWIyZGU5NGQ4YzRmOGM2ZDA4MzA4OTMxMGU2Yjk3Li45MmEwMDUzNWYzYjVkZmI4Mzc1
ZjI1NzUyN2Q1Y2IyYTU5NWM4NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yNTEsNiAr
MjUxLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRUZXh0RGVjb3JhdGlvblByb3BlcnR5KENT
U1Byb3BlcnR5SUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+LCBib29sIGltcG9ydGFudCk7CiAgICAg
Ym9vbCBwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCk7CisjaWYgRU5BQkxFKENTUzNfVEVYVCkKKyAgICBib29sIHBhcnNlVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKIAogICAgIGJv
b2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUNh
bGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKiwgQ2FsY3VsYXRpb25QZXJtaXR0ZWRWYWx1ZVJhbmdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmlu
ZGV4IDJmNmY4ZDhjMzVjNzliZGNiNjAxMGJhZjExNTZjMTgwYzUyNDZkMGMuLjYyZmNkOTI0OTM1
YzhjNTZiNDk5ZTZlMWRkZTk0MTU2ZDc4NmNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjMyOSw2ICsyMzI5LDI1IEBAIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0RGVjb3JhdGlvblN0
eWxlKCkgY29uc3QKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gVGV4dERl
Y29yYXRpb25TdHlsZVNvbGlkOwogfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0
Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQXV0bzoKKyAgICAgICAgcmV0
dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0
aWM6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljOworICAg
IGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlv
blVuZGVyOworICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICByZXR1cm4gVGV4dFVuZGVy
bGluZVBvc2l0aW9uTGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgIHJldHVy
biBUZXh0VW5kZXJsaW5lUG9zaXRpb25SaWdodDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKK30KICNlbmRp
ZiAvLyBDU1MzX1RFWFQKIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEVUZXh0U2VjdXJpdHkgZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
Y3BwCmluZGV4IDhjM2RiNTBhMDA3ZWQxMzE4NjNkNzhkZjI3NjM3M2M4MmJiMzI2MGEuLmExZGE0
MjdiYTUyYjE2YjNjMTBhMGUyZTA4ZjIxNzBjZTA2ZWEzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmNwcApAQCAtMzI5LDYgKzMyOSw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJp
dGVkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShDU1MzX1RF
WFQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZToKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdDoKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgppbmRleCAxYjM0ZWRjMjc0NWE3MmRiZTA3Mjk0MjhkMzViZDgyYjdiNGIwYTkxLi42
YmYyNDIwNmY3MWY4MzczOTk5YzMyNDBlOTA1ZDcyMWUwMWY1ZDIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMzY1LDYgKzM2NSw3IEBAIHotaW5kZXgKIC13ZWJr
aXQtdGV4dC1kZWNvcmF0aW9uLWxpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlCiAt
d2Via2l0LXRleHQtYWxpZ24tbGFzdAorLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbgog
I2VuZGlmCiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0CiAtd2Via2l0LXRleHQt
ZW1waGFzaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCAzMGIxYzIxZDA0YmRmOTE3OGI2OTAy
MDA1MzBlZDY3Njk4NmVjZjdmLi5iNDdjMWY1Zjg3MGI2MzQ5ZWYyYjAyYTI2MmU2MTZmOTViYjA2
ZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0zOCw2ICszOCw3IEBACiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgV0VCS0lUX0tFWUZSQU1FU19SVUxFID0gNzsKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVfUlVMRSA9IDg7CiAjaWYgZGVmaW5lZChFTkFCTEVf
Q1NTM19DT05ESVRJT05BTF9SVUxFUykgJiYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMK
KyAgICAvKiBsaW5lIGFkZGVkIGp1c3QgdG8gZm9yY2UgdGhpcyBmaWxlIHRvIGJlIHByb2Nlc3Nl
ZCBkdXJpbmcgaW5jcmVtZW50YWwgYnVpbGQuICovCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
U1VQUE9SVFNfUlVMRSA9IDEyOwogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAmJiBFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDc1OTI2ZjYyN2EzN2YyMDZmMTE0ZjE2YTc3
NzI5ZThmZDkzNmU4MGIuLjc0OGEyOTM4YzZhMDk0NWUwNzM1ZWJiYjJhYmZiNjAyMDNhOGFiZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC05NDUsNiArOTQ1LDEx
IEBAIHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmICEoZGVmaW5lZChF
TkFCTEVfU1ZHKSAmJiBFTkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQpICYm
IEVOQUJMRV9DU1MzX1RFWFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KK2Fs
cGhhYmV0aWMKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogLy8gcG9zaXRpb24KICNpZiBkZWZpbmVk
KEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAmJiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElP
TgogLXdlYmtpdC1zdGlja3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggNmQ3
OGM2ODQ0NDJjYzdlMjRlYmY5YTYyODY3YmQ4ODk5ZmU3OThlNi4uMDNiOTQ3NTEzZmM3MDE5MTY5
OWY4NDU5ZjkzNmZhOWYzNDIxNmZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAK
QEAgLTExNDksNiArMTE0OSwzNCBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorI2lmIEVOQUJMRShD
U1MzX1RFWFQpCitjbGFzcyBBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVz
b2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIC8v
IFRoaXMgaXMgdHJ1ZSBpZiB2YWx1ZSBpcyAnYXV0bycgb3IgJ2FscGhhYmV0aWMnLgorICAgICAg
ICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkgeworICAgICAgICAgICAgVGV4dFVuZGVy
bGluZVBvc2l0aW9uIHQgPSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7
CisgICAgICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24odCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBUZXh0
VW5kZXJsaW5lUG9zaXRpb24gdCA9IHN0YXRpY19jYXN0PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4o
MCk7CisgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSh2YWx1ZSk7IGkuaGFzTW9y
ZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSBpLnZhbHVl
KCk7CisgICAgICAgICAgICBBU1NFUlQoaXRlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKTsKKyAgICAg
ICAgICAgIHQgfD0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlbSk7CisgICAg
ICAgIH0KKyAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVybGluZVBv
c2l0aW9uKHQpOworICAgIH0KKyAgICBzdGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRs
ZXIoKQorICAgIHsKKyAgICAgICAgUHJvcGVydHlIYW5kbGVyIGhhbmRsZXIgPSBBcHBseVByb3Bl
cnR5RGVmYXVsdEJhc2U8VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnRleHRV
bmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnNl
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5
bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVIYW5kbGVyKCk7CisgICAg
ICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0RnVuY3Rpb24oKSwgaGFu
ZGxlci5pbml0aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307CisjZW5kaWYg
Ly8gQ1NTM19URVhUCisKIGNsYXNzIEFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIq
IHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKQEAgLTE5MjMsNiArMTk1MSw3IEBAIFN0
eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsIEFwcGx5UHJvcGVydHlUZXh0RGVjb3JhdGlv
bjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlX
ZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLCBBcHBseVByb3BlcnR5RGVmYXVsdDxUZXh0RGVjb3Jh
dGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uU3R5bGUsIFRleHREZWNvcmF0
aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29y
YXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb25TdHlsZT46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
VGV4dEFsaWduTGFzdCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dEFsaWduTGFzdCwgJlJlbmRl
clN0eWxlOjp0ZXh0QWxpZ25MYXN0LCBUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnNldFRl
eHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRBbGln
bkxhc3Q+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxp
bmVQb3NpdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBBcHBseVByb3BlcnR5TGVu
Z3RoPCZSZW5kZXJTdHlsZTo6dGV4dEluZGVudCwgJlJlbmRlclN0eWxlOjpzZXRUZXh0SW5kZW50
LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0SW5kZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0T3ZlcmZsb3csIEFwcGx5UHJvcGVy
dHlEZWZhdWx0PFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjp0ZXh0T3ZlcmZsb3csIFRleHRP
dmVyZmxvdywgJlJlbmRlclN0eWxlOjpzZXRUZXh0T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJl
bmRlclN0eWxlOjppbml0aWFsVGV4dE92ZXJmbG93Pjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggODE4ODA4MTU5
MGFkYjBlMDk2MTE2Y2ZjMmExNmM3ZGZhMmMxMDdiYi4uMTM0MTRhNjZlZDFiOTdjNzBjODU3MDE3
YzAwM2E0OGZkNjdkZTgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKQEAgLTU2NCw2ICs1NjQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNf
VEVYVCkKICAgICBUZXh0RGVjb3JhdGlvblN0eWxlIHRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0RGVjb3JhdGlvblN0eWxlPihyYXJlTm9uSW5oZXJp
dGVkRGF0YS0+bV90ZXh0RGVjb3JhdGlvblN0eWxlKTsgfQogICAgIFRleHRBbGlnbkxhc3QgdGV4
dEFsaWduTGFzdCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRBbGlnbkxhc3Q+KHJh
cmVJbmhlcml0ZWREYXRhLT5tX3RleHRBbGlnbkxhc3QpOyB9CisgICAgVGV4dFVuZGVybGluZVBv
c2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dFVuZGVybGlu
ZVBvc2l0aW9uKTsgfQogI2Vsc2UKICAgICBUZXh0RGVjb3JhdGlvblN0eWxlIHRleHREZWNvcmF0
aW9uU3R5bGUoKSBjb25zdCB7IHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7IH0KICNl
bmRpZiAvLyBDU1MzX1RFWFQKQEAgLTExMDMsNiArMTEwNCw3IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoQ1NTM19URVhUKQogICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25TdHlsZShUZXh0RGVjb3Jh
dGlvblN0eWxlIHYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV90ZXh0RGVjb3Jh
dGlvblN0eWxlLCB2KTsgfQogICAgIHZvaWQgc2V0VGV4dEFsaWduTGFzdChUZXh0QWxpZ25MYXN0
IHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0QWxpZ25MYXN0LCB2KTsgfQor
ICAgIHZvaWQgc2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKFRleHRVbmRlcmxpbmVQb3NpdGlvbiB2
KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uLCB2
KTsgfQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHZvaWQgc2V0RGlyZWN0aW9uKFRleHREaXJl
Y3Rpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX2RpcmVjdGlvbiA9IHY7IH0KICAgICB2b2lkIHNl
dExpbmVIZWlnaHQoTGVuZ3RoIHNwZWNpZmllZExpbmVIZWlnaHQpOwpAQCAtMTU2MSw2ICsxNTYz
LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgc3RhdGljIFRleHREZWNv
cmF0aW9uU3R5bGUgaW5pdGlhbFRleHREZWNvcmF0aW9uU3R5bGUoKSB7IHJldHVybiBUZXh0RGVj
b3JhdGlvblN0eWxlU29saWQ7IH0KICAgICBzdGF0aWMgVGV4dEFsaWduTGFzdCBpbml0aWFsVGV4
dEFsaWduTGFzdCgpIHsgcmV0dXJuIFRleHRBbGlnbkxhc3RBdXRvOyB9CisgICAgc3RhdGljIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpbml0aWFsVGV4dFVuZGVybGluZVBvc2l0aW9uKCkgeyByZXR1
cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsgfQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
IHN0YXRpYyBmbG9hdCBpbml0aWFsWm9vbSgpIHsgcmV0dXJuIDEuMGY7IH0KICAgICBzdGF0aWMg
aW50IGluaXRpYWxPdXRsaW5lT2Zmc2V0KCkgeyByZXR1cm4gMDsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCBl
N2MxMDhmNDgyYjJlM2MxOTg1ZGRhOWJkMDcwNzA4Zjc5OTkyMmRiLi5kMGEzOTEwYTU0N2NkNjNl
NjZjYWRiMjY2MWVkNmVlYmYzYmFmMTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMzYwLDYgKzM2MCwxNCBA
QCBlbnVtIFRleHRBbGlnbkxhc3QgewogfTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKIAorI2lmIEVO
QUJMRShDU1MzX1RFWFQpCitlbnVtIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB7CisgICAgVGV4dFVu
ZGVybGluZVBvc2l0aW9uQXV0byA9IDB4MSwgVGV4dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRp
YyA9IDB4MiwgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIgPSAweDQsIFRleHRVbmRlcmxpbmVQ
b3NpdGlvbkxlZnQgPSAweDgsIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0ID0gMHgxMAorfTsK
K2lubGluZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24gb3BlcmF0b3J8IChUZXh0VW5kZXJsaW5lUG9z
aXRpb24gYSwgVGV4dFVuZGVybGluZVBvc2l0aW9uIGIpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQ
b3NpdGlvbihpbnQoYSkgfCBpbnQoYikpOyB9CitpbmxpbmUgVGV4dFVuZGVybGluZVBvc2l0aW9u
JiBvcGVyYXRvcnw9KFRleHRVbmRlcmxpbmVQb3NpdGlvbiYgYSwgVGV4dFVuZGVybGluZVBvc2l0
aW9uIGIpIHsgcmV0dXJuIGEgPSBhIHwgYjsgfQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBlbnVt
IEVQYWdlQnJlYWsgewogICAgIFBCQVVUTywgUEJBTFdBWVMsIFBCQVZPSUQKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHAKaW5kZXggMjg4MjZjMjk5MzQxZTBmMWJhMDRjYWZiZWQ4ZjJlNDA1NTFmYzA2NC4u
ZTYyMzIzYWY1MGRiODI2OWI1MmFjZjkyNzNmNmQ0MWIxNmU2NWQyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmNwcApAQCAtMTA0LDYgKzEwNCw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFy
ZUluaGVyaXRlZERhdGEoKQogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAsIG1f
dGV4dEFsaWduTGFzdChSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRBbGlnbkxhc3QoKSkKKyAgICAs
IG1fdGV4dFVuZGVybGluZVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKCkpCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgLCBtX3J1YnlQb3NpdGlvbihS
ZW5kZXJTdHlsZTo6aW5pdGlhbFJ1YnlQb3NpdGlvbigpKQogICAgICwgaHlwaGVuYXRpb25MaW1p
dEJlZm9yZSgtMSkKQEAgLTE3NCw2ICsxNzUsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpT
dHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAj
ZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KG8ubV90
ZXh0QWxpZ25MYXN0KQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oby5tX3RleHRVbmRl
cmxpbmVQb3NpdGlvbikKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIG1fcnVieVBvc2l0aW9u
KG8ubV9ydWJ5UG9zaXRpb24pCiAgICAgLCBoeXBoZW5hdGlvblN0cmluZyhvLmh5cGhlbmF0aW9u
U3RyaW5nKQpAQCAtMjcwLDYgKzI3Miw3IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6
b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogI2VuZGlm
CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAgICAgJiYgbV90ZXh0QWxpZ25MYXN0ID09IG8u
bV90ZXh0QWxpZ25MYXN0CisgICAgICAgICYmIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uID09IG8u
bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAgJiYg
bV9ydWJ5UG9zaXRpb24gPT0gby5tX3J1YnlQb3NpdGlvbgogICAgICAgICAmJiBtX2xpbmVTbmFw
ID09IG8ubV9saW5lU25hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggYjIyODFmNzcyOTcwN2Y3YzEzYjQ1
OTlhYTc2ZGYwYjU5ZTllNzNhYy4uZDJiYTAwN2Y0MzhjNGI1MGRjZWE5YzMwYjU2MTA2ZmM0MTEz
NDAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC0xMTgsNiArMTE4LDcgQEAgcHVibGljOgogI2VuZGlm
CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB1bnNpZ25lZCBtX3RleHRBbGlnbkxhc3QgOiAz
OyAvLyBUZXh0QWxpZ25MYXN0CisgICAgdW5zaWduZWQgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
OiA1OyAvLyBUZXh0VW5kZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB1
bnNpZ25lZCBtX3J1YnlQb3NpdGlvbiA6IDE7IC8vIFJ1YnlQb3NpdGlvbgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggZWRjM2MyODA1OTdiMmVkYjhhYTM2YTNjOWFiOGRk
MDRmNDJiYzA2OS4uOGNkYzdmMDc4ZWU0NDc3MTI0N2NjZmY2MjU0Y2M5Y2UxZmFjZjQ1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtMzksOCArMzksOCBAQAogICAgICAg
J0VOQUJMRV9DQU5WQVNfUFJPWFk9MScsCiAgICAgICAnRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
PTEnLAogICAgICAgJ0VOQUJMRV9DU1BfTkVYVD0xJywKLSAgICAgICdFTkFCTEVfQ1NTM19DT05E
SVRJT05BTF9SVUxFUz0wJywKLSAgICAgICdFTkFCTEVfQ1NTM19URVhUPTAnLAorICAgICAgJ0VO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTEnLAorICAgICAgJ0VOQUJMRV9DU1MzX1RFWFQ9
MScsCiAgICAgICAnRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSz0xJywKICAgICAgICdF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HPTAnLAogICAgICAgJ0VOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT049MCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGZmZDgyYTAyNTRlNzgzOGY0OTcxYzEzOGM5
ODViN2M5ODUyZTkyNzIuLmQzOGJhMWNkMDhiMTUxNDM4NjVjODE3MzU3NDI4Mjk2Mzg4ZWM3NGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00OSw4ICs0OSw4IEBAIEVOQUJMRV9DU1NfU0hBREVSUyA9
IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19U
UkFOU0lUSU9OU19VTlBSRUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNf
VFJBTlNJVElPTlNfVU5QUkVGSVhFRDsKIEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwotRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7Ci1FTkFCTEVfQ1NTM19URVhUID0gOworRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUzsK
K0VOQUJMRV9DU1MzX1RFWFQgPSBFTkFCTEVfQ1NTM19URVhUOwogRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
X21hY29zeCA9IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmZkODJh
MDI1NGU3ODM4ZjQ5NzFjMTM4Yzk4NWI3Yzk4NTJlOTI3Mi4uZDM4YmExY2QwOGIxNTE0Mzg2NWM4
MTczNTc0MjgyOTYzODhlYzc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDggKzQ5LDggQEAgRU5BQkxF
X0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9T
SVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JN
U19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NTX1RSQU5TRk9S
TVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxFX0NTU19WQVJJQUJM
RVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVOQUJMRV9DU1MzX1RF
WFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1MzX1RFWFQ7CiBFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0g
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0NvbW1vbi5jbWFrZQppbmRleCA0MTM3ZDNiNjMwZDIzY2MzYWFiZTdjMGIwNzk0MGRlYWJl
ZGViYmFlLi43MTk1YTcxMTFkZDkxNzkzZjNiM2Y3NDlhNjc4NTkwYWRiNTQzZTcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0NvbW1vbi5jbWFrZQpAQCAtMzcsMyArMzcsNiBAQCBzZXQoTElCX1NVRkZJWCAiIiBD
QUNIRSBTVFJJTkcgIkRlZmluZSBzdWZmaXggb2YgZGlyZWN0b3J5IG5hbWUgKDMyLzY0KSIpCiAK
IHNldChMSUJfSU5TVEFMTF9ESVIgImxpYiR7TElCX1NVRkZJWH0iIENBQ0hFIFBBVEggIldoZXJl
IHRvIGluc3RhbGwgbGlicmFyaWVzIChsaWIke0xJQl9TVUZGSVh9KSIpCiBzZXQoRVhFQ19JTlNU
QUxMX0RJUiAiYmluIiBDQUNIRSBQQVRIICJXaGVyZSB0byBpbnN0YWxsIGV4ZWN1dGFibGVzIikK
KworV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
M19URVhUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
IGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDEwMWU0MGMxZWI0MGMx
NzRjNTBiZDZkYmZhOWM3MjUzOTQ0NmYyMjEuLjhhYTA5ODBmNzYxZTY5ZDUxMDRkZDc0ZDBmOTI5
YmI2MjcwN2ZiYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTIxLDggKzIxLDgg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1l
c3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSAxLjEgc3VwcG9ydCIgT0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTICJUb2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0
IiBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUzNfVEVYVCAiVG9nZ2xl
IENTUzMgVGV4dCBzdXBwb3J0IiBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2dsZSBDU1MzIENvbmRpdGlvbmFsIFJ1bGVzIHN1
cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1MzX1RFWFQgIlRv
Z2dsZSBDU1MzIFRleHQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyAiVG9nZ2xlIEJveCBEZWNvcmF0aW9uIGJyZWFr
IChDU1MgQmFja2dyb3VuZHMgYW5kIEJvcmRlcnMpIHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcgIlRvZ2dsZSBDU1MgQ09NUE9TSVRJ
Tkcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04gIlRvZ2dsZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24gc3VwcG9ydCIgT0ZG
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDM5MmJmNTBmNDhh
YTVhYmFlYTFkNjZkNTcwNDU0N2E5MTg1MmRlZWMuLmNlNzhlNTFhZTAyMDEwNmU5ZjI0YjgyOGI5
ZDQ0MDdmZDY0MDgxNDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0K
QEAgLTE4NSwxMCArMTg1LDEzIEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0NTU19GSUxURVJTIiwgZGVmYXVsdCA9PiBpc0FwcGxlV2ViS2l0KCkgfHwgaXNCbGFj
a0JlcnJ5KCksIHZhbHVlID0+IFwkY3NzRmlsdGVyc1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9u
ID0+ICJjc3MzLWNvbmRpdGlvbmFsLXJ1bGVzIiwgZGVzYyA9PiAiVG9nZ2xlIENTUzMgQ29uZGl0
aW9uYWwgUnVsZXMgc3VwcG9ydCAoaS5lLiBcQHN1cHBvcnRzKSIsCi0gICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBc
JGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVf
Q1NTM19DT05ESVRJT05BTF9SVUxFUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRjc3MzQ29u
ZGl0aW9uYWxSdWxlc1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJjc3MzLXRleHQiLCBk
ZXNjID0+ICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfQ1NTM19URVhUIiwgZGVmYXVsdCA9PiAoaXNFZmwoKSB8fCBpc0d0aygpKSwgdmFsdWUgPT4g
XCRjc3MzVGV4dFN1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfVEVYVCIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRjc3MzVGV4dFN1cHBvcnQgfSwKKworICAgIHsgb3B0
aW9uID0+ICJjc3MtaGllcmFyY2hpZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIEhpZXJhcmNoeSBz
dXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19ISUVSQVJDSElFUyIsIGRlZmF1
bHQgPT4gMCwgdmFsdWUgPT4gXCRjc3NIaWVyYXJjaGllc1N1cHBvcnQgfSwKIAogICAgIHsgb3B0
aW9uID0+ICJjc3MtYm94LWRlY29yYXRpb24tYnJlYWsiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIGJv
eC1kZWNvcmF0aW9uLWJyZWFrIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzc0JveERl
Y29yYXRpb25CcmVha1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL3FtYWtlL21rc3BlY3Mv
ZmVhdHVyZXMvZmVhdHVyZXMucHJpIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0
dXJlcy5wcmkKaW5kZXggZTNlNDA4YmVkYWJlOWFhNWFlNWQ0M2FiODJkOWJjN2JhOGQxYWI3MC4u
ODgzNzM3MzE1NDAxYWM2MGMwMzdlMjQyNjdiYmJjYzZiMzRhYWQzMiAxMDA2NDQKLS0tIGEvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKKysrIGIvVG9vbHMvcW1ha2Uv
bWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKQEAgLTM0LDggKzM0LDggQEAgRkVBVFVSRV9E
RUZBVUxUUyA9IFwKICAgICBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTj0xIFwKICAgICBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEPTEgXAog
ICAgIEVOQUJMRV9DU1NfVkFSSUFCTEVTPTAgXAotICAgIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFM
X1JVTEVTPTAgXAotICAgIEVOQUJMRV9DU1MzX1RFWFQ9MCBcCisgICAgRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVM9MSBcCisgICAgRU5BQkxFX0NTUzNfVEVYVD0xIFwKICAgICBFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQ9MCBcCiAgICAgRU5BQkxFX0RBVEFHUklEPTAgXAogICAgIEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UPTEgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2ZDMwYjc3ZmQ0M2MyNjdhODQyYTlhNDBj
YjdlM2IzZDc2MDA2ZjIuLmQ0NjQxOTEwYTdkODU2OWViZDY1Mjk3YTVhZjU1ZGQ1MDNiZmEzZDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMS0xNyAgTGFtYXJxdWUgVi4gU291emEgIDxM
YW1hcnF1ZS5Tb3V6YUBiYXN5c2tvbS5jb20+CisKKyAgICAgICAgW2NzczMtdGV4dF0gQWRkIHBh
cnNpbmcgc3VwcG9ydCB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSBmcm9tIENTUzMg
VGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgZ2V0Q29tcHV0ZWRTdHlsZSBsYXlvdXQgdGVzdHMgZm9yICd0ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicgQ1NTMworICAgICAgICBwcm9wZXJ0eSwgd2l0aCAnd2Via2l0JyBwcmVmaXguCisKKyAg
ICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbi5qczogQWRkZWQuCisgICAgICAgICh0ZXN0RWxlbWVudFN0eWxlKToKKyAgICAgICAgKHRl
c3RDb21wdXRlZFN0eWxlKToKKwogMjAxMy0wMS0xNiAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9t
aW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFVucmV2aWV3ZWQgZ2Fy
ZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0
LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2Nz
czMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg4ZjkyOTQwZjQy
NTk5OTc3ZjE0NzQ5Mzg0NGJjOGQyOWQxZTIxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw5NyBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BB
U1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnJzoKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisK
K0luaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQ1NTVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0aWFsJworUEFTUyBjb21w
dXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhdXRvJzoKK1BBU1MgZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NU
ZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisK
K1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBoYWJldGljJwor
UEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFi
ZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2FscGhhYmV0aWMnCisKK1Zh
bHVlICd1bmRlcic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICd1bmRlcicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3Rd
JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ3VuZGVyJworCitWYWx1ZSAnbGVmdCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQnCitQQVNTIGNv
bXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0JworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQnCisKK1ZhbHVlICdyaWdodCc6CitQQVNTIGUuc3R5
bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdyaWdodCcKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlz
ICdyaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
aXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1Zh
bHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0JworCitWYWx1ZSAn
dW5kZXIgbGVmdCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICd1bmRlciBsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVk
U3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0JworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK0FuY2VzdG9yIGluaGVyaXRzIHZh
bHVlcyBmcm9tIHBhcmVudDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BBU1MgY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworCitWYWx1ZSAndW5kZXIgcmlnaHQnOgorUEFT
UyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5z
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykuY3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NU
ZXh0IGlzICd1bmRlciByaWdodCcKKworQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFy
ZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJp
bmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0
IGlzICd1bmRlciByaWdodCcKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2Nz
czMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3Nz
My10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ1ZDc3MjM1YjExMmUwNmI0Y2Mx
Yjg1NjAwZWUzNGIwZTNlODZjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9u
L2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY5NTEzZTc0MTMwZDE0MTFjZWVkMDlhZjJi
NWUxYTNiOTg0NTZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10
ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dl
dENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMKQEAgLTAsMCArMSwxMDAg
QEAKK2Z1bmN0aW9uIHRlc3RFbGVtZW50U3R5bGUocHJvcGVydHlKUywgcHJvcGVydHlDU1MsIHR5
cGUsIHZhbHVlKQoreworICAgIGlmICh0eXBlICE9IG51bGwpIHsKKyAgICAgICAgc2hvdWxkQmUo
ImUuc3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVlICsgIiciKTsKKyAgICAgICAgc2hv
dWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicp
LnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAi
JyIgKyB2YWx1ZSArICInIik7CisgICAgfSBlbHNlCisgICAgICAgIHNob3VsZEJlTnVsbCgiZS5z
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5bGUocHJvcGVydHlKUywgcHJvcGVydHlDU1MsIHR5cGUs
IHZhbHVlKQoreworICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShl
LCBudWxsKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS4iICsgcHJvcGVydHlKUywgIici
ICsgdmFsdWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmluZygpIiwgIiciICsgdHlwZSAr
ICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
IiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAiJyIgKyB2YWx1ZSArICInIik7Cit9CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSAtd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Blcmx5LiIpCisKK3ZhciB0ZXN0Q29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cit0ZXN0Q29udGFpbmVyLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RDb250
YWluZXIpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0Ij5oZWxs
byB3b3JsZDwvZGl2Pic7CitkZWJ1ZygiSW5pdGlhbCB2YWx1ZToiKTsKK2UgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdCcpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAn
Jyk7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJyc6Iik7CitlLnN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICcnOwordGVzdEVsZW1lbnRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCBudWxsLCAnJyk7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiSW5pdGlhbCB2
YWx1ZSAoZXhwbGljaXQpOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
PSAnaW5pdGlhbCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVl
XSIsICJpbml0aWFsIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2F1
dG8nOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnYXV0byc7Cit0
ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJh
dXRvIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwg
Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVW
YWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2FscGhhYmV0aWMn
OiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnYWxwaGFiZXRpYyc7
Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIs
ICJhbHBoYWJldGljIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFiZXRpYyIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ3VuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3Vu
ZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIs
ICJ1bmRlciIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVM
aXN0XSIsICJ1bmRlciIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2xlZnQnOiIpOwor
ZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVmdCc7Cit0ZXN0RWxlbWVu
dFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAibGVmdCIpOwordGVzdENv
bXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJsZWZ0Iik7Citk
ZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAncmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24gPSAncmlnaHQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAi
W29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInJpZ2h0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInJpZ2h0Iik7CitkZWJ1ZygnJyk7CisKK2Rl
YnVnKCJWYWx1ZSAndW5kZXIgbGVmdCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICd1bmRlciBsZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmpl
Y3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK2RlYnVnKCcnKTsK
KwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxl
PSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlciBsZWZ0OyI+aGVsbG8gPHNw
YW4gaWQ9InRlc3QtYW5jZXN0b3IiPndvcmxkPC9zcGFuPjwvZGl2Pic7CitkZWJ1ZygiQW5jZXN0
b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0LWFuY2VzdG9yJyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGws
ICIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAidW5kZXIgbGVmdCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIHJpZ2h0
JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIHJpZ2h0
JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1
bmRlciByaWdodCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFs
dWVMaXN0XSIsICJ1bmRlciByaWdodCIpOworZGVidWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlu
bmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVudCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb246IHVuZGVyIHJpZ2h0OyI+aGVsbG8gPHNwYW4gaWQ9InRlc3QtYW5jZXN0
b3IiPndvcmxkPC9zcGFuPjwvZGl2Pic7CitkZWJ1ZygiQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVz
IGZyb20gcGFyZW50OiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWFuY2Vz
dG9yJyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK3Rlc3RDb21wdXRl
ZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsK
K2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDk1YmQzNGJhODJlMzJkZTVmODUyNDA0NzQxZTNmNThmODM5ZWFlNjUuLjI1MzhjZmU5NmU5ZjNm
MWI2ZTVjNzRjOTI5NWQzN2IzZjIwZTg4NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjE4LDEwICsyMTgsNiBAQCB3ZWJraXQub3Jn
L2IvODUyNjIgZmFzdC9tZWRpYS9tcS1yZXNvbHV0aW9uLWRwaS1kcGNtLXdhcm5pbmcuaHRtbCBb
IFNraXAgXQogIyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogd2Vi
a2l0Lm9yZy9iLzg5MDUyIGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uCiAKLSMgQ1NTMyBUZXh0
IHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkIChuZWVkcyBFTkFCTEVfQ1NTM19URVhUKS4KLXdl
YmtpdC5vcmcvYi81ODQ5MSBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbgotd2Vi
a2l0Lm9yZy9iLzc2MTczIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1hbGlnbi1sYXN0Ci0KICMg
Q2hyb21pdW0gZG9lcyBub3Qgc3VwcG9ydCBzbWFydCBwYXN0aW5nIGluIHRleHQgY29udHJvbHMg
eWV0Lgogd2Via2l0Lm9yZy9iLzYwODMwIGVkaXRpbmcvcGFzdGVib2FyZC9zbWFydC1wYXN0ZS1p
bi10ZXh0LWNvbnRyb2wuaHRtbAogCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rv
b2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4v
dG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCmluZGV4IDgzZTgzNTcwYWZkMTUw
OTVkNWY0MTI3MTM2NjE5ZWY3NTNiYzAwZjAuLjM2OWQzMTYyZTI3ZDVmZWY3MWQ4NTM5OTBlZjFm
ODlkOGNiM2U2YWEgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9w
cy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCisrKyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMv
dnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCkBAIC00OCwxMiArNDgsMTIgQEAKIAkvPgog
ICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIgotCQlW
YWx1ZT0iIgorCQlWYWx1ZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiCiAJCVBlcmZv
cm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJM
RV9DU1MzX1RFWFQiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19URVhUIgogCQlQ
ZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybwpkaWZmIC0tZ2l0
IGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8u
dnNwcm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5l
c0NhaXJvLnZzcHJvcHMKaW5kZXggNWQ1ZDJiOTcyNDYxNTM2NTM2MGZmYzBhMjkwNTFiNzE1ZDkz
Mjg3Yi4uN2I2NGQzNzU3OWQwZTU0ODNlYWM4NjUzMGQ5OWQ3M2QxYTk1N2E4NCAxMDA2NDQKLS0t
IGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8u
dnNwcm9wcworKysgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURl
ZmluZXNDYWlyby52c3Byb3BzCkBAIC00MywxMiArNDMsMTIgQEAKIAkvPgogICA8VXNlck1hY3Jv
CiAJCU5hbWU9IkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIgotCQlWYWx1ZT0iIgorCQlW
YWx1ZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiCiAJCVBlcmZvcm1FbnZpcm9ubWVu
dFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9DU1MzX1RFWFQi
Ci0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19URVhUIgogCQlQZXJmb3JtRW52aXJv
bm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybwpkaWZmIC0tZ2l0IGEvY29uZmlndXJl
LmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDlmMzU4YWIzZDQzMDhiNTgxNzU5MTgyZWQ0ZmU5NDNj
Yjk4YzgwOWYuLjljYjAwYzVhZjJhYzE5MTM3MWNkYWEwYzlmMjc2ZWViNDY5YzYyYWUgMTAwNjQ0
Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTczMyw2ICs3MzMsMjQg
QEAgQUNfQVJHX0VOQUJMRShjb3ZlcmFnZSwKICAgICAgICAgICAgICAgW10sW2VuYWJsZV9jb3Zl
cmFnZT0ibm8iXSkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfY292ZXJhZ2VdKQogCisjIGNoZWNr
IHdoZXRoZXIgdG8gZW5hYmxlIENTUzMgY29uZGl0aW9uYWwgcnVsZXMgc3VwcG9ydAorQUNfTVNH
X0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIGNvbmRpdGlvbmFsIHJ1bGVzIHN1cHBv
cnRdKQorQUNfQVJHX0VOQUJMRShjc3MzX2NvbmRpdGlvbmFsX3J1bGVzLAorICAgICAgICAgICAg
ICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZGl0aW9uYWwtcnVsZXNdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIENTUzMgY29uZGl0aW9uYWwgcnVsZXMgc3VwcG9y
dCBbZGVmYXVsdD15ZXNdXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfY3NzM19jb25kaXRp
b25hbF9ydWxlcz0ieWVzIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2NzczNfY29uZGl0aW9u
YWxfcnVsZXNdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
XSxbdGVzdCAiJGVuYWJsZV9jc3MzX2NvbmRpdGlvbmFsX3J1bGVzIiA9ICJ5ZXMiXSkKKworIyBj
aGVjayB3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIHRleHQgZGVjb3JhdGlvbiBzdXBwb3J0CitBQ19N
U0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIENTUzMgdGV4dCBkZWNvcmF0aW9uIHN1cHBv
cnRdKQorQUNfQVJHX0VOQUJMRShjc3MzX3RleHQsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RS
SU5HKFstLWVuYWJsZS1jc3MzLXRleHQtZGVjb3JhdGlvbl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtlbmFibGUgQ1NTMyB0ZXh0IGRlY29yYXRpb24gc3VwcG9ydCBbZGVmYXVsdD15
ZXNdXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfY3NzM190ZXh0PSJ5ZXMiXSkKK0FDX01T
R19SRVNVTFQoWyRlbmFibGVfY3NzM190ZXh0XSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfQ1NT
M19URVhUXSxbdGVzdCAiJGVuYWJsZV9jc3MzX3RleHQiID0gInllcyJdKQorCiAjIGNoZWNrIHdo
ZXRoZXIgdG8gZW5hYmxlIEZhc3RNYWxsb2MKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBl
bmFibGUgb3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3JdKQogQUNfQVJHX0VOQUJMRShmYXN0X21h
bGxvYywK
</data>
<flag name="commit-queue"
          id="201561"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183309</attachid>
            <date>2013-01-17 16:26:39 -0800</date>
            <delta_ts>2013-02-22 11:24:10 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130117222337.patch</filename>
            <type>text/plain</type>
            <size>47803</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1Nzc4NTZlZmMzNzU3
NzFjYmZkOTlkOGNjNWM0MDdhYTFiY2QxNy4uYWM2NjI1M2UwOTFhZDBlMjZjZGU5MTUxOGQ0NmRj
NGQ4ZGY3ZmQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAxLTE3ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAx
LTE2ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBmaXggYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBF
bGVtZW50LnJlbW92ZSgpIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDE1ZTcw
NTViMzEzNDI0ZmQyZjllMDQ2ODcyYTFlZmJlOWI5YmQ0ZDIuLmRlMmRlZjFiYWEwMGY1NmRhM2Ni
YjlkODMzZWMyYzRkYzE0Nzk1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
LUVOQUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9D
U1MzX1RFWFQ7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA0ZDg2OTI1ZDZmODZmYTU5ZjkxYzVjMjVmMGQ3NzM2ODlk
NDY3YTg2Li42MmEyNGM1YjBkMzEwZGVmMjY4ZWEyMTJmOThiZGY5YzNjYzJiMmQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDksOCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NI
QURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5Q
UkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VO
UFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19U
RVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7
CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8k
KFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5mZWF0dXJlcy5hbS5pbiBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVz
LmFtLmluCmluZGV4IDViZDM3Yzc3NGJjNDRkMDhkOTY1NmJiYmIzODJkY2IyOWM0Yzg3ZDAuLjZl
NWYxOWI5YWE1NTI1NThkOTM5MmM1MDlkOWZjM2VkN2U2MWQyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCkBAIC02LDcgKzYsNyBAQCBmZWF0dXJlX2RlZmlu
ZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9DQU5WQVNfUFJPWFk9MCBcCiAJRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HPTEgXAogCUVOQUJMRV9DU1BfTkVYVD0wIFwKLQlFTkFCTEVfQ1NTM19URVhU
PTAgXAorCUVOQUJMRV9DU1MzX1RFWFQ9MSBcCiAJRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSz0xIFwKIAlFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HPTAgXAogCUVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT049MCBcCkBAIC0xOSw3ICsxOSw3IEBAIGZlYXR1cmVfZGVmaW5lc19kZWZhdWx0
cyArPSBcCiAJRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT049MCBcCiAJRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRD0xIFwKIAlFTkFCTEVfQ1NT
X1ZBUklBQkxFUz0wIFwKLQlFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0wIFwKKwlFTkFC
TEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xIFwKIAlFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSPTAgXAogCUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKIAlFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVD0wIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKaW5kZXggZDU3Nzc3MjMxM2VhNmJhMTg2Njk4MTAwZDAyOTFhMzQ2MzZm
OWE0OS4uMzIxNDdhMTNjYjdmYjRjNjFhMDgwYzhhMTQ4MjY4OWQ1NjQ2M2I0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAg
LTE5MCw2ICsxOTAsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21wdXRlZFByb3Bl
cnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwKICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsCiAgICAgQ1NTUHJvcGVydHlX
ZWJraXRUZXh0QWxpZ25MYXN0LAorICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uLAogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIENTU1Byb3BlcnR5VGV4dEluZGVudCwK
ICAgICBDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsCkBAIC0xMzE3LDYgKzEzMTgsMjkgQEAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1Rv
Q1NTVmFsdWUoVGV4dERlY29yYXQKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKIH0KKworc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdz
VG9DU1NWYWx1ZShUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKQor
eworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9u
QXV0bykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShDU1NWYWx1ZUF1dG8pOworCisgICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBUZXh0
VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljKQorICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWxwaGFiZXRpYyk7CisKKyAgICBSZWZQ
dHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRl
ZCgpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBUZXh0VW5kZXJsaW5lUG9zaXRp
b25VbmRlcikKKyAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZShDU1NWYWx1ZVVuZGVyKSk7CisgICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlv
biAmIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NW
YWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVMZWZ0KSk7CisgICAgZWxz
ZSBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uUmlnaHQp
CisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVSaWdodCkpOworCisgICAgaWYgKGxpc3QtPmxlbmd0aCgpKQorICAgICAgICBy
ZXR1cm4gbGlzdDsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBjc3NW
YWx1ZVBvb2woKS5jcmVhdGVFeHBsaWNpdEluaXRpYWxWYWx1ZSgpOworfQogI2VuZGlmIC8vIENT
UzNfVEVYVAogCiBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gZmlsbFJlcGVhdFRvQ1NTVmFs
dWUoRUZpbGxSZXBlYXQgeFJlcGVhdCwgRUZpbGxSZXBlYXQgeVJlcGVhdCkKQEAgLTIxMDAsNiAr
MjEyNCw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAgICAgICAgICAgICByZXR1cm4gcmVu
ZGVyVGV4dERlY29yYXRpb25TdHlsZUZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dERlY29yYXRp
b25TdHlsZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6
CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPnRl
eHRBbGlnbkxhc3QoKSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb246CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dFVuZGVybGluZVBvc2l0
aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSk7CiAjZW5k
aWYgLy8gQ1NTM19URVhUCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3Jh
dGlvbnNJbkVmZmVjdDoKICAgICAgICAgICAgIHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvbkZs
YWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCA2MTg3ZDZjMTU0NWE4ZTNjMDcxNzY0MjBlMDRhOTNl
ZDQxZWMwODEyLi5hZjRlZWQwZjMyZDhmN2U2Y2Q4MzM0YTIyMTBhMWJiMzI1YmRjNzU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTkzLDYgKzkzLDcgQEAgc3RhdGljIGlubGlu
ZSBpbnQgY3NzeXllcnJvcih2b2lkKiwgY29uc3QgY2hhciopCiAldG9rZW4gUEFHRV9TWU0KICV0
b2tlbiBNRURJQV9TWU0KICNpZiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUworLyogbGlu
ZSBhZGRlZCBqdXN0IHRvIGZvcmNlIHRoaXMgZmlsZSB0byBiZSBwcm9jZXNzZWQgZHVyaW5nIGlu
Y3JlbWVudGFsIGJ1aWxkLiAqLwogJXRva2VuIFNVUFBPUlRTX1NZTQogI2VuZGlmCiAldG9rZW4g
Rk9OVF9GQUNFX1NZTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA4ZWMxNGIxOGQ2NzIw
YzU4NGM4MWZmOThhMDU1NjQxZmNkNDdiODhkLi40NWJkNTA5ZTVhODk2OWMxZDRiYzM1ZTIyNjYw
N2YyYTM1NzNmNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjIwNCw2ICsyMjA0
LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlU29saWQgfHwgaWQgPT0g
Q1NTVmFsdWVEb3VibGUgfHwgaWQgPT0gQ1NTVmFsdWVEb3R0ZWQgfHwgaWQgPT0gQ1NTVmFsdWVE
YXNoZWQgfHwgaWQgPT0gQ1NTVmFsdWVXYXZ5KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUg
PSB0cnVlOwogICAgICAgICBicmVhazsKKworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAgIC8vIGF1dG8gfCBhbHBoYWJldGljIHwgWyB1bmRl
ciB8fCBbIGxlZnQgfCByaWdodCBdIF0KKyAgICAgICAgcmV0dXJuIHBhcnNlVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKGltcG9ydGFudCk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKICAgICBjYXNlIENT
U1Byb3BlcnR5Wm9vbTogICAgICAgICAgLy8gbm9ybWFsIHwgcmVzZXQgfCBkb2N1bWVudCB8IDxu
dW1iZXI+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdApAQCAtODgyOCw2ICs4ODMyLDU0IEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTM19U
RVhUKQorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1w
b3J0YW50KQoreworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJy
ZW50KCk7CisgICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUF1dG8pIHsKKyAgICAgICAgYWRk
UHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAg
ICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisK
KyAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlQWxwaGFiZXRpYykgeworICAgICAgICBhZGRQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgY3NzVmFsdWVQ
b29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7CisgICAg
ICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNl
U2VwYXJhdGVkKCk7CisgICAgYm9vbCBpc1ZhbGlkID0gdHJ1ZTsKKyAgICBib29sIGxlZnRPclJp
Z2h0QWxyZWFkeVBhcnNlZCA9IGZhbHNlOworICAgIHdoaWxlIChpc1ZhbGlkICYmIHZhbHVlKSB7
CisgICAgICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVMZWZ0
OgorICAgICAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgICAgICBpZiAobGVmdE9yUmln
aHRBbHJlYWR5UGFyc2VkKSB7CisgICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGVmdE9yUmln
aHRBbHJlYWR5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZSh2YWx1ZS0+aWQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKGlzVmFsaWQpCisgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5u
ZXh0KCk7CisgICAgfQorCisgICAgaWYgKGxpc3QtPmxlbmd0aCgpICYmIGlzVmFsaWQpIHsKKyAg
ICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24s
IGxpc3QucmVsZWFzZSgpLCBpbXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogewogICAgIHVu
c2lnbmVkIHZhbHVlTGlzdFNpemUgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IDE3ZTNhN2Q1YmI5YjJkZTk0ZDhjNGY4YzZkMDgzMDg5MzEwZTZiOTcuLjky
YTAwNTM1ZjNiNWRmYjgzNzVmMjU3NTI3ZDVjYjJhNTk1Yzg1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTI1MSw2ICsyNTEsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNv
cmF0aW9uUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wg
aW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wg
cGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENT
UzNfVEVYVAogCiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsK
ICAgICBib29sIHBhcnNlQ2FsY3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBl
cm1pdHRlZFZhbHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmgKaW5kZXggMmY2ZjhkOGMzNWM3OWJkY2I2MDEwYmFmMTE1NmMxODBjNTI0
NmQwYy4uNjJmY2Q5MjQ5MzVjOGM1NmI0OTllNmUxZGRlOTQxNTZkNzg2Y2M1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMzI5LDYg
KzIzMjksMjUgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IFRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBj
b25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVB
dXRvOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNl
IENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlv
bkFscGhhYmV0aWM7CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4
dFVuZGVybGluZVBvc2l0aW9uVW5kZXI7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAg
IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVSaWdo
dDoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0OworICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRp
b25BdXRvOworfQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggOGMzZGI1MGEwMDdlZDEzMTg2M2Q3OGRmMjc2Mzcz
YzgyYmIzMjYwYS4uYTFkYTQyN2JhNTJiMTZiM2MxMGEwZTJlMDhmMjE3MGNlMDZlYTM5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQ
cm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAj
aWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29y
YXRpb25MaW5lOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8g
Q1NTM19URVhUCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZm
ZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDFiMzRlZGMyNzQ1YTcyZGJlMDcyOTQyOGQz
NWJkODJiN2I0YjBhOTEuLjZiZjI0MjA2ZjcxZjgzNzM5OTljMzI0MGU5MDVkNzIxZTAxZjVkMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjUsNiArMzY1LDcg
QEAgei1pbmRleAogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGluZQogLXdlYmtpdC10ZXh0LWRl
Y29yYXRpb24tc3R5bGUKIC13ZWJraXQtdGV4dC1hbGlnbi1sYXN0Cistd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uCiAjZW5kaWYKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZl
Y3QKIC13ZWJraXQtdGV4dC1lbXBoYXNpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IDMwYjFj
MjFkMDRiZGY5MTc4YjY5MDIwMDUzMGVkNjc2OTg2ZWNmN2YuLmI0N2MxZjVmODcwYjYzNDllZjJi
MDJhMjYyZTYxNmY5NWJiMDZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTM4LDYgKzM4
LDcgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3
OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gODsKICNp
ZiBkZWZpbmVkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAmJiBFTkFCTEVfQ1NTM19D
T05ESVRJT05BTF9SVUxFUworICAgIC8qIGxpbmUgYWRkZWQganVzdCB0byBmb3JjZSB0aGlzIGZp
bGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBidWlsZC4gKi8KICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CiAjZW5kaWYKICNpZiBkZWZpbmVk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggNzU5MjZmNjI3
YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uNzQ4YTI5MzhjNmEwOTQ1ZTA3MzVlYmJi
MmFiZmI2MDIwM2E4YWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
QEAgLTk0NSw2ICs5NDUsMTEgQEAgd3JhcAogLy8gLXdlYmtpdC1saW5lLWFsaWduCiBlZGdlcwog
CisjaWYgIShkZWZpbmVkKEVOQUJMRV9TVkcpICYmIEVOQUJMRV9TVkcpICYmIGRlZmluZWQoRU5B
QkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNfVEVYVAorLy8gLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbgorYWxwaGFiZXRpYworI2VuZGlmIC8vIENTUzNfVEVYVAorCiAvLyBwb3Np
dGlvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICYmIEVOQUJMRV9D
U1NfU1RJQ0tZX1BPU0lUSU9OCiAtd2Via2l0LXN0aWNreQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyLmNwcAppbmRleCA2ZDc4YzY4NDQ0MmNjN2UyNGViZjlhNjI4NjdiZDg4OTlmZTc5OGU2Li4w
M2I5NDc1MTNmYzcwMTkxNjk5Zjg0NTlmOTM2ZmE5ZjM0MjE2ZmRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5LDM0IEBAIHB1YmxpYzoKICAgICB9CiB9
OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNzIEFwcGx5UHJvcGVydHlUZXh0VW5kZXJs
aW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJv
cGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlmIHZhbHVlIGlzICdhdXRvJyBvciAnYWxw
aGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7CisgICAg
ICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNl
dFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gc3RhdGljX2Nhc3Q8VGV4dFVu
ZGVybGluZVBvc2l0aW9uPigwKTsKKyAgICAgICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBp
KHZhbHVlKTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAgICAgICAgICBDU1NWYWx1
ZSogaXRlbSA9IGkudmFsdWUoKTsKKyAgICAgICAgICAgIEFTU0VSVChpdGVtLT5pc1ByaW1pdGl2
ZVZhbHVlKCkpOworICAgICAgICAgICAgdCB8PSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWUqPihpdGVtKTsKKyAgICAgICAgfQorICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5z
ZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24odCk7CisgICAgfQorICAgIHN0YXRpYyBQcm9wZXJ0eUhh
bmRsZXIgY3JlYXRlSGFuZGxlcigpCisgICAgeworICAgICAgICBQcm9wZXJ0eUhhbmRsZXIgaGFu
ZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUZXh0VW5kZXJsaW5lUG9zaXRpb24sICZS
ZW5kZXJTdHlsZTo6dGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24s
ICZSZW5kZXJTdHlsZTo6c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBUZXh0VW5kZXJsaW5lUG9z
aXRpb24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbj46OmNyZWF0
ZUhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5kbGVyLmluaGVy
aXRGdW5jdGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlWYWx1ZSk7Cisg
ICAgfQorfTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogY2xhc3MgQXBwbHlQcm9wZXJ0eUxpbmVI
ZWlnaHQgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVydHlJ
RCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVlKQpAQCAtMTky
Myw2ICsxOTUxLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwgQXBwbHlQcm9w
ZXJ0eVRleHREZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsIEFwcGx5UHJvcGVydHlE
ZWZhdWx0PFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25T
dHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlv
blN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVj
b3JhdGlvblN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBseVByb3BlcnR5RGVmYXVsdDxUZXh0
QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3QsICZS
ZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFsaWduTGFzdCwgJlJlbmRlclN0eWxl
Ojppbml0aWFsVGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBBcHBseVBy
b3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlmIC8v
IENTUzNfVEVYVAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRJbmRlbnQs
IEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAmUmVuZGVyU3R5
bGU6OnNldFRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQ+OjpjcmVh
dGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRPdmVy
ZmxvdywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnRl
eHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnNldFRleHRPdmVyZmxvdywg
VGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0T3ZlcmZsb3c+OjpjcmVhdGVI
YW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAppbmRleCA4MTg4MDgxNTkwYWRiMGUwOTYxMTZjZmMyYTE2YzdkZmEyYzEwN2JiLi4xMzQxNGE2
NmVkMWI5N2M3MGM4NTcwMTdjMDAzYTQ4ZmQ2N2RlODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTY0LDYgKzU2NCw3IEBAIHB1YmxpYzoK
ICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29y
YXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5
bGU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAg
VGV4dEFsaWduTGFzdCB0ZXh0QWxpZ25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
VGV4dEFsaWduTGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFzdCk7IH0KKyAg
ICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5oZXJpdGVkRGF0
YS0+bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxzZQogICAgIFRleHREZWNvcmF0aW9u
U3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHREZWNvcmF0aW9u
U3R5bGVTb2xpZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApAQCAtMTEwMyw2ICsxMTA0LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlv
blN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWRE
YXRhLCBtX3RleHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ25M
YXN0KFRleHRBbGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRB
bGlnbkxhc3QsIHYpOyB9CisgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24oVGV4dFVu
ZGVybGluZVBvc2l0aW9uIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0VW5k
ZXJsaW5lUG9zaXRpb24sIHYpOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdm9pZCBzZXRE
aXJlY3Rpb24oVGV4dERpcmVjdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9uID0g
djsgfQogICAgIHZvaWQgc2V0TGluZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGluZUhlaWdodCk7
CkBAIC0xNTYxLDYgKzE1NjMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAg
ICBzdGF0aWMgVGV4dERlY29yYXRpb25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRpb25TdHlsZSgp
IHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRpYyBUZXh0QWxp
Z25MYXN0IGluaXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1dG87
IH0KKyAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5l
UG9zaXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5kaWYg
Ly8gQ1NTM19URVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4gMS4w
ZjsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAwOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNv
bnN0YW50cy5oCmluZGV4IGU3YzEwOGY0ODJiMmUzYzE5ODVkZGE5YmQwNzA3MDhmNzk5OTIyZGIu
LmQwYTM5MTBhNTQ3Y2Q2M2U2NmNhZGIyNjYxZWQ2ZWViZjNiYWYxMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBA
IC0zNjAsNiArMzYwLDE0IEBAIGVudW0gVGV4dEFsaWduTGFzdCB7CiB9OwogI2VuZGlmIC8vIENT
UzNfVEVYVAogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2VudW0gVGV4dFVuZGVybGluZVBvc2l0
aW9uIHsKKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvID0gMHgxLCBUZXh0VW5kZXJsaW5l
UG9zaXRpb25BbHBoYWJldGljID0gMHgyLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlciA9IDB4
NCwgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4OCwgVGV4dFVuZGVybGluZVBvc2l0aW9u
UmlnaHQgPSAweDEwCit9OworaW5saW5lIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBvcGVyYXRvcnwg
KFRleHRVbmRlcmxpbmVQb3NpdGlvbiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1
cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uKGludChhKSB8IGludChiKSk7IH0KK2lubGluZSBUZXh0
VW5kZXJsaW5lUG9zaXRpb24mIG9wZXJhdG9yfD0oVGV4dFVuZGVybGluZVBvc2l0aW9uJiBhLCBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4gYSA9IGEgfCBiOyB9CisjZW5kaWYgLy8g
Q1NTM19URVhUCisKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFMV0FZUywgUEJB
Vk9JRAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCAyODgyNmMyOTkzNDFlMGYxYmEwNGNhZmJl
ZDhmMmU0MDU1MWZjMDY0Li5lNjIzMjNhZjUwZGI4MjY5YjUyYWNmOTI3M2Y2ZDQxYjE2ZTY1ZDIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
M19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxlOjppbml0aWFsVGV4dEFs
aWduTGFzdCgpKQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oUmVuZGVyU3R5bGU6Omlu
aXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAs
IG1fcnVieVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBvc2l0aW9uKCkpCiAgICAg
LCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3NSw3IEBAIFN0eWxlUmFy
ZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YSYgbykKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgLCBtX3Rl
eHRBbGlnbkxhc3Qoby5tX3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3Np
dGlvbihvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
ICwgbV9ydWJ5UG9zaXRpb24oby5tX3J1YnlQb3NpdGlvbikKICAgICAsIGh5cGhlbmF0aW9uU3Ry
aW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcgQEAgYm9vbCBTdHlsZVJh
cmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEm
IG8pIGNvbnN0CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICAmJiBtX3Rl
eHRBbGlnbkxhc3QgPT0gby5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAgJiYgbV90ZXh0VW5kZXJs
aW5lUG9zaXRpb24gPT0gby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENTUzNf
VEVYVAogICAgICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAgICAg
ICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCBiMjI4
MWY3NzI5NzA3ZjdjMTNiNDU5OWFhNzZkZjBiNTllOWU3M2FjLi5kMmJhMDA3ZjQzOGM0YjUwZGNl
YTljMzBiNTYxMDZmYzQxMTM0MDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTExOCw2ICsxMTgsNyBA
QCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHVuc2lnbmVkIG1f
dGV4dEFsaWduTGFzdCA6IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1bnNpZ25lZCBtX3RleHRV
bmRlcmxpbmVQb3NpdGlvbiA6IDU7IC8vIFRleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8v
IENTUzNfVEVYVAogICAgIHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDogMTsgLy8gUnVieVBvc2l0
aW9uCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCBlZGMzYzI4MDU5N2Iy
ZWRiOGFhMzZhM2M5YWI4ZGQwNGY0MmJjMDY5Li44Y2RjN2YwNzhlZTQ0NzcxMjQ3Y2NmZjYyNTRj
YzljZTFmYWNmNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC0zOSw4
ICszOSw4IEBACiAgICAgICAnRU5BQkxFX0NBTlZBU19QUk9YWT0xJywKICAgICAgICdFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc9MScsCiAgICAgICAnRU5BQkxFX0NTUF9ORVhUPTEnLAotICAgICAg
J0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTAnLAotICAgICAgJ0VOQUJMRV9DU1MzX1RF
WFQ9MCcsCisgICAgICAnRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MScsCisgICAgICAn
RU5BQkxFX0NTUzNfVEVYVD0xJywKICAgICAgICdFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLPTEnLAogICAgICAgJ0VOQUJMRV9DU1NfQ09NUE9TSVRJTkc9MCcsCiAgICAgICAnRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTj0wJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmZkODJhMDI1
NGU3ODM4ZjQ5NzFjMTM4Yzk4NWI3Yzk4NTJlOTI3Mi4uZDM4YmExY2QwOGIxNTE0Mzg2NWM4MTcz
NTc0MjgyOTYzODhlYzc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ5LDggKzQ5LDggQEAgRU5B
QkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElDS1lf
UE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NTX1RSQU5T
Rk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxFX0NTU19WQVJJ
QUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVOQUJMRV9DU1Mz
X1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJMRV9DU1MzX0NP
TkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1MzX1RFWFQ7CiBF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
ID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBmZmQ4MmEwMjU0ZTc4MzhmNDk3MWMxMzhjOTg1YjdjOTg1MmU5MjcyLi5kMzhi
YTFjZDA4YjE1MTQzODY1YzgxNzM1NzQyODI5NjM4OGVjNzRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDks
OCArNDksOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFC
TEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5B
QkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCA9IEVO
QUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQ7CiBF
TkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0g
OwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0g
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5BQkxF
X0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05B
TUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDQxMzdkM2I2MzBkMjNjYzNh
YWJlN2MwYjA3OTQwZGVhYmVkZWJiYWUuLjcxOTVhNzExMWRkOTE3OTNmM2IzZjc0OWE2Nzg1OTBh
ZGI1NDNlNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCisr
KyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0zNywzICszNyw2IEBAIHNl
dChMSUJfU1VGRklYICIiIENBQ0hFIFNUUklORyAiRGVmaW5lIHN1ZmZpeCBvZiBkaXJlY3Rvcnkg
bmFtZSAoMzIvNjQpIikKIAogc2V0KExJQl9JTlNUQUxMX0RJUiAibGliJHtMSUJfU1VGRklYfSIg
Q0FDSEUgUEFUSCAiV2hlcmUgdG8gaW5zdGFsbCBsaWJyYXJpZXMgKGxpYiR7TElCX1NVRkZJWH0p
IikKIHNldChFWEVDX0lOU1RBTExfRElSICJiaW4iIENBQ0hFIFBBVEggIldoZXJlIHRvIGluc3Rh
bGwgZXhlY3V0YWJsZXMiKQorCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9DU1MzX1RFWFQgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2Vi
S2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5k
ZXggMTAxZTQwYzFlYjQwYzE3NGM1MGJkNmRiZmE5YzcyNTM5NDQ2ZjIyMS4uOGFhMDk4MGY3NjFl
NjlkNTEwNGRkNzRkMGY5MjliYjYyNzA3ZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQpAQCAtMjEsOCArMjEsOCBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBz
dXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2dsZSBDU1MzIENvbmRpdGlv
bmFsIFJ1bGVzIHN1cHBvcnQiIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q1NTM19URVhUICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQiIE9GRikKKyAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyAiVG9nZ2xlIENTUzMgQ29u
ZGl0aW9uYWwgUnVsZXMgc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NTUzNfVEVYVCAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLICJUb2dnbGUgQm94
IERlY29yYXRpb24gYnJlYWsgKENTUyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVycykgc3VwcG9ydCIg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19DT01QT1NJVElORyAiVG9n
Z2xlIENTUyBDT01QT1NJVElORyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiAiVG9nZ2xlIENTUyBEZXZpY2UgQWRhcHRh
dGlvbiBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0K
aW5kZXggMzkyYmY1MGY0OGFhNWFiYWVhMWQ2NmQ1NzA0NTQ3YTkxODUyZGVlYy4uY2U3OGU1MWFl
MDIwMTA2ZTlmMjRiODI4YjlkNDQwN2ZkNjQwODE0NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQpAQCAtMTg1LDEwICsxODUsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZhdWx0ID0+IGlzQXBwbGVX
ZWJLaXQoKSB8fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NGaWx0ZXJzU3VwcG9ydCB9
LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtY29uZGl0aW9uYWwtcnVsZXMiLCBkZXNjID0+ICJU
b2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IChpLmUuIFxAc3VwcG9ydHMpIiwK
LSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiLCBkZWZhdWx0
ID0+IDAsIHZhbHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBwb3J0IH0sCisgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwgZGVmYXVsdCA9PiAxLCB2
YWx1ZSA9PiBcJGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24g
PT4gImNzczMtdGV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MzIFRleHQgc3VwcG9ydCIsCi0gICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+IChpc0VmbCgpIHx8IGlz
R3RrKCkpLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfQ1NTM19URVhUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9y
dCB9LAorCisgICAgeyBvcHRpb24gPT4gImNzcy1oaWVyYXJjaGllcyIsIGRlc2MgPT4gIlRvZ2ds
ZSBDU1MgSGllcmFyY2h5IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0hJ
RVJBUkNISUVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzc0hpZXJhcmNoaWVzU3VwcG9y
dCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzcy1ib3gtZGVjb3JhdGlvbi1icmVhayIsIGRlc2Mg
PT4gIlRvZ2dsZSBDU1MgYm94LWRlY29yYXRpb24tYnJlYWsgc3VwcG9ydCIsCiAgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsiLCBkZWZhdWx0ID0+IDEsIHZh
bHVlID0+IFwkY3NzQm94RGVjb3JhdGlvbkJyZWFrU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9Ub29scy9xbWFrZS9ta3Nw
ZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQppbmRleCBlM2U0MDhiZWRhYmU5YWE1YWU1ZDQzYWI4
MmQ5YmM3YmE4ZDFhYjcwLi44ODM3MzczMTU0MDFhYzYwYzAzN2UyNDI2N2JiYmNjNmIzNGFhZDMy
IDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQor
KysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQpAQCAtMzQsOCAr
MzQsOCBAQCBGRUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lU
SU9OPTEgXAogICAgIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05T
X1VOUFJFRklYRUQ9MSBcCiAgICAgRU5BQkxFX0NTU19WQVJJQUJMRVM9MCBcCi0gICAgRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCBcCi0gICAgRU5BQkxFX0NTUzNfVEVYVD0wIFwKKyAg
ICBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xIFwKKyAgICBFTkFCTEVfQ1NTM19URVhU
PTEgXAogICAgIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKICAgICBFTkFCTEVfREFUQUdS
SUQ9MCBcCiAgICAgRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ9MSBcCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDZkMzBiNzdm
ZDQzYzI2N2E4NDJhOWE0MGNiN2UzYjNkNzYwMDZmMi4uZDQ2NDE5MTBhN2Q4NTY5ZWJkNjUyOTdh
NWFmNTVkZDUwM2JmYTNkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAxLTE3ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3IgJ3Rl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3ZWJr
aXQnIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0
aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVj
b3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50U3R5
bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEzLTAxLTE2ICBEb21pbmlr
IFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
czMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVk
U3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ODhmOTI5NDBmNDI1OTk5NzdmMTQ3NDkzODQ0YmM4ZDI5ZDFlMjFkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24v
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDk3IEBACitUZXN0IHRvIG1ha2Ugc3VyZSAtd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Blcmx5
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCB2YWx1ZToKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisK
K1ZhbHVlICcnOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3Nz
VGV4dCBpcyAnYXV0bycKKworSW5pdGlhbCB2YWx1ZSAoZXhwbGljaXQpOgorUEFTUyBlLnN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnaW5pdGlhbCcKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2lu
aXRpYWwnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1p
dGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworVmFsdWUg
J2F1dG8nOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0
bycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0n
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3Nz
VGV4dCBpcyAnYXV0bycKKworVmFsdWUgJ2FscGhhYmV0aWMnOgorUEFTUyBlLnN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgZS5zdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJp
bmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQg
aXMgJ2FscGhhYmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIGlzICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
YWxwaGFiZXRpYycKKworVmFsdWUgJ3VuZGVyJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFTUyBj
b21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCisKK1ZhbHVlICdsZWZ0JzoKK1BBU1MgZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2xlZnQnCitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBp
cyAnbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
aXMgJ2xlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFs
dWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnbGVmdCcKKworVmFsdWUgJ3Jp
Z2h0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3JpZ2h0
JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
cmlnaHQnCisKK1ZhbHVlICd1bmRlciBsZWZ0JzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVm
dCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3Vu
ZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFs
dWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKKworQW5j
ZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQ
QVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBs
ZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlz
dF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK1ZhbHVlICd1
bmRlciByaWdodCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICd1bmRlciByaWdodCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1
ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0
ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitBbmNlc3RvciBpbmhlcml0
cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRT
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDVk
NzcyMzViMTEyZTA2YjRjYzFiODU2MDBlZTM0YjBlM2U4NmNlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwKQEAg
LTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVj
b3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3Nz
My10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0
ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Njk1MTNlNzQx
MzBkMTQxMWNlZWQwOWFmMmI1ZTFhM2I5ODQ1NmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHls
ZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5q
cwpAQCAtMCwwICsxLDEwMCBAQAorZnVuY3Rpb24gdGVzdEVsZW1lbnRTdHlsZShwcm9wZXJ0eUpT
LCBwcm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgaWYgKHR5cGUgIT0gbnVsbCkgewor
ICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS4iICsgcHJvcGVydHlKUywgIiciICsgdmFsdWUgKyAi
JyIpOworICAgICAgICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsg
cHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOworICAgICAg
ICBzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1Mg
KyAiJykuY3NzVGV4dCIsICInIiArIHZhbHVlICsgIiciKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
c2hvdWxkQmVOdWxsKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNT
UyArICInKSIpOworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0ZWRTdHlsZShwcm9wZXJ0eUpTLCBw
cm9wZXJ0eUNTUywgdHlwZSwgdmFsdWUpCit7CisgICAgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGUsIG51bGwpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLiIg
KyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLnRvU3RyaW5n
KCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykuY3NzVGV4dCIsICInIiArIHZh
bHVlICsgIiciKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdG8gbWFrZSBzdXJlIC13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgcmV0dXJucyB2YWx1ZXMgcHJvcGVybHku
IikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
K3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxk
aXYgaWQ9InRlc3QiPmhlbGxvIHdvcmxkPC9kaXY+JzsKK2RlYnVnKCJJbml0aWFsIHZhbHVlOiIp
OworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0RWxlbWVudFN0eWxl
KCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0
IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1
ZSAnJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJyc7Cit0ZXN0
RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisK
K2RlYnVnKCJJbml0aWFsIHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwg
IltvYmplY3QgQ1NTVmFsdWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisK
K2RlYnVnKCJWYWx1ZSAnYXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiA9ICdhdXRvJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJp
bWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAnYWxwaGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biA9ICdhbHBoYWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NT
UHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7CitkZWJ1Zygn
Jyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gPSAndW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAi
W29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAnbGVmdCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICds
ZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIs
ICJsZWZ0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxp
c3RdIiwgImxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdyaWdodCc6Iik7Citl
LnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdyaWdodCc7Cit0ZXN0RWxlbWVu
dFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQiKTsKK3Rlc3RD
b21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAicmlnaHQiKTsK
K2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciBsZWZ0JzoiKTsKK2Uuc3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIGxlZnQnOwordGVzdEVsZW1lbnRTdHls
ZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK3Rlc3RD
b21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVm
dCIpOworZGVidWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0
ZXN0LXBhcmVudCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVy
IGxlZnQ7Ij5oZWxsbyA8c3BhbiBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+
JzsKK2RlYnVnKCJBbmNlc3RvciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5
bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uIiwgbnVsbCwgIiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmpl
Y3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAndW5kZXIgcmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gPSAndW5kZXIgcmlnaHQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBD
U1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1ZygnJyk7CisK
K3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBzdHlsZT0i
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgcmlnaHQ7Ij5oZWxsbyA8c3Bh
biBpZD0idGVzdC1hbmNlc3RvciI+d29ybGQ8L3NwYW4+PC9kaXY+JzsKK2RlYnVnKCJBbmNlc3Rv
ciBpbmhlcml0cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QtYW5jZXN0b3InKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwg
IiIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIs
ICJ1bmRlciByaWdodCIpOworZGVidWcoJycpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KHRlc3RDb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggOTViZDM0YmE4MmUzMmRlNWY4NTI0MDQ3NDFlM2Y1OGY4MzllYWU2
NS4uZmQ3ZDE0M2ZjMTQ1NjFiMmM1YThkNDYwYWExYzVmOWY3NGY2OWU0ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMTgsNyArMjE4
LDcgQEAgd2Via2l0Lm9yZy9iLzg1MjYyIGZhc3QvbWVkaWEvbXEtcmVzb2x1dGlvbi1kcGktZHBj
bS13YXJuaW5nLmh0bWwgWyBTa2lwIF0KICMgQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84OTA1MiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlv
bgogCi0jIENTUzMgVGV4dCBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZCAobmVlZHMgRU5BQkxF
X0NTUzNfVEVYVCkuCisjIFRob3NlIHR3byBzdGlsbCBsYWNrIC1leHBlY3RlZC5wbmcgZmlsZXMu
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTQ2Lgogd2Vi
a2l0Lm9yZy9iLzU4NDkxIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uCiB3ZWJr
aXQub3JnL2IvNzYxNzMgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWFsaWduLWxhc3QKIApkaWZm
IC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVz
LnZzcHJvcHMgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmlu
ZXMudnNwcm9wcwppbmRleCA4M2U4MzU3MGFmZDE1MDk1ZDVmNDEyNzEzNjYxOWVmNzUzYmMwMGYw
Li4zNjlkMzE2MmUyN2Q1ZmVmNzFkODUzOTkwZWYxZjg5ZDhjYjNlNmFhIDEwMDY0NAotLS0gYS9X
ZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwor
KysgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNw
cm9wcwpAQCAtNDgsMTIgKzQ4LDEyIEBACiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFC
TEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9D
U1MzX0NPTkRJVElPTkFMX1JVTEVTIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJ
Lz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfQ1NTM19URVhUIgotCQlWYWx1ZT0iIgor
CQlWYWx1ZT0iRU5BQkxFX0NTUzNfVEVYVCIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVl
IgogCS8+CiAgIDxVc2VyTWFjcm8KZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy93aW4vdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMgYi9XZWJLaXRMaWJyYXJpZXMv
d2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCmluZGV4IDVkNWQy
Yjk3MjQ2MTUzNjUzNjBmZmMwYTI5MDUxYjcxNWQ5MzI4N2IuLjdiNjRkMzc1NzlkMGU1NDgzZWFj
ODY1MzBkOTlkNzNkMWE5NTdhODQgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy93aW4vdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwpAQCAtNDMs
MTIgKzQzLDEyIEBACiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfQ1NTM19DT05E
SVRJT05BTF9SVUxFUyIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9DU1MzX0NPTkRJVElP
TkFMX1JVTEVTIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJN
YWNybwogCQlOYW1lPSJFTkFCTEVfQ1NTM19URVhUIgotCQlWYWx1ZT0iIgorCQlWYWx1ZT0iRU5B
QkxFX0NTUzNfVEVYVCIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxV
c2VyTWFjcm8KZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA5
ZjM1OGFiM2Q0MzA4YjU4MTc1OTE4MmVkNGZlOTQzY2I5OGM4MDlmLi45Y2IwMGM1YWYyYWMxOTEz
NzFjZGFhMGM5ZjI3NmVlYjQ2OWM2MmFlIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIv
Y29uZmlndXJlLmFjCkBAIC03MzMsNiArNzMzLDI0IEBAIEFDX0FSR19FTkFCTEUoY292ZXJhZ2Us
CiAgICAgICAgICAgICAgIFtdLFtlbmFibGVfY292ZXJhZ2U9Im5vIl0pCiBBQ19NU0dfUkVTVUxU
KFskZW5hYmxlX2NvdmVyYWdlXSkKIAorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIGNv
bmRpdGlvbmFsIHJ1bGVzIHN1cHBvcnQKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFi
bGUgQ1NTMyBjb25kaXRpb25hbCBydWxlcyBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoY3NzM19j
b25kaXRpb25hbF9ydWxlcywKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxl
LWNvbmRpdGlvbmFsLXJ1bGVzXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJs
ZSBDU1MzIGNvbmRpdGlvbmFsIHJ1bGVzIHN1cHBvcnQgW2RlZmF1bHQ9eWVzXV0pLAorICAgICAg
ICAgICAgICBbXSxbZW5hYmxlX2NzczNfY29uZGl0aW9uYWxfcnVsZXM9InllcyJdKQorQUNfTVNH
X1JFU1VMVChbJGVuYWJsZV9jc3MzX2NvbmRpdGlvbmFsX3J1bGVzXSkKK0FNX0NPTkRJVElPTkFM
KFtFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFU10sW3Rlc3QgIiRlbmFibGVfY3NzM19jb25k
aXRpb25hbF9ydWxlcyIgPSAieWVzIl0pCisKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgQ1NT
MyB0ZXh0IGRlY29yYXRpb24gc3VwcG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVu
YWJsZSBDU1MzIHRleHQgZGVjb3JhdGlvbiBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoY3NzM190
ZXh0LAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY3NzMy10ZXh0LWRl
Y29yYXRpb25dLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIENTUzMgdGV4
dCBkZWNvcmF0aW9uIHN1cHBvcnQgW2RlZmF1bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSxb
ZW5hYmxlX2NzczNfdGV4dD0ieWVzIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2NzczNfdGV4
dF0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0NTUzNfVEVYVF0sW3Rlc3QgIiRlbmFibGVfY3Nz
M190ZXh0IiA9ICJ5ZXMiXSkKKwogIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBGYXN0TWFsbG9j
CiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wdGltaXplZCBtZW1vcnkgYWxs
b2NhdG9yXSkKIEFDX0FSR19FTkFCTEUoZmFzdF9tYWxsb2MsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189797</attachid>
            <date>2013-02-22 11:24:25 -0800</date>
            <delta_ts>2013-03-05 15:19:36 -0800</delta_ts>
            <desc>Parse text-underline-position</desc>
            <filename>bug-102491-20130222162042.patch</filename>
            <type>text/plain</type>
            <size>33816</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhMTY1ZjkzNTNkNmNj
MmQ0MmQ0MDYzNjkzNzA3MTAyMzAwY2NmNi4uNDkyYjVjZjMzOGNlOGNkZWYxN2YyYjQxNmM2NmI4
MTY3MTkzMTY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAyLTIyICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAy
LTIyICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgMzItYml0
IGJ1aWxkIGZpeCBhZnRlciByMTQzNzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDMxYWQ3MzYzYWJjZjJmODg0ZTExZDA0
ODI2YzU4MDY0MDhlMDhkN2QuLjJiNzE3NTAyZDM3YWYyZjY3MmQ1OTExMzcxNDUyM2U3MmQ3OTE4
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCkBAIC0xOTEsNiArMTkxLDcgQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
Y29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3Jh
dGlvbkxpbmUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAg
IENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiwKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0
eVRleHRJbmRlbnQsCiAgICAgQ1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nLApAQCAtMTMzNiw2ICsx
MzM3LDI5IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlv
blN0eWxlRmxhZ3NUb0NTU1ZhbHVlKFRleHREZWNvcmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVl
KCk7CiB9CisKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5l
UG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxp
bmVQb3NpdGlvbikKK3sKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRl
cmxpbmVQb3NpdGlvbkF1dG8pCisgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsKKworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9z
aXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMp
OworCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRl
U3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVu
ZGVybGluZVBvc2l0aW9uVW5kZXIpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wo
KS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5k
ZXJsaW5lUG9zaXRpb24gJiBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0
LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVm
dCkpOworICAgIGVsc2UgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQ
b3NpdGlvblJpZ2h0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUmlnaHQpKTsKKworICAgIGlmIChsaXN0LT5sZW5ndGgo
KSkKKyAgICAgICAgcmV0dXJuIGxpc3Q7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30K
ICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxS
ZXBlYXRUb0NTU1ZhbHVlKEVGaWxsUmVwZWF0IHhSZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQp
CkBAIC0yMTM0LDYgKzIxNTgsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUt
PnRleHREZWNvcmF0aW9uU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRU
ZXh0QWxpZ25MYXN0OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZh
bHVlKHN0eWxlLT50ZXh0QWxpZ25MYXN0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRV
bmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0
aW9uKCkpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4
dERlY29yYXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAwMTRhNjZiY2NkOGZhYTM1ZDRlMzM5
ZTYwMjhkOWIwMzNhNzMxYmFlLi43OGE2N2UxZThkNWFhZjdiYjMwZDgyODU4MzczYzJiOTIzY2Y1
ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjI4Myw2ICsyMjgzLDEwIEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCkKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlU29saWQgfHwgaWQgPT0gQ1NTVmFsdWVE
b3VibGUgfHwgaWQgPT0gQ1NTVmFsdWVEb3R0ZWQgfHwgaWQgPT0gQ1NTVmFsdWVEYXNoZWQgfHwg
aWQgPT0gQ1NTVmFsdWVXYXZ5KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwog
ICAgICAgICBicmVhazsKKworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb246CisgICAgICAgIC8vIGF1dG8gfCBhbHBoYWJldGljIHwgWyB1bmRlciB8fCBbIGxl
ZnQgfCByaWdodCBdIF0KKyAgICAgICAgcmV0dXJuIHBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9u
KGltcG9ydGFudCk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKICAgICBjYXNlIENTU1Byb3BlcnR5
Wm9vbTogICAgICAgICAgLy8gbm9ybWFsIHwgcmVzZXQgfCBkb2N1bWVudCB8IDxudW1iZXI+IHwg
PHBlcmNlbnRhZ2U+IHwgaW5oZXJpdApAQCAtOTA4Nyw2ICs5MDkxLDU0IEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorYm9v
bCBDU1NQYXJzZXI6OnBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KQor
eworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7Cisg
ICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUF1dG8pIHsKKyAgICAgICAgYWRkUHJvcGVydHko
Q1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3Zh
bHVlTGlzdC0+bmV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAo
dmFsdWUtPmlkID09IENTU1ZhbHVlQWxwaGFiZXRpYykgeworICAgICAgICBhZGRQcm9wZXJ0eShD
U1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgY3NzVmFsdWVQb29sKCkuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7CisgICAgICAgIG1fdmFs
dWVMaXN0LT5uZXh0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIFJlZlB0
cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVk
KCk7CisgICAgYm9vbCBpc1ZhbGlkID0gdHJ1ZTsKKyAgICBib29sIGxlZnRPclJpZ2h0QWxyZWFk
eVBhcnNlZCA9IGZhbHNlOworICAgIHdoaWxlIChpc1ZhbGlkICYmIHZhbHVlKSB7CisgICAgICAg
IHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAg
ICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgICAgICBpZiAobGVmdE9yUmlnaHRBbHJlYWR5
UGFyc2VkKSB7CisgICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGVmdE9yUmlnaHRBbHJlYWR5
UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+
aWQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
aXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGlzVmFsaWQpCisgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7Cisg
ICAgfQorCisgICAgaWYgKGxpc3QtPmxlbmd0aCgpICYmIGlzVmFsaWQpIHsKKyAgICAgICAgYWRk
UHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIGxpc3QucmVs
ZWFzZSgpLCBpbXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZh
bHVlTGlzdFNpemUgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmlu
ZGV4IGRjYmEwMzM3NzMyZTI1NjY0M2I0MTM5NTQ2OWYxNjlhYTEwMzRkZTIuLjI1OWE1ZDVjNjZi
Y2JlZTkyMDgxY2YxMDlhZGFhNGZjOGI2YWM0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAg
LTI2MSw2ICsyNjEsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJv
cGVydHkoQ1NTUHJvcGVydHlJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50
KTsKICAgICBib29sIHBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KTsKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0
VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAog
CiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29s
IHBhcnNlQ2FsY3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZh
bHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKaW5kZXggNTMyZTk5YzI3ZmU3ZDgzN2U4MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uYzRh
Yjc2Mzg2NDBlM2EyMmU0MDM4NWY2YzMzNWY3ZjA2ZDJiYmJjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMzY2LDYgKzIzNjYsMjUg
QEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNv
cmF0aW9uU3R5bGUoKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVy
biBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAorewor
ICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAg
ICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVl
QWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0
aWM7CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGlu
ZVBvc2l0aW9uVW5kZXI7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAg
ICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0OworICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOwor
fQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAKaW5kZXggM2E0MDJjZmY3NWRmZTM1Y2UyNWJkNTBjODcxN2E1ZTFlNDY1ZDA2
YS4uMDAyNDg3N2JmNDk3ODRhZGE1MzI5M2FmYzc5ZGJiZjUyYjY1ZmFiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6
aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxF
KENTUzNfVEVYVCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5l
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhU
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCmluZGV4IDI1M2Q4YTRkNjZhYjc0Yjg0MTBiNDY4M2IzZDAwMDIzOTQ5
YjM3M2MuLmNlYjFkNGZlMzdjOWI4YmE4OTk2MjQyNzNkZmQ4NGVmNDliNWFlMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjcsNiArMzY3LDcgQEAgei1pbmRl
eAogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGluZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24t
c3R5bGUKIC13ZWJraXQtdGV4dC1hbGlnbi1sYXN0Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uCiAjZW5kaWYKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJr
aXQtdGV4dC1lbXBoYXNpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRl
eCBhNjk4ZjZlMzlkYTZjYmM3YzA3M2U2NTYzMjVjMzVhZjJhZmRlZjY4Li5lYmJmZTJjMTkwZjIx
ZDZmNjU1ZDFmZjA5NTNlMzQ2ZmIzNTBjNDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgpAQCAtOTQ2LDYgKzk0NiwxMSBAQCB3cmFwCiAvLyAtd2Via2l0LWxpbmUtYWxp
Z24KIGVkZ2VzCiAKKyNpZiAhKGRlZmluZWQoRU5BQkxFX1NWRykgJiYgRU5BQkxFX1NWRykgJiYg
ZGVmaW5lZChFTkFCTEVfQ1NTM19URVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisvLyAtd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uCithbHBoYWJldGljCisjZW5kaWYgLy8gQ1NTM19URVhU
CisKIC8vIHBvc2l0aW9uCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikg
JiYgRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04KIC13ZWJraXQtc3RpY2t5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDFiYjYxMDRlZjllMmE2OGUzN2FhZTJkMWNjODBkZDIx
YmI0MjI4MWYuLmI5YjhiMmE3NTE2OWMxM2VlYWNiNDhiNjM5ZTU0NDE2NzI2OWFjYjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xMTUxLDYgKzExNTEsMzQgQEAgcHVibGlj
OgogICAgIH0KIH07CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorY2xhc3MgQXBwbHlQcm9wZXJ0
eVRleHRVbmRlcmxpbmVQb3NpdGlvbiB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlW
YWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyOjpTdGF0ZSYgc3RhdGUsIENTU1ZhbHVl
KiB2YWx1ZSkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgaXMgdHJ1ZSBpZiB2YWx1ZSBpcyAnYXV0
bycgb3IgJ2FscGhhYmV0aWMnLgorICAgICAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUo
KSkgeworICAgICAgICAgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHQgPSAqc3RhdGljX2Nhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5z
ZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24odCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9IHN0YXRpY19jYXN0PFRleHRV
bmRlcmxpbmVQb3NpdGlvbj4oMCk7CisgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3Ig
aSh2YWx1ZSk7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICAgICAgQ1NTVmFs
dWUqIGl0ZW0gPSBpLnZhbHVlKCk7CisgICAgICAgICAgICBBU1NFUlQoaXRlbS0+aXNQcmltaXRp
dmVWYWx1ZSgpKTsKKyAgICAgICAgICAgIHQgfD0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlKj4oaXRlbSk7CisgICAgICAgIH0KKyAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0VGV4dFVu
ZGVybGluZVBvc2l0aW9uKHQpOworICAgIH0KKyAgICBzdGF0aWMgUHJvcGVydHlIYW5kbGVyIGNy
ZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAgICAgUHJvcGVydHlIYW5kbGVyIGhhbmRsZXIgPSBB
cHBseVByb3BlcnR5RGVmYXVsdEJhc2U8VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5
bGU6OnRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVy
U3R5bGU6OnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVIYW5kbGVy
KCk7CisgICAgICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0RnVuY3Rp
b24oKSwgaGFuZGxlci5pbml0aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307
CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGNsYXNzIEFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxl
UmVzb2x2ZXI6OlN0YXRlJiBzdGF0ZSwgQ1NTVmFsdWUqIHZhbHVlKQpAQCAtMTkyOSw2ICsxOTU3
LDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwgQXBwbHlQcm9wZXJ0eVRleHRE
ZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQ
cm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRl
eHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgVGV4
dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvblN0eWxlLCBU
ZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0
eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBseVByb3BlcnR5RGVmYXVsdDxUZXh0QWxpZ25MYXN0
LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHls
ZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFsaWduTGFzdCwgJlJlbmRlclN0eWxlOjppbml0aWFs
VGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBBcHBseVByb3BlcnR5VGV4
dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlmIC8vIENTUzNfVEVY
VAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRJbmRlbnQsIEFwcGx5UHJv
cGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OnNldFRl
eHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQ+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRPdmVyZmxvdywgQXBw
bHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnRleHRPdmVyZmxv
dywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OnNldFRleHRPdmVyZmxvdywgVGV4dE92ZXJm
bG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0T3ZlcmZsb3c+OjpjcmVhdGVIYW5kbGVyKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3
NmQ4YjhkOGMzMmUyZjRjZGYwMjU4MDZlMDEwZWNkMWMwMTdhZmFjLi4xNzViZWI3MjE3NmU4MmIw
MTFiNDk0MjQ0NzE2NDBmZmE2MmYwZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTY2LDYgKzU2Niw3IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5bGU+KHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAgVGV4dEFsaWdu
TGFzdCB0ZXh0QWxpZ25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEFsaWdu
TGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFzdCk7IH0KKyAgICBUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0
VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxzZQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4
dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xp
ZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApAQCAtMTEwNiw2ICsxMTA3LDcgQEAgcHVibGljOgog
I2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvblN0eWxlKFRl
eHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3Rl
eHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ25MYXN0KFRleHRB
bGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRBbGlnbkxhc3Qs
IHYpOyB9CisgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24oVGV4dFVuZGVybGluZVBv
c2l0aW9uIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0VW5kZXJsaW5lUG9z
aXRpb24sIHYpOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdm9pZCBzZXREaXJlY3Rpb24o
VGV4dERpcmVjdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9uID0gdjsgfQogICAg
IHZvaWQgc2V0TGluZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGluZUhlaWdodCk7CkBAIC0xNTcy
LDYgKzE1NzQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBzdGF0aWMg
VGV4dERlY29yYXRpb25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRpb25TdHlsZSgpIHsgcmV0dXJu
IFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRpYyBUZXh0QWxpZ25MYXN0IGlu
aXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1dG87IH0KKyAgICBz
dGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24o
KSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5kaWYgLy8gQ1NTM19U
RVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4gMS4wZjsgfQogICAg
IHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAwOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CmluZGV4IDhjMmMwYjU4NmY0YjQ4ZWE5YWQ0MmQwMmFjYmMyNDQyNWUxZDcxMzYuLmZjZDUxYTRi
Njk0ZjM1YTM4MTBjOTUwMjMyMzU0YzQwYTFhOGY1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0zNjAsNiAr
MzYwLDE0IEBAIGVudW0gVGV4dEFsaWduTGFzdCB7CiB9OwogI2VuZGlmIC8vIENTUzNfVEVYVAog
CisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2VudW0gVGV4dFVuZGVybGluZVBvc2l0aW9uIHsKKyAg
ICBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvID0gMHgxLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25B
bHBoYWJldGljID0gMHgyLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlciA9IDB4NCwgVGV4dFVu
ZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4OCwgVGV4dFVuZGVybGluZVBvc2l0aW9uUmlnaHQgPSAw
eDEwCit9OworaW5saW5lIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBvcGVyYXRvcnwgKFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBhLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24gYikgeyByZXR1cm4gVGV4dFVu
ZGVybGluZVBvc2l0aW9uKGludChhKSB8IGludChiKSk7IH0KK2lubGluZSBUZXh0VW5kZXJsaW5l
UG9zaXRpb24mIG9wZXJhdG9yfD0oVGV4dFVuZGVybGluZVBvc2l0aW9uJiBhLCBUZXh0VW5kZXJs
aW5lUG9zaXRpb24gYikgeyByZXR1cm4gYSA9IGEgfCBiOyB9CisjZW5kaWYgLy8gQ1NTM19URVhU
CisKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFMV0FZUywgUEJBVk9JRAogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcAppbmRleCBiMjE1YWIzNTg3ZTFiZjA2OTdhNTA1ZDdjOGY0ODRjM2E2
YzBjMjFlLi5iMmQzZjU1OTBkYjA2ZjA4OTZkNWRmMmRkNGVkYzA0YzRkMDI1Y2YyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgICwgbV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdCgp
KQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0
VW5kZXJsaW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIG1fcnVieVBv
c2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBvc2l0aW9uKCkpCiAgICAgLCBoeXBoZW5h
dGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3NSw3IEBAIFN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YSYgbykKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxh
c3Qoby5tX3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihvLm1f
dGV4dFVuZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICwgbV9ydWJ5
UG9zaXRpb24oby5tX3J1YnlQb3NpdGlvbikKICAgICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlw
aGVuYXRpb25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcgQEAgYm9vbCBTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0
CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICAmJiBtX3RleHRBbGlnbkxh
c3QgPT0gby5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAgJiYgbV90ZXh0VW5kZXJsaW5lUG9zaXRp
b24gPT0gby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
ICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAgICAgICAgICYmIG1f
bGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCBiMjI4MWY3NzI5NzA3
ZjdjMTNiNDU5OWFhNzZkZjBiNTllOWU3M2FjLi5kMmJhMDA3ZjQzOGM0YjUwZGNlYTljMzBiNTYx
MDZmYzQxMTM0MDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHVuc2lnbmVkIG1fdGV4dEFsaWdu
TGFzdCA6IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1bnNpZ25lZCBtX3RleHRVbmRlcmxpbmVQ
b3NpdGlvbiA6IDU7IC8vIFRleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENTUzNfVEVY
VAogICAgIHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDogMTsgLy8gUnVieVBvc2l0aW9uCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBjZGJjZjY2ZjIwZWRkNDk0NDVhN2Y4MjNiMTEyZWMyYjhkMmI3YWU1Li5jYTYyMzJhNWJi
ZmJkZGU3N2NlOTU0NDY0OTJiYzg0ZGFlNTA1ZDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTMtMDItMjIgIExhbWFycXVlIFYuIFNvdXphICA8TGFtYXJxdWUuU291emFAYmFzeXNrb20uY29t
PgorCisgICAgICAgIFtjc3MzLXRleHRdIEFkZCBwYXJzaW5nIHN1cHBvcnQgdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24gcHJvcGVydHkgZnJvbSBDU1MzIFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ5MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGdldENvbXB1dGVkU3R5bGUgbGF5b3V0
IHRlc3RzIGZvciAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nIENTUzMKKyAgICAgICAgcHJvcGVy
dHksIHdpdGggJ3dlYmtpdCcgcHJlZml4LgorCisgICAgICAgICogZmFzdC9jc3MzLXRleHQvY3Nz
My10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0
L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENv
bXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanM6IEFkZGVkLgorICAgICAgICAo
dGVzdEVsZW1lbnRTdHlsZSk6CisgICAgICAgICh0ZXN0Q29tcHV0ZWRTdHlsZSk6CisKIDIwMTMt
MDItMjIgIMOBZMOhbSBLYWxsYWkgIDxrYWRhbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAg
W1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gQWRkZWQgcGxhdGZvcm0gc3BlY2lmaWMgZXhwZWN0
ZWQgZmlsZXMgYWZ0ZXIgMTQzNjI2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjg4ZjkyOTQwZjQyNTk5OTc3ZjE0NzQ5Mzg0NGJjOGQyOWQxZTIxZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw5NyBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NT
UHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitW
YWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK0luaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0
aWFsJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdh
dXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8n
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlz
ICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2Fs
cGhhYmV0aWMnCisKK1ZhbHVlICd1bmRlcic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKK1BBU1MgY29t
cHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworCitWYWx1ZSAnbGVmdCc6CitQQVNTIGUuc3R5
bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0JworUEFTUyBlLnN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMg
J2xlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlz
ICdsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQnCisKK1ZhbHVlICdyaWdo
dCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdyaWdodCcK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICdyaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlz
ICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3Jp
Z2h0JworCitWYWx1ZSAndW5kZXIgbGVmdCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQn
CitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRl
ciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK0FuY2Vz
dG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVm
dCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3Rd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworCitWYWx1ZSAndW5k
ZXIgcmlnaHQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
dW5kZXIgcmlnaHQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVM
aXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVk
U3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKKworQW5jZXN0b3IgaW5oZXJpdHMg
dmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5
bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ1ZDc3
MjM1YjExMmUwNmI0Y2MxYjg1NjAwZWUzNGIwZTNlODZjZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29y
YXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9zY3JpcHQtdGVzdHMvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVk
U3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY5NTEzZTc0MTMw
ZDE0MTFjZWVkMDlhZjJiNWUxYTNiOTg0NTZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
c2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMK
QEAgLTAsMCArMSwxMDAgQEAKK2Z1bmN0aW9uIHRlc3RFbGVtZW50U3R5bGUocHJvcGVydHlKUywg
cHJvcGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGlmICh0eXBlICE9IG51bGwpIHsKKyAg
ICAgICAgc2hvdWxkQmUoImUuc3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVlICsgIici
KTsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHBy
b3BlcnR5Q1NTICsgIicpLnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICAgICAg
c2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsg
IicpLmNzc1RleHQiLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgfSBlbHNlCisgICAgICAgIHNo
b3VsZEJlTnVsbCgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1Mg
KyAiJykiKTsKK30KKworZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5bGUocHJvcGVydHlKUywgcHJv
cGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShlLCBudWxsKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS4iICsg
cHJvcGVydHlKUywgIiciICsgdmFsdWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmluZygp
IiwgIiciICsgdHlwZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAiJyIgKyB2YWx1
ZSArICInIik7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSAtd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Blcmx5LiIp
CisKK3ZhciB0ZXN0Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cit0
ZXN0Q29udGFpbmVyLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHRlc3RDb250YWluZXIpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2
IGlkPSJ0ZXN0Ij5oZWxsbyB3b3JsZDwvZGl2Pic7CitkZWJ1ZygiSW5pdGlhbCB2YWx1ZToiKTsK
K2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwordGVzdEVsZW1lbnRTdHlsZSgi
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24iLCBudWxsLCAnJyk7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUg
Jyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICcnOwordGVzdEVs
ZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAnJyk7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitk
ZWJ1ZygiSW5pdGlhbCB2YWx1ZSAoZXhwbGljaXQpOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gPSAnaW5pdGlhbCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJb
b2JqZWN0IENTU1ZhbHVlXSIsICJpbml0aWFsIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitk
ZWJ1ZygiVmFsdWUgJ2F1dG8nOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gPSAnYXV0byc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1p
dGl2ZVZhbHVlXSIsICJhdXRvIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ2FscGhhYmV0aWMnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
PSAnYWxwaGFiZXRpYyc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFiZXRpYyIpOworZGVidWcoJycp
OworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uID0gJ3VuZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTVmFsdWVMaXN0XSIsICJ1bmRlciIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ2xlZnQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVm
dCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAi
bGVmdCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0
XSIsICJsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAncmlnaHQnOiIpOworZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAncmlnaHQnOwordGVzdEVsZW1lbnRT
dHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInJpZ2h0Iik7Cit0ZXN0Q29t
cHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInJpZ2h0Iik7Citk
ZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXIgbGVmdCc6Iik7CitlLnN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlciBsZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7Cit0ZXN0Q29t
cHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQi
KTsKK2RlYnVnKCcnKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVz
dC1wYXJlbnQiIHN0eWxlPSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlciBs
ZWZ0OyI+aGVsbG8gPHNwYW4gaWQ9InRlc3QtYW5jZXN0b3IiPndvcmxkPC9zcGFuPjwvZGl2Pic7
CitkZWJ1ZygiQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OiIpOworZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWFuY2VzdG9yJyk7Cit0ZXN0RWxlbWVudFN0eWxl
KCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbiIsIG51bGwsICIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0
IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ3VuZGVyIHJpZ2h0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
ID0gJ3VuZGVyIHJpZ2h0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NT
VmFsdWVMaXN0XSIsICJ1bmRlciByaWdodCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwg
IltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciByaWdodCIpOworZGVidWcoJycpOworCit0
ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVudCIgc3R5bGU9Ii13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyIHJpZ2h0OyI+aGVsbG8gPHNwYW4g
aWQ9InRlc3QtYW5jZXN0b3IiPndvcmxkPC9zcGFuPjwvZGl2Pic7CitkZWJ1ZygiQW5jZXN0b3Ig
aW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0LWFuY2VzdG9yJyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIi
KTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAi
dW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
ZXN0Q29udGFpbmVyKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189798</attachid>
            <date>2013-02-22 11:28:00 -0800</date>
            <delta_ts>2013-03-05 15:19:43 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130222162417.patch</filename>
            <type>text/plain</type>
            <size>48173</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhMTY1ZjkzNTNkNmNj
MmQ0MmQ0MDYzNjkzNzA3MTAyMzAwY2NmNi4uNDkyYjVjZjMzOGNlOGNkZWYxN2YyYjQxNmM2NmI4
MTY3MTkzMTY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAyLTIyICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZW5kZXJUZXh0VW5kZXJs
aW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VU
ZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVy
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRl
ZCBwYXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQt
dW5kZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAg
ICAgb25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJl
dGljJyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjphcHBs
eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9z
aXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpT
dHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3JlZ2F0b3IpLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3J8ICk6
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgQWRkZWQgYml0d2lzZSBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9yIGZ1bmN0aW9ucyB8IGFuZCB8
PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24g
b24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5j
dGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAy
LTIyICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgMzItYml0
IGJ1aWxkIGZpeCBhZnRlciByMTQzNzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMjVk
MDI4NDgwOGI5YTc5NDYzMGU5Y2RkM2ZkNTg4ZjExZDVhMGI4Ni4uNTk3MDQ2NzIyODMwYzM4YjJi
ODk2YWY0Nzc0Y2I2ZGQ1YTAxZDM2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTAs
OCArNTAsOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFC
TEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5B
QkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsK
LUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsK
K0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IDUxOGUxMWZiZGQ0ODIxYzYxMTE2ZDllMTIyYjFiN2VjZGYwZGRjYTguLmEwZDk2OGVlMTk1MDZi
NTIxMTNiOTQ2N2I3MDdhYWQwODNlM2U5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MCw4ICs1MCw4IEBA
IEVOQUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJ
Q0tZX1BPU0lUSU9OID0gRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NTX1RS
QU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FO
SU1BVElPTlNfVU5QUkVGSVhFRDsKIEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwotRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7Ci1FTkFCTEVfQ1NTM19URVhUID0gOworRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVMgPSBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUzsKK0VO
QUJMRV9DU1MzX1RFWFQgPSBFTkFCTEVfQ1NTM19URVhUOwogRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUiA9IDsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUX21h
Y29zeCA9IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMzFhZDczNjNhYmNmMmY4
ODRlMTFkMDQ4MjZjNTgwNjQwOGUwOGQ3ZC4uMmI3MTc1MDJkMzdhZjJmNjcyZDU5MTEzNzE0NTIz
ZTcyZDc5MTgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE5MSw2ICsxOTEsNyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHREZWNvcmF0aW9uTGluZSwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5
bGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LAorICAgIENTU1Byb3BlcnR5
V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLAogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIENT
U1Byb3BlcnR5VGV4dEluZGVudCwKICAgICBDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsCkBAIC0x
MzM2LDYgKzEzMzcsMjkgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRleHRE
ZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoVGV4dERlY29yYXQKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJbml0
aWFsVmFsdWUoKTsKIH0KKworc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJlbmRlclRleHRV
bmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4
dFVuZGVybGluZVBvc2l0aW9uKQoreworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0g
VGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOworCisgICAgaWYgKHRleHRVbmRl
cmxpbmVQb3NpdGlvbiA9PSBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljKQorICAgICAg
ICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWxw
aGFiZXRpYyk7CisKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0
OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24g
JiBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlcikKKyAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVVuZGVyKSk7CisgICAgaWYg
KHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQpCisgICAg
ICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVMZWZ0KSk7CisgICAgZWxzZSBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVu
ZGVybGluZVBvc2l0aW9uUmlnaHQpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wo
KS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVSaWdodCkpOworCisgICAgaWYgKGxpc3Qt
Pmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbGlzdDsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVFeHBsaWNpdEluaXRpYWxWYWx1
ZSgpOworfQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gZmlsbFJlcGVhdFRvQ1NTVmFsdWUoRUZpbGxSZXBlYXQgeFJlcGVhdCwgRUZpbGxSZXBlYXQg
eVJlcGVhdCkKQEAgLTIxMzQsNiArMjE1OCw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25TdHlsZUZsYWdzVG9DU1NWYWx1
ZShzdHlsZS0+dGV4dERlY29yYXRpb25TdHlsZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdFRleHRBbGlnbkxhc3Q6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCku
Y3JlYXRlVmFsdWUoc3R5bGUtPnRleHRBbGlnbkxhc3QoKSk7CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAgICAgICByZXR1cm4gcmVu
ZGVyVGV4dFVuZGVybGluZVBvc2l0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0VW5kZXJs
aW5lUG9zaXRpb24oKSk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKICAgICAgICAgICAgIHJldHVybiBy
ZW5kZXJUZXh0RGVjb3JhdGlvbkZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dERlY29yYXRpb25z
SW5FZmZlY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCAyYWZlNDk5NjRm
Nzg5OTBiMDEyNjI5ZmM5NDZlYjExNGE1Y2FmYzI5Li5lZjdjNDJlMmVjODQ4OGY0MWNmMDNiNGMz
YjA2NWI1OTJkZmYwYjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTk3LDYg
Kzk3LDcgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwgY29uc3QgY2hhciop
CiAldG9rZW4gUEFHRV9TWU0KICV0b2tlbiBNRURJQV9TWU0KICNpZiBFTkFCTEVfQ1NTM19DT05E
SVRJT05BTF9SVUxFUworLyogTGluZSBhZGRlZCBqdXN0IHRvIGZvcmNlIHRoaXMgZmlsZSB0byBi
ZSBwcm9jZXNzZWQgZHVyaW5nIGluY3JlbWVudGFsIGJ1aWxkLiAqLwogJXRva2VuIFNVUFBPUlRT
X1NZTQogI2VuZGlmCiAldG9rZW4gRk9OVF9GQUNFX1NZTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAppbmRleCAwMTRhNjZiY2NkOGZhYTM1ZDRlMzM5ZTYwMjhkOWIwMzNhNzMxYmFlLi43OGE2N2Ux
ZThkNWFhZjdiYjMwZDgyODU4MzczYzJiOTIzY2Y1ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcApAQCAtMjI4Myw2ICsyMjgzLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENT
U1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlU29saWQgfHwgaWQgPT0gQ1NTVmFsdWVEb3VibGUgfHwgaWQgPT0gQ1NTVmFsdWVEb3R0
ZWQgfHwgaWQgPT0gQ1NTVmFsdWVEYXNoZWQgfHwgaWQgPT0gQ1NTVmFsdWVXYXZ5KQogICAgICAg
ICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAgIC8vIGF1dG8g
fCBhbHBoYWJldGljIHwgWyB1bmRlciB8fCBbIGxlZnQgfCByaWdodCBdIF0KKyAgICAgICAgcmV0
dXJuIHBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGltcG9ydGFudCk7CiAjZW5kaWYgLy8gQ1NT
M19URVhUCiAKICAgICBjYXNlIENTU1Byb3BlcnR5Wm9vbTogICAgICAgICAgLy8gbm9ybWFsIHwg
cmVzZXQgfCBkb2N1bWVudCB8IDxudW1iZXI+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdApAQCAt
OTA4Nyw2ICs5MDkxLDU0IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHREZWNvcmF0aW9uKENT
U1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dFVuZGVy
bGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KQoreworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1
ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CisgICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1
ZUF1dG8pIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+
aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlQWxwaGFi
ZXRpYykgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5p
ZCksIGltcG9ydGFudCk7CisgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgYm9vbCBpc1ZhbGlkID0gdHJ1
ZTsKKyAgICBib29sIGxlZnRPclJpZ2h0QWxyZWFkeVBhcnNlZCA9IGZhbHNlOworICAgIHdoaWxl
IChpc1ZhbGlkICYmIHZhbHVlKSB7CisgICAgICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAg
ICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAg
ICAgICAgICBpZiAobGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkKSB7CisgICAgICAgICAgICAgICAg
aXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgbGVmdE9yUmlnaHRBbHJlYWR5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgY2Fz
ZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzVmFsaWQpCisgICAgICAgICAgICB2
YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgfQorCisgICAgaWYgKGxpc3QtPmxlbmd0
aCgpICYmIGlzVmFsaWQpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24sIGxpc3QucmVsZWFzZSgpLCBpbXBvcnRhbnQpOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYgLy8g
Q1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wg
aW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZhbHVlTGlzdFNpemUgPSBtX3ZhbHVlTGlzdC0+
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGRjYmEwMzM3NzMyZTI1NjY0M2I0MTM5
NTQ2OWYxNjlhYTEwMzRkZTIuLjI1OWE1ZDVjNjZiY2JlZTkyMDgxY2YxMDlhZGFhNGZjOGI2YWM0
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI2MSw2ICsyNjEsOSBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlVGV4dERlY29y
YXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyNpZiBFTkFCTEUo
Q1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBv
cnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250
YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQ2FsY3VsYXRpb24oQ1NTUGFyc2Vy
VmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNTMyZTk5YzI3ZmU3ZDgz
N2U4MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uYzRhYjc2Mzg2NDBlM2EyMmU0MDM4NWY2YzMzNWY3
ZjA2ZDJiYmJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCkBAIC0yMzY2LDYgKzIzNjYsMjUgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdAogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7
CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0
VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBv
c2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJu
IFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM7CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVy
OgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXI7CisgICAgY2FzZSBD
U1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0Owor
ICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3Np
dGlvblJpZ2h0OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOworfQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRl
eHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggM2E0MDJjZmY3
NWRmZTM1Y2UyNWJkNTBjODcxN2E1ZTFlNDY1ZDA2YS4uMDAyNDg3N2JmNDk3ODRhZGE1MzI5M2Fm
Yzc5ZGJiZjUyYjY1ZmFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMjks
NiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5lOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0
RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGFjM2Zk
ZTU2MTViNWIxMzljOGZhZDE0NDk5ODk2ZDRhZDdiNjY2ZGEuLmNlYjFkNGZlMzdjOWI4YmE4OTk2
MjQyNzNkZmQ4NGVmNDliNWFlMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCkBAIC0zNjMsOSArMzYzLDExIEBAIHotaW5kZXgKIC13ZWJraXQtdGV4dC1jb21iaW5lCiAt
ZXB1Yi10ZXh0LWNvbWJpbmUgPSAtd2Via2l0LXRleHQtY29tYmluZQogI2lmIGRlZmluZWQoRU5B
QkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNfVEVYVAorLy8gTGluZSBhZGRlZCBqdXN0IHRv
IGZvcmNlIHRoaXMgZmlsZSB0byBiZSBwcm9jZXNzZWQgZHVyaW5nIGluY3JlbWVudGFsIGJ1aWxk
LgogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGluZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24t
c3R5bGUKIC13ZWJraXQtdGV4dC1hbGlnbi1sYXN0Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uCiAjZW5kaWYKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJr
aXQtdGV4dC1lbXBoYXNpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
aWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IGI4YmNhM2M3N2M5ZjQ0
NjQ4MjcwMDA2OTczODgxZjMwNGJjNGQwNTUuLjVkZTM3YTU0OTEzYzJjZjBhOTlhNTIzMTlmYmQw
YzdhMjEyNGQ0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTM5LDYgKzM5LDcgQEAKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwogICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gODsKICNpZiBkZWZpbmVk
KEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAmJiBFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUworICAgIC8qIExpbmUgYWRkZWQganVzdCB0byBmb3JjZSB0aGlzIGZpbGUgdG8gYmUg
cHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBidWlsZC4gKi8KICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CiAjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggNzU5MjZmNjI3YTM3ZjIwNmYx
MTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uZWJiZmUyYzE5MGYyMWQ2ZjY1NWQxZmYwOTUzZTM0NmZi
MzUwYzQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTQ1Miw2
ICs0NTIsNyBAQCB0aGljawogdGhpbgogdW5kZXJsaW5lCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NT
M19URVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisvLyBMaW5lIGFkZGVkIGp1c3QgdG8gZm9yY2Ug
dGhpcyBmaWxlIHRvIGJlIHByb2Nlc3NlZCBkdXJpbmcgaW5jcmVtZW50YWwgYnVpbGQuCiB3YXZ5
CiAjZW5kaWYKIC13ZWJraXQtbm93cmFwCkBAIC05NDUsNiArOTQ2LDExIEBAIHdyYXAKIC8vIC13
ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmICEoZGVmaW5lZChFTkFCTEVfU1ZHKSAmJiBF
TkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQpICYmIEVOQUJMRV9DU1MzX1RF
WFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KK2FscGhhYmV0aWMKKyNlbmRp
ZiAvLyBDU1MzX1RFWFQKKwogLy8gcG9zaXRpb24KICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfU1RJ
Q0tZX1BPU0lUSU9OKSAmJiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTgogLXdlYmtpdC1zdGlj
a3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01XaW5kb3dDU1MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9ET01XaW5kb3dDU1MuaAppbmRleCA3MDcwYWU2YTk5ODEzMTZlMmM3YzQ5
YmM0MTAyNjdkMTNmOTk0YzJmLi5hNDYyNWFmYTA5YzFkZDUxZWE1ZTM3NzUyMzZmOWU2ZDA0MjFj
Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NV2luZG93Q1NTLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0RPTVdpbmRvd0NTUy5oCkBAIC00MCw2ICs0MCwxNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVdpbmRvd0NTUyA6IHB1YmxpYyBSZWZDb3VudGVk
PERPTVdpbmRvd0NTUz4gewogcHVibGljOgorI2lmIFVTRShWOCkKKyAgICAvKiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODE5CisgICAgICogV2ViS2l0IGRvZXMg
bm90IGNvbXBpbGUgYWZ0ZXIgY29tbWl0CisgICAgICogMDVjY2QxZjc2NDY0YmMwYWRjMTVkN2Zj
MjU2MDc4YmQ0OTcyNzFjNSAoc3ZuIHRydW5rQDE0MjczOSkgaWYKKyAgICAgKiBjc3MzLWNvbmRp
dGlvbmFsLXJ1bGVzIGlzIGVuYWJsZWQuIFRoYXQgY29tbWl0IGFkZGVkIGNsYXNzIERPTVdpbmRv
d0NTUywKKyAgICAgKiB3aGljaCBtaXNzIGEgdnRhYmxlIHJlcXVpcmVkIGJ5IHRoZSBjb2RlIGdl
bmVyYXRlZCBieQorICAgICAqIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtLiBBZGRpbmcgYSB2aXJ0dWFsCisgICAgICogZGVzdHJ1Y3RvciBmaXhlcyB0
aGUgcHJvYmxlbS4KKyAgICAgKi8KKyAgICB2aXJ0dWFsIH5ET01XaW5kb3dDU1MoKSB7IH0KKyNl
bmRpZgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVdpbmRvd0NTUz4gY3JlYXRlKCk7CiAKICAg
ICBib29sIHN1cHBvcnRzKGNvbnN0IFN0cmluZyYgcHJvcGVydHksIGNvbnN0IFN0cmluZyYgdmFs
dWUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAppbmRleCAxYmI2MTA0ZWY5
ZTJhNjhlMzdhYWUyZDFjYzgwZGQyMWJiNDIyODFmLi5iOWI4YjJhNzUxNjljMTNlZWFjYjQ4YjYz
OWU1NDQxNjcyNjlhY2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTE1
MSw2ICsxMTUxLDM0IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCisjaWYgRU5BQkxFKENTUzNfVEVY
VCkKK2NsYXNzIEFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb24geworcHVibGljOgor
ICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlcjo6
U3RhdGUmIHN0YXRlLCBDU1NWYWx1ZSogdmFsdWUpCisgICAgeworICAgICAgICAvLyBUaGlzIGlz
IHRydWUgaWYgdmFsdWUgaXMgJ2F1dG8nIG9yICdhbHBoYWJldGljJy4KKyAgICAgICAgaWYgKHZh
bHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgIFRleHRVbmRlcmxpbmVQb3Np
dGlvbiB0ID0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUpOworICAgICAg
ICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKHQpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVGV4dFVuZGVybGluZVBvc2l0aW9u
IHQgPSBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9zaXRpb24+KDApOworICAgICAgICBmb3Ig
KENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkodmFsdWUpOyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkp
IHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAgICAgICAgICAg
QVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAgICAgICB0IHw9ICpzdGF0
aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOworICAgICAgICB9CisgICAgICAgIHN0
YXRlLnN0eWxlKCktPnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICB9CisgICAgc3Rh
dGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKKyAgICB7CisgICAgICAgIFByb3Bl
cnR5SGFuZGxlciBoYW5kbGVyID0gQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPFRleHRVbmRlcmxp
bmVQb3NpdGlvbiwgJlJlbmRlclN0eWxlOjp0ZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRleHRVbmRl
cmxpbmVQb3NpdGlvbiwgJlJlbmRlclN0eWxlOjpzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24sIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dFVuZGVybGluZVBv
c2l0aW9uPjo6Y3JlYXRlSGFuZGxlcigpOworICAgICAgICByZXR1cm4gUHJvcGVydHlIYW5kbGVy
KGhhbmRsZXIuaW5oZXJpdEZ1bmN0aW9uKCksIGhhbmRsZXIuaW5pdGlhbEZ1bmN0aW9uKCksICZh
cHBseVZhbHVlKTsKKyAgICB9Cit9OworI2VuZGlmIC8vIENTUzNfVEVYVAorCiBjbGFzcyBBcHBs
eVByb3BlcnR5TGluZUhlaWdodCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1
ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyOjpTdGF0ZSYgc3RhdGUsIENTU1ZhbHVlKiB2
YWx1ZSkKQEAgLTE5MjksNiArMTk1Nyw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxp
bmUsIEFwcGx5UHJvcGVydHlUZXh0RGVjb3JhdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLCBB
cHBseVByb3BlcnR5RGVmYXVsdDxUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnRl
eHREZWNvcmF0aW9uU3R5bGUsIFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0
VGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjpp
bml0aWFsVGV4dERlY29yYXRpb25TdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdCwgQXBwbHlQcm9wZXJ0
eURlZmF1bHQ8VGV4dEFsaWduTGFzdCwgJlJlbmRlclN0eWxlOjp0ZXh0QWxpZ25MYXN0LCBUZXh0
QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnNldFRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3Qs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRBbGlnbkxhc3Q+OjpjcmVhdGVIYW5kbGVyKCkpOwor
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiwgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbjo6Y3JlYXRlSGFuZGxlcigp
KTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlUZXh0SW5kZW50LCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6dGV4dEluZGVu
dCwgJlJlbmRlclN0eWxlOjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0
SW5kZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlUZXh0T3ZlcmZsb3csIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHRPdmVyZmxvdywgJlJl
bmRlclN0eWxlOjp0ZXh0T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjpzZXRU
ZXh0T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dE92ZXJm
bG93Pjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKaW5kZXggNzZkOGI4ZDhjMzJlMmY0Y2RmMDI1ODA2ZTAxMGVjZDFjMDE3
YWZhYy4uMTc1YmViNzIxNzZlODJiMDExYjQ5NDI0NDcxNjQwZmZhNjJmMGQ5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTU2Niw2ICs1NjYs
NyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBUZXh0RGVjb3JhdGlvblN0
eWxlIHRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0
RGVjb3JhdGlvblN0eWxlPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90ZXh0RGVjb3JhdGlvblN0
eWxlKTsgfQogICAgIFRleHRBbGlnbkxhc3QgdGV4dEFsaWduTGFzdCgpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PFRleHRBbGlnbkxhc3Q+KHJhcmVJbmhlcml0ZWREYXRhLT5tX3RleHRBbGln
bkxhc3QpOyB9CisgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlv
bigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4ocmFy
ZUluaGVyaXRlZERhdGEtPm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKTsgfQogI2Vsc2UKICAgICBU
ZXh0RGVjb3JhdGlvblN0eWxlIHRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdCB7IHJldHVybiBU
ZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKQEAgLTExMDYs
NiArMTEwNyw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHZvaWQgc2V0
VGV4dERlY29yYXRpb25TdHlsZShUZXh0RGVjb3JhdGlvblN0eWxlIHYpIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgbV90ZXh0RGVjb3JhdGlvblN0eWxlLCB2KTsgfQogICAgIHZvaWQg
c2V0VGV4dEFsaWduTGFzdChUZXh0QWxpZ25MYXN0IHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVk
RGF0YSwgbV90ZXh0QWxpZ25MYXN0LCB2KTsgfQorICAgIHZvaWQgc2V0VGV4dFVuZGVybGluZVBv
c2l0aW9uKFRleHRVbmRlcmxpbmVQb3NpdGlvbiB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERh
dGEsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uLCB2KTsgfQogI2VuZGlmIC8vIENTUzNfVEVYVAog
ICAgIHZvaWQgc2V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3Mu
X2RpcmVjdGlvbiA9IHY7IH0KICAgICB2b2lkIHNldExpbmVIZWlnaHQoTGVuZ3RoIHNwZWNpZmll
ZExpbmVIZWlnaHQpOwpAQCAtMTU3Miw2ICsxNTc0LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgc3RhdGljIFRleHREZWNvcmF0aW9uU3R5bGUgaW5pdGlhbFRleHREZWNv
cmF0aW9uU3R5bGUoKSB7IHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7IH0KICAgICBz
dGF0aWMgVGV4dEFsaWduTGFzdCBpbml0aWFsVGV4dEFsaWduTGFzdCgpIHsgcmV0dXJuIFRleHRB
bGlnbkxhc3RBdXRvOyB9CisgICAgc3RhdGljIFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpbml0aWFs
VGV4dFVuZGVybGluZVBvc2l0aW9uKCkgeyByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0
bzsgfQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsWm9vbSgp
IHsgcmV0dXJuIDEuMGY7IH0KICAgICBzdGF0aWMgaW50IGluaXRpYWxPdXRsaW5lT2Zmc2V0KCkg
eyByZXR1cm4gMDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA4YzJjMGI1ODZmNGI0OGVhOWFkNDJkMDJhY2Jj
MjQ0MjVlMWQ3MTM2Li5mY2Q1MWE0YjY5NGYzNWEzODEwYzk1MDIzMjM1NGM0MGExYThmNWFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaApAQCAtMzYwLDYgKzM2MCwxNCBAQCBlbnVtIFRleHRBbGlnbkxhc3QgewogfTsK
ICNlbmRpZiAvLyBDU1MzX1RFWFQKIAorI2lmIEVOQUJMRShDU1MzX1RFWFQpCitlbnVtIFRleHRV
bmRlcmxpbmVQb3NpdGlvbiB7CisgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0byA9IDB4MSwg
VGV4dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYyA9IDB4MiwgVGV4dFVuZGVybGluZVBvc2l0
aW9uVW5kZXIgPSAweDQsIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQgPSAweDgsIFRleHRVbmRl
cmxpbmVQb3NpdGlvblJpZ2h0ID0gMHgxMAorfTsKK2lubGluZSBUZXh0VW5kZXJsaW5lUG9zaXRp
b24gb3BlcmF0b3J8IChUZXh0VW5kZXJsaW5lUG9zaXRpb24gYSwgVGV4dFVuZGVybGluZVBvc2l0
aW9uIGIpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbihpbnQoYSkgfCBpbnQoYikpOyB9
CitpbmxpbmUgVGV4dFVuZGVybGluZVBvc2l0aW9uJiBvcGVyYXRvcnw9KFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiYgYSwgVGV4dFVuZGVybGluZVBvc2l0aW9uIGIpIHsgcmV0dXJuIGEgPSBhIHwgYjsg
fQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBlbnVtIEVQYWdlQnJlYWsgewogICAgIFBCQVVUTywg
UEJBTFdBWVMsIFBCQVZPSUQKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggYjIxNWFiMzU4N2Ux
YmYwNjk3YTUwNWQ3YzhmNDg0YzNhNmMwYzIxZS4uYjJkM2Y1NTkwZGIwNmYwODk2ZDVkZjJkZDRl
ZGMwNGM0ZDAyNWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtMTA0LDYgKzEwNCw3IEBAIFN0
eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogI2VuZGlmCiAj
aWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAsIG1fdGV4dEFsaWduTGFzdChSZW5kZXJTdHlsZTo6
aW5pdGlhbFRleHRBbGlnbkxhc3QoKSkKKyAgICAsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uKFJl
bmRlclN0eWxlOjppbml0aWFsVGV4dFVuZGVybGluZVBvc2l0aW9uKCkpCiAjZW5kaWYgLy8gQ1NT
M19URVhUCiAgICAgLCBtX3J1YnlQb3NpdGlvbihSZW5kZXJTdHlsZTo6aW5pdGlhbFJ1YnlQb3Np
dGlvbigpKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgtMSkKQEAgLTE3NCw2ICsxNzUs
NyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0
IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhU
KQogICAgICwgbV90ZXh0QWxpZ25MYXN0KG8ubV90ZXh0QWxpZ25MYXN0KQorICAgICwgbV90ZXh0
VW5kZXJsaW5lUG9zaXRpb24oby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbikKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICAsIG1fcnVieVBvc2l0aW9uKG8ubV9ydWJ5UG9zaXRpb24pCiAgICAgLCBo
eXBoZW5hdGlvblN0cmluZyhvLmh5cGhlbmF0aW9uU3RyaW5nKQpAQCAtMjcwLDYgKzI3Miw3IEBA
IGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhJiBvKSBjb25zdAogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAg
ICAgICAgJiYgbV90ZXh0QWxpZ25MYXN0ID09IG8ubV90ZXh0QWxpZ25MYXN0CisgICAgICAgICYm
IG1fdGV4dFVuZGVybGluZVBvc2l0aW9uID09IG8ubV90ZXh0VW5kZXJsaW5lUG9zaXRpb24KICNl
bmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAgJiYgbV9ydWJ5UG9zaXRpb24gPT0gby5tX3J1YnlQ
b3NpdGlvbgogICAgICAgICAmJiBtX2xpbmVTbmFwID09IG8ubV9saW5lU25hcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmgKaW5kZXggYjIyODFmNzcyOTcwN2Y3YzEzYjQ1OTlhYTc2ZGYwYjU5ZTllNzNhYy4uZDJiYTAw
N2Y0MzhjNGI1MGRjZWE5YzMwYjU2MTA2ZmM0MTEzNDAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC0x
MTgsNiArMTE4LDcgQEAgcHVibGljOgogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAg
ICB1bnNpZ25lZCBtX3RleHRBbGlnbkxhc3QgOiAzOyAvLyBUZXh0QWxpZ25MYXN0CisgICAgdW5z
aWduZWQgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gOiA1OyAvLyBUZXh0VW5kZXJsaW5lUG9zaXRp
b24KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB1bnNpZ25lZCBtX3J1YnlQb3NpdGlvbiA6IDE7
IC8vIFJ1YnlQb3NpdGlvbgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Zl
YXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXgg
NzdiMmM3NmM0NGEzMmZhOTMzMDRjZTRiY2QwN2UyMTA1ZmU5YzU1OC4uN2QzYzA3ODMwNmExYmJi
YjA5YzkyZTFjM2IwNTdiOTBhYjJhMzc4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMu
Z3lwaQpAQCAtNDAsOCArNDAsOCBAQAogICAgICAgJ0VOQUJMRV9DQU5WQVNfUFJPWFk9MScsCiAg
ICAgICAnRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HPTEnLAogICAgICAgJ0VOQUJMRV9DU1BfTkVY
VD0xJywKLSAgICAgICdFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0wJywKLSAgICAgICdF
TkFCTEVfQ1NTM19URVhUPTAnLAorICAgICAgJ0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
PTEnLAorICAgICAgJ0VOQUJMRV9DU1MzX1RFWFQ9MScsCiAgICAgICAnRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSz0xJywKICAgICAgICdFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HPTAnLAog
ICAgICAgJ0VOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT049MCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDRjZWY3MDY4OGFiZmQ0YTE1MjI1ODBhMjVkZDNhMzNlNGYwYThiODUuLjQ2ZTg2MjNiYjI1
ZmM2NDZkMjk2YzVmZTlkNTAyYzczOTJmYjQ1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MCw4
ICs1MCw4IEBAIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT047CiBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEID0gRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKIEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwot
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7Ci1FTkFCTEVfQ1NTM19URVhUID0gOwor
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9S
VUxFUzsKK0VOQUJMRV9DU1MzX1RFWFQgPSBFTkFCTEVfQ1NTM19URVhUOwogRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUX21hY29zeCA9IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
NGNlZjcwNjg4YWJmZDRhMTUyMjU4MGEyNWRkM2EzM2U0ZjBhOGI4NS4uNDZlODYyM2JiMjVmYzY0
NmQyOTZjNWZlOWQ1MDJjNzM5MmZiNDVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUwLDggKzUwLDggQEAg
RU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElD
S1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5J
TUFUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxFX0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVOQUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5B
QkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1MzX1RFWFQ7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFj
b3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUOwpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90
b29scy9SZWFkQ29tbWFuZExpbmVBcmd1bWVudHMubTQgYi9Tb3VyY2UvYXV0b3Rvb2xzL1JlYWRD
b21tYW5kTGluZUFyZ3VtZW50cy5tNAppbmRleCA3ODUzOGYwNzQ4ZjBlNTA3NGQ3M2EwMzEyMmE4
YmUwZDg3MmVjOWQ5Li44NWIwMWQ1M2RmNDMyZDliZjI5MjE0NDFhMmU5NDBjMTRkMGUzNDViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL1JlYWRDb21tYW5kTGluZUFyZ3VtZW50cy5tNAor
KysgYi9Tb3VyY2UvYXV0b3Rvb2xzL1JlYWRDb21tYW5kTGluZUFyZ3VtZW50cy5tNApAQCAtMjA3
LDQgKzIwNywyMCBAQCBBQ19BUkdfRU5BQkxFKFtpbnRyb3NwZWN0aW9uXSwKICAgICBbZW5hYmxl
X2ludHJvc3BlY3Rpb249bm9dKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9pbnRyb3NwZWN0aW9u
XSkKIAotCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIENTUzMgY29uZGl0aW9uYWwgcnVsZXMg
c3VwcG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIGNvbmRpdGlv
bmFsIHJ1bGVzIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShjc3MzX2NvbmRpdGlvbmFsX3J1bGVz
LAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZGl0aW9uYWwtcnVs
ZXNdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIENTUzMgY29uZGl0aW9u
YWwgcnVsZXMgc3VwcG9ydCBbZGVmYXVsdD15ZXNdXSksCisgICAgICAgICAgICAgIFtdLFtlbmFi
bGVfY3NzM19jb25kaXRpb25hbF9ydWxlcz0ieWVzIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxl
X2NzczNfY29uZGl0aW9uYWxfcnVsZXNdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9DU1MzX0NP
TkRJVElPTkFMX1JVTEVTXSxbdGVzdCAiJGVuYWJsZV9jc3MzX2NvbmRpdGlvbmFsX3J1bGVzIiA9
ICJ5ZXMiXSkKKworIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIHRleHQgZGVjb3JhdGlv
biBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIENTUzMgdGV4dCBk
ZWNvcmF0aW9uIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShjc3MzX3RleHQsCisgICAgICAgICAg
ICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jc3MzLXRleHQtZGVjb3JhdGlvbl0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgQ1NTMyB0ZXh0IGRlY29yYXRpb24gc3Vw
cG9ydCBbZGVmYXVsdD15ZXNdXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfY3NzM190ZXh0
PSJ5ZXMiXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfY3NzM190ZXh0XSkKK0FNX0NPTkRJVElP
TkFMKFtFTkFCTEVfQ1NTM19URVhUXSxbdGVzdCAiJGVuYWJsZV9jc3MzX3RleHQiID0gInllcyJd
KQpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00IGIv
U291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CmluZGV4IDBkMTg3MDU1M2Vm
YmY3M2M3ZTBiZWE2MmFlNjBiMjNlZjgyYzZmYWYuLjU4OGIyZjg4YmRhMTRjMGIwOTIxYmJkZjkz
ODFkZDNiODg4YWQ2YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRG
ZWF0dXJlcy5tNAorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQK
QEAgLTEyLDcgKzEyLDcgQEAgcmVhZCAtZCAnJyBERUZBVUxUX0ZFQVRVUkVfREVGSU5FUyA8PCJF
T0YiCiAJRU5BQkxFX0NBTlZBU19QUk9YWT0wCiAJRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HPTEK
IAlFTkFCTEVfQ1NQX05FWFQ9MAotCUVOQUJMRV9DU1MzX1RFWFQ9MAorCUVOQUJMRV9DU1MzX1RF
WFQ9MQogCUVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUs9MQogCUVOQUJMRV9DU1NfQ09N
UE9TSVRJTkc9MAogCUVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT049MApAQCAtMjQsNyArMjQs
NyBAQCByZWFkIC1kICcnIERFRkFVTFRfRkVBVFVSRV9ERUZJTkVTIDw8IkVPRiIKIAlFTkFCTEVf
Q1NTX1NUSUNLWV9QT1NJVElPTj0wCiAJRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNf
VU5QUkVGSVhFRD0wCiAJRU5BQkxFX0NTU19WQVJJQUJMRVM9MAotCUVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTPTAKKwlFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xCiAJRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUj0wCiAJRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUPTAKIAlF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVD0wCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0NvbW1vbi5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDhl
ZGUzY2FlNzRkZjdhNmJmZmU1NWE0NDU3OTk5ODg3OWMyNTY4ZmUuLjdiZjUwNmMxYjJmNGM4ZWVi
MWQ1MTQyM2ZiZjFlNjIxNWViZGFjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25z
Q29tbW9uLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0z
NywzICszNyw2IEBAIHNldChMSUJfU1VGRklYICIiIENBQ0hFIFNUUklORyAiRGVmaW5lIHN1ZmZp
eCBvZiBkaXJlY3RvcnkgbmFtZSAoMzIvNjQpIikKIAogc2V0KExJQl9JTlNUQUxMX0RJUiAibGli
JHtMSUJfU1VGRklYfSIgQ0FDSEUgUEFUSCAiV2hlcmUgdG8gaW5zdGFsbCBsaWJyYXJpZXMgKGxp
YiR7TElCX1NVRkZJWH0pIikKIHNldChFWEVDX0lOU1RBTExfRElSICJiaW4iIENBQ0hFIFBBVEgg
IldoZXJlIHRvIGluc3RhbGwgZXhlY3V0YWJsZXMiKQorCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1MzX1RFWFQgT04pCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKaW5kZXggZDliODkxYjliM2UxM2RlMDdkNjY5YzliMTg5YThjNWI0MmU5ZmZh
OS4uNzQ5NWJkMTI0YTE4ZTVjZDFiNWRkZDk0ODg1MjE5OGUzYjJiZjJjZSAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQpAQCAtMjIsOCArMjIsOCBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JF
R0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2ds
ZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQ
b3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVY
VCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCi0gICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2ds
ZSBDU1MzIENvbmRpdGlvbmFsIFJ1bGVzIHN1cHBvcnQiIE9GRikKLSAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ1NTM19URVhUICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQiIE9GRikK
KyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyAi
VG9nZ2xlIENTUzMgQ29uZGl0aW9uYWwgUnVsZXMgc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX0NTUzNfVEVYVCAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0IiBP
TikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLICJUb2dnbGUgQm94IERlY29yYXRpb24gYnJlYWsgKENTUyBCYWNrZ3JvdW5kcyBhbmQgQm9y
ZGVycykgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19D
T01QT1NJVElORyAiVG9nZ2xlIENTUyBDT01QT1NJVElORyBzdXBwb3J0IiBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiAiVG9nZ2xlIENT
UyBEZXZpY2UgQWRhcHRhdGlvbiBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KaW5kZXggOTMzMGFiOTY0MGNhMTE2M2NjMWU2MjI5MzQzNDgzMDY0ZTdh
NDZmNS4uZTljMDY5ZWQ0M2NhMjJmYWYxNDFiYWY5YzlkMGU3M2NhNWYzNjhmYSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTg2LDEwICsxODYsMTAgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZh
dWx0ID0+IGlzQXBwbGVXZWJLaXQoKSB8fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NG
aWx0ZXJzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtY29uZGl0aW9uYWwtcnVs
ZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IChpLmUu
IFxAc3VwcG9ydHMpIiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBw
b3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwg
ZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAog
CiAgICAgeyBvcHRpb24gPT4gImNzczMtdGV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MzIFRleHQg
c3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+
IChpc0VmbCgpIHx8IGlzR3RrKCkpLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTM19URVhUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBc
JGNzczNUZXh0U3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzcy1ib3gtZGVjb3JhdGlv
bi1icmVhayIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MgYm94LWRlY29yYXRpb24tYnJlYWsgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsiLCBk
ZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkY3NzQm94RGVjb3JhdGlvbkJyZWFrU3VwcG9ydCB9LApk
aWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9U
b29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQppbmRleCAwYzI2OWFjZTQ0
MGNmMzE4OTM1MjgxZTUzN2ZkY2RkYWY5MzVmMThlLi41ZDhiMjNmOWViM2NhMzU3NmJkOTcyNzQw
ZGM2MWZmNjYwMjg3YWFhIDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVz
L2ZlYXR1cmVzLnByaQorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVz
LnByaQpAQCAtMzQsOCArMzQsOCBAQCBGRUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVOQUJMRV9D
U1NfU1RJQ0tZX1BPU0lUSU9OPTEgXAogICAgIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJ
T05TX1VOUFJFRklYRUQ9MSBcCiAgICAgRU5BQkxFX0NTU19WQVJJQUJMRVM9MCBcCi0gICAgRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCBcCi0gICAgRU5BQkxFX0NTUzNfVEVYVD0wIFwK
KyAgICBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xIFwKKyAgICBFTkFCTEVfQ1NTM19U
RVhUPTEgXAogICAgIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKICAgICBFTkFCTEVfREFU
QUdSSUQ9MCBcCiAgICAgRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ9MSBcCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2RiY2Y2
NmYyMGVkZDQ5NDQ1YTdmODIzYjExMmVjMmI4ZDJiN2FlNS4uY2E2MjMyYTViYmZiZGRlNzdjZTk1
NDQ2NDkyYmM4NGRhZTUwNWQwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTIyICBM
YW1hcnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAg
ICBbY3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IHByb3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3Ig
J3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3
ZWJraXQnIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNv
cmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50
U3R5bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEzLTAyLTIyICDDgWTD
oW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuIEFkZGVkIHBsYXRmb3JtIHNwZWNpZmljIGV4cGVjdGVkIGZpbGVzIGFm
dGVyIDE0MzYyNi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4OGY5Mjk0
MGY0MjU5OTk3N2YxNDc0OTM4NDRiYzhkMjlkMWUyMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOTcgQEAKK1Rlc3QgdG8gbWFrZSBzdXJlIC13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24gcHJvcGVydHkgcmV0dXJucyB2YWx1ZXMgcHJvcGVybHkuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHZhbHVlOgorUEFTUyBlLnN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxs
CitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRv
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYXV0bycKKworVmFsdWUgJyc6CitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRv
JworCitJbml0aWFsIHZhbHVlIChleHBsaWNpdCk6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIGlzICdpbml0aWFsJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdb
b2JqZWN0IENTU1ZhbHVlXScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnaW5pdGlhbCcKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnYXV0byc6CitQQVNT
IGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdhdXRvJworUEFTUyBlLnN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgZS5zdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRv
JworCitWYWx1ZSAnYWxwaGFiZXRpYyc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIGlzICdhbHBoYWJldGljJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAnYWxwaGFiZXRp
YycKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2Fs
cGhhYmV0aWMnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJp
bWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBoYWJldGljJwor
CitWYWx1ZSAndW5kZXInOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biBpcyAndW5kZXInCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVM
aXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXInCitQQVNTIGNvbXB1dGVkU3R5bGUu
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5j
c3NUZXh0IGlzICd1bmRlcicKKworVmFsdWUgJ2xlZnQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnbGVmdCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdsZWZ0JworUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnbGVmdCcKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdsZWZ0JworCitWYWx1ZSAncmlnaHQnOgorUEFTUyBl
LnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAncmlnaHQnCitQQVNTIGUuc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4
dCBpcyAncmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIGlzICdyaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdyaWdodCcKKworVmFs
dWUgJ3VuZGVyIGxlZnQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biBpcyAndW5kZXIgbGVmdCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NW
YWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworUEFTUyBjb21w
dXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworCitBbmNlc3RvciBpbmhlcml0
cyB2YWx1ZXMgZnJvbSBwYXJlbnQ6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRT
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgbGVmdCcKKworVmFsdWUgJ3VuZGVyIHJpZ2h0JzoK
K1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyIHJpZ2h0
JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIHJpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
Y3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCisKK0FuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9t
IHBhcmVudDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3Nz
VGV4dCBpcyAndW5kZXIgcmlnaHQnCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0
L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NWQ3NzIzNWIxMTJlMDZi
NGNjMWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENv
bXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3Jh
dGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2OTUxM2U3NDEzMGQxNDExY2VlZDA5
YWYyYjVlMWEzYjk4NDU2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
czMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0
cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCkBAIC0wLDAgKzEs
MTAwIEBACitmdW5jdGlvbiB0ZXN0RWxlbWVudFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NT
LCB0eXBlLCB2YWx1ZSkKK3sKKyAgICBpZiAodHlwZSAhPSBudWxsKSB7CisgICAgICAgIHNob3Vs
ZEJlKCJlLnN0eWxlLiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgICAg
IHNob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyAr
ICInKS50b1N0cmluZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0
IiwgIiciICsgdmFsdWUgKyAiJyIpOworICAgIH0gZWxzZQorICAgICAgICBzaG91bGRCZU51bGwo
ImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpIik7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NTLCB0
eXBlLCB2YWx1ZSkKK3sKKyAgICBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZSwgbnVsbCk7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuIiArIHByb3BlcnR5SlMs
ICInIiArIHZhbHVlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5
cGUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFsdWUgKyAiJyIpOwor
fQorCitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4iKQorCit2YXIgdGVz
dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5l
ci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0
Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdCI+
aGVsbG8gd29ybGQ8L2Rpdj4nOworZGVidWcoIkluaXRpYWwgdmFsdWU6Iik7CitlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVs
bCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICcnOiIpOworZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnJzsKK3Rlc3RFbGVtZW50U3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgbnVsbCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIkluaXRp
YWwgdmFsdWUgKGV4cGxpY2l0KToiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uID0gJ2luaXRpYWwnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NW
YWx1ZV0iLCAiaW5pdGlhbCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVl
ICdhdXRvJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8n
OwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0i
LCAiYXV0byIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhbHBoYWJl
dGljJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2FscGhhYmV0
aWMnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAiYWxwaGFiZXRpYyIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK2RlYnVnKCcnKTsKKworZGVidWco
IlZhbHVlICd1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9
ICd1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24i
LCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlz
dF0iLCAidW5kZXIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1Zh
bHVlTGlzdF0iLCAidW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdsZWZ0Jzoi
KTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2xlZnQnOwordGVzdEVs
ZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgImxlZnQiKTsKK3Rl
c3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAibGVmdCIp
OworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3JpZ2h0JzoiKTsKK2Uuc3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3JpZ2h0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwordGVzdENvbXB1dGVkU3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOworZGVidWcoJycpOwor
CitkZWJ1ZygiVmFsdWUgJ3VuZGVyIGxlZnQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gPSAndW5kZXIgbGVmdCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJb
b2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOwordGVzdENvbXB1dGVkU3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1Zygn
Jyk7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBz
dHlsZT0iLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgbGVmdDsiPmhlbGxv
IDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFu
Y2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBu
dWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxp
c3RdIiwgInVuZGVyIGxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciBy
aWdodCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlciBy
aWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAidW5kZXIgcmlnaHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcnKTsKKwordGVzdENvbnRhaW5l
ci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxlPSItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlciByaWdodDsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFu
Y2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZh
bHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1h
bmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29t
cHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0
Iik7CitkZWJ1ZygnJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5l
cik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBhYWY1ZmZlOGE2YTZkZDUxYTA2NTNhNjIyZWQ0MDgzM2E4Y2RlODYxLi45N2VhNmExYjM3
ZGJmM2M2MmMwY2ViN2M1OTdlNGU4MGE0YTliMWY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIyMiw3ICsyMjIsNyBAQCB3ZWJraXQu
b3JnL2IvODUyNjIgZmFzdC9tZWRpYS9tcS1yZXNvbHV0aW9uLWRwaS1kcGNtLXdhcm5pbmcuaHRt
bCBbIFNraXAgXQogIyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVkLgog
d2Via2l0Lm9yZy9iLzg5MDUyIGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uCiAKLSMgQ1NTMyBU
ZXh0IHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkIChuZWVkcyBFTkFCTEVfQ1NTM19URVhUKS4K
KyMgVGhvc2UgdHdvIHN0aWxsIGxhY2sgLWV4cGVjdGVkLnBuZyBmaWxlcy4gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NDYuCiB3ZWJraXQub3JnL2IvNTg0
OTEgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24KIHdlYmtpdC5vcmcvYi83NjE3
MyBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtYWxpZ24tbGFzdAogCmRpZmYgLS1naXQgYS9XZWJL
aXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcyBiL1dl
YktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCmlu
ZGV4IDQ2Y2JlYzJkOWFlZTRjZTc3ZDAxNDA3MGQ5ODRhMWE2ZGU1ZmQxMWYuLjNkOGEwOTE2OGUx
YjNhZTAzZjJlNjEwMDBjYmZlMmFhZWNjOTY3MmMgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmll
cy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCisrKyBiL1dlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCkBAIC01Mywx
MiArNTMsMTIgQEAKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTIgotCQlWYWx1ZT0iIgorCQlWYWx1ZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1h
Y3JvCiAJCU5hbWU9IkVOQUJMRV9DU1MzX1RFWFQiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFC
TEVfQ1NTM19URVhUIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVz
ZXJNYWNybwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191578</attachid>
            <date>2013-03-05 15:19:54 -0800</date>
            <delta_ts>2013-03-06 09:47:26 -0800</delta_ts>
            <desc>Parse text-underline-position</desc>
            <filename>bug-102491-20130305201600.patch</filename>
            <type>text/plain</type>
            <size>36966</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhMjUzNDFkYmJiMmY5
ZjFkZjYyNTY1MjQwN2YyMDAzZWY1MDM5OS4uNmIyM2Y3ZjZlZjFhZjI0MmQ0NjU4ZjViNGFiYzVh
NjY1MzJjYmViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA1ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cmVuZGVyVGV4dFVuZGVybGluZVBvc2l0aW9uRmxhZ3NUb0NT
U1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbik6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRlZCBw
YXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0
eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQtdW5k
ZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAgICAg
b25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJldGlj
JyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKEFwcGx5
UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbjo6YXBwbHlWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKToKKyAgICAgICAg
U2V0IHByb3BlcnR5IGhhbmRsZXIgZm9yIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIChpbmNsdWRp
bmcgYml0d2lzZSBhZ2dyZWdhdG9yKS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yfCApOgorICAgICAgICAoV2ViQ29yZTo6b3Bl
cmF0b3J8PSk6CisgICAgICAgIEFkZGVkIGJpdHdpc2UgVGV4dFVuZGVybGluZVBvc2l0aW9uIGVu
dW0gd2l0aCBvcGVyYXRvciBmdW5jdGlvbnMgfCBhbmQgfD0gb3BlcmF0b3IgKHVzZWQgaW4gU3R5
bGVCdWlsZGVyKS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBtX3RleHRVbmRl
cmxpbmVQb3NpdGlvbiBvbiBjb3B5IGNvbnN0cnVjdG9yIGFuZCBvcGVyYXRvcgorICAgICAgICBh
c3NpZ25tZW50IGZ1bmN0aW9ucy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAoU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6IEFkZGVk
IG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIGhlcmUgYXMgaXQgd29uJ3QgYmUgdXNlZCByZWd1bGFy
bHkuCisKIDIwMTMtMDMtMDQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbcmVmYWN0b3JpbmddIHNldCBmcmFtZSBpZGVudGlm
aWVycyBpbiB0aW1lbGluZSByZWNvcmRzIGVhcmx5LCBkbyBub3Qga2VlcCB0aGVtIGluIGV2ZW50
IHN0YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IGQ5OWU4MGNkMjc5MTI1YTUwN2YzMGE0OGRhOTZlNGI2NTdmMWQ4ZTcu
LjE3NmYyZTcxYTlkZDEyZjNjZTA0ZDU2MzU2NGI5YzE1YWQyYjAyZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xOTEs
NiArMTkxLDcgQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVz
W10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsCiAgICAgQ1NT
UHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3BlcnR5V2Via2l0
VGV4dEFsaWduTGFzdCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biwKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRlbnQsCiAgICAg
Q1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nLApAQCAtMTM0Miw2ICsxMzQzLDI2IEBAIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1Zh
bHVlKFRleHREZWNvcmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisKK3N0YXRpYyBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NT
VmFsdWUoVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbikKK3sKKyAg
ICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8p
CisgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVBdXRvKTsKKworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVy
bGluZVBvc2l0aW9uQWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAgUmVmUHRyPENT
U1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsK
KyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5k
ZXIpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gJiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQ
b29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAgIGVsc2UgaWYg
KHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0KQorICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlUmlnaHQpKTsKKworICAgIEFTU0VSVChsaXN0LT5sZW5ndGgoKSk7CisgICAgcmV0dXJu
IGxpc3Q7Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIHN0YXRpYyBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBmaWxsUmVwZWF0VG9DU1NWYWx1ZShFRmlsbFJlcGVhdCB4UmVwZWF0LCBFRmlsbFJlcGVh
dCB5UmVwZWF0KQpAQCAtMjE0Miw2ICsyMTYzLDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQK
ICAgICAgICAgICAgIHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxhZ3NUb0NTU1Zh
bHVlKHN0eWxlLT50ZXh0RGVjb3JhdGlvblN0eWxlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0VGV4dEFsaWduTGFzdDoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wo
KS5jcmVhdGVWYWx1ZShzdHlsZS0+dGV4dEFsaWduTGFzdCgpKTsKKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKKyAgICAgICAgICAgIHJldHVybiBy
ZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHRVbmRl
cmxpbmVQb3NpdGlvbigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgICAgICAgICAgcmV0dXJu
IHJlbmRlclRleHREZWNvcmF0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0RGVjb3JhdGlv
bnNJbkVmZmVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggN2M3MDViZjE0ODFj
MjIzNDM1M2Y3MjdkYTliZTUwZmE2NzBkMjM3Ny4uNTIzZWZlMWEzNWFmNjYzM2QxY2M2YTdhN2Jl
OWNlNTJmMjI4NDk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIyOTQsNiArMjI5
NCwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlkIHx8IGlkID09
IENTU1ZhbHVlRG91YmxlIHx8IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09IENTU1ZhbHVl
RGFzaGVkIHx8IGlkID09IENTU1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZl
ID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uOgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5k
ZXIgfHwgWyBsZWZ0IHwgcmlnaHQgXSBdCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxp
bmVQb3NpdGlvbihpbXBvcnRhbnQpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVpvb206ICAgICAgICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8
bnVtYmVyPiB8IDxwZXJjZW50YWdlPiB8IGluaGVyaXQKQEAgLTkxMDcsNiArOTExMSw0OSBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNf
VEVYVCkKKy8vIFRoaXMgbWV0aG9kIHBhcnNlcyBzaW50YXg6IGF1dG8gfCBhbHBoYWJldGljIHwg
WyB1bmRlciB8fCBbIGxlZnQgfCByaWdodCBdIF0uCitib29sIENTU1BhcnNlcjo6cGFyc2VUZXh0
VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpCit7CisgICAgQ1NTUGFyc2VyVmFsdWUq
IHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKyAgICBpZiAodmFsdWUtPmlkID09IENT
U1ZhbHVlQXV0byB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVBbHBoYWJldGljKSB7CisgICAgICAg
IGlmIChtX3ZhbHVlTGlzdC0+bmV4dCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24sIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQp
LCBpbXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgp
OworCisgICAgc3dpdGNoICh2YWx1ZS0+aWQpIHsKKyAgICBjYXNlIENTU1ZhbHVlVW5kZXI6Cisg
ICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgY2FzZSBDU1NWYWx1ZVJpZ2h0OiB7CisgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUt
PmlkKSk7CisgICAgICAgIGNvbnN0IGJvb2wgdmFsdWVFcXVhbHNVbmRlciA9ICh2YWx1ZS0+aWQg
PT0gQ1NTVmFsdWVVbmRlcik7CisgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKTsK
KworICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWVFcXVhbHNVbmRlciAmJiAodmFsdWUtPmlkID09
IENTU1ZhbHVlTGVmdCB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVSaWdodCkpIHsKKyAgICAgICAg
ICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFs
dWUtPmlkKSk7CisgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAgICAgICAgIGxpc3QuY2xlYXIoKTsK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGFk
ZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBsaXN0LnJl
bGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZiAvLyBDU1Mz
X1RFWFQKKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dEVtcGhhc2lzU3R5bGUoYm9vbCBpbXBv
cnRhbnQpCiB7CiAgICAgdW5zaWduZWQgdmFsdWVMaXN0U2l6ZSA9IG1fdmFsdWVMaXN0LT5zaXpl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggYTk5ZDI4NWI1NmM3MTU1YjRjMDFlMjMzMjll
MTAxZTkzYjNlOGNkNC4uOTI1NDg2MmI5ZDVjZjRmNjZmM2IxOTMyNmRjNWQxOWNjMjRkY2Q4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjYzLDYgKzI2Myw5IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgYWRkVGV4dERlY29yYXRpb25Qcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VUZXh0RGVjb3JhdGlv
bihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworI2lmIEVOQUJMRShDU1Mz
X1RFWFQpCisgICAgYm9vbCBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFu
dCk7CisjZW5kaWYgLy8gQ1NTM19URVhUCiAKICAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4o
Ym9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VDYWxjdWxhdGlvbihDU1NQYXJzZXJWYWx1
ZSosIENhbGN1bGF0aW9uUGVybWl0dGVkVmFsdWVSYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MzJlOTljMjdmZTdkODM3ZTgz
NjA0Y2NiYmEwYmFhZWZkY2M1Zjk2Li5jNGFiNzYzODY0MGUzYTIyZTQwMzg1ZjZjMzM1ZjdmMDZk
MmJiYmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKQEAgLTIzNjYsNiArMjM2NiwyNSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgVGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0CiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsKIH0K
KwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHRVbmRl
cmxpbmVQb3NpdGlvbigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7Cisg
ICAgY2FzZSBDU1NWYWx1ZUF1dG86CisgICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRp
b25BdXRvOworICAgIGNhc2UgQ1NTVmFsdWVBbHBoYWJldGljOgorICAgICAgICByZXR1cm4gVGV4
dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYzsKKyAgICBjYXNlIENTU1ZhbHVlVW5kZXI6Cisg
ICAgICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlcjsKKyAgICBjYXNlIENTU1Zh
bHVlTGVmdDoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkxlZnQ7CisgICAg
Y2FzZSBDU1NWYWx1ZVJpZ2h0OgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9u
UmlnaHQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVGV4dFNl
Y3VyaXR5IGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA0ODk5NmE0OTZjN2Qy
NzY5ZmJiNmVhOTFjOGYxNGYzMzJhYTNlMGIzLi44MzAzNjA1MjM3NmI2NWI2ODI5ZDFjZjYyNzAw
MmE3NzhjM2ZlZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTMyOSw2ICsz
MjksNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCkKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRBbGlnbkxhc3Q6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbjoKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4
dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBo
YXNpczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggNjk3OGMxOTQz
NTc4MTUxMjg0ZDQyM2ViODZkYzM1YzYzMGExNTM5ZS4uYzRmZWVjZTg5MzdjMDI3MmQzNGNmYWMy
YWNiZjY2NWIzNmQyODMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
QEAgLTM2OSw2ICszNjksNyBAQCB6LWluZGV4CiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1saW5l
CiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZQogLXdlYmtpdC10ZXh0LWFsaWduLWxhc3QK
Ky13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KICNlbmRpZgogLXdlYmtpdC10ZXh0LWRl
Y29yYXRpb25zLWluLWVmZmVjdAogLXdlYmtpdC10ZXh0LWVtcGhhc2lzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGE2OThmNmUzOWRhNmNiYzdjMDczZTY1NjMyNWMz
NWFmMmFmZGVmNjguLjNhNTU3YmE2ZmYzYzAxZTg5ZTNlMmE3N2EwZGJmNDQwOTRkMmJmZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC05NDYsNiArOTQ2LDExIEBA
IHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmICEoZGVmaW5lZChFTkFC
TEVfU1ZHKSAmJiBFTkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQpICYmIEVO
QUJMRV9DU1MzX1RFWFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KK2FscGhh
YmV0aWMKKyNlbmRpZgorCiAvLyBwb3NpdGlvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TVElD
S1lfUE9TSVRJT04pICYmIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OCiAtd2Via2l0LXN0aWNr
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAppbmRleCA0ZDg3OGIyZTliMzI1ZTI1ZWUz
NmFkOGNiZjJiMjAwZjJmMzgyMTBhLi4zN2I1MTZkMmMxNWYwNWEyOGJkMjhkZDMxNzQ5NzllM2Zl
Mzg0MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5
LDM1IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNz
IEFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRp
YyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNv
bHZlciwgQ1NTVmFsdWUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlm
IHZhbHVlIGlzICdhdXRvJyBvciAnYWxwaGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQ
cmltaXRpdmVWYWx1ZSgpKSB7CisgICAgICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9
ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0
eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHVuc2lnbmVkIHQgPSAwOworICAg
ICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkodmFsdWUpOyBpLmhhc01vcmUoKTsgaS5h
ZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAg
ICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAgICAgICBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gdDIgPSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
PihpdGVtKTsKKyAgICAgICAgICAgIHQgfD0gdDI7CisgICAgICAgIH0KKyAgICAgICAgc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKHN0YXRpY19jYXN0PFRl
eHRVbmRlcmxpbmVQb3NpdGlvbj4odCkpOworICAgIH0KKyAgICBzdGF0aWMgUHJvcGVydHlIYW5k
bGVyIGNyZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAgICAgUHJvcGVydHlIYW5kbGVyIGhhbmRs
ZXIgPSBBcHBseVByb3BlcnR5RGVmYXVsdEJhc2U8VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVu
ZGVyU3R5bGU6OnRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAm
UmVuZGVyU3R5bGU6OnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0
aW9uLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVI
YW5kbGVyKCk7CisgICAgICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0
RnVuY3Rpb24oKSwgaGFuZGxlci5pbml0aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAg
IH0KK307CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGNsYXNzIEFwcGx5UHJvcGVydHlMaW5lSGVp
Z2h0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKQEAgLTE5MjMs
NiArMTk1Miw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsIEFwcGx5UHJvcGVy
dHlUZXh0RGVjb3JhdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLCBBcHBseVByb3BlcnR5RGVm
YXVsdDxUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uU3R5
bGUsIFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25T
dHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29y
YXRpb25TdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dEFs
aWduTGFzdCwgJlJlbmRlclN0eWxlOjp0ZXh0QWxpZ25MYXN0LCBUZXh0QWxpZ25MYXN0LCAmUmVu
ZGVyU3R5bGU6OnNldFRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbFRleHRBbGlnbkxhc3Q+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgQXBwbHlQcm9w
ZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBB
cHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6dGV4dEluZGVudCwgJlJlbmRlclN0eWxl
OjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0SW5kZW50Pjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0T3ZlcmZs
b3csIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjp0ZXh0
T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjpzZXRUZXh0T3ZlcmZsb3csIFRl
eHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dE92ZXJmbG93Pjo6Y3JlYXRlSGFu
ZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBkMTY1MWQ1ZDk1
YmYzMTNlMDk3MDNhMDQyOWFkZDljNWQ5YmMyMDIzLi5mMzM3ZWExZTM5Y2NiZTMxNzQ5ZmFmMjc5
ZDgyMTlkM2U4NTYwZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0z
ODI3LDYgKzM4MjcsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRU
ZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0
aW9uU3R5bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzQ29sb3I6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpc1Bvc2l0aW9uOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA5MDM1YjgyOTgwMTM4
NDhjYzNjNjQ0NzA2OTc2ZDBkZDYwOTk2OTQ1Li5jNjEyMWFiM2VjY2U5ZDYwYzYxNDBmZDY2M2Nj
ZjNhYjk3MGRiZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaApAQCAtNTY2LDYgKzU2Niw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhU
KQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5bGU+KHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAgVGV4dEFsaWduTGFzdCB0ZXh0QWxp
Z25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEFsaWduTGFzdD4ocmFyZUlu
aGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFzdCk7IH0KKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRp
b24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4
dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9z
aXRpb24pOyB9CiAjZWxzZQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25T
dHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlm
IC8vIENTUzNfVEVYVApAQCAtMTEwNiw2ICsxMTA3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvblN0eWxlKFRleHREZWNvcmF0aW9u
U3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3RleHREZWNvcmF0aW9u
U3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ25MYXN0KFRleHRBbGlnbkxhc3Qgdikg
eyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRBbGlnbkxhc3QsIHYpOyB9CisgICAg
dm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24oVGV4dFVuZGVybGluZVBvc2l0aW9uIHYpIHsg
U0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24sIHYpOyB9
CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdm9pZCBzZXREaXJlY3Rpb24oVGV4dERpcmVjdGlv
biB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9uID0gdjsgfQogICAgIHZvaWQgc2V0TGlu
ZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGluZUhlaWdodCk7CkBAIC0xNTcyLDYgKzE1NzQsNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBzdGF0aWMgVGV4dERlY29yYXRp
b25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRpb25TdHlsZSgpIHsgcmV0dXJuIFRleHREZWNvcmF0
aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRpYyBUZXh0QWxpZ25MYXN0IGluaXRpYWxUZXh0QWxp
Z25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1dG87IH0KKyAgICBzdGF0aWMgVGV4dFVu
ZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSB7IHJldHVybiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgc3Rh
dGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4gMS4wZjsgfQogICAgIHN0YXRpYyBpbnQg
aW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDhjMmMw
YjU4NmY0YjQ4ZWE5YWQ0MmQwMmFjYmMyNDQyNWUxZDcxMzYuLjNjNjA4NDJlYjg0YmQwNmI1Yjlm
NmI2NzlkZTQ0NzZlNjYwNDNjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0zNTgsNiArMzU4LDEwIEBAIGVu
dW0gVGV4dERlY29yYXRpb25TdHlsZSB7CiBlbnVtIFRleHRBbGlnbkxhc3QgewogICAgIFRleHRB
bGlnbkxhc3RBdXRvLCBUZXh0QWxpZ25MYXN0U3RhcnQsIFRleHRBbGlnbkxhc3RFbmQsIFRleHRB
bGlnbkxhc3RMZWZ0LCBUZXh0QWxpZ25MYXN0UmlnaHQsIFRleHRBbGlnbkxhc3RDZW50ZXIsIFRl
eHRBbGlnbkxhc3RKdXN0aWZ5CiB9OworCitlbnVtIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB7Cisg
ICAgVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0byA9IDB4MSwgVGV4dFVuZGVybGluZVBvc2l0aW9u
QWxwaGFiZXRpYyA9IDB4MiwgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXIgPSAweDQsIFRleHRV
bmRlcmxpbmVQb3NpdGlvbkxlZnQgPSAweDgsIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0ID0g
MHgxMAorfTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKIAogZW51bSBFUGFnZUJyZWFrIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmNwcAppbmRleCBiMjE1YWIzNTg3ZTFiZjA2OTdhNTA1ZDdjOGY0ODRjM2E2YzBjMjFl
Li5iMmQzZjU1OTBkYjA2ZjA4OTZkNWRmMmRkNGVkYzA0YzRkMDI1Y2YyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVS
YXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICwg
bV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdCgpKQorICAg
ICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJs
aW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIG1fcnVieVBvc2l0aW9u
KFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBvc2l0aW9uKCkpCiAgICAgLCBoeXBoZW5hdGlvbkxp
bWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3NSw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykK
ICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3Qoby5t
X3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihvLm1fdGV4dFVu
ZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICwgbV9ydWJ5UG9zaXRp
b24oby5tX3J1YnlQb3NpdGlvbikKICAgICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRp
b25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcgQEAgYm9vbCBTdHlsZVJhcmVJbmhlcml0ZWREYXRh
OjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiAjZW5k
aWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICAmJiBtX3RleHRBbGlnbkxhc3QgPT0g
by5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAgJiYgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0g
by5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICAm
JiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAgICAgICAgICYmIG1fbGluZVNu
YXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCBiMjI4MWY3NzI5NzA3ZjdjMTNi
NDU5OWFhNzZkZjBiNTllOWU3M2FjLi5kMmJhMDA3ZjQzOGM0YjUwZGNlYTljMzBiNTYxMDZmYzQx
MTM0MDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAjZW5k
aWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIHVuc2lnbmVkIG1fdGV4dEFsaWduTGFzdCA6
IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1bnNpZ25lZCBtX3RleHRVbmRlcmxpbmVQb3NpdGlv
biA6IDU7IC8vIFRleHRVbmRlcmxpbmVQb3NpdGlvbgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAg
IHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDogMTsgLy8gUnVieVBvc2l0aW9uCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3
ZjUzYTI4NWY3OWU4NDY2ZGVmZGU1ZTc0OTU5NGUwYTgyYjk1OTNjLi5iNzg2YTM3ZDczYTdhMjIz
YjZkMGNmOGM1YmZmYWY5MzdhYWY4MTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMt
MDUgIExhbWFycXVlIFYuIFNvdXphICA8TGFtYXJxdWUuU291emFAYmFzeXNrb20uY29tPgorCisg
ICAgICAgIFtjc3MzLXRleHRdIEFkZCBwYXJzaW5nIHN1cHBvcnQgdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24gcHJvcGVydHkgZnJvbSBDU1MzIFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGdldENvbXB1dGVkU3R5bGUgbGF5b3V0IHRlc3Rz
IGZvciAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nIENTUzMKKyAgICAgICAgcHJvcGVydHksIHdp
dGggJ3dlYmtpdCcgcHJlZml4LgorCisgICAgICAgICogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0
LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MzLXRl
eHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
My10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3Rz
L2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanM6IEFkZGVkLgorICAg
ICAgICAodGVzdEVsZW1lbnRTdHlsZSk6CisgICAgICAgICh0ZXN0Q29tcHV0ZWRTdHlsZSk6CisK
IDIwMTMtMDMtMDUgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAg
ICAgICAgTWVkaWFTdHJlYW0gQVBJOiBBZGQgdGhlIGdldFN0cmVhbUJ5SWQgbWV0aG9kIG9uIFJU
Q1BlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGM1
NjExYjY4ZTk2NWIzZTZkYzk0Mzg1ODA5MTAxYTk4M2NlNjQwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0
ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEyNCBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlz
IG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAn
JzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMg
J2F1dG8nCisKK0luaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0aWFsJwor
UEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhdXRvJzoK
K1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNT
IGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMg
J2F1dG8nCisKK1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBo
YWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBp
cyAnYWxwaGFiZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2FscGhhYmV0
aWMnCisKK1ZhbHVlICd1bmRlcic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIGlzICd1bmRlcicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NW
YWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRT
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ3VuZGVyJworCitWYWx1ZSAnbGVmdCc6CitQQVNTIGUuc3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygp
IGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQn
CitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0n
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQnCisKK1ZhbHVlICdyaWdodCc6CitQ
QVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdyaWdodCcKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5j
c3NUZXh0IGlzICdyaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24gaXMgJ3JpZ2h0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0Jwor
CitWYWx1ZSAndW5kZXIgbGVmdCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIGlzICd1bmRlciBsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0
IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCitQQVNT
IGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0n
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCisKK0FuY2VzdG9yIGlu
aGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21w
dXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBsZWZ0JworCitWYWx1ZSAndW5kZXIgcmln
aHQnOgorUEFTUyBlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIg
cmlnaHQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykuY3NzVGV4dCBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUu
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKKworQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVz
IGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
JykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KS5jc3NUZXh0IGlzICd1bmRlciByaWdodCcKKworVmFsdWUgJ2F1dG8gYWxwaGFiZXRpYyc6CitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpIGlzIG51bGwKKworVmFsdWUgJ2F1dG8gdW5kZXInOgorUEFTUyBlLnN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBu
dWxsCisKK1ZhbHVlICd1bmRlciB1bmRlcic6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKKworVmFsdWUg
J3VuZGVyIHVuZGVyIHVuZGVyJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCct
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAnbGVmdCB1
bmRlcic6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKKworVmFsdWUgJ2xlZnQgdW5kZXIgdW5kZXInOgor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKSBpcyBudWxsCisKK1ZhbHVlICdsZWZ0IGxlZnQnOgorUEFTUyBlLnN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBu
dWxsCisKK1ZhbHVlICdsZWZ0IHJpZ2h0JzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAn
cmlnaHQgcmlnaHQnOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NWQ3
NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRl
ZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNv
cmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3Mz
LXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRl
ZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYzI0OTQzOWJi
YmU5MWE4ODQ3YjI2ODYzZTg0ZDY2NjQwNmIxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxl
L3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpz
CkBAIC0wLDAgKzEsMTQ1IEBACitmdW5jdGlvbiB0ZXN0RWxlbWVudFN0eWxlKHByb3BlcnR5SlMs
IHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkKK3sKKyAgICBpZiAodHlwZSAhPSBudWxsKSB7Cisg
ICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICIn
Iik7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBw
cm9wZXJ0eUNTUyArICInKS50b1N0cmluZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgICAg
IHNob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyAr
ICInKS5jc3NUZXh0IiwgIiciICsgdmFsdWUgKyAiJyIpOworICAgIH0gZWxzZQorICAgICAgICBz
aG91bGRCZU51bGwoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NT
ICsgIicpIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlKHByb3BlcnR5SlMsIHBy
b3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkKK3sKKyAgICBjb21wdXRlZFN0eWxlID0gd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZSwgbnVsbCk7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuIiAr
IHByb3BlcnR5SlMsICInIiArIHZhbHVlICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmco
KSIsICInIiArIHR5cGUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFs
dWUgKyAiJyIpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4i
KQorCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
dGVzdENvbnRhaW5lci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRp
diBpZD0idGVzdCI+aGVsbG8gd29ybGQ8L2Rpdj4nOworZGVidWcoIkluaXRpYWwgdmFsdWU6Iik7
CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK3Rlc3RFbGVtZW50U3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgbnVsbCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVl
ICcnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnJzsKK3Rlc3RF
bGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKwor
ZGVidWcoIkluaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uID0gJ2luaXRpYWwnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAi
W29iamVjdCBDU1NWYWx1ZV0iLCAiaW5pdGlhbCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKwor
ZGVidWcoIlZhbHVlICdhdXRvJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uID0gJ2F1dG8nOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmlt
aXRpdmVWYWx1ZV0iLCAiYXV0byIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZh
bHVlICdhbHBoYWJldGljJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
ID0gJ2FscGhhYmV0aWMnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFiZXRpYyIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoIlZhbHVlICd1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiA9ICd1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0
IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJb
b2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZh
bHVlICdsZWZ0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2xl
ZnQnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwg
ImxlZnQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24i
LCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlz
dF0iLCAibGVmdCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3JpZ2h0JzoiKTsKK2Uu
c3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3JpZ2h0JzsKK3Rlc3RFbGVtZW50
U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwordGVzdENv
bXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwor
ZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIGxlZnQnOiIpOworZS5zdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgbGVmdCc7Cit0ZXN0RWxlbWVudFN0eWxl
KCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOwordGVzdENv
bXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0
Iik7CitkZWJ1ZygnJyk7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRl
c3QtcGFyZW50IiBzdHlsZT0iLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIg
bGVmdDsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4n
OworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHls
ZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVj
dCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIGxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZh
bHVlICd1bmRlciByaWdodCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biA9ICd1bmRlciByaWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIs
ICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcnKTsKKwor
dGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxlPSIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlciByaWdodDsiPmhlbGxvIDxzcGFu
IGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9y
IGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAi
Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwg
InVuZGVyIHJpZ2h0Iik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYXV0byBhbHBoYWJl
dGljJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8gYWxw
aGFiZXRpYyc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24i
LCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoIlZhbHVlICdhdXRvIHVuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uID0gJ2F1dG8gdW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXIgdW5kZXInOiIp
OworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgdW5kZXInOwor
dGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisKK2RlYnVn
KCJWYWx1ZSAndW5kZXIgdW5kZXIgdW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gPSAndW5kZXIgdW5kZXIgdW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24iLCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnbGVmdCB1bmRlcic6
Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdsZWZ0IHVuZGVyIHVu
ZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICIt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOwor
CitkZWJ1ZygiVmFsdWUgJ2xlZnQgdW5kZXIgdW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVmdCB1bmRlciB1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxl
KCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdsZWZ0IGxl
ZnQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVmdCBsZWZ0
JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitk
ZWJ1ZygiVmFsdWUgJ2xlZnQgcmlnaHQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24gPSAnbGVmdCByaWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGws
ICIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdyaWdodCByaWdodCc6Iik7CitlLnN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdyaWdodCByaWdodCc7Cit0ZXN0RWxl
bWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191580</attachid>
            <date>2013-03-05 15:22:29 -0800</date>
            <delta_ts>2013-03-06 09:47:34 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130305201834.patch</filename>
            <type>text/plain</type>
            <size>51196</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhMjUzNDFkYmJiMmY5
ZjFkZjYyNTY1MjQwN2YyMDAzZWY1MDM5OS4uNmIyM2Y3ZjZlZjFhZjI0MmQ0NjU4ZjViNGFiYzVh
NjY1MzJjYmViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA1ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cmVuZGVyVGV4dFVuZGVybGluZVBvc2l0aW9uRmxhZ3NUb0NT
U1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbik6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGlu
ZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICBBZGRlZCBw
YXJzaW5nLXJlbGF0ZWQgY2hlY2tzIGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0
eS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkZWQgJy13ZWJraXQtdW5k
ZXJsaW5lLXBvc2l0aW9uJyBwcm9wZXJ0eS4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjogQWRkZWQgbWlzc2luZyAnYWxwaGFiZXRpYycgdmFsdWUuIEVuYWJsZWQKKyAgICAgICAg
b25seSBpZiBTVkcgaXMgZGlzYWJsZWQgYmVjYXVzZSBTVkcgYWxzbyBhZGRzICdhbHBoYWJldGlj
JyB2YWx1ZS4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKEFwcGx5
UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbjo6YXBwbHlWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKToKKyAgICAgICAg
U2V0IHByb3BlcnR5IGhhbmRsZXIgZm9yIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIChpbmNsdWRp
bmcgYml0d2lzZSBhZ2dyZWdhdG9yKS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yfCApOgorICAgICAgICAoV2ViQ29yZTo6b3Bl
cmF0b3J8PSk6CisgICAgICAgIEFkZGVkIGJpdHdpc2UgVGV4dFVuZGVybGluZVBvc2l0aW9uIGVu
dW0gd2l0aCBvcGVyYXRvciBmdW5jdGlvbnMgfCBhbmQgfD0gb3BlcmF0b3IgKHVzZWQgaW4gU3R5
bGVCdWlsZGVyKS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBtX3RleHRVbmRl
cmxpbmVQb3NpdGlvbiBvbiBjb3B5IGNvbnN0cnVjdG9yIGFuZCBvcGVyYXRvcgorICAgICAgICBh
c3NpZ25tZW50IGZ1bmN0aW9ucy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAoU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6IEFkZGVk
IG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIGhlcmUgYXMgaXQgd29uJ3QgYmUgdXNlZCByZWd1bGFy
bHkuCisKIDIwMTMtMDMtMDQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbcmVmYWN0b3JpbmddIHNldCBmcmFtZSBpZGVudGlm
aWVycyBpbiB0aW1lbGluZSByZWNvcmRzIGVhcmx5LCBkbyBub3Qga2VlcCB0aGVtIGluIGV2ZW50
IHN0YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMjI1YTJkOGI2ZjhmOTNkNmIwYTJi
NjFhOGE5OGQ1MjIwYzA5OTU3ZS4uZTYzNzg4ODlkMjY4YWRkODljY2VkYTEwNGU0OWEzODY3Y2Y3
MzczYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTUsOCArNTUsOCBAQCBFTkFCTEVf
Q1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJ
VElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1T
X0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NT
M19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9
IDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggODZjMDI2Nzc5YjQzODBmYjQzNDNhYmI1OTNmNTI2MWI1MDgzYWFiZC4uNjZi
NDk2YzU3MDJkMjZhYmVlYzQ4ODczOTI1NTAxOTU4ZjQxMzQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTU1
LDggKzU1LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFERVJTOwogRU5B
QkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsKIEVO
QUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NTX1RS
QU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxFX0NTU19WQVJJQUJMRVMgPSA7
Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVOQUJMRV9DU1MzX1RFWFQgPSA7
CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJMRV9DU1MzX0NPTkRJVElPTkFM
X1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1MzX1RFWFQ7CiBFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUsgPSA7CiBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSID0gOwog
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChQ
TEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQ5OWU4MGNkMjc5MTI1YTUwN2YzMGE0OGRhOTZlNGI2
NTdmMWQ4ZTcuLjE3NmYyZTcxYTlkZDEyZjNjZTA0ZDU2MzU2NGI5YzE1YWQyYjAyZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CkBAIC0xOTEsNiArMTkxLDcgQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQ
cm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUs
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLAogICAgIENTU1Byb3Bl
cnR5V2Via2l0VGV4dEFsaWduTGFzdCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiwKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBDU1NQcm9wZXJ0eVRleHRJbmRl
bnQsCiAgICAgQ1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nLApAQCAtMTM0Miw2ICsxMzQzLDI2IEBA
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxh
Z3NUb0NTU1ZhbHVlKFRleHREZWNvcmF0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CiB9CisK
K3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25G
bGFnc1RvQ1NTVmFsdWUoVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlv
bikKK3sKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3Np
dGlvbkF1dG8pCisgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVBdXRvKTsKKworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0g
VGV4dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYykKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFscGhhYmV0aWMpOworCisgICAg
UmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBh
cmF0ZWQoKTsKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9uICYgVGV4dFVuZGVybGluZVBv
c2l0aW9uVW5kZXIpCisgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVVbmRlcikpOworICAgIGlmICh0ZXh0VW5kZXJsaW5lUG9z
aXRpb24gJiBUZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0KQorICAgICAgICBsaXN0LT5hcHBlbmQo
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCkpOworICAg
IGVsc2UgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiAmIFRleHRVbmRlcmxpbmVQb3NpdGlvblJp
Z2h0KQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmll
clZhbHVlKENTU1ZhbHVlUmlnaHQpKTsKKworICAgIEFTU0VSVChsaXN0LT5sZW5ndGgoKSk7Cisg
ICAgcmV0dXJuIGxpc3Q7Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIHN0YXRpYyBQYXNzUmVm
UHRyPENTU1ZhbHVlPiBmaWxsUmVwZWF0VG9DU1NWYWx1ZShFRmlsbFJlcGVhdCB4UmVwZWF0LCBF
RmlsbFJlcGVhdCB5UmVwZWF0KQpAQCAtMjE0Miw2ICsyMTYzLDggQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENT
U1Byb3BlcnQKICAgICAgICAgICAgIHJldHVybiByZW5kZXJUZXh0RGVjb3JhdGlvblN0eWxlRmxh
Z3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0RGVjb3JhdGlvblN0eWxlKCkpOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdDoKICAgICAgICAgICAgIHJldHVybiBjc3NW
YWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+dGV4dEFsaWduTGFzdCgpKTsKKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKKyAgICAgICAgICAg
IHJldHVybiByZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUt
PnRleHRVbmRlcmxpbmVQb3NpdGlvbigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFtbWFyLnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCmluZGV4
IDAyZWNkZmU3MWVlZjYyZDQwZGI0ODY3MWZmZGRhNzZhZjg3YTU5MjkuLmEyZjU3OTVmZjQ3YWYz
OGY1ZTZlZWM4OTk3MGI2YmJiOTY4MjExN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5p
bgpAQCAtOTcsNiArOTcsNyBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQqLCBj
b25zdCBjaGFyKikKICV0b2tlbiBQQUdFX1NZTQogJXRva2VuIE1FRElBX1NZTQogI2lmIEVOQUJM
RV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTCisvKiBMaW5lIGFkZGVkIGp1c3QgdG8gZm9yY2UgdGhp
cyBmaWxlIHRvIGJlIHByb2Nlc3NlZCBkdXJpbmcgaW5jcmVtZW50YWwgYnVpbGQuICovCiAldG9r
ZW4gU1VQUE9SVFNfU1lNCiAjZW5kaWYKICV0b2tlbiBGT05UX0ZBQ0VfU1lNCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCmluZGV4IDdjNzA1YmYxNDgxYzIyMzQzNTNmNzI3ZGE5YmU1MGZhNjcwZDIz
NzcuLjUyM2VmZTFhMzVhZjY2MzNkMWNjNmE3YTdiZTljZTUyZjIyODQ5ODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCkBAIC0yMjk0LDYgKzIyOTQsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBh
cnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBp
ZiAoaWQgPT0gQ1NTVmFsdWVTb2xpZCB8fCBpZCA9PSBDU1NWYWx1ZURvdWJsZSB8fCBpZCA9PSBD
U1NWYWx1ZURvdHRlZCB8fCBpZCA9PSBDU1NWYWx1ZURhc2hlZCB8fCBpZCA9PSBDU1NWYWx1ZVdh
dnkpCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwor
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKKyAgICAg
ICAgLy8gYXV0byB8IGFscGhhYmV0aWMgfCBbIHVuZGVyIHx8IFsgbGVmdCB8IHJpZ2h0IF0gXQor
ICAgICAgICByZXR1cm4gcGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oaW1wb3J0YW50KTsKICNl
bmRpZiAvLyBDU1MzX1RFWFQKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlab29tOiAgICAgICAgICAv
LyBub3JtYWwgfCByZXNldCB8IGRvY3VtZW50IHwgPG51bWJlcj4gfCA8cGVyY2VudGFnZT4gfCBp
bmhlcml0CkBAIC05MTA3LDYgKzkxMTEsNDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dERl
Y29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVy
biBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShDU1MzX1RFWFQpCisvLyBUaGlzIG1ldGhvZCBwYXJz
ZXMgc2ludGF4OiBhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5kZXIgfHwgWyBsZWZ0IHwgcmlnaHQg
XSBdLgorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1w
b3J0YW50KQoreworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJy
ZW50KCk7CisgICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWUtPmlkID09
IENTU1ZhbHVlQWxwaGFiZXRpYykgeworICAgICAgICBpZiAobV92YWx1ZUxpc3QtPm5leHQoKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGFkZFByb3BlcnR5
KENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1ZVBvb2woKS5j
cmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1Zh
bHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKworICAgIHN3aXRjaCAodmFsdWUtPmlk
KSB7CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgorICAg
IGNhc2UgQ1NTVmFsdWVSaWdodDogeworICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCkpOworICAgICAgICBjb25zdCBib29s
IHZhbHVlRXF1YWxzVW5kZXIgPSAodmFsdWUtPmlkID09IENTU1ZhbHVlVW5kZXIpOworICAgICAg
ICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisKKyAgICAgICAgaWYgKHZhbHVlICYmIHZh
bHVlRXF1YWxzVW5kZXIgJiYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUxlZnQgfHwgdmFsdWUtPmlk
ID09IENTU1ZhbHVlUmlnaHQpKSB7CisgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQ
b29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCkpOworICAgICAgICAgICAgdmFs
dWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHZhbHVl
KSB7CisgICAgICAgICAgICBsaXN0LmNsZWFyKCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgbGlzdC5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZh
bHVlTGlzdFNpemUgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmlu
ZGV4IGE5OWQyODViNTZjNzE1NWI0YzAxZTIzMzI5ZTEwMWU5M2IzZThjZDQuLjkyNTQ4NjJiOWQ1
Y2Y0ZjY2ZjNiMTkzMjZkYzVkMTljYzI0ZGNkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAg
LTI2Myw2ICsyNjMsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJv
cGVydHkoQ1NTUHJvcGVydHlJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50
KTsKICAgICBib29sIHBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KTsKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0
VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAog
CiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29s
IHBhcnNlQ2FsY3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZh
bHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKaW5kZXggNTMyZTk5YzI3ZmU3ZDgzN2U4MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uYzRh
Yjc2Mzg2NDBlM2EyMmU0MDM4NWY2YzMzNWY3ZjA2ZDJiYmJjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMzY2LDYgKzIzNjYsMjUg
QEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNv
cmF0aW9uU3R5bGUoKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVy
biBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAorewor
ICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAg
ICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVl
QWxwaGFiZXRpYzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0
aWM7CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGlu
ZVBvc2l0aW9uVW5kZXI7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25MZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICAg
ICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvblJpZ2h0OworICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOwor
fQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAKaW5kZXggNDg5OTZhNDk2YzdkMjc2OWZiYjZlYTkxYzhmMTRmMzMyYWEzZTBi
My4uODMwMzYwNTIzNzZiNjViNjgyOWQxY2Y2MjcwMDJhNzc4YzNmZWVkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6
aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxF
KENTUzNfVEVYVCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5l
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhU
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCmluZGV4IGM3ODQ1ZWY1MTU4ODM0ZWIyNTMyMTg4ZmU3ZWU0YzIwNzc3
M2JjMzAuLmM0ZmVlY2U4OTM3YzAyNzJkMzRjZmFjMmFjYmY2NjViMzZkMjgzMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjUsOSArMzY1LDExIEBAIHotaW5k
ZXgKIC13ZWJraXQtdGV4dC1jb21iaW5lCiAtZXB1Yi10ZXh0LWNvbWJpbmUgPSAtd2Via2l0LXRl
eHQtY29tYmluZQogI2lmIGRlZmluZWQoRU5BQkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNf
VEVYVAorLy8gTGluZSBhZGRlZCBqdXN0IHRvIGZvcmNlIHRoaXMgZmlsZSB0byBiZSBwcm9jZXNz
ZWQgZHVyaW5nIGluY3JlbWVudGFsIGJ1aWxkLgogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGlu
ZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGUKIC13ZWJraXQtdGV4dC1hbGlnbi1sYXN0
Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uCiAjZW5kaWYKIC13ZWJraXQtdGV4dC1k
ZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4dC1lbXBoYXNpcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGUuaWRsCmluZGV4IDRjMThlNTJhMWE5ZDg4NWQ2MWQxYTU0MTRiNmMzYjJmZmEwMzZiNzYuLmU3
NjBlYTgyM2U0ZTNkNDk3Mzk2NzA5ODJlNmU0ZGFiODg1Mjk0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKQEAgLTQwLDYgKzQwLDcgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRf
S0VZRlJBTUVTX1JVTEUgPSA3OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlG
UkFNRV9SVUxFID0gODsKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
KSAmJiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUworICAgIC8qIExpbmUgYWRkZWQganVz
dCB0byBmb3JjZSB0aGlzIGZpbGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBi
dWlsZC4gKi8KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CiAj
ZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KaW5kZXggNzU5MjZmNjI3YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uM2E1NTdi
YTZmZjNjMDFlODllM2UyYTc3YTBkYmY0NDA5NGQyYmZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KQEAgLTQ1Miw2ICs0NTIsNyBAQCB0aGljawogdGhpbgogdW5kZXJs
aW5lCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTM19URVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisv
LyBMaW5lIGFkZGVkIGp1c3QgdG8gZm9yY2UgdGhpcyBmaWxlIHRvIGJlIHByb2Nlc3NlZCBkdXJp
bmcgaW5jcmVtZW50YWwgYnVpbGQuCiB3YXZ5CiAjZW5kaWYKIC13ZWJraXQtbm93cmFwCkBAIC05
NDUsNiArOTQ2LDExIEBAIHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lm
ICEoZGVmaW5lZChFTkFCTEVfU1ZHKSAmJiBFTkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9D
U1MzX1RFWFQpICYmIEVOQUJMRV9DU1MzX1RFWFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24KK2FscGhhYmV0aWMKKyNlbmRpZgorCiAvLyBwb3NpdGlvbgogI2lmIGRlZmluZWQo
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICYmIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9O
CiAtd2Via2l0LXN0aWNreQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RPTVdpbmRv
d0NTUy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTVdpbmRvd0NTUy5oCmluZGV4IDcwNzBhZTZh
OTk4MTMxNmUyYzdjNDliYzQxMDI2N2QxM2Y5OTRjMmYuLmE0NjI1YWZhMDljMWRkNTFlYTVlMzc3
NTIzNmY5ZTZkMDQyMWNjYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01XaW5k
b3dDU1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NV2luZG93Q1NTLmgKQEAgLTQwLDYg
KzQwLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NV2luZG93Q1NTIDogcHVi
bGljIFJlZkNvdW50ZWQ8RE9NV2luZG93Q1NTPiB7CiBwdWJsaWM6CisjaWYgVVNFKFY4KQorICAg
IC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MTkKKyAgICAg
KiBXZWJLaXQgZG9lcyBub3QgY29tcGlsZSBhZnRlciBjb21taXQKKyAgICAgKiAwNWNjZDFmNzY0
NjRiYzBhZGMxNWQ3ZmMyNTYwNzhiZDQ5NzI3MWM1IChzdm4gdHJ1bmtAMTQyNzM5KSBpZgorICAg
ICAqIGNzczMtY29uZGl0aW9uYWwtcnVsZXMgaXMgZW5hYmxlZC4gVGhhdCBjb21taXQgYWRkZWQg
Y2xhc3MgRE9NV2luZG93Q1NTLAorICAgICAqIHdoaWNoIG1pc3MgYSB2dGFibGUgcmVxdWlyZWQg
YnkgdGhlIGNvZGUgZ2VuZXJhdGVkIGJ5CisgICAgICogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0uIEFkZGluZyBhIHZpcnR1YWwKKyAgICAgKiBkZXN0
cnVjdG9yIGZpeGVzIHRoZSBwcm9ibGVtLgorICAgICAqLworICAgIHZpcnR1YWwgfkRPTVdpbmRv
d0NTUygpIHsgfQorI2VuZGlmCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NV2luZG93Q1NTPiBj
cmVhdGUoKTsKIAogICAgIGJvb2wgc3VwcG9ydHMoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmlu
ZGV4IDRkODc4YjJlOWIzMjVlMjVlZTM2YWQ4Y2JmMmIyMDBmMmYzODIxMGEuLjM3YjUxNmQyYzE1
ZjA1YTI4YmQyOGRkMzE3NDk3OWUzZmUzODQzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXIuY3BwCkBAIC0xMTQ5LDYgKzExNDksMzUgQEAgcHVibGljOgogICAgIH0KIH07CiAKKyNpZiBF
TkFCTEUoQ1NTM19URVhUKQorY2xhc3MgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQcm9wZXJ0eUlELCBT
dHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBUaGlzIGlzIHRydWUgaWYgdmFsdWUgaXMgJ2F1dG8nIG9yICdhbHBoYWJldGljJy4K
KyAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4o
dmFsdWUpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVy
bGluZVBvc2l0aW9uKHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgdW5zaWduZWQgdCA9IDA7CisgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSh2
YWx1ZSk7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICAgICAgQ1NTVmFsdWUq
IGl0ZW0gPSBpLnZhbHVlKCk7CisgICAgICAgICAgICBBU1NFUlQoaXRlbS0+aXNQcmltaXRpdmVW
YWx1ZSgpKTsKKyAgICAgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0MiA9ICpzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOworICAgICAgICAgICAgdCB8PSB0MjsKKyAg
ICAgICAgfQorICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24oc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPih0KSk7CisgICAgfQor
ICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpCisgICAgeworICAgICAg
ICBQcm9wZXJ0eUhhbmRsZXIgaGFuZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUZXh0
VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6dGV4dFVuZGVybGluZVBvc2l0aW9uLCBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0VGV4dFVuZGVybGluZVBvc2l0
aW9uLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRl
cmxpbmVQb3NpdGlvbj46OmNyZWF0ZUhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuIFByb3BlcnR5
SGFuZGxlcihoYW5kbGVyLmluaGVyaXRGdW5jdGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlv
bigpLCAmYXBwbHlWYWx1ZSk7CisgICAgfQorfTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogY2xh
c3MgQXBwbHlQcm9wZXJ0eUxpbmVIZWlnaHQgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFw
cGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUqIHZhbHVlKQpAQCAtMTkyMyw2ICsxOTUyLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1
aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNv
cmF0aW9uTGluZSwgQXBwbHlQcm9wZXJ0eVRleHREZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9u
U3R5bGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJT
dHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0
eWxlOjpzZXRUZXh0RGVjb3JhdGlvblN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVy
U3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBs
eVByb3BlcnR5RGVmYXVsdDxUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxh
c3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFs
aWduTGFzdCwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRs
ZXIoKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uLCBBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVI
YW5kbGVyKCkpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVRleHRJbmRlbnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0
ZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OnNldFRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbFRleHRJbmRlbnQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVRleHRPdmVyZmxvdywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJm
bG93LCAmUmVuZGVyU3R5bGU6OnRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5
bGU6OnNldFRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxU
ZXh0T3ZlcmZsb3c+OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCmluZGV4IGQxNjUxZDVkOTViZjMxM2UwOTcwM2EwNDI5YWRkOWM1ZDliYzIwMjMuLmYz
MzdlYTFlMzljY2JlMzE3NDlmYWYyNzlkODIxOWQzZTg1NjBkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTM4MjcsNiArMzgyNyw3IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZToKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25TdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dEFsaWduTGFzdDoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uOgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RW1waGFzaXNDb2xvcjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhh
c2lzUG9zaXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCmluZGV4IDkwMzViODI5ODAxMzg0OGNjM2M2NDQ3MDY5NzZkMGRkNjA5OTY5NDUuLmM2MTIx
YWIzZWNjZTlkNjBjNjE0MGZkNjYzY2NmM2FiOTcwZGJkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01NjYsNiArNTY2LDcgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgVGV4dERlY29yYXRpb25TdHlsZSB0ZXh0RGVj
b3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dERlY29yYXRpb25T
dHlsZT4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdGV4dERlY29yYXRpb25TdHlsZSk7IH0KICAg
ICBUZXh0QWxpZ25MYXN0IHRleHRBbGlnbkxhc3QoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxUZXh0QWxpZ25MYXN0PihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0QWxpZ25MYXN0KTsgfQor
ICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9zaXRpb24+KHJhcmVJbmhlcml0ZWRE
YXRhLT5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbik7IH0KICNlbHNlCiAgICAgVGV4dERlY29yYXRp
b25TdHlsZSB0ZXh0RGVjb3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gVGV4dERlY29yYXRp
b25TdHlsZVNvbGlkOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCkBAIC0xMTA2LDYgKzExMDcsNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB2b2lkIHNldFRleHREZWNvcmF0
aW9uU3R5bGUoVGV4dERlY29yYXRpb25TdHlsZSB2KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEsIG1fdGV4dERlY29yYXRpb25TdHlsZSwgdik7IH0KICAgICB2b2lkIHNldFRleHRBbGln
bkxhc3QoVGV4dEFsaWduTGFzdCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1fdGV4
dEFsaWduTGFzdCwgdik7IH0KKyAgICB2b2lkIHNldFRleHRVbmRlcmxpbmVQb3NpdGlvbihUZXh0
VW5kZXJsaW5lUG9zaXRpb24gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRV
bmRlcmxpbmVQb3NpdGlvbiwgdik7IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB2b2lkIHNl
dERpcmVjdGlvbihUZXh0RGlyZWN0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24g
PSB2OyB9CiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0KExlbmd0aCBzcGVjaWZpZWRMaW5lSGVpZ2h0
KTsKQEAgLTE1NzIsNiArMTU3NCw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgIHN0YXRpYyBUZXh0RGVjb3JhdGlvblN0eWxlIGluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxl
KCkgeyByZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZVNvbGlkOyB9CiAgICAgc3RhdGljIFRleHRB
bGlnbkxhc3QgaW5pdGlhbFRleHRBbGlnbkxhc3QoKSB7IHJldHVybiBUZXh0QWxpZ25MYXN0QXV0
bzsgfQorICAgIHN0YXRpYyBUZXh0VW5kZXJsaW5lUG9zaXRpb24gaW5pdGlhbFRleHRVbmRlcmxp
bmVQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87IH0KICNlbmRp
ZiAvLyBDU1MzX1RFWFQKICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFpvb20oKSB7IHJldHVybiAx
LjBmOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsT3V0bGluZU9mZnNldCgpIHsgcmV0dXJuIDA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKaW5kZXggOGMyYzBiNTg2ZjRiNDhlYTlhZDQyZDAyYWNiYzI0NDI1ZTFkNzEz
Ni4uM2M2MDg0MmViODRiZDA2YjViOWY2YjY3OWRlNDQ3NmU2NjA0M2M2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
QEAgLTM1OCw2ICszNTgsMTAgQEAgZW51bSBUZXh0RGVjb3JhdGlvblN0eWxlIHsKIGVudW0gVGV4
dEFsaWduTGFzdCB7CiAgICAgVGV4dEFsaWduTGFzdEF1dG8sIFRleHRBbGlnbkxhc3RTdGFydCwg
VGV4dEFsaWduTGFzdEVuZCwgVGV4dEFsaWduTGFzdExlZnQsIFRleHRBbGlnbkxhc3RSaWdodCwg
VGV4dEFsaWduTGFzdENlbnRlciwgVGV4dEFsaWduTGFzdEp1c3RpZnkKIH07CisKK2VudW0gVGV4
dFVuZGVybGluZVBvc2l0aW9uIHsKKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvID0gMHgx
LCBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljID0gMHgyLCBUZXh0VW5kZXJsaW5lUG9z
aXRpb25VbmRlciA9IDB4NCwgVGV4dFVuZGVybGluZVBvc2l0aW9uTGVmdCA9IDB4OCwgVGV4dFVu
ZGVybGluZVBvc2l0aW9uUmlnaHQgPSAweDEwCit9OwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiBl
bnVtIEVQYWdlQnJlYWsgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IGIyMTVhYjM1ODdlMWJmMDY5
N2E1MDVkN2M4ZjQ4NGMzYTZjMGMyMWUuLmIyZDNmNTU5MGRiMDZmMDg5NmQ1ZGYyZGQ0ZWRjMDRj
NGQwMjVjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTEwNCw2ICsxMDQsNyBAQCBTdHlsZVJh
cmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICNlbmRpZgogI2lmIEVO
QUJMRShDU1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3QoUmVuZGVyU3R5bGU6OmluaXRp
YWxUZXh0QWxpZ25MYXN0KCkpCisgICAgLCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbihSZW5kZXJT
dHlsZTo6aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbigpKQogI2VuZGlmIC8vIENTUzNfVEVY
VAogICAgICwgbV9ydWJ5UG9zaXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxSdWJ5UG9zaXRpb24o
KSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoLTEpCkBAIC0xNzQsNiArMTc1LDcgQEAg
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhJiBvKQogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAg
ICAsIG1fdGV4dEFsaWduTGFzdChvLm1fdGV4dEFsaWduTGFzdCkKKyAgICAsIG1fdGV4dFVuZGVy
bGluZVBvc2l0aW9uKG8ubV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pCiAjZW5kaWYgLy8gQ1NTM19U
RVhUCiAgICAgLCBtX3J1YnlQb3NpdGlvbihvLm1fcnVieVBvc2l0aW9uKQogICAgICwgaHlwaGVu
YXRpb25TdHJpbmcoby5oeXBoZW5hdGlvblN0cmluZykKQEAgLTI3MCw2ICsyNzIsNyBAQCBib29s
IFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YSYgbykgY29uc3QKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgICAg
ICYmIG1fdGV4dEFsaWduTGFzdCA9PSBvLm1fdGV4dEFsaWduTGFzdAorICAgICAgICAmJiBtX3Rl
eHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uCiAjZW5kaWYg
Ly8gQ1NTM19URVhUCiAgICAgICAgICYmIG1fcnVieVBvc2l0aW9uID09IG8ubV9ydWJ5UG9zaXRp
b24KICAgICAgICAgJiYgbV9saW5lU25hcCA9PSBvLm1fbGluZVNuYXAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmlu
ZGV4IGIyMjgxZjc3Mjk3MDdmN2MxM2I0NTk5YWE3NmRmMGI1OWU5ZTczYWMuLmQyYmEwMDdmNDM4
YzRiNTBkY2VhOWMzMGI1NjEwNmZjNDExMzQwMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtMTE4LDYg
KzExOCw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdW5z
aWduZWQgbV90ZXh0QWxpZ25MYXN0IDogMzsgLy8gVGV4dEFsaWduTGFzdAorICAgIHVuc2lnbmVk
IG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIDogNTsgLy8gVGV4dFVuZGVybGluZVBvc2l0aW9uCiAj
ZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdW5zaWduZWQgbV9ydWJ5UG9zaXRpb24gOiAxOyAvLyBS
dWJ5UG9zaXRpb24KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IGQxOTE0
YmQyMjA0ZWIyZWVlYjkxMDIzYzI4ZWY2MjkyMTVjOTMxNDEuLmU4MGE0YjczZWMyYmRjN2ExM2Yz
YmJhNTJmZmQ3ZDI3ZjM4MGVmOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkK
QEAgLTQwLDggKzQwLDggQEAKICAgICAgICdFTkFCTEVfQ0FOVkFTX1BST1hZPTEnLAogICAgICAg
J0VOQUJMRV9DSEFOTkVMX01FU1NBR0lORz0xJywKICAgICAgICdFTkFCTEVfQ1NQX05FWFQ9MScs
Ci0gICAgICAnRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCcsCi0gICAgICAnRU5BQkxF
X0NTUzNfVEVYVD0wJywKKyAgICAgICdFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0xJywK
KyAgICAgICdFTkFCTEVfQ1NTM19URVhUPTEnLAogICAgICAgJ0VOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSz0wJywKICAgICAgICdFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLPTEnLAog
ICAgICAgJ0VOQUJMRV9DU1NfQ09NUE9TSVRJTkc9MCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDg2
YzAyNjc3OWI0MzgwZmI0MzQzYWJiNTkzZjUyNjFiNTA4M2FhYmQuLjY2YjQ5NmM1NzAyZDI2YWJl
ZWM0ODg3MzkyNTUwMTk1OGY0MTM0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01NSw4ICs1NSw4
IEBAIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NT
X1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1T
X0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKIEVOQUJMRV9DU1NfVkFSSUFCTEVTID0gOwotRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7Ci1FTkFCTEVfQ1NTM19URVhUID0gOworRU5BQkxF
X0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUzsK
K0VOQUJMRV9DU1MzX1RFWFQgPSBFTkFCTEVfQ1NTM19URVhUOwogRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLID0gOwogRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUXyQoUExBVEZPUk1f
TkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA4NmMwMjY3NzliNDM4MGZiNDM0M2FiYjU5M2Y1MjYxYjUw
ODNhYWJkLi42NmI0OTZjNTcwMmQyNmFiZWVjNDg4NzM5MjU1MDE5NThmNDEzNDQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNTUsOCArNTUsOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NI
QURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVO
QUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZB
UklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NT
UzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNf
Q09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsK
IEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMv
UmVhZENvbW1hbmRMaW5lQXJndW1lbnRzLm00IGIvU291cmNlL2F1dG90b29scy9SZWFkQ29tbWFu
ZExpbmVBcmd1bWVudHMubTQKaW5kZXggNzg1MzhmMDc0OGYwZTUwNzRkNzNhMDMxMjJhOGJlMGQ4
NzJlYzlkOS4uODViMDFkNTNkZjQzMmQ5YmYyOTIxNDQxYTJlOTQwYzE0ZDBlMzQ1YiAxMDA2NDQK
LS0tIGEvU291cmNlL2F1dG90b29scy9SZWFkQ29tbWFuZExpbmVBcmd1bWVudHMubTQKKysrIGIv
U291cmNlL2F1dG90b29scy9SZWFkQ29tbWFuZExpbmVBcmd1bWVudHMubTQKQEAgLTIwNyw0ICsy
MDcsMjAgQEAgQUNfQVJHX0VOQUJMRShbaW50cm9zcGVjdGlvbl0sCiAgICAgW2VuYWJsZV9pbnRy
b3NwZWN0aW9uPW5vXSkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfaW50cm9zcGVjdGlvbl0pCiAK
LQorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIGNvbmRpdGlvbmFsIHJ1bGVzIHN1cHBv
cnQKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgQ1NTMyBjb25kaXRpb25hbCBy
dWxlcyBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoY3NzM19jb25kaXRpb25hbF9ydWxlcywKKyAg
ICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNvbmRpdGlvbmFsLXJ1bGVzXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBDU1MzIGNvbmRpdGlvbmFsIHJ1
bGVzIHN1cHBvcnQgW2RlZmF1bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2Nz
czNfY29uZGl0aW9uYWxfcnVsZXM9InllcyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9jc3Mz
X2NvbmRpdGlvbmFsX3J1bGVzXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfQ1NTM19DT05ESVRJ
T05BTF9SVUxFU10sW3Rlc3QgIiRlbmFibGVfY3NzM19jb25kaXRpb25hbF9ydWxlcyIgPSAieWVz
Il0pCisKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgQ1NTMyB0ZXh0IGRlY29yYXRpb24gc3Vw
cG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBDU1MzIHRleHQgZGVjb3Jh
dGlvbiBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoY3NzM190ZXh0LAorICAgICAgICAgICAgICBB
Q19IRUxQX1NUUklORyhbLS1lbmFibGUtY3NzMy10ZXh0LWRlY29yYXRpb25dLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIENTUzMgdGV4dCBkZWNvcmF0aW9uIHN1cHBvcnQg
W2RlZmF1bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2NzczNfdGV4dD0ieWVz
Il0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2NzczNfdGV4dF0pCitBTV9DT05ESVRJT05BTChb
RU5BQkxFX0NTUzNfVEVYVF0sW3Rlc3QgIiRlbmFibGVfY3NzM190ZXh0IiA9ICJ5ZXMiXSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNCBiL1NvdXJj
ZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNAppbmRleCBkYzk1OTI2MjgyMTk4NDhj
YjE0ZTU4YzM5MmIxYTgxMzBiYjA3MTVhLi5mOTA3ZjlhZmI2M2JjZjQ0ODhmOWM5ODdjZjA4MDUz
ZjQ0NWZkMjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVy
ZXMubTQKKysrIGIvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CkBAIC0x
Miw3ICsxMiw3IEBAIHJlYWQgLWQgJycgREVGQVVMVF9GRUFUVVJFX0RFRklORVMgPDwiRU9GIgog
CUVOQUJMRV9DQU5WQVNfUFJPWFk9MAogCUVOQUJMRV9DSEFOTkVMX01FU1NBR0lORz0xCiAJRU5B
QkxFX0NTUF9ORVhUPTAKLQlFTkFCTEVfQ1NTM19URVhUPTAKKwlFTkFCTEVfQ1NTM19URVhUPTEK
IAlFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLPTEKIAlFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HPTAKIAlFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OPTAKQEAgLTI0LDcgKzI0LDcgQEAg
cmVhZCAtZCAnJyBERUZBVUxUX0ZFQVRVUkVfREVGSU5FUyA8PCJFT0YiCiAJRU5BQkxFX0NTU19T
VElDS1lfUE9TSVRJT049MAogCUVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJF
RklYRUQ9MAogCUVOQUJMRV9DU1NfVkFSSUFCTEVTPTAKLQlFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUz0wCisJRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MQogCUVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVI9MAogCUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wCiAJRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQ9MApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21t
b24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQppbmRleCA4ZWRlM2Nh
ZTc0ZGY3YTZiZmZlNTVhNDQ1Nzk5OTg4NzljMjU2OGZlLi43YmY1MDZjMWIyZjRjOGVlYjFkNTE0
MjNmYmYxZTYyMTVlYmRhY2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1v
bi5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQpAQCAtMzcsMyAr
MzcsNiBAQCBzZXQoTElCX1NVRkZJWCAiIiBDQUNIRSBTVFJJTkcgIkRlZmluZSBzdWZmaXggb2Yg
ZGlyZWN0b3J5IG5hbWUgKDMyLzY0KSIpCiAKIHNldChMSUJfSU5TVEFMTF9ESVIgImxpYiR7TElC
X1NVRkZJWH0iIENBQ0hFIFBBVEggIldoZXJlIHRvIGluc3RhbGwgbGlicmFyaWVzIChsaWIke0xJ
Ql9TVUZGSVh9KSIpCiBzZXQoRVhFQ19JTlNUQUxMX0RJUiAiYmluIiBDQUNIRSBQQVRIICJXaGVy
ZSB0byBpbnN0YWxsIGV4ZWN1dGFibGVzIikKKworV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgT04pCitXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTM19URVhUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCmluZGV4IDdiNTk4MDUwYTI2MDk3ZWQxNmE1OTBjM2QzNjY4ZTM1ODZmZGU5ZDAuLjll
M2NmMzZkZTFmZGM5NmY0YjhmYmM5MmZhMjUwNTc4NzZlMmM5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKQEAgLTIyLDggKzIyLDggQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2Fu
dmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBz
dXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRv
Z2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQotICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTICJUb2dnbGUgQ1NT
MyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IiBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0NTUzNfVEVYVCAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0IiBPRkYpCisgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgIlRvZ2ds
ZSBDU1MzIENvbmRpdGlvbmFsIFJ1bGVzIHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DU1MzX1RFWFQgIlRvZ2dsZSBDU1MzIFRleHQgc3VwcG9ydCIgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLICJUb2dn
bGUgQ1NTMyBUZXh0IExpbmUgQnJlYWsgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgIlRvZ2dsZSBCb3ggRGVjb3Jh
dGlvbiBicmVhayAoQ1NTIEJhY2tncm91bmRzIGFuZCBCb3JkZXJzKSBzdXBwb3J0IiBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HICJUb2dnbGUgQ1NT
IENPTVBPU0lUSU5HIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQppbmRleCA3Yjk2NTU5MmI3ZWYxZjE0OTE3MDU0OTViMjViMTU0YTgyNzM5MmFhLi4x
MTg3YWJjN2U3MGM2YTgyNTlkMTJkYTE3YmU5NmY0MzM5MzIyYWEzIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xODgsMTAgKzE4OCwxMCBAQCBteSBAZmVhdHVy
ZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfRklMVEVSUyIsIGRlZmF1bHQgPT4g
aXNBcHBsZVdlYktpdCgpIHx8IGlzQmxhY2tCZXJyeSgpLCB2YWx1ZSA9PiBcJGNzc0ZpbHRlcnNT
dXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiY3NzMy1jb25kaXRpb25hbC1ydWxlcyIsIGRl
c2MgPT4gIlRvZ2dsZSBDU1MzIENvbmRpdGlvbmFsIFJ1bGVzIHN1cHBvcnQgKGkuZS4gXEBzdXBw
b3J0cykiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRjc3MzQ29uZGl0aW9uYWxSdWxlc1N1cHBvcnQgfSwK
KyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMiLCBkZWZhdWx0
ID0+IDEsIHZhbHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBwb3J0IH0sCiAKICAgICB7
IG9wdGlvbiA9PiAiY3NzMy10ZXh0IiwgZGVzYyA9PiAiVG9nZ2xlIENTUzMgVGV4dCBzdXBwb3J0
IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfVEVYVCIsIGRlZmF1bHQgPT4gKGlzRWZs
KCkgfHwgaXNHdGsoKSksIHZhbHVlID0+IFwkY3NzM1RleHRTdXBwb3J0IH0sCisgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkY3NzM1Rl
eHRTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiY3NzMy10ZXh0LWxpbmUtYnJlYWsiLCBk
ZXNjID0+ICJUb2dnbGUgQ1NTMyBUZXh0IExpbmUgQnJlYWsgc3VwcG9ydCIsCiAgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyIsIGRlZmF1bHQgPT4gMCwgdmFsdWUg
PT4gXCRjc3MzVGV4dExpbmVCcmVha1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL3FtYWtl
L21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0
dXJlcy9mZWF0dXJlcy5wcmkKaW5kZXggNDk3NTUxN2JjZjJlZmI2NGNlODc4YTNmY2YzZTEzMjZk
MTJhOTBiMy4uNjM1ZjM3MzY4N2VjMDljNWVlZDk0MDhhNDA5YWRjMjUxYWQwYzJlZCAxMDA2NDQK
LS0tIGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKKysrIGIvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKQEAgLTM1LDggKzM1LDggQEAg
RkVBVFVSRV9ERUZBVUxUUyA9IFwKICAgICBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTj0xIFwK
ICAgICBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEPTEgXAogICAg
IEVOQUJMRV9DU1NfVkFSSUFCTEVTPTAgXAotICAgIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTPTAgXAotICAgIEVOQUJMRV9DU1MzX1RFWFQ9MCBcCisgICAgRU5BQkxFX0NTUzNfQ09ORElU
SU9OQUxfUlVMRVM9MSBcCisgICAgRU5BQkxFX0NTUzNfVEVYVD0xIFwKICAgICBFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUs9MCBcCiAgICAgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUPTAgXAog
ICAgIEVOQUJMRV9EQVRBR1JJRD0wIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZjUzYTI4NWY3OWU4NDY2ZGVmZGU1ZTc0
OTU5NGUwYTgyYjk1OTNjLi5iNzg2YTM3ZDczYTdhMjIzYjZkMGNmOGM1YmZmYWY5MzdhYWY4MTkx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMDUgIExhbWFycXVlIFYuIFNvdXphICA8
TGFtYXJxdWUuU291emFAYmFzeXNrb20uY29tPgorCisgICAgICAgIFtjc3MzLXRleHRdIEFkZCBw
YXJzaW5nIHN1cHBvcnQgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgZnJvbSBDU1Mz
IFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MjQ5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGdldENvbXB1dGVkU3R5bGUgbGF5b3V0IHRlc3RzIGZvciAndGV4dC11bmRlcmxpbmUtcG9z
aXRpb24nIENTUzMKKyAgICAgICAgcHJvcGVydHksIHdpdGggJ3dlYmtpdCcgcHJlZml4LgorCisg
ICAgICAgICogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRT
dHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24v
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0
aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24uanM6IEFkZGVkLgorICAgICAgICAodGVzdEVsZW1lbnRTdHlsZSk6
CisgICAgICAgICh0ZXN0Q29tcHV0ZWRTdHlsZSk6CisKIDIwMTMtMDMtMDUgIFRvbW15IFdpZGVu
Zmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBB
ZGQgdGhlIGdldFN0cmVhbUJ5SWQgbWV0aG9kIG9uIFJUQ1BlZXJDb25uZWN0aW9uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGM1NjExYjY4ZTk2NWIzZTZkYzk0Mzg1ODA5
MTAxYTk4M2NlNjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRl
eHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyNCBAQAor
VGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0
eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHls
ZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicp
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAor
UEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK0luaXRpYWwgdmFsdWUg
KGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0aWFsJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJp
bmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNz
c1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhdXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJwor
UEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhbHBoYWJl
dGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhh
YmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFs
dWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0
eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2FscGhhYmV0aWMnCisKK1ZhbHVlICd1bmRlcic6CitQ
QVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1Mg
ZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5j
c3NUZXh0IGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24gaXMgJ3VuZGVyJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJwor
CitWYWx1ZSAnbGVmdCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IGlzICdsZWZ0JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlz
dF0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2xlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Vi
a2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICdsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2xlZnQnCisKK1ZhbHVlICdyaWdodCc6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uIGlzICdyaWdodCcKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdyaWdodCcKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ3JpZ2h0JworUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3JpZ2h0JworCitWYWx1ZSAndW5kZXIgbGVmdCc6CitQ
QVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0Jwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ3VuZGVyIGxlZnQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlciBsZWZ0JworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ3VuZGVyIGxlZnQnCisKK0FuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVu
dDoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgbGVmdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlz
ICd1bmRlciBsZWZ0JworCitWYWx1ZSAndW5kZXIgcmlnaHQnOgorUEFTUyBlLnN0eWxlLndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXIgcmlnaHQnCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykuY3NzVGV4dCBpcyAn
dW5kZXIgcmlnaHQnCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciBy
aWdodCcKKworQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IGlzICd1bmRlciByaWdodCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlciByaWdo
dCcKKworVmFsdWUgJ2F1dG8gYWxwaGFiZXRpYyc6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKKworVmFs
dWUgJ2F1dG8gdW5kZXInOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1ZhbHVlICd1bmRlciB1bmRl
cic6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpIGlzIG51bGwKKworVmFsdWUgJ3VuZGVyIHVuZGVyIHVuZGVyJzoKK1BB
U1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAnbGVmdCB1bmRlcic6CitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51
bGwKKworVmFsdWUgJ2xlZnQgdW5kZXIgdW5kZXInOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1Zh
bHVlICdsZWZ0IGxlZnQnOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJr
aXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1ZhbHVlICdsZWZ0IHJpZ2h0
JzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAncmlnaHQgcmlnaHQnOgorUEFTUyBlLnN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24n
KSBpcyBudWxsCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxp
bmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1k
ZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NWQ3NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVl
MzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUv
c2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21w
dXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYzI0OTQzOWJiYmU5MWE4ODQ3YjI2ODYzZTg0ZDY2NjQw
NmIxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3Mz
LXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRl
ZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCkBAIC0wLDAgKzEsMTQ1IEBACitmdW5j
dGlvbiB0ZXN0RWxlbWVudFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1
ZSkKK3sKKyAgICBpZiAodHlwZSAhPSBudWxsKSB7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxl
LiIgKyBwcm9wZXJ0eUpTLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJl
LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmlu
ZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgICAgIHNob3VsZEJlKCJlLnN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFs
dWUgKyAiJyIpOworICAgIH0gZWxzZQorICAgICAgICBzaG91bGRCZU51bGwoImUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpIik7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb21wdXRlZFN0eWxlKHByb3BlcnR5SlMsIHByb3BlcnR5Q1NTLCB0eXBlLCB2YWx1ZSkK
K3sKKyAgICBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZSwgbnVsbCk7
CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVl
ICsgIiciKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCciICsgcHJvcGVydHlDU1MgKyAiJykudG9TdHJpbmcoKSIsICInIiArIHR5cGUgKyAiJyIpOwor
ICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9w
ZXJ0eUNTUyArICInKS5jc3NUZXh0IiwgIiciICsgdmFsdWUgKyAiJyIpOworfQorCitkZXNjcmlw
dGlvbigiVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBw
cm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4iKQorCit2YXIgdGVzdENvbnRhaW5lciA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
KwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdCI+aGVsbG8gd29ybGQ8
L2Rpdj4nOworZGVidWcoIkluaXRpYWwgdmFsdWU6Iik7CitlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QnKTsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgJycpOwordGVz
dENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1
dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICcnOiIpOworZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVs
bCwgJycpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIkluaXRpYWwgdmFsdWUgKGV4
cGxpY2l0KToiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2luaXRp
YWwnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZV0iLCAiaW5p
dGlhbCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhdXRvJzoiKTsK
K2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8nOwordGVzdEVsZW1l
bnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIpOwor
dGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwg
ImF1dG8iKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhbHBoYWJldGljJzoiKTsKK2Uu
c3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2FscGhhYmV0aWMnOwordGVzdEVs
ZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYWxwaGFi
ZXRpYyIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIs
ICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZl
VmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRl
cic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlcic7Cit0
ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIi
KTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAi
dW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdsZWZ0JzoiKTsKK2Uuc3R5bGUu
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2xlZnQnOwordGVzdEVsZW1lbnRTdHlsZSgi
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgImxlZnQiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAibGVmdCIpOworZGVidWcoJycp
OworCitkZWJ1ZygiVmFsdWUgJ3JpZ2h0JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uID0gJ3JpZ2h0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3Qg
Q1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJyaWdodCIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFs
dWUgJ3VuZGVyIGxlZnQnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24g
PSAndW5kZXIgbGVmdCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1Zh
bHVlTGlzdF0iLCAidW5kZXIgbGVmdCIpOwordGVzdENvbXB1dGVkU3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTVmFsdWVMaXN0XSIsICJ1bmRlciBsZWZ0Iik7CitkZWJ1ZygnJyk7CisKK3Rlc3RD
b250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QtcGFyZW50IiBzdHlsZT0iLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXIgbGVmdDsiPmhlbGxvIDxzcGFuIGlkPSJ0
ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVy
aXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0
ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVy
IGxlZnQiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciByaWdodCc6Iik7Citl
LnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICd1bmRlciByaWdodCc7Cit0ZXN0
RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0iLCAidW5kZXIgcmln
aHQiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlTGlzdF0i
LCAidW5kZXIgcmlnaHQiKTsKK2RlYnVnKCcnKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwg
PSAnPGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxlPSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uOiB1bmRlciByaWdodDsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3Js
ZDwvc3Bhbj48L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBh
cmVudDoiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwor
dGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQt
dGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgi
d2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24iLCAiW29iamVjdCBDU1NWYWx1ZUxpc3RdIiwgInVuZGVyIHJpZ2h0Iik7CitkZWJ1Zygn
Jyk7CisKK2RlYnVnKCJWYWx1ZSAnYXV0byBhbHBoYWJldGljJzoiKTsKK2Uuc3R5bGUud2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8gYWxwaGFiZXRpYyc7Cit0ZXN0RWxlbWVudFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdhdXRv
IHVuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8g
dW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwg
Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1ZygnJyk7
CisKK2RlYnVnKCJWYWx1ZSAndW5kZXIgdW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgdW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXIgdW5kZXIgdW5k
ZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXIgdW5k
ZXIgdW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1Zygn
Jyk7CisKK2RlYnVnKCJWYWx1ZSAnbGVmdCB1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9ICdsZWZ0IHVuZGVyIHVuZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2xlZnQgdW5k
ZXIgdW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVm
dCB1bmRlciB1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2Rl
YnVnKCcnKTsKKworZGVidWcoIlZhbHVlICdsZWZ0IGxlZnQnOiIpOworZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVmdCBsZWZ0JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2xlZnQgcmlnaHQn
OiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnbGVmdCByaWdodCc7
Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZGVi
dWcoIlZhbHVlICdyaWdodCByaWdodCc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQ
b3NpdGlvbiA9ICdyaWdodCByaWdodCc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGws
ICIiKTsKK2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFp
bmVyKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDJlMTMwMWQ2MmRlNzRkNDlmZDE2N2U5MzUzY2IyZDQ0NDU0NTNiMDcuLjNiNGM2ZTFh
OWMyYjE5YjUxNTA4MmIwZTkxM2VlZGVjOThiMTMzZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjI2LDcgKzIyNiw3IEBAIHdlYmtp
dC5vcmcvYi84NTI2MiBmYXN0L21lZGlhL21xLXJlc29sdXRpb24tZHBpLWRwY20td2FybmluZy5o
dG1sIFsgU2tpcCBdCiAjIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQu
CiB3ZWJraXQub3JnL2IvODkwNTIgZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24KIAotIyBDU1Mz
IFRleHQgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1MzX1RFWFQp
LgorIyBUaG9zZSB0d28gc3RpbGwgbGFjayAtZXhwZWN0ZWQucG5nIGZpbGVzLiBTZWUgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU0Ni4KIHdlYmtpdC5vcmcvYi81
ODQ5MSBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbgogd2Via2l0Lm9yZy9iLzc2
MTczIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1hbGlnbi1sYXN0CiAKZGlmZiAtLWdpdCBhL1dl
YktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzIGIv
V2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMK
aW5kZXggNDg0ZmQzMzhiMGRlNTZjMGJlMjM3MTJlNGViNGY2NDVlOWZhMGM5OS4uNGZhNDE3ZDNi
MjY1NTFmMmUyOTFiNzFlZjRkMzQ5YTcxZmY5YTc1NyAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKKysrIGIvV2ViS2l0
TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKQEAgLTUz
LDEyICs1MywxMiBAQAogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVMiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJ
T05BTF9SVUxFUyIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2Vy
TWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVO
QUJMRV9DU1MzX1RFWFQiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8
VXNlck1hY3JvCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191775</attachid>
            <date>2013-03-06 09:47:45 -0800</date>
            <delta_ts>2013-03-11 11:42:05 -0700</delta_ts>
            <desc>Parse text-underline-position</desc>
            <filename>bug-102491-20130306144349.patch</filename>
            <type>text/plain</type>
            <size>30234</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhMjUzNDFkYmJiMmY5
ZjFkZjYyNTY1MjQwN2YyMDAzZWY1MDM5OS4uYjk3NDFmYjBiODkwOWEzYTE2NmNhYTA3OTdmMTEz
ZjZiZmY1NGYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTA2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgT0JTOiB2YWx1ZXMgJ3VuZGVyIGxlZnQnIGFuZCAndW5kZXIgcmln
aHQnIGFyZSBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcworICAgICAgICBwYXRjaC4KKworICAgICAg
ICBUZXN0OiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbAorCisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpyZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VGV4dFVuZGVybGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAg
ICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0
eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAgIEFkZGVkIHBhcnNpbmctcmVsYXRlZCBj
aGVja3MgZm9yIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5LgorICAgICAgICAqIGNz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRlZCAnLXdlYmtpdC11bmRlcmxpbmUtcG9zaXRpb24n
IHByb3BlcnR5LgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOiBBZGRlZCBtaXNz
aW5nICdhbHBoYWJldGljJyB2YWx1ZS4gRW5hYmxlZAorICAgICAgICBvbmx5IGlmIFNWRyBpcyBk
aXNhYmxlZCBiZWNhdXNlIFNWRyBhbHNvIGFkZHMgJ2FscGhhYmV0aWMnIHZhbHVlLgorICAgICAg
ICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRl
cmxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVy
bGluZVBvc2l0aW9uOjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlUZXh0VW5kZXJsaW5lUG9zaXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFu
ZGxlciBmb3IgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3Jl
Z2F0b3IpLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6b3BlcmF0b3J8ICk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAg
ICAgQWRkZWQgYml0d2lzZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9y
IGZ1bmN0aW9ucyB8IGFuZCB8PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9
PSk6CisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIG9u
IGNvcHkgY29uc3RydWN0b3IgYW5kIG9wZXJhdG9yCisgICAgICAgIGFzc2lnbm1lbnQgZnVuY3Rp
b25zLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6
CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRhKTogQWRkZWQgbV90ZXh0VW5kZXJsaW5l
UG9zaXRpb24gaGVyZSBhcyBpdCB3b24ndCBiZSB1c2VkIHJlZ3VsYXJseS4KKwogMjAxMy0wMy0w
NCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFtyZWZhY3RvcmluZ10gc2V0IGZyYW1lIGlkZW50aWZpZXJzIGluIHRpbWVsaW5l
IHJlY29yZHMgZWFybHksIGRvIG5vdCBrZWVwIHRoZW0gaW4gZXZlbnQgc3RhY2sKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXgg
ZDk5ZTgwY2QyNzkxMjVhNTA3ZjMwYTQ4ZGE5NmU0YjY1N2YxZDhlNy4uYjkxYjYyZTk3NTU4M2Zi
Y2ZkMDNjNjI4NDEzODBmOTAwM2YwYzI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE5MSw2ICsxOTEsNyBAQCBzdGF0
aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQ
cm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHREZWNvcmF0aW9uU3R5bGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LAor
ICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLAogI2VuZGlmIC8vIENT
UzNfVEVYVAogICAgIENTU1Byb3BlcnR5VGV4dEluZGVudCwKICAgICBDU1NQcm9wZXJ0eVRleHRS
ZW5kZXJpbmcsCkBAIC0xMzQyLDYgKzEzNDMsMjMgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFs
dWU+IHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoVGV4dERlY29yYXQK
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3Jl
YXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKIH0KKworc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFs
dWU+IHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShUZXh0VW5kZXJs
aW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKQoreworICAgIGlmICh0ZXh0VW5kZXJs
aW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bykKKyAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOworCisg
ICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBo
YWJldGljKQorICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZh
bHVlKENTU1ZhbHVlQWxwaGFiZXRpYyk7CisKKyAgICBpZiAodGV4dFVuZGVybGluZVBvc2l0aW9u
ID09IFRleHRVbmRlcmxpbmVQb3NpdGlvblVuZGVyKQorICAgICAgICByZXR1cm4gY3NzVmFsdWVQ
b29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlVW5kZXIpOworCisgICAgLy8gVE9E
TzogSW1wbGVtZW50IHN1cHBvcnQgZm9yICd1bmRlciBsZWZ0JyBhbmQgJ3VuZGVyIHJpZ2h0JyB2
YWx1ZXMuCisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gY3NzVmFsdWVQ
b29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAvLyBDU1MzX1RF
WFQKIAogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NTU1ZhbHVlKEVG
aWxsUmVwZWF0IHhSZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMTQyLDYgKzIxNjAs
OCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRl
eHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uU3R5
bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgogICAg
ICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT50ZXh0QWxp
Z25MYXN0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBv
c2l0aW9uOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZs
YWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwogI2VuZGlmIC8v
IENTUzNfVEVYVAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25z
SW5FZmZlY3Q6CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRpb25GbGFnc1Rv
Q1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAppbmRleCA3YzcwNWJmMTQ4MWMyMjM0MzUzZjcyN2RhOWJlNTBmYTY3MGQyMzc3
Li4xZTZjMDIwOTgyNzA4ZGI1ODQ2MzczYjcyODQ2YWFjOWZjNjM0MjQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcApAQCAtMjI5NCw2ICsyMjk0LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgaWYg
KGlkID09IENTU1ZhbHVlU29saWQgfHwgaWQgPT0gQ1NTVmFsdWVEb3VibGUgfHwgaWQgPT0gQ1NT
VmFsdWVEb3R0ZWQgfHwgaWQgPT0gQ1NTVmFsdWVEYXNoZWQgfHwgaWQgPT0gQ1NTVmFsdWVXYXZ5
KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKKwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CisgICAgICAg
IC8vIGF1dG8gfCBhbHBoYWJldGljIHwgdW5kZXIKKyAgICAgICAgcmV0dXJuIHBhcnNlVGV4dFVu
ZGVybGluZVBvc2l0aW9uKGltcG9ydGFudCk7CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKICAgICBj
YXNlIENTU1Byb3BlcnR5Wm9vbTogICAgICAgICAgLy8gbm9ybWFsIHwgcmVzZXQgfCBkb2N1bWVu
dCB8IDxudW1iZXI+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdApAQCAtOTEwNyw2ICs5MTExLDI4
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUo
Q1NTM19URVhUKQorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dFVuZGVybGluZVBvc2l0aW9uKGJv
b2wgaW1wb3J0YW50KQoreworICAgIC8vIFRoZSB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9w
ZXJ0eSBoYXMgc2ludGF4ICJhdXRvIHwgYWxwaGFiZXRpYyB8IFsgdW5kZXIgfHwgWyBsZWZ0IHwg
cmlnaHQgXSBdIi4KKyAgICAvLyBIb3dldmVyLCB2YWx1ZXMgJ2xlZnQnIGFuZCAncmlnaHQnIGFy
ZSBub3QgaW1wbGVtZW50ZWQgeWV0LCBzbyB3ZSB3aWxsIHBhcnNlIHNpbnRheAorICAgIC8vICJh
dXRvIHwgYWxwaGFiZXRpYyB8IHVuZGVyIiBmb3Igbm93LgorICAgIENTU1BhcnNlclZhbHVlKiB2
YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CisgICAgc3dpdGNoICh2YWx1ZS0+aWQpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQXV0bzoKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAg
ICBjYXNlIENTU1ZhbHVlVW5kZXI6CisgICAgICAgIGlmIChtX3ZhbHVlTGlzdC0+bmV4dCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3Bl
cnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYgLy8g
Q1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wg
aW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZhbHVlTGlzdFNpemUgPSBtX3ZhbHVlTGlzdC0+
c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGE5OWQyODViNTZjNzE1NWI0YzAxZTIz
MzI5ZTEwMWU5M2IzZThjZDQuLjkyNTQ4NjJiOWQ1Y2Y0ZjY2ZjNiMTkzMjZkYzVkMTljYzI0ZGNk
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI2Myw2ICsyNjMsOSBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlVGV4dERlY29y
YXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyNpZiBFTkFCTEUo
Q1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24oYm9vbCBpbXBv
cnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250
YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQ2FsY3VsYXRpb24oQ1NTUGFyc2Vy
VmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNTMyZTk5YzI3ZmU3ZDgz
N2U4MzYwNGNjYmJhMGJhYWVmZGNjNWY5Ni4uZGMwZDY2MWU3ZGQyOTYwNTliOWU4NDBkNzY0M2Rh
OTRhYTBlNzdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCkBAIC0yMzY2LDYgKzIzNjYsMjIgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNvcmF0aW9uU3R5bGUoKSBjb25zdAogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBUZXh0RGVjb3JhdGlvblN0eWxlU29saWQ7
CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0
VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAoreworICAgIC8vIFRPRE86IEltcGxlbWVudCBzdXBw
b3J0IGZvciAndW5kZXIgbGVmdCcgYW5kICd1bmRlciByaWdodCcgdmFsdWVzLgorICAgIHN3aXRj
aCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1
cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRp
YzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM7CisgICAg
Y2FzZSBDU1NWYWx1ZVVuZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9u
VW5kZXI7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVGV4dFNl
Y3VyaXR5IGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA0ODk5NmE0OTZjN2Qy
NzY5ZmJiNmVhOTFjOGYxNGYzMzJhYTNlMGIzLi44MzAzNjA1MjM3NmI2NWI2ODI5ZDFjZjYyNzAw
MmE3NzhjM2ZlZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTMyOSw2ICsz
MjksNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCkKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRBbGlnbkxhc3Q6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbjoKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4
dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBo
YXNpczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggNjk3OGMxOTQz
NTc4MTUxMjg0ZDQyM2ViODZkYzM1YzYzMGExNTM5ZS4uYzRmZWVjZTg5MzdjMDI3MmQzNGNmYWMy
YWNiZjY2NWIzNmQyODMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
QEAgLTM2OSw2ICszNjksNyBAQCB6LWluZGV4CiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1saW5l
CiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZQogLXdlYmtpdC10ZXh0LWFsaWduLWxhc3QK
Ky13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KICNlbmRpZgogLXdlYmtpdC10ZXh0LWRl
Y29yYXRpb25zLWluLWVmZmVjdAogLXdlYmtpdC10ZXh0LWVtcGhhc2lzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGE2OThmNmUzOWRhNmNiYzdjMDczZTY1NjMyNWMz
NWFmMmFmZGVmNjguLjNhNTU3YmE2ZmYzYzAxZTg5ZTNlMmE3N2EwZGJmNDQwOTRkMmJmZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC05NDYsNiArOTQ2LDExIEBA
IHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmICEoZGVmaW5lZChFTkFC
TEVfU1ZHKSAmJiBFTkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQpICYmIEVO
QUJMRV9DU1MzX1RFWFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KK2FscGhh
YmV0aWMKKyNlbmRpZgorCiAvLyBwb3NpdGlvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TVElD
S1lfUE9TSVRJT04pICYmIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OCiAtd2Via2l0LXN0aWNr
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAppbmRleCA0ZDg3OGIyZTliMzI1ZTI1ZWUz
NmFkOGNiZjJiMjAwZjJmMzgyMTBhLi4zN2I1MTZkMmMxNWYwNWEyOGJkMjhkZDMxNzQ5NzllM2Zl
Mzg0MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5
LDM1IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNz
IEFwcGx5UHJvcGVydHlUZXh0VW5kZXJsaW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRp
YyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNv
bHZlciwgQ1NTVmFsdWUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlm
IHZhbHVlIGlzICdhdXRvJyBvciAnYWxwaGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQ
cmltaXRpdmVWYWx1ZSgpKSB7CisgICAgICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9
ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0
eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHVuc2lnbmVkIHQgPSAwOworICAg
ICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkodmFsdWUpOyBpLmhhc01vcmUoKTsgaS5h
ZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAg
ICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAgICAgICBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gdDIgPSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
PihpdGVtKTsKKyAgICAgICAgICAgIHQgfD0gdDI7CisgICAgICAgIH0KKyAgICAgICAgc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVybGluZVBvc2l0aW9uKHN0YXRpY19jYXN0PFRl
eHRVbmRlcmxpbmVQb3NpdGlvbj4odCkpOworICAgIH0KKyAgICBzdGF0aWMgUHJvcGVydHlIYW5k
bGVyIGNyZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAgICAgUHJvcGVydHlIYW5kbGVyIGhhbmRs
ZXIgPSBBcHBseVByb3BlcnR5RGVmYXVsdEJhc2U8VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVu
ZGVyU3R5bGU6OnRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAm
UmVuZGVyU3R5bGU6OnNldFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0
aW9uLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVI
YW5kbGVyKCk7CisgICAgICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0
RnVuY3Rpb24oKSwgaGFuZGxlci5pbml0aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAg
IH0KK307CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGNsYXNzIEFwcGx5UHJvcGVydHlMaW5lSGVp
Z2h0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKQEAgLTE5MjMs
NiArMTk1Miw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmUsIEFwcGx5UHJvcGVy
dHlUZXh0RGVjb3JhdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvblN0eWxlLCBBcHBseVByb3BlcnR5RGVm
YXVsdDxUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uU3R5
bGUsIFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25T
dHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29y
YXRpb25TdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5V2Via2l0VGV4dEFsaWduTGFzdCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dEFs
aWduTGFzdCwgJlJlbmRlclN0eWxlOjp0ZXh0QWxpZ25MYXN0LCBUZXh0QWxpZ25MYXN0LCAmUmVu
ZGVyU3R5bGU6OnNldFRleHRBbGlnbkxhc3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbFRleHRBbGlnbkxhc3Q+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgQXBwbHlQcm9w
ZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBB
cHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6dGV4dEluZGVudCwgJlJlbmRlclN0eWxl
OjpzZXRUZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0SW5kZW50Pjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0T3ZlcmZs
b3csIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjp0ZXh0
T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjpzZXRUZXh0T3ZlcmZsb3csIFRl
eHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dE92ZXJmbG93Pjo6Y3JlYXRlSGFu
ZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBkMTY1MWQ1ZDk1
YmYzMTNlMDk3MDNhMDQyOWFkZDljNWQ5YmMyMDIzLi5mMzM3ZWExZTM5Y2NiZTMxNzQ5ZmFmMjc5
ZDgyMTlkM2U4NTYwZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0z
ODI3LDYgKzM4MjcsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRU
ZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0
aW9uU3R5bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbjoKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzQ29sb3I6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpc1Bvc2l0aW9uOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA5MDM1YjgyOTgwMTM4
NDhjYzNjNjQ0NzA2OTc2ZDBkZDYwOTk2OTQ1Li5jNjEyMWFiM2VjY2U5ZDYwYzYxNDBmZDY2M2Nj
ZjNhYjk3MGRiZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaApAQCAtNTY2LDYgKzU2Niw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhU
KQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFRleHREZWNvcmF0aW9uU3R5bGU+KHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3RleHREZWNvcmF0aW9uU3R5bGUpOyB9CiAgICAgVGV4dEFsaWduTGFzdCB0ZXh0QWxp
Z25MYXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dEFsaWduTGFzdD4ocmFyZUlu
aGVyaXRlZERhdGEtPm1fdGV4dEFsaWduTGFzdCk7IH0KKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRp
b24gdGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4
dFVuZGVybGluZVBvc2l0aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9z
aXRpb24pOyB9CiAjZWxzZQogICAgIFRleHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25T
dHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlm
IC8vIENTUzNfVEVYVApAQCAtMTEwNiw2ICsxMTA3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvblN0eWxlKFRleHREZWNvcmF0aW9u
U3R5bGUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3RleHREZWNvcmF0aW9u
U3R5bGUsIHYpOyB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ25MYXN0KFRleHRBbGlnbkxhc3Qgdikg
eyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRBbGlnbkxhc3QsIHYpOyB9CisgICAg
dm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9zaXRpb24oVGV4dFVuZGVybGluZVBvc2l0aW9uIHYpIHsg
U0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24sIHYpOyB9
CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdm9pZCBzZXREaXJlY3Rpb24oVGV4dERpcmVjdGlv
biB2KSB7IGluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9uID0gdjsgfQogICAgIHZvaWQgc2V0TGlu
ZUhlaWdodChMZW5ndGggc3BlY2lmaWVkTGluZUhlaWdodCk7CkBAIC0xNTcyLDYgKzE1NzQsNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICBzdGF0aWMgVGV4dERlY29yYXRp
b25TdHlsZSBpbml0aWFsVGV4dERlY29yYXRpb25TdHlsZSgpIHsgcmV0dXJuIFRleHREZWNvcmF0
aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0YXRpYyBUZXh0QWxpZ25MYXN0IGluaXRpYWxUZXh0QWxp
Z25MYXN0KCkgeyByZXR1cm4gVGV4dEFsaWduTGFzdEF1dG87IH0KKyAgICBzdGF0aWMgVGV4dFVu
ZGVybGluZVBvc2l0aW9uIGluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSB7IHJldHVybiBU
ZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgc3Rh
dGljIGZsb2F0IGluaXRpYWxab29tKCkgeyByZXR1cm4gMS4wZjsgfQogICAgIHN0YXRpYyBpbnQg
aW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDhjMmMw
YjU4NmY0YjQ4ZWE5YWQ0MmQwMmFjYmMyNDQyNWUxZDcxMzYuLjg1NmRhNzBkNDdhZjcxNWI2Mzgy
MGI2ZTU4ZjViODU4YTgxMzkxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0zNTgsNiArMzU4LDExIEBAIGVu
dW0gVGV4dERlY29yYXRpb25TdHlsZSB7CiBlbnVtIFRleHRBbGlnbkxhc3QgewogICAgIFRleHRB
bGlnbkxhc3RBdXRvLCBUZXh0QWxpZ25MYXN0U3RhcnQsIFRleHRBbGlnbkxhc3RFbmQsIFRleHRB
bGlnbkxhc3RMZWZ0LCBUZXh0QWxpZ25MYXN0UmlnaHQsIFRleHRBbGlnbkxhc3RDZW50ZXIsIFRl
eHRBbGlnbkxhc3RKdXN0aWZ5CiB9OworCitlbnVtIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB7Cisg
ICAgLy8gVE9ETzogSW1wbGVtZW50IHN1cHBvcnQgZm9yICd1bmRlciBsZWZ0JyBhbmQgJ3VuZGVy
IHJpZ2h0JyB2YWx1ZXMuCisgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0byA9IDB4MSwgVGV4
dFVuZGVybGluZVBvc2l0aW9uQWxwaGFiZXRpYyA9IDB4MiwgVGV4dFVuZGVybGluZVBvc2l0aW9u
VW5kZXIgPSAweDQKK307CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKIGVudW0gRVBhZ2VCcmVhayB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggYjIxNWFiMzU4N2UxYmYwNjk3YTUwNWQ3YzhmNDg0YzNh
NmMwYzIxZS4uYjJkM2Y1NTkwZGIwNmYwODk2ZDVkZjJkZDRlZGMwNGM0ZDAyNWNmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcApAQCAtMTA0LDYgKzEwNCw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkK
ICAgICAsIG1fdGV4dEFsaWduTGFzdChSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRBbGlnbkxhc3Qo
KSkKKyAgICAsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsVGV4
dFVuZGVybGluZVBvc2l0aW9uKCkpCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgLCBtX3J1YnlQ
b3NpdGlvbihSZW5kZXJTdHlsZTo6aW5pdGlhbFJ1YnlQb3NpdGlvbigpKQogICAgICwgaHlwaGVu
YXRpb25MaW1pdEJlZm9yZSgtMSkKQEAgLTE3NCw2ICsxNzUsNyBAQCBTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERh
dGEmIG8pCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25M
YXN0KG8ubV90ZXh0QWxpZ25MYXN0KQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24oby5t
X3RleHRVbmRlcmxpbmVQb3NpdGlvbikKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAsIG1fcnVi
eVBvc2l0aW9uKG8ubV9ydWJ5UG9zaXRpb24pCiAgICAgLCBoeXBoZW5hdGlvblN0cmluZyhvLmh5
cGhlbmF0aW9uU3RyaW5nKQpAQCAtMjcwLDYgKzI3Miw3IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25z
dAogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAgICAgJiYgbV90ZXh0QWxpZ25M
YXN0ID09IG8ubV90ZXh0QWxpZ25MYXN0CisgICAgICAgICYmIG1fdGV4dFVuZGVybGluZVBvc2l0
aW9uID09IG8ubV90ZXh0VW5kZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAg
ICAgICAgJiYgbV9ydWJ5UG9zaXRpb24gPT0gby5tX3J1YnlQb3NpdGlvbgogICAgICAgICAmJiBt
X2xpbmVTbmFwID09IG8ubV9saW5lU25hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggYjIyODFmNzcyOTcw
N2Y3YzEzYjQ1OTlhYTc2ZGYwYjU5ZTllNzNhYy4uNGQxNDI0YWI4OGM3ZmE0NTEzOWY1ODA3Y2Y3
MmY4NDRjMGY0YTk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC0xMTgsNiArMTE4LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB1bnNpZ25lZCBtX3RleHRBbGln
bkxhc3QgOiAzOyAvLyBUZXh0QWxpZ25MYXN0CisgICAgdW5zaWduZWQgbV90ZXh0VW5kZXJsaW5l
UG9zaXRpb24gOiAzOyAvLyBUZXh0VW5kZXJsaW5lUG9zaXRpb24KICNlbmRpZiAvLyBDU1MzX1RF
WFQKICAgICB1bnNpZ25lZCBtX3J1YnlQb3NpdGlvbiA6IDE7IC8vIFJ1YnlQb3NpdGlvbgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2Y1M2EyODVmNzllODQ2NmRlZmRlNWU3NDk1OTRlMGE4MmI5NTkzYy4uMDYyYmIzZGNm
OTRkMWNjNTVhYzBlZWE3ZmNkNWM5Mzc0Mjg1OWU2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEzLTAzLTA2ICBMYW1hcnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNv
bT4KKworICAgICAgICBbY3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uIHByb3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91
dCB0ZXN0cyBmb3IgJ3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3Bl
cnR5LCB3aXRoICd3ZWJraXQnIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2Nz
czMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Y3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3Njcmlw
dC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHRlc3RFbGVtZW50U3R5bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5
bGUpOgorCiAyMDEzLTAzLTA1ICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29t
PgogCiAgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogQWRkIHRoZSBnZXRTdHJlYW1CeUlkIG1ldGhv
ZCBvbiBSVENQZWVyQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODljNmY4Y2VkNjY4NzZmMzIzYjQwZTUxNzM4YWIyMWM5YTA4NjkxOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3MSBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NT
UHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitW
YWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK0luaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0
aWFsJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdh
dXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8n
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlz
ICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2Fs
cGhhYmV0aWMnCisKK1ZhbHVlICd1bmRlcic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKKworQW5jZXN0b3IgaW5oZXJp
dHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVk
U3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworCitWYWx1ZSAnYXV0byBhbHBoYWJldGljJzoK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAnYXV0byB1bmRlcic6CitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlz
IG51bGwKKworVmFsdWUgJ3VuZGVyIHVuZGVyJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1
ZSAndW5kZXIgdW5kZXIgdW5kZXInOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5
bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU0NWQ3NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24u
aHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRl
ZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVk
U3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMt
dGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
NGJmMmUwNWI0NjM2MDJlNDQ5NzA5YTNiYjBjNjUzMzc2ZjM3ZWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21w
dXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uLmpzCkBAIC0wLDAgKzEsOTAgQEAKK2Z1bmN0aW9uIHRlc3RFbGVtZW50U3R5bGUocHJv
cGVydHlKUywgcHJvcGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGlmICh0eXBlICE9IG51
bGwpIHsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZh
bHVlICsgIiciKTsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsK
KyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3Bl
cnR5Q1NTICsgIicpLmNzc1RleHQiLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgfSBlbHNlCisg
ICAgICAgIHNob3VsZEJlTnVsbCgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJv
cGVydHlDU1MgKyAiJykiKTsKK30KKworZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5bGUocHJvcGVy
dHlKUywgcHJvcGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGNvbXB1dGVkU3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlLCBudWxsKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZS4iICsgcHJvcGVydHlKUywgIiciICsgdmFsdWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50
b1N0cmluZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAi
JyIgKyB2YWx1ZSArICInIik7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSAt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHBy
b3Blcmx5LiIpCisKK3ZhciB0ZXN0Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7Cit0ZXN0Q29udGFpbmVyLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHRlc3RDb250YWluZXIpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRN
TCA9ICc8ZGl2IGlkPSJ0ZXN0Ij5oZWxsbyB3b3JsZDwvZGl2Pic7CisKK2RlYnVnKCJJbml0aWFs
IHZhbHVlOiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0RWxl
bWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIs
ICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2Rl
YnVnKCJWYWx1ZSAnJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0g
Jyc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1
ZygnJyk7CisKK2RlYnVnKCJJbml0aWFsIHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxlLndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5bGUo
IndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIiwgIltvYmplY3QgQ1NTVmFsdWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1
ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiA9ICdhdXRvJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRl
cmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
biIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisK
K2RlYnVnKCJWYWx1ZSAnYWxwaGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiA9ICdhbHBoYWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7
CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAndW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24i
LCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAidW5kZXIiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJ1bmRlciIpOworZGVi
dWcoJycpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVu
dCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyOyI+aGVsbG8g
PHNwYW4gaWQ9InRlc3QtYW5jZXN0b3IiPndvcmxkPC9zcGFuPjwvZGl2Pic7CitkZWJ1ZygiQW5j
ZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50OiIpOworZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0LWFuY2VzdG9yJyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0
VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51
bGwsICIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24i
LCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2
ZVZhbHVlXSIsICJ1bmRlciIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2F1dG8gYWxw
aGFiZXRpYyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRv
IGFscGhhYmV0aWMnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0
aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1
ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYXV0byB1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRvIHVuZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIHVuZGVy
JzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIHVuZGVy
JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitk
ZWJ1ZygiVmFsdWUgJ3VuZGVyIHVuZGVyIHVuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uID0gJ2F1dG8gYWxwaGFiZXRpYyB1bmRlcic7Cit0ZXN0RWxlbWVudFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
</data>
<flag name="review"
          id="212831"
          type_id="1"
          status="+"
          setter="jchaffraix"
    />
    <flag name="commit-queue"
          id="213772"
          type_id="3"
          status="-"
          setter="jchaffraix"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191778</attachid>
            <date>2013-03-06 09:54:08 -0800</date>
            <delta_ts>2013-03-06 14:25:18 -0800</delta_ts>
            <desc>Parse text-underline-position (EWS only version)</desc>
            <filename>bug-102491-20130306145012.patch</filename>
            <type>text/plain</type>
            <size>44464</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhMjUzNDFkYmJiMmY5
ZjFkZjYyNTY1MjQwN2YyMDAzZWY1MDM5OS4uYjk3NDFmYjBiODkwOWEzYTE2NmNhYTA3OTdmMTEz
ZjZiZmY1NGYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTA2ICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHBy
b3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWRkIHBhcnNpbmcgc3VwcG9ydCBm
b3IgInRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiBDU1MzCisgICAgICAgIHByb3BlcnR5LiBNb3Jl
IGRldGFpbHMgYWJvdXQgaXQgb24gdGhlIGxpbmsgYmVsb3c6CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uLXBy
b3BlcnR5CisKKyAgICAgICAgT0JTOiB2YWx1ZXMgJ3VuZGVyIGxlZnQnIGFuZCAndW5kZXIgcmln
aHQnIGFyZSBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcworICAgICAgICBwYXRjaC4KKworICAgICAg
ICBUZXN0OiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbAorCisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpyZW5kZXJUZXh0VW5kZXJsaW5lUG9zaXRpb25GbGFnc1RvQ1NTVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VGV4dFVuZGVybGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAg
ICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0
eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAgIEFkZGVkIHBhcnNpbmctcmVsYXRlZCBj
aGVja3MgZm9yIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5LgorICAgICAgICAqIGNz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRlZCAnLXdlYmtpdC11bmRlcmxpbmUtcG9zaXRpb24n
IHByb3BlcnR5LgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOiBBZGRlZCBtaXNz
aW5nICdhbHBoYWJldGljJyB2YWx1ZS4gRW5hYmxlZAorICAgICAgICBvbmx5IGlmIFNWRyBpcyBk
aXNhYmxlZCBiZWNhdXNlIFNWRyBhbHNvIGFkZHMgJ2FscGhhYmV0aWMnIHZhbHVlLgorICAgICAg
ICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRl
cmxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVy
bGluZVBvc2l0aW9uOjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlUZXh0VW5kZXJsaW5lUG9zaXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFu
ZGxlciBmb3IgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gKGluY2x1ZGluZyBiaXR3aXNlIGFnZ3Jl
Z2F0b3IpLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6b3BlcmF0b3J8ICk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAg
ICAgQWRkZWQgYml0d2lzZSBUZXh0VW5kZXJsaW5lUG9zaXRpb24gZW51bSB3aXRoIG9wZXJhdG9y
IGZ1bmN0aW9ucyB8IGFuZCB8PSBvcGVyYXRvciAodXNlZCBpbiBTdHlsZUJ1aWxkZXIpLgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9
PSk6CisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIG9u
IGNvcHkgY29uc3RydWN0b3IgYW5kIG9wZXJhdG9yCisgICAgICAgIGFzc2lnbm1lbnQgZnVuY3Rp
b25zLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6
CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRhKTogQWRkZWQgbV90ZXh0VW5kZXJsaW5l
UG9zaXRpb24gaGVyZSBhcyBpdCB3b24ndCBiZSB1c2VkIHJlZ3VsYXJseS4KKwogMjAxMy0wMy0w
NCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFtyZWZhY3RvcmluZ10gc2V0IGZyYW1lIGlkZW50aWZpZXJzIGluIHRpbWVsaW5l
IHJlY29yZHMgZWFybHksIGRvIG5vdCBrZWVwIHRoZW0gaW4gZXZlbnQgc3RhY2sKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCAyMjVhMmQ4YjZmOGY5M2Q2YjBhMmI2MWE4YTk4ZDUyMjBjMDk5
NTdlLi5lNjM3ODg4OWQyNjhhZGQ4OWNjZWRhMTA0ZTQ5YTM4NjdjZjczNzNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC01NSw4ICs1NSw4IEBAIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVO
QUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKIEVO
QUJMRV9DU1NfVkFSSUFCTEVTID0gOwotRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7
Ci1FTkFCTEVfQ1NTM19URVhUID0gOworRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSBF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUzsKK0VOQUJMRV9DU1MzX1RFWFQgPSBFTkFCTEVf
Q1NTM19URVhUOwogRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLID0gOwogRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCA9ICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4NmMw
MjY3NzliNDM4MGZiNDM0M2FiYjU5M2Y1MjYxYjUwODNhYWJkLi42NmI0OTZjNTcwMmQyNmFiZWVj
NDg4NzM5MjU1MDE5NThmNDEzNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTUsOCArNTUsOCBAQCBFTkFC
TEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9Q
T1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZP
Uk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJ
T05TX1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKLUVOQUJMRV9DU1MzX0NP
TkRJVElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsKK0VOQUJMRV9DU1MzX0NP
TkRJVElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM7CitFTkFCTEVf
Q1NTM19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SyA9IDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBMQVRGT1JNX05BTUUpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggZDk5ZTgwY2QyNzkxMjVhNTA3ZjMwYTQ4ZGE5NmU0YjY1N2YxZDhlNy4uYjkxYjYy
ZTk3NTU4M2ZiY2ZkMDNjNjI4NDEzODBmOTAwM2YwYzI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE5MSw2ICsxOTEs
NyBAQCBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsK
ICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZSwKICAgICBDU1NQcm9wZXJ0
eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxp
Z25MYXN0LAorICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uLAogI2Vu
ZGlmIC8vIENTUzNfVEVYVAogICAgIENTU1Byb3BlcnR5VGV4dEluZGVudCwKICAgICBDU1NQcm9w
ZXJ0eVRleHRSZW5kZXJpbmcsCkBAIC0xMzQyLDYgKzEzNDMsMjMgQEAgc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoVGV4
dERlY29yYXQKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gY3NzVmFsdWVQ
b29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKIH0KKworc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHJlbmRlclRleHRVbmRlcmxpbmVQb3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9uKQoreworICAgIGlmICh0
ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gVGV4dFVuZGVybGluZVBvc2l0aW9uQXV0bykKKyAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1
dG8pOworCisgICAgaWYgKHRleHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBUZXh0VW5kZXJsaW5lUG9z
aXRpb25BbHBoYWJldGljKQorICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlQWxwaGFiZXRpYyk7CisKKyAgICBpZiAodGV4dFVuZGVybGlu
ZVBvc2l0aW9uID09IFRleHRVbmRlcmxpbmVQb3NpdGlvblVuZGVyKQorICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlVW5kZXIpOworCisg
ICAgLy8gVE9ETzogSW1wbGVtZW50IHN1cHBvcnQgZm9yICd1bmRlciBsZWZ0JyBhbmQgJ3VuZGVy
IHJpZ2h0JyB2YWx1ZXMuCisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlRXhwbGljaXRJbml0aWFsVmFsdWUoKTsKK30KICNlbmRpZiAv
LyBDU1MzX1RFWFQKIAogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGZpbGxSZXBlYXRUb0NT
U1ZhbHVlKEVGaWxsUmVwZWF0IHhSZXBlYXQsIEVGaWxsUmVwZWF0IHlSZXBlYXQpCkBAIC0yMTQy
LDYgKzIxNjAsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICAgICAgcmV0dXJu
IHJlbmRlclRleHREZWNvcmF0aW9uU3R5bGVGbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNv
cmF0aW9uU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25M
YXN0OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxl
LT50ZXh0QWxpZ25MYXN0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVu
ZGVybGluZVBvc2l0aW9uOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlclRleHRVbmRlcmxpbmVQ
b3NpdGlvbkZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dFVuZGVybGluZVBvc2l0aW9uKCkpOwog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERl
Y29yYXRpb25zSW5FZmZlY3Q6CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERlY29yYXRp
b25GbGFnc1RvQ1NTVmFsdWUoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggMDJlY2RmZTcxZWVmNjJkNDBkYjQ4NjcxZmZk
ZGE3NmFmODdhNTkyOS4uYTJmNTc5NWZmNDdhZjM4ZjVlNmVlYzg5OTcwYjZiYmI5NjgyMTE3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBAIC05Nyw2ICs5Nyw3IEBAIHN0YXRpYyBp
bmxpbmUgaW50IGNzc3l5ZXJyb3Iodm9pZCosIGNvbnN0IGNoYXIqKQogJXRva2VuIFBBR0VfU1lN
CiAldG9rZW4gTUVESUFfU1lNCiAjaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKKy8q
IExpbmUgYWRkZWQganVzdCB0byBmb3JjZSB0aGlzIGZpbGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmlu
ZyBpbmNyZW1lbnRhbCBidWlsZC4gKi8KICV0b2tlbiBTVVBQT1JUU19TWU0KICNlbmRpZgogJXRv
a2VuIEZPTlRfRkFDRV9TWU0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggN2M3MDViZjE0
ODFjMjIzNDM1M2Y3MjdkYTliZTUwZmE2NzBkMjM3Ny4uMWU2YzAyMDk4MjcwOGRiNTg0NjM3M2I3
Mjg0NmFhYzlmYzYzNDI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIyOTQsNiAr
MjI5NCwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlkIHx8IGlk
ID09IENTU1ZhbHVlRG91YmxlIHx8IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09IENTU1Zh
bHVlRGFzaGVkIHx8IGlkID09IENTU1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0
aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
VGV4dFVuZGVybGluZVBvc2l0aW9uOgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRpYyB8IHVu
ZGVyCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihpbXBvcnRhbnQp
OwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVpvb206ICAgICAg
ICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8bnVtYmVyPiB8IDxwZXJjZW50YWdl
PiB8IGluaGVyaXQKQEAgLTkxMDcsNiArOTExMSwyOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VU
ZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2Jvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCkKK3sKKyAgICAvLyBU
aGUgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgaGFzIHNpbnRheCAiYXV0byB8IGFs
cGhhYmV0aWMgfCBbIHVuZGVyIHx8IFsgbGVmdCB8IHJpZ2h0IF0gXSIuCisgICAgLy8gSG93ZXZl
ciwgdmFsdWVzICdsZWZ0JyBhbmQgJ3JpZ2h0JyBhcmUgbm90IGltcGxlbWVudGVkIHlldCwgc28g
d2Ugd2lsbCBwYXJzZSBzaW50YXgKKyAgICAvLyAiYXV0byB8IGFscGhhYmV0aWMgfCB1bmRlciIg
Zm9yIG5vdy4KKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVu
dCgpOworICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUF1dG86Cisg
ICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0aWM6CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVyOgorICAg
ICAgICBpZiAobV92YWx1ZUxpc3QtPm5leHQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGlt
cG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmIC8vIENTUzNfVEVYVAorCiBib29sIENTU1BhcnNl
cjo6cGFyc2VUZXh0RW1waGFzaXNTdHlsZShib29sIGltcG9ydGFudCkKIHsKICAgICB1bnNpZ25l
ZCB2YWx1ZUxpc3RTaXplID0gbV92YWx1ZUxpc3QtPnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aAppbmRleCBhOTlkMjg1YjU2YzcxNTViNGMwMWUyMzMyOWUxMDFlOTNiM2U4Y2Q0Li45MjU0ODYy
YjlkNWNmNGY2NmYzYjE5MzI2ZGM1ZDE5Y2MyNGRjZDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CkBAIC0yNjMsNiArMjYzLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRUZXh0RGVjb3JhdGlv
blByb3BlcnR5KENTU1Byb3BlcnR5SUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+LCBib29sIGltcG9y
dGFudCk7CiAgICAgYm9vbCBwYXJzZVRleHREZWNvcmF0aW9uKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBib29sIGltcG9ydGFudCk7CisjaWYgRU5BQkxFKENTUzNfVEVYVCkKKyAgICBib29sIHBhcnNl
VGV4dFVuZGVybGluZVBvc2l0aW9uKGJvb2wgaW1wb3J0YW50KTsKKyNlbmRpZiAvLyBDU1MzX1RF
WFQKIAogICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CiAgICAg
Ym9vbCBwYXJzZUNhbGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKiwgQ2FsY3VsYXRpb25QZXJtaXR0
ZWRWYWx1ZVJhbmdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCmluZGV4IDUzMmU5OWMyN2ZlN2Q4MzdlODM2MDRjY2JiYTBiYWFlZmRjYzVmOTYu
LmRjMGQ2NjFlN2RkMjk2MDU5YjllODQwZDc2NDNkYTk0YWEwZTc3ZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjM2Niw2ICsyMzY2
LDIyIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0
RGVjb3JhdGlvblN0eWxlKCkgY29uc3QKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZVNvbGlkOwogfQorCit0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dFVuZGVybGluZVBvc2l0aW9uKCkgY29uc3QK
K3sKKyAgICAvLyBUT0RPOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgJ3VuZGVyIGxlZnQnIGFuZCAn
dW5kZXIgcmlnaHQnIHZhbHVlcy4KKyAgICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBj
YXNlIENTU1ZhbHVlQXV0bzoKKyAgICAgICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1
dG87CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0aWM6CisgICAgICAgIHJldHVybiBUZXh0VW5k
ZXJsaW5lUG9zaXRpb25BbHBoYWJldGljOworICAgIGNhc2UgQ1NTVmFsdWVVbmRlcjoKKyAgICAg
ICAgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvblVuZGVyOworICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRvOwor
fQogI2VuZGlmIC8vIENTUzNfVEVYVAogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRleHRTZWN1cml0eSBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAKaW5kZXggNDg5OTZhNDk2YzdkMjc2OWZiYjZlYTkxYzhmMTRmMzMyYWEzZTBi
My4uODMwMzYwNTIzNzZiNjViNjgyOWQxY2Y2MjcwMDJhNzc4YzNmZWVkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMjksNiArMzI5LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6
aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAjaWYgRU5BQkxF
KENTUzNfVEVYVCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5l
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0OgorICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb246CiAjZW5kaWYgLy8gQ1NTM19URVhU
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCmluZGV4IGM3ODQ1ZWY1MTU4ODM0ZWIyNTMyMTg4ZmU3ZWU0YzIwNzc3
M2JjMzAuLmM0ZmVlY2U4OTM3YzAyNzJkMzRjZmFjMmFjYmY2NjViMzZkMjgzMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjUsOSArMzY1LDExIEBAIHotaW5k
ZXgKIC13ZWJraXQtdGV4dC1jb21iaW5lCiAtZXB1Yi10ZXh0LWNvbWJpbmUgPSAtd2Via2l0LXRl
eHQtY29tYmluZQogI2lmIGRlZmluZWQoRU5BQkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNf
VEVYVAorLy8gTGluZSBhZGRlZCBqdXN0IHRvIGZvcmNlIHRoaXMgZmlsZSB0byBiZSBwcm9jZXNz
ZWQgZHVyaW5nIGluY3JlbWVudGFsIGJ1aWxkLgogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGlu
ZQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGUKIC13ZWJraXQtdGV4dC1hbGlnbi1sYXN0
Cistd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uCiAjZW5kaWYKIC13ZWJraXQtdGV4dC1k
ZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4dC1lbXBoYXNpcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGUuaWRsCmluZGV4IDRjMThlNTJhMWE5ZDg4NWQ2MWQxYTU0MTRiNmMzYjJmZmEwMzZiNzYuLmU3
NjBlYTgyM2U0ZTNkNDk3Mzk2NzA5ODJlNmU0ZGFiODg1Mjk0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKQEAgLTQwLDYgKzQwLDcgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRf
S0VZRlJBTUVTX1JVTEUgPSA3OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlG
UkFNRV9SVUxFID0gODsKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
KSAmJiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUworICAgIC8qIExpbmUgYWRkZWQganVz
dCB0byBmb3JjZSB0aGlzIGZpbGUgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZyBpbmNyZW1lbnRhbCBi
dWlsZC4gKi8KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CiAj
ZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KaW5kZXggNzU5MjZmNjI3YTM3ZjIwNmYxMTRmMTZhNzc3MjllOGZkOTM2ZTgwYi4uM2E1NTdi
YTZmZjNjMDFlODllM2UyYTc3YTBkYmY0NDA5NGQyYmZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KQEAgLTQ1Miw2ICs0NTIsNyBAQCB0aGljawogdGhpbgogdW5kZXJs
aW5lCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTM19URVhUKSAmJiBFTkFCTEVfQ1NTM19URVhUCisv
LyBMaW5lIGFkZGVkIGp1c3QgdG8gZm9yY2UgdGhpcyBmaWxlIHRvIGJlIHByb2Nlc3NlZCBkdXJp
bmcgaW5jcmVtZW50YWwgYnVpbGQuCiB3YXZ5CiAjZW5kaWYKIC13ZWJraXQtbm93cmFwCkBAIC05
NDUsNiArOTQ2LDExIEBAIHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lm
ICEoZGVmaW5lZChFTkFCTEVfU1ZHKSAmJiBFTkFCTEVfU1ZHKSAmJiBkZWZpbmVkKEVOQUJMRV9D
U1MzX1RFWFQpICYmIEVOQUJMRV9DU1MzX1RFWFQKKy8vIC13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24KK2FscGhhYmV0aWMKKyNlbmRpZgorCiAvLyBwb3NpdGlvbgogI2lmIGRlZmluZWQo
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICYmIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9O
CiAtd2Via2l0LXN0aWNreQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RPTVdpbmRv
d0NTUy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTVdpbmRvd0NTUy5oCmluZGV4IDcwNzBhZTZh
OTk4MTMxNmUyYzdjNDliYzQxMDI2N2QxM2Y5OTRjMmYuLmE0NjI1YWZhMDljMWRkNTFlYTVlMzc3
NTIzNmY5ZTZkMDQyMWNjYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01XaW5k
b3dDU1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NV2luZG93Q1NTLmgKQEAgLTQwLDYg
KzQwLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NV2luZG93Q1NTIDogcHVi
bGljIFJlZkNvdW50ZWQ8RE9NV2luZG93Q1NTPiB7CiBwdWJsaWM6CisjaWYgVVNFKFY4KQorICAg
IC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MTkKKyAgICAg
KiBXZWJLaXQgZG9lcyBub3QgY29tcGlsZSBhZnRlciBjb21taXQKKyAgICAgKiAwNWNjZDFmNzY0
NjRiYzBhZGMxNWQ3ZmMyNTYwNzhiZDQ5NzI3MWM1IChzdm4gdHJ1bmtAMTQyNzM5KSBpZgorICAg
ICAqIGNzczMtY29uZGl0aW9uYWwtcnVsZXMgaXMgZW5hYmxlZC4gVGhhdCBjb21taXQgYWRkZWQg
Y2xhc3MgRE9NV2luZG93Q1NTLAorICAgICAqIHdoaWNoIG1pc3MgYSB2dGFibGUgcmVxdWlyZWQg
YnkgdGhlIGNvZGUgZ2VuZXJhdGVkIGJ5CisgICAgICogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0uIEFkZGluZyBhIHZpcnR1YWwKKyAgICAgKiBkZXN0
cnVjdG9yIGZpeGVzIHRoZSBwcm9ibGVtLgorICAgICAqLworICAgIHZpcnR1YWwgfkRPTVdpbmRv
d0NTUygpIHsgfQorI2VuZGlmCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NV2luZG93Q1NTPiBj
cmVhdGUoKTsKIAogICAgIGJvb2wgc3VwcG9ydHMoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmlu
ZGV4IDRkODc4YjJlOWIzMjVlMjVlZTM2YWQ4Y2JmMmIyMDBmMmYzODIxMGEuLjM3YjUxNmQyYzE1
ZjA1YTI4YmQyOGRkMzE3NDk3OWUzZmUzODQzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXIuY3BwCkBAIC0xMTQ5LDYgKzExNDksMzUgQEAgcHVibGljOgogICAgIH0KIH07CiAKKyNpZiBF
TkFCTEUoQ1NTM19URVhUKQorY2xhc3MgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQcm9wZXJ0eUlELCBT
dHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBUaGlzIGlzIHRydWUgaWYgdmFsdWUgaXMgJ2F1dG8nIG9yICdhbHBoYWJldGljJy4K
KyAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiB0ID0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4o
dmFsdWUpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4dFVuZGVy
bGluZVBvc2l0aW9uKHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgdW5zaWduZWQgdCA9IDA7CisgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSh2
YWx1ZSk7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICAgICAgQ1NTVmFsdWUq
IGl0ZW0gPSBpLnZhbHVlKCk7CisgICAgICAgICAgICBBU1NFUlQoaXRlbS0+aXNQcmltaXRpdmVW
YWx1ZSgpKTsKKyAgICAgICAgICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0MiA9ICpzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOworICAgICAgICAgICAgdCB8PSB0MjsKKyAg
ICAgICAgfQorICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24oc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPih0KSk7CisgICAgfQor
ICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpCisgICAgeworICAgICAg
ICBQcm9wZXJ0eUhhbmRsZXIgaGFuZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxUZXh0
VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6dGV4dFVuZGVybGluZVBvc2l0aW9uLCBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6c2V0VGV4dFVuZGVybGluZVBvc2l0
aW9uLCBUZXh0VW5kZXJsaW5lUG9zaXRpb24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRl
cmxpbmVQb3NpdGlvbj46OmNyZWF0ZUhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuIFByb3BlcnR5
SGFuZGxlcihoYW5kbGVyLmluaGVyaXRGdW5jdGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlv
bigpLCAmYXBwbHlWYWx1ZSk7CisgICAgfQorfTsKKyNlbmRpZiAvLyBDU1MzX1RFWFQKKwogY2xh
c3MgQXBwbHlQcm9wZXJ0eUxpbmVIZWlnaHQgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFw
cGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUqIHZhbHVlKQpAQCAtMTkyMyw2ICsxOTUyLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1
aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNv
cmF0aW9uTGluZSwgQXBwbHlQcm9wZXJ0eVRleHREZWNvcmF0aW9uOjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9u
U3R5bGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PFRleHREZWNvcmF0aW9uU3R5bGUsICZSZW5kZXJT
dHlsZTo6dGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHlsZSwgJlJlbmRlclN0
eWxlOjpzZXRUZXh0RGVjb3JhdGlvblN0eWxlLCBUZXh0RGVjb3JhdGlvblN0eWxlLCAmUmVuZGVy
U3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0QWxpZ25MYXN0LCBBcHBs
eVByb3BlcnR5RGVmYXVsdDxUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnRleHRBbGlnbkxh
c3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6c2V0VGV4dEFsaWduTGFzdCwgVGV4dEFs
aWduTGFzdCwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dEFsaWduTGFzdD46OmNyZWF0ZUhhbmRs
ZXIoKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uLCBBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9uOjpjcmVhdGVI
YW5kbGVyKCkpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVRleHRJbmRlbnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp0
ZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OnNldFRleHRJbmRlbnQsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbFRleHRJbmRlbnQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVRleHRPdmVyZmxvdywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dE92ZXJm
bG93LCAmUmVuZGVyU3R5bGU6OnRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5
bGU6OnNldFRleHRPdmVyZmxvdywgVGV4dE92ZXJmbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxU
ZXh0T3ZlcmZsb3c+OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCmluZGV4IGQxNjUxZDVkOTViZjMxM2UwOTcwM2EwNDI5YWRkOWM1ZDliYzIwMjMuLmYz
MzdlYTFlMzljY2JlMzE3NDlmYWYyNzlkODIxOWQzZTg1NjBkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTM4MjcsNiArMzgyNyw3IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uTGluZToKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25TdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dEFsaWduTGFzdDoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uOgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RW1waGFzaXNDb2xvcjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhh
c2lzUG9zaXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCmluZGV4IDkwMzViODI5ODAxMzg0OGNjM2M2NDQ3MDY5NzZkMGRkNjA5OTY5NDUuLmM2MTIx
YWIzZWNjZTlkNjBjNjE0MGZkNjYzY2NmM2FiOTcwZGJkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01NjYsNiArNTY2LDcgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgVGV4dERlY29yYXRpb25TdHlsZSB0ZXh0RGVj
b3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dERlY29yYXRpb25T
dHlsZT4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdGV4dERlY29yYXRpb25TdHlsZSk7IH0KICAg
ICBUZXh0QWxpZ25MYXN0IHRleHRBbGlnbkxhc3QoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxUZXh0QWxpZ25MYXN0PihyYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0QWxpZ25MYXN0KTsgfQor
ICAgIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB0ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0VW5kZXJsaW5lUG9zaXRpb24+KHJhcmVJbmhlcml0ZWRE
YXRhLT5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbik7IH0KICNlbHNlCiAgICAgVGV4dERlY29yYXRp
b25TdHlsZSB0ZXh0RGVjb3JhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gVGV4dERlY29yYXRp
b25TdHlsZVNvbGlkOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCkBAIC0xMTA2LDYgKzExMDcsNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICB2b2lkIHNldFRleHREZWNvcmF0
aW9uU3R5bGUoVGV4dERlY29yYXRpb25TdHlsZSB2KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEsIG1fdGV4dERlY29yYXRpb25TdHlsZSwgdik7IH0KICAgICB2b2lkIHNldFRleHRBbGln
bkxhc3QoVGV4dEFsaWduTGFzdCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1fdGV4
dEFsaWduTGFzdCwgdik7IH0KKyAgICB2b2lkIHNldFRleHRVbmRlcmxpbmVQb3NpdGlvbihUZXh0
VW5kZXJsaW5lUG9zaXRpb24gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX3RleHRV
bmRlcmxpbmVQb3NpdGlvbiwgdik7IH0KICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICB2b2lkIHNl
dERpcmVjdGlvbihUZXh0RGlyZWN0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24g
PSB2OyB9CiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0KExlbmd0aCBzcGVjaWZpZWRMaW5lSGVpZ2h0
KTsKQEAgLTE1NzIsNiArMTU3NCw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgIHN0YXRpYyBUZXh0RGVjb3JhdGlvblN0eWxlIGluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxl
KCkgeyByZXR1cm4gVGV4dERlY29yYXRpb25TdHlsZVNvbGlkOyB9CiAgICAgc3RhdGljIFRleHRB
bGlnbkxhc3QgaW5pdGlhbFRleHRBbGlnbkxhc3QoKSB7IHJldHVybiBUZXh0QWxpZ25MYXN0QXV0
bzsgfQorICAgIHN0YXRpYyBUZXh0VW5kZXJsaW5lUG9zaXRpb24gaW5pdGlhbFRleHRVbmRlcmxp
bmVQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87IH0KICNlbmRp
ZiAvLyBDU1MzX1RFWFQKICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFpvb20oKSB7IHJldHVybiAx
LjBmOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsT3V0bGluZU9mZnNldCgpIHsgcmV0dXJuIDA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKaW5kZXggOGMyYzBiNTg2ZjRiNDhlYTlhZDQyZDAyYWNiYzI0NDI1ZTFkNzEz
Ni4uODU2ZGE3MGQ0N2FmNzE1YjYzODIwYjZlNThmNWI4NThhODEzOTE0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
QEAgLTM1OCw2ICszNTgsMTEgQEAgZW51bSBUZXh0RGVjb3JhdGlvblN0eWxlIHsKIGVudW0gVGV4
dEFsaWduTGFzdCB7CiAgICAgVGV4dEFsaWduTGFzdEF1dG8sIFRleHRBbGlnbkxhc3RTdGFydCwg
VGV4dEFsaWduTGFzdEVuZCwgVGV4dEFsaWduTGFzdExlZnQsIFRleHRBbGlnbkxhc3RSaWdodCwg
VGV4dEFsaWduTGFzdENlbnRlciwgVGV4dEFsaWduTGFzdEp1c3RpZnkKIH07CisKK2VudW0gVGV4
dFVuZGVybGluZVBvc2l0aW9uIHsKKyAgICAvLyBUT0RPOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Ig
J3VuZGVyIGxlZnQnIGFuZCAndW5kZXIgcmlnaHQnIHZhbHVlcy4KKyAgICBUZXh0VW5kZXJsaW5l
UG9zaXRpb25BdXRvID0gMHgxLCBUZXh0VW5kZXJsaW5lUG9zaXRpb25BbHBoYWJldGljID0gMHgy
LCBUZXh0VW5kZXJsaW5lUG9zaXRpb25VbmRlciA9IDB4NAorfTsKICNlbmRpZiAvLyBDU1MzX1RF
WFQKIAogZW51bSBFUGFnZUJyZWFrIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCBiMjE1YWIzNTg3
ZTFiZjA2OTdhNTA1ZDdjOGY0ODRjM2E2YzBjMjFlLi5iMmQzZjU1OTBkYjA2ZjA4OTZkNWRmMmRk
NGVkYzA0YzRkMDI1Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMDQsNiArMTA0LDcgQEAg
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAjZW5kaWYK
ICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICwgbV90ZXh0QWxpZ25MYXN0KFJlbmRlclN0eWxl
Ojppbml0aWFsVGV4dEFsaWduTGFzdCgpKQorICAgICwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24o
UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0VW5kZXJsaW5lUG9zaXRpb24oKSkKICNlbmRpZiAvLyBD
U1MzX1RFWFQKICAgICAsIG1fcnVieVBvc2l0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsUnVieVBv
c2l0aW9uKCkpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQpAQCAtMTc0LDYgKzE3
NSw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29u
c3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RF
WFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3Qoby5tX3RleHRBbGlnbkxhc3QpCisgICAgLCBtX3Rl
eHRVbmRlcmxpbmVQb3NpdGlvbihvLm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKQogI2VuZGlmIC8v
IENTUzNfVEVYVAogICAgICwgbV9ydWJ5UG9zaXRpb24oby5tX3J1YnlQb3NpdGlvbikKICAgICAs
IGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCkBAIC0yNzAsNiArMjcyLDcg
QEAgYm9vbCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFy
ZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgICAgICAmJiBtX3RleHRBbGlnbkxhc3QgPT0gby5tX3RleHRBbGlnbkxhc3QKKyAgICAgICAg
JiYgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gPT0gby5tX3RleHRVbmRlcmxpbmVQb3NpdGlvbgog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICAmJiBtX3J1YnlQb3NpdGlvbiA9PSBvLm1fcnVi
eVBvc2l0aW9uCiAgICAgICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xpbmVTbmFwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuaAppbmRleCBiMjI4MWY3NzI5NzA3ZjdjMTNiNDU5OWFhNzZkZjBiNTllOWU3M2FjLi40ZDE0
MjRhYjg4YzdmYTQ1MTM5ZjU4MDdjZjcyZjg0NGMwZjRhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAg
LTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTM19URVhUKQog
ICAgIHVuc2lnbmVkIG1fdGV4dEFsaWduTGFzdCA6IDM7IC8vIFRleHRBbGlnbkxhc3QKKyAgICB1
bnNpZ25lZCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbiA6IDM7IC8vIFRleHRVbmRlcmxpbmVQb3Np
dGlvbgogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgIHVuc2lnbmVkIG1fcnVieVBvc2l0aW9uIDog
MTsgLy8gUnVieVBvc2l0aW9uCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRl
eCBkMTkxNGJkMjIwNGViMmVlZWI5MTAyM2MyOGVmNjI5MjE1YzkzMTQxLi5lODBhNGI3M2VjMmJk
YzdhMTNmM2JiYTUyZmZkN2QyN2YzODBlZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpCkBAIC00MCw4ICs0MCw4IEBACiAgICAgICAnRU5BQkxFX0NBTlZBU19QUk9YWT0xJywK
ICAgICAgICdFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc9MScsCiAgICAgICAnRU5BQkxFX0NTUF9O
RVhUPTEnLAotICAgICAgJ0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTAnLAotICAgICAg
J0VOQUJMRV9DU1MzX1RFWFQ9MCcsCisgICAgICAnRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVM
RVM9MScsCisgICAgICAnRU5BQkxFX0NTUzNfVEVYVD0xJywKICAgICAgICdFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUs9MCcsCiAgICAgICAnRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
Sz0xJywKICAgICAgICdFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HPTAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4NmMwMjY3NzliNDM4MGZiNDM0M2FiYjU5M2Y1MjYxYjUwODNhYWJkLi42NmI0OTZjNTcw
MmQyNmFiZWVjNDg4NzM5MjU1MDE5NThmNDEzNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTUs
OCArNTUsOCBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFC
TEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5B
QkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7CiBFTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsK
LUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwotRU5BQkxFX0NTUzNfVEVYVCA9IDsK
K0VOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVM7CitFTkFCTEVfQ1NTM19URVhUID0gRU5BQkxFX0NTUzNfVEVYVDsKIEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSyA9IDsKIEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFBM
QVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggODZjMDI2Nzc5YjQzODBmYjQzNDNhYmI1OTNm
NTI2MWI1MDgzYWFiZC4uNjZiNDk2YzU3MDJkMjZhYmVlYzQ4ODczOTI1NTAxOTU4ZjQxMzQ0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTU1LDggKzU1LDggQEAgRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxF
X0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklY
RUQgPSBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwogRU5BQkxF
X0NTU19WQVJJQUJMRVMgPSA7Ci1FTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKLUVO
QUJMRV9DU1MzX1RFWFQgPSA7CitFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IEVOQUJM
RV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTOworRU5BQkxFX0NTUzNfVEVYVCA9IEVOQUJMRV9DU1Mz
X1RFWFQ7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CiBFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSID0gOwogRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlRfJChQTEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0
b3Rvb2xzL1JlYWRDb21tYW5kTGluZUFyZ3VtZW50cy5tNCBiL1NvdXJjZS9hdXRvdG9vbHMvUmVh
ZENvbW1hbmRMaW5lQXJndW1lbnRzLm00CmluZGV4IDc4NTM4ZjA3NDhmMGU1MDc0ZDczYTAzMTIy
YThiZTBkODcyZWM5ZDkuLjg1YjAxZDUzZGY0MzJkOWJmMjkyMTQ0MWEyZTk0MGMxNGQwZTM0NWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvUmVhZENvbW1hbmRMaW5lQXJndW1lbnRzLm00
CisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvUmVhZENvbW1hbmRMaW5lQXJndW1lbnRzLm00CkBAIC0y
MDcsNCArMjA3LDIwIEBAIEFDX0FSR19FTkFCTEUoW2ludHJvc3BlY3Rpb25dLAogICAgIFtlbmFi
bGVfaW50cm9zcGVjdGlvbj1ub10pCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ludHJvc3BlY3Rp
b25dKQogCi0KKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgQ1NTMyBjb25kaXRpb25hbCBydWxl
cyBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIENTUzMgY29uZGl0
aW9uYWwgcnVsZXMgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGNzczNfY29uZGl0aW9uYWxfcnVs
ZXMsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb25kaXRpb25hbC1y
dWxlc10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgQ1NTMyBjb25kaXRp
b25hbCBydWxlcyBzdXBwb3J0IFtkZWZhdWx0PXllc11dKSwKKyAgICAgICAgICAgICAgW10sW2Vu
YWJsZV9jc3MzX2NvbmRpdGlvbmFsX3J1bGVzPSJ5ZXMiXSkKK0FDX01TR19SRVNVTFQoWyRlbmFi
bGVfY3NzM19jb25kaXRpb25hbF9ydWxlc10pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0NTUzNf
Q09ORElUSU9OQUxfUlVMRVNdLFt0ZXN0ICIkZW5hYmxlX2NzczNfY29uZGl0aW9uYWxfcnVsZXMi
ID0gInllcyJdKQorCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIENTUzMgdGV4dCBkZWNvcmF0
aW9uIHN1cHBvcnQKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgQ1NTMyB0ZXh0
IGRlY29yYXRpb24gc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGNzczNfdGV4dCwKKyAgICAgICAg
ICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNzczMtdGV4dC1kZWNvcmF0aW9uXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBDU1MzIHRleHQgZGVjb3JhdGlvbiBz
dXBwb3J0IFtkZWZhdWx0PXllc11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9jc3MzX3Rl
eHQ9InllcyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9jc3MzX3RleHRdKQorQU1fQ09ORElU
SU9OQUwoW0VOQUJMRV9DU1MzX1RFWFRdLFt0ZXN0ICIkZW5hYmxlX2NzczNfdGV4dCIgPSAieWVz
Il0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQg
Yi9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQKaW5kZXggZGM5NTkyNjI4
MjE5ODQ4Y2IxNGU1OGMzOTJiMWE4MTMwYmIwNzE1YS4uZjkwN2Y5YWZiNjNiY2Y0NDg4ZjljOTg3
Y2YwODA1M2Y0NDVmZDIzOSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktp
dEZlYXR1cmVzLm00CisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5t
NApAQCAtMTIsNyArMTIsNyBAQCByZWFkIC1kICcnIERFRkFVTFRfRkVBVFVSRV9ERUZJTkVTIDw8
IkVPRiIKIAlFTkFCTEVfQ0FOVkFTX1BST1hZPTAKIAlFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc9
MQogCUVOQUJMRV9DU1BfTkVYVD0wCi0JRU5BQkxFX0NTUzNfVEVYVD0wCisJRU5BQkxFX0NTUzNf
VEVYVD0xCiAJRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSz0xCiAJRU5BQkxFX0NTU19D
T01QT1NJVElORz0wCiAJRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTj0wCkBAIC0yNCw3ICsy
NCw3IEBAIHJlYWQgLWQgJycgREVGQVVMVF9GRUFUVVJFX0RFRklORVMgPDwiRU9GIgogCUVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OPTAKIAlFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9O
U19VTlBSRUZJWEVEPTAKIAlFTkFCTEVfQ1NTX1ZBUklBQkxFUz0wCi0JRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVM9MAorCUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTEKIAlFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSPTAKIAlFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ9MAog
CUVOQUJMRV9EQVRBTElTVF9FTEVNRU5UPTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zQ29tbW9uLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKaW5kZXgg
OGVkZTNjYWU3NGRmN2E2YmZmZTU1YTQ0NTc5OTk4ODc5YzI1NjhmZS4uN2JmNTA2YzFiMmY0Yzhl
ZWIxZDUxNDIzZmJmMWU2MjE1ZWJkYWNiOCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlv
bnNDb21tb24uY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKQEAg
LTM3LDMgKzM3LDYgQEAgc2V0KExJQl9TVUZGSVggIiIgQ0FDSEUgU1RSSU5HICJEZWZpbmUgc3Vm
Zml4IG9mIGRpcmVjdG9yeSBuYW1lICgzMi82NCkiKQogCiBzZXQoTElCX0lOU1RBTExfRElSICJs
aWIke0xJQl9TVUZGSVh9IiBDQUNIRSBQQVRIICJXaGVyZSB0byBpbnN0YWxsIGxpYnJhcmllcyAo
bGliJHtMSUJfU1VGRklYfSkiKQogc2V0KEVYRUNfSU5TVEFMTF9ESVIgImJpbiIgQ0FDSEUgUEFU
SCAiV2hlcmUgdG8gaW5zdGFsbCBleGVjdXRhYmxlcyIpCisKK1dFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIE9OKQorV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTUzNfVEVYVCBPTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCA3YjU5ODA1MGEyNjA5N2VkMTZhNTkwYzNkMzY2OGUzNTg2ZmRl
OWQwLi45ZTNjZjM2ZGUxZmRjOTZmNGI4ZmJjOTJmYTI1MDU3ODc2ZTJjOTYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yMiw4ICsyMiw4IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9n
Z2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2Fn
ZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9O
RVhUICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKLSAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyAiVG9n
Z2xlIENTUzMgQ29uZGl0aW9uYWwgUnVsZXMgc3VwcG9ydCIgT0ZGKQotICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DU1MzX1RFWFQgIlRvZ2dsZSBDU1MzIFRleHQgc3VwcG9ydCIgT0ZG
KQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
ICJUb2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IiBPTikKKyAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1NTM19URVhUICJUb2dnbGUgQ1NTMyBUZXh0IHN1cHBvcnQi
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SyAiVG9nZ2xlIENTUzMgVGV4dCBMaW5lIEJyZWFrIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLICJUb2dnbGUgQm94
IERlY29yYXRpb24gYnJlYWsgKENTUyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVycykgc3VwcG9ydCIg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19DT01QT1NJVElORyAiVG9n
Z2xlIENTUyBDT01QT1NJVElORyBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KaW5kZXggN2I5NjU1OTJiN2VmMWYxNDkxNzA1NDk1YjI1YjE1NGE4Mjcz
OTJhYS4uMTE4N2FiYzdlNzBjNmE4MjU5ZDEyZGExN2JlOTZmNDMzOTMyMmFhMyAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTg4LDEwICsxODgsMTAgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZh
dWx0ID0+IGlzQXBwbGVXZWJLaXQoKSB8fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NG
aWx0ZXJzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtY29uZGl0aW9uYWwtcnVs
ZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTMyBDb25kaXRpb25hbCBSdWxlcyBzdXBwb3J0IChpLmUu
IFxAc3VwcG9ydHMpIiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkY3NzM0NvbmRpdGlvbmFsUnVsZXNTdXBw
b3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTIiwg
ZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzczNDb25kaXRpb25hbFJ1bGVzU3VwcG9ydCB9LAog
CiAgICAgeyBvcHRpb24gPT4gImNzczMtdGV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MzIFRleHQg
c3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFQiLCBkZWZhdWx0ID0+
IChpc0VmbCgpIHx8IGlzR3RrKCkpLCB2YWx1ZSA9PiBcJGNzczNUZXh0U3VwcG9ydCB9LAorICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTM19URVhUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBc
JGNzczNUZXh0U3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtdGV4dC1saW5lLWJy
ZWFrIiwgZGVzYyA9PiAiVG9nZ2xlIENTUzMgVGV4dCBMaW5lIEJyZWFrIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsiLCBkZWZhdWx0ID0+IDAs
IHZhbHVlID0+IFwkY3NzM1RleHRMaW5lQnJlYWtTdXBwb3J0IH0sCmRpZmYgLS1naXQgYS9Ub29s
cy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaSBiL1Rvb2xzL3FtYWtlL21rc3Bl
Y3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpCmluZGV4IDQ5NzU1MTdiY2YyZWZiNjRjZTg3OGEzZmNm
M2UxMzI2ZDEyYTkwYjMuLjYzNWYzNzM2ODdlYzA5YzVlZWQ5NDA4YTQwOWFkYzI1MWFkMGMyZWQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpCisr
KyBiL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpCkBAIC0zNSw4ICsz
NSw4IEBAIEZFQVRVUkVfREVGQVVMVFMgPSBcCiAgICAgRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJ
T049MSBcCiAgICAgRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRD0x
IFwKICAgICBFTkFCTEVfQ1NTX1ZBUklBQkxFUz0wIFwKLSAgICBFTkFCTEVfQ1NTM19DT05ESVRJ
T05BTF9SVUxFUz0wIFwKLSAgICBFTkFCTEVfQ1NTM19URVhUPTAgXAorICAgIEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTPTEgXAorICAgIEVOQUJMRV9DU1MzX1RFWFQ9MSBcCiAgICAgRU5B
QkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLPTAgXAogICAgIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VD0wIFwKICAgICBFTkFCTEVfREFUQUdSSUQ9MCBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Y1M2EyODVmNzllODQ2NmRl
ZmRlNWU3NDk1OTRlMGE4MmI5NTkzYy4uMDYyYmIzZGNmOTRkMWNjNTVhYzBlZWE3ZmNkNWM5Mzc0
Mjg1OWU2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTA2ICBMYW1hcnF1ZSBWLiBT
b3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBbY3NzMy10ZXh0
XSBBZGQgcGFyc2luZyBzdXBwb3J0IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IGZy
b20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBmb3IgJ3RleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRoICd3ZWJraXQnIHByZWZp
eC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNv
cmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
ZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxl
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RFbGVtZW50
U3R5bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDEzLTAzLTA1ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogQWRkIHRoZSBnZXRTdHJlYW1CeUlkIG1ldGhvZCBvbiBSVENQZWVyQ29ubmVjdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRp
b24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1k
ZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODljNmY4Y2VkNjY4NzZmMzIzYjQw
ZTUxNzM4YWIyMWM5YTA4NjkxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
MSBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBw
cm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgY29tcHV0
ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitWYWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMg
bnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK0luaXRpYWwg
dmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFs
dWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0aWFsJworUEFTUyBjb21wdXRlZFN0eWxl
LndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyku
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhdXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJr
aXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdh
dXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdh
bHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMg
J2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhbHBoYWJldGljJworUEFTUyBjb21w
dXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYWxwaGFiZXRpYycKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJs
aW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0n
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVu
ZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2FscGhhYmV0aWMnCisKK1ZhbHVlICd1bmRl
cic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NU
ZXh0IGlzICd1bmRlcicKKworQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZyb20gcGFyZW50Ogor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUud2Via2l0VGV4dFVuZGVybGlu
ZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3Vu
ZGVyJworCitWYWx1ZSAnYXV0byBhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitW
YWx1ZSAnYXV0byB1bmRlcic6CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlzIG51bGwKKworVmFsdWUgJ3VuZGVyIHVu
ZGVyJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAndW5kZXIgdW5kZXIgdW5kZXInOgor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKSBpcyBudWxsCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2Nz
czMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0
LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NWQ3NzIzNWIxMTJlMDZiNGNj
MWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1
dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9z
aXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlv
bi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5k
ZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNGJmMmUwNWI0NjM2MDJlNDQ5NzA5YTNi
YjBjNjUzMzc2ZjM3ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMt
dGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCkBAIC0wLDAgKzEsOTAg
QEAKK2Z1bmN0aW9uIHRlc3RFbGVtZW50U3R5bGUocHJvcGVydHlKUywgcHJvcGVydHlDU1MsIHR5
cGUsIHZhbHVlKQoreworICAgIGlmICh0eXBlICE9IG51bGwpIHsKKyAgICAgICAgc2hvdWxkQmUo
ImUuc3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZhbHVlICsgIiciKTsKKyAgICAgICAgc2hv
dWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicp
LnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAi
JyIgKyB2YWx1ZSArICInIik7CisgICAgfSBlbHNlCisgICAgICAgIHNob3VsZEJlTnVsbCgiZS5z
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJvcGVydHlDU1MgKyAiJykiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5bGUocHJvcGVydHlKUywgcHJvcGVydHlDU1MsIHR5cGUs
IHZhbHVlKQoreworICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShl
LCBudWxsKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS4iICsgcHJvcGVydHlKUywgIici
ICsgdmFsdWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50b1N0cmluZygpIiwgIiciICsgdHlwZSAr
ICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
IiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAiJyIgKyB2YWx1ZSArICInIik7Cit9CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSAtd2Via2l0LXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHByb3Blcmx5LiIpCisKK3ZhciB0ZXN0Q29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cit0ZXN0Q29udGFpbmVyLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RDb250
YWluZXIpOworCit0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0Ij5oZWxs
byB3b3JsZDwvZGl2Pic7CisKK2RlYnVnKCJJbml0aWFsIHZhbHVlOiIpOworZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5k
ZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGws
ICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAi
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnJzoiKTsKK2Uuc3R5
bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJyc7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3Np
dGlvbiIsIG51bGwsICcnKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJJbml0aWFs
IHZhbHVlIChleHBsaWNpdCk6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biA9ICdpbml0aWFsJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTVmFs
dWVdIiwgImluaXRpYWwiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAn
YXV0byc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRvJzsK
K3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0
LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwg
ImF1dG8iKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24i
LCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2
ZVZhbHVlXSIsICJhdXRvIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAnYWxwaGFiZXRp
Yyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhbHBoYWJldGlj
JzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Vi
a2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
IiwgImFscGhhYmV0aWMiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGljIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJW
YWx1ZSAndW5kZXInOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAn
dW5kZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwg
Ii13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVW
YWx1ZV0iLCAidW5kZXIiKTsKK3Rlc3RDb21wdXRlZFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXSIsICJ1bmRlciIpOworZGVidWcoJycpOworCit0ZXN0Q29udGFpbmVy
LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0LXBhcmVudCIgc3R5bGU9Ii13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyOyI+aGVsbG8gPHNwYW4gaWQ9InRlc3QtYW5jZXN0b3Ii
PndvcmxkPC9zcGFuPjwvZGl2Pic7CitkZWJ1ZygiQW5jZXN0b3IgaW5oZXJpdHMgdmFsdWVzIGZy
b20gcGFyZW50OiIpOworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWFuY2VzdG9y
Jyk7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK3Rlc3RDb21wdXRlZFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJ1bmRlciIpOworZGVi
dWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2F1dG8gYWxwaGFiZXRpYyc6Iik7CitlLnN0eWxlLndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRvIGFscGhhYmV0aWMnOwordGVzdEVsZW1l
bnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCJWYWx1ZSAn
YXV0byB1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdh
dXRvIHVuZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlv
biIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIiwgbnVsbCwgIiIpOworZGVidWco
JycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIHVuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyIHVuZGVyJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndl
YmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uIiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyIHVuZGVy
IHVuZGVyJzoiKTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ2F1dG8g
YWxwaGFiZXRpYyB1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5l
UG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsK
K2RlYnVnKCcnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDJlMTMwMWQ2MmRlNzRkNDlmZDE2N2U5MzUzY2IyZDQ0NDU0NTNiMDcuLjNiNGM2ZTFhOWMyYjE5
YjUxNTA4MmIwZTkxM2VlZGVjOThiMTMzZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjI2LDcgKzIyNiw3IEBAIHdlYmtpdC5vcmcv
Yi84NTI2MiBmYXN0L21lZGlhL21xLXJlc29sdXRpb24tZHBpLWRwY20td2FybmluZy5odG1sIFsg
U2tpcCBdCiAjIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJr
aXQub3JnL2IvODkwNTIgZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24KIAotIyBDU1MzIFRleHQg
c3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1MzX1RFWFQpLgorIyBU
aG9zZSB0d28gc3RpbGwgbGFjayAtZXhwZWN0ZWQucG5nIGZpbGVzLiBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU0Ni4KIHdlYmtpdC5vcmcvYi81ODQ5MSBm
YXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbgogd2Via2l0Lm9yZy9iLzc2MTczIGZh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1hbGlnbi1sYXN0CiAKZGlmZiAtLWdpdCBhL1dlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzIGIvV2ViS2l0
TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKaW5kZXgg
NDg0ZmQzMzhiMGRlNTZjMGJlMjM3MTJlNGViNGY2NDVlOWZhMGM5OS4uNGZhNDE3ZDNiMjY1NTFm
MmUyOTFiNzFlZjRkMzQ5YTcxZmY5YTc1NyAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dp
bi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKQEAgLTUzLDEyICs1
MywxMiBAQAogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMiCi0JCVZhbHVlPSIiCisJCVZhbHVlPSJFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9S
VUxFUyIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8K
IAkJTmFtZT0iRU5BQkxFX0NTUzNfVEVYVCIKLQkJVmFsdWU9IiIKKwkJVmFsdWU9IkVOQUJMRV9D
U1MzX1RFWFQiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1h
Y3JvCg==
</data>
<flag name="commit-queue"
          id="212901"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192542</attachid>
            <date>2013-03-11 13:29:56 -0700</date>
            <delta_ts>2013-03-11 18:12:47 -0700</delta_ts>
            <desc>Parse text-underline-position</desc>
            <filename>bug-102491-20130311172554.patch</filename>
            <type>text/plain</type>
            <size>30082</size>
            <attacher name="Lamarque V. Souza">lamarque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYxMDI2MWM3ZWU4ZTNj
YmEwNjMwYmQyYWQ3MjNiYzU4NjFhYzcwOC4uNWFhNjQzNGVmNWZjYjYyNzE0NjhlYzQwZDY4OGQ0
MjgwZGE2MTdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAzLTExICBMYW1h
cnF1ZSBWLiBTb3V6YSAgPExhbWFycXVlLlNvdXphQGJhc3lza29tLmNvbT4KKworICAgICAgICBb
Y3NzMy10ZXh0XSBBZGQgcGFydGlhbCBwYXJzaW5nIHN1cHBvcnQgZm9yIHRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uIHByb3BlcnR5IGZyb20gQ1NTMyBUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBK
dWxpZW4gQ2hhZmZyYWl4LgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXh0ZW5kcyB0aGUgZXhpc3Rp
bmcgcGFyc2luZyB0byBzdXBwb3J0ICdhdXRvJywgJ2FscGhhYmV0aWMnIGFuZCAndW5kZXInLiBX
ZSBkb24ndCBmdWxseSBtYXRjaAorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiBhcyB3ZSBkb24n
dCBzdXBwb3J0IFsgbGVmdCB8IHJpZ2h0IF0gYW5kIHRoaXMgaXMgbGVmdCBmb3IgYW5vdGhlciBp
bXBsZW1lbnRhdGlvbgorICAgICAgICBhcyB0aGUgcmVuZGVyaW5nIHdpbGwgbmVlZCB0byBiZSBh
ZGRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlv
bi9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRp
b24uaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VUZXh0VW5kZXJsaW5lUG9zaXRpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIu
aDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0VW5kZXJsaW5lUG9zaXRp
b24pOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAgIEFkZGVkIHBhcnNpbmct
cmVsYXRlZCBjaGVja3MgZm9yIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5LgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRlZCAnLXdlYmtpdC11bmRlcmxpbmUt
cG9zaXRpb24nIHByb3BlcnR5LgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgor
ICAgICAgICAqIGNzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9TdHls
ZUJ1aWxkZXIuY3BwOgorICAgICAgICAoQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dFVuZGVybGluZVBvc2l0aW9u
OjphcHBseVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlUZXh0VW5kZXJs
aW5lUG9zaXRpb246OmNyZWF0ZUhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWls
ZGVyOjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICBTZXQgcHJvcGVydHkgaGFuZGxlciBmb3IgdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24uCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgQWRkZWQgc3VwcG9y
dCBmb3IgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24gb24gY29weSBjb25zdHJ1Y3RvciBhbmQgb3Bl
cmF0b3IKKyAgICAgICAgYXNzaWdubWVudCBmdW5jdGlvbnMuCisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVy
aXRlZERhdGEpOiBBZGRlZCBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbiBoZXJlIGFzIGl0IHdvbid0
IGJlIHVzZWQgcmVndWxhcmx5LgorCiAyMDEzLTAzLTExICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFByb3RlY3QgYWdhaW5zdCBrZXkg
cHJlZml4IG92ZXJmbG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1OGIyMjkzNWRhMmVjMDNiZjNlYzNiNDQzYmZlNTgw
MjYwZGUyNWRjLi4xYzA0OGE1OTg3YTljMmQxOWQ1Njk3MGI3YmVlZjQ3NzA4NGFlOGY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMTkxLDYgKzE5MSw3IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVk
UHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25MaW5l
LAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25TdHlsZSwKICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3QsCisgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24sCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgQ1NTUHJvcGVydHlUZXh0SW5k
ZW50LAogICAgIENTU1Byb3BlcnR5VGV4dFJlbmRlcmluZywKQEAgLTIxNTUsNiArMjE1Niw4IEBA
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGV4dERl
Y29yYXRpb25TdHlsZUZsYWdzVG9DU1NWYWx1ZShzdHlsZS0+dGV4dERlY29yYXRpb25TdHlsZSgp
KTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6CiAgICAgICAg
ICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPnRleHRBbGlnbkxh
c3QoKSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b246CisgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUt
PnRleHRVbmRlcmxpbmVQb3NpdGlvbigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlclRleHREZWNvcmF0aW9uRmxhZ3NUb0NTU1ZhbHVlKHN0eWxlLT50ZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZDQ4
ZjYxZjcxY2FlOTRlZjE0ZDYwYWE4ODA3NThlNGQ4MzViMjJlNy4uZDFiODk3NTUxMGMzZTBhYzY0
ZTY5MmM3NmZlMjRhNzM3YmI5Yzc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIy
OTYsNiArMjI5NiwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlE
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVNvbGlk
IHx8IGlkID09IENTU1ZhbHVlRG91YmxlIHx8IGlkID09IENTU1ZhbHVlRG90dGVkIHx8IGlkID09
IENTU1ZhbHVlRGFzaGVkIHx8IGlkID09IENTU1ZhbHVlV2F2eSkKICAgICAgICAgICAgIHZhbGlk
UHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uOgorICAgICAgICAvLyBhdXRvIHwgYWxwaGFiZXRp
YyB8IHVuZGVyCisgICAgICAgIHJldHVybiBwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihpbXBv
cnRhbnQpOwogI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVpvb206
ICAgICAgICAgIC8vIG5vcm1hbCB8IHJlc2V0IHwgZG9jdW1lbnQgfCA8bnVtYmVyPiB8IDxwZXJj
ZW50YWdlPiB8IGluaGVyaXQKQEAgLTkxNDEsNiArOTE0NSwyNyBAQCBib29sIENTU1BhcnNlcjo6
cGFyc2VUZXh0RGVjb3JhdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2Jvb2wgQ1NT
UGFyc2VyOjpwYXJzZVRleHRVbmRlcmxpbmVQb3NpdGlvbihib29sIGltcG9ydGFudCkKK3sKKyAg
ICAvLyBUaGUgdGV4dC11bmRlcmxpbmUtcG9zaXRpb24gcHJvcGVydHkgaGFzIHNpbnRheCAiYXV0
byB8IGFscGhhYmV0aWMgfCBbIHVuZGVyIHx8IFsgbGVmdCB8IHJpZ2h0IF0gXSIuCisgICAgLy8g
SG93ZXZlciwgdmFsdWVzICdsZWZ0JyBhbmQgJ3JpZ2h0JyBhcmUgbm90IGltcGxlbWVudGVkIHll
dCwgc28gd2Ugd2lsbCBwYXJzZSBzaW50YXgKKyAgICAvLyAiYXV0byB8IGFscGhhYmV0aWMgfCB1
bmRlciIgZm9yIG5vdy4KKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpOworICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAgY2FzZSBDU1NWYWx1ZUF1
dG86CisgICAgY2FzZSBDU1NWYWx1ZUFscGhhYmV0aWM6CisgICAgY2FzZSBDU1NWYWx1ZVVuZGVy
OgorICAgICAgICBpZiAobV92YWx1ZUxpc3QtPm5leHQoKSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbiwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5p
ZCksIGltcG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisjZW5kaWYgLy8gQ1NTM19URVhUCisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRl
eHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogewogICAgIHVuc2lnbmVkIHZhbHVlTGlz
dFNpemUgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDBh
YjA2MTc4OGY4YzlhY2ZkNzNmOTE0NjdiZWJiZjhlOTNhYWY1NzcuLjE1OTk3ZTk2M2MzYzAyMmYy
Y2E0ODc1MmYwYjk2YzA4MjExYzQwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI2NCw2
ICsyNjQsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFRleHREZWNvcmF0aW9uUHJvcGVydHko
Q1NTUHJvcGVydHlJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKICAg
ICBib29sIHBhcnNlVGV4dERlY29yYXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KTsKKyNpZiBFTkFCTEUoQ1NTM19URVhUKQorICAgIGJvb2wgcGFyc2VUZXh0VW5kZXJs
aW5lUG9zaXRpb24oYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmIC8vIENTUzNfVEVYVAogCiAgICAg
Ym9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNl
Q2FsY3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqLCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFu
Z2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgK
aW5kZXggYzBlNTVjMzg1ZDZhMzUyZDVkNGYwZWM4NDIzYmRiMWE2ODk2Y2RhNi4uYzFjNWQ5NzQx
M2E4ZDg1NTk1ZDYzYzE0OWRiMzAxZTlmZDUxN2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMzk3LDYgKzIzOTcsNDIgQEAgdGVt
cGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHREZWNvcmF0aW9u
U3R5bGUoKSBjb25zdAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBUZXh0
RGVjb3JhdGlvblN0eWxlU29saWQ7CiB9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0VW5kZXJsaW5lUG9zaXRpb24gZSkKKyAgICA6
IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBD
U1NfSURFTlQ7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBUZXh0VW5kZXJsaW5lUG9zaXRp
b25BdXRvOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVBdXRvOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM6CisgICAgICAg
IG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUFscGhhYmV0aWM7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXI6CisgICAgICAgIG1fdmFsdWUuaWRlbnQg
PSBDU1NWYWx1ZVVuZGVyOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHN1cHBvcnQgZm9yICd1bmRlciBsZWZ0JyBhbmQgJ3VuZGVyIHJpZ2h0JyB2YWx1
ZXMuCit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBU
ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVu
dCkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGlu
ZVBvc2l0aW9uQXV0bzsKKyAgICBjYXNlIENTU1ZhbHVlQWxwaGFiZXRpYzoKKyAgICAgICAgcmV0
dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhhYmV0aWM7CisgICAgY2FzZSBDU1NWYWx1ZVVu
ZGVyOgorICAgICAgICByZXR1cm4gVGV4dFVuZGVybGluZVBvc2l0aW9uVW5kZXI7CisgICAgfQor
CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBzdXBwb3J0IGZvciAndW5kZXIgbGVmdCcgYW5kICd1
bmRlciByaWdodCcgdmFsdWVzLgorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIFRleHRVbmRlcmxpbmVQb3NpdGlvbkF1dG87Cit9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAK
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShF
VGV4dFNlY3VyaXR5IGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA1Yjg0ZGI1
YzA0ZWEyMmJkOGYwYTllZDcyYTBmNGM1ZGIxODU4NWEwLi5mNGQ0ZWNhOGU3MTYxMDU1ZTY3ODJj
OGU0ODIwOGM1ZTE3YzNjMGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTMz
Miw2ICszMzIsNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1By
b3BlcnR5SUQgcHJvcGVydHlJRCkKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdFRleHRBbGlnbkxhc3Q6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRVbmRlcmxp
bmVQb3NpdGlvbjoKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRFbXBoYXNpczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggZGRm
MGRkYmY3MGUzOTg0OWRhZjA4Yjc1NDhjYzU3ZDc0ZDBmY2I4YS4uOTY3YWQ4OTAzOTEyNmZmMzkz
YzQ0MWJjYTNkZjRkZjBkOTg3ZmFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KQEAgLTM3Myw2ICszNzMsNyBAQCB6LWluZGV4CiAtd2Via2l0LXRleHQtZGVjb3JhdGlv
bi1saW5lCiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZQogLXdlYmtpdC10ZXh0LWFsaWdu
LWxhc3QKKy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24KICNlbmRpZgogLXdlYmtpdC10
ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdAogLXdlYmtpdC10ZXh0LWVtcGhhc2lzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDcxNjRhOTU3NjBkZjJiNjQ2N2YxYzRh
MGM5ODE4YmUzMWRjZTYzMmYuLjEyYzI1NDkyODViODMzYjJiNjg5MGRiZDdlYjFlMTFjMTE2ZTJh
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC05NTMsNiArOTUz
LDEwIEBAIHdyYXAKIC8vIC13ZWJraXQtbGluZS1hbGlnbgogZWRnZXMKIAorI2lmIChkZWZpbmVk
KEVOQUJMRV9TVkcpICYmIEVOQUJMRV9TVkcpIHx8IChkZWZpbmVkKEVOQUJMRV9DU1MzX1RFWFQp
ICYmIEVOQUJMRV9DU1MzX1RFWFQpCithbHBoYWJldGljCisjZW5kaWYKKwogLy8gcG9zaXRpb24K
ICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAmJiBFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTgogLXdlYmtpdC1zdGlja3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1Zh
bHVlS2V5d29yZHMuaW4KaW5kZXggNmY3NjliNjc4NGRmNWM5N2Y3YjI1NjQ2NTQxMzYyYTdjOGY2
ODMwZC4uYTM5MTljOTQ5ZjEyNmFiOTliZjI3ZWVlNDExZGQ2ZTYxZDU4YTE4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTI0MSw3ICsyNDEsNiBAQCBj
ZW50cmFsCiB0ZXh0LWJlZm9yZS1lZGdlCiB0ZXh0LWFmdGVyLWVkZ2UKIGlkZW9ncmFwaGljCi1h
bHBoYWJldGljCiBoYW5naW5nCiBtYXRoZW1hdGljYWwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyLmNwcAppbmRleCBkNjJkNmUwMDViY2Y5MjRiZGFlMzg0YmNiMGFlNWI3MzNjMmY0NzM5Li44
Mjc0ODE3ZmRhODk2NzlmNGIyYjYwYzZmYzViMTliNmFmMDcwODMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcApAQCAtMTE0OSw2ICsxMTQ5LDM1IEBAIHB1YmxpYzoKICAgICB9CiB9
OwogCisjaWYgRU5BQkxFKENTUzNfVEVYVCkKK2NsYXNzIEFwcGx5UHJvcGVydHlUZXh0VW5kZXJs
aW5lUG9zaXRpb24geworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJv
cGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0cnVlIGlmIHZhbHVlIGlzICdhdXRvJyBvciAnYWxw
aGFiZXRpYycuCisgICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7CisgICAg
ICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdCA9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNl
dFRleHRVbmRlcmxpbmVQb3NpdGlvbih0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIHVuc2lnbmVkIHQgPSAwOworICAgICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0
ZXJhdG9yIGkodmFsdWUpOyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAg
IENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAgICAgICAgICAgQVNTRVJUKGl0ZW0tPmlz
UHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAgICAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdDIg
PSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihpdGVtKTsKKyAgICAgICAgICAgIHQg
fD0gdDI7CisgICAgICAgIH0KKyAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0VGV4
dFVuZGVybGluZVBvc2l0aW9uKHN0YXRpY19jYXN0PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4odCkp
OworICAgIH0KKyAgICBzdGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKQorICAg
IHsKKyAgICAgICAgUHJvcGVydHlIYW5kbGVyIGhhbmRsZXIgPSBBcHBseVByb3BlcnR5RGVmYXVs
dEJhc2U8VGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnRleHRVbmRlcmxpbmVQ
b3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OnNldFRleHRVbmRl
cmxpbmVQb3NpdGlvbiwgVGV4dFVuZGVybGluZVBvc2l0aW9uLCAmUmVuZGVyU3R5bGU6OmluaXRp
YWxUZXh0VW5kZXJsaW5lUG9zaXRpb24+OjpjcmVhdGVIYW5kbGVyKCk7CisgICAgICAgIHJldHVy
biBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0RnVuY3Rpb24oKSwgaGFuZGxlci5pbml0
aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307CisjZW5kaWYgLy8gQ1NTM19U
RVhUCisKIGNsYXNzIEFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVz
b2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKQEAgLTE5MDMsNiArMTkzMiw3IEBAIFN0eWxlQnVpbGRl
cjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RGVjb3JhdGlvbkxpbmUsIEFwcGx5UHJvcGVydHlUZXh0RGVjb3JhdGlvbjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0
RGVjb3JhdGlvblN0eWxlLCBBcHBseVByb3BlcnR5RGVmYXVsdDxUZXh0RGVjb3JhdGlvblN0eWxl
LCAmUmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9uU3R5bGUsIFRleHREZWNvcmF0aW9uU3R5bGUs
ICZSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25TdHlsZSwgVGV4dERlY29yYXRpb25TdHls
ZSwgJlJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb25TdHlsZT46OmNyZWF0ZUhhbmRs
ZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dEFsaWdu
TGFzdCwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8VGV4dEFsaWduTGFzdCwgJlJlbmRlclN0eWxlOjp0
ZXh0QWxpZ25MYXN0LCBUZXh0QWxpZ25MYXN0LCAmUmVuZGVyU3R5bGU6OnNldFRleHRBbGlnbkxh
c3QsIFRleHRBbGlnbkxhc3QsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRBbGlnbkxhc3Q+Ojpj
cmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiwgQXBwbHlQcm9wZXJ0eVRleHRVbmRlcmxpbmVQb3NpdGlv
bjo6Y3JlYXRlSGFuZGxlcigpKTsKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5k
ZXJTdHlsZTo6dGV4dEluZGVudCwgJlJlbmRlclN0eWxlOjpzZXRUZXh0SW5kZW50LCAmUmVuZGVy
U3R5bGU6OmluaXRpYWxUZXh0SW5kZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0T3ZlcmZsb3csIEFwcGx5UHJvcGVydHlEZWZhdWx0
PFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxlOjp0ZXh0T3ZlcmZsb3csIFRleHRPdmVyZmxvdywg
JlJlbmRlclN0eWxlOjpzZXRUZXh0T3ZlcmZsb3csIFRleHRPdmVyZmxvdywgJlJlbmRlclN0eWxl
Ojppbml0aWFsVGV4dE92ZXJmbG93Pjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCAxMzhhOWFiMjgyYWNjYjc1ZTkwOTRiNDY5MTA1MTM5ZmU0
MmM1ZWNjLi5hZDhhMWI0YWZjZTFkYWVlYzZjNGMxZjg2NTQzOWQ5MDg3ODI4MjZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zODA0LDYgKzM4MDQsNyBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZh
bHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbkxpbmU6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uU3R5bGU6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFRleHRBbGlnbkxhc3Q6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbjoKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzQ29sb3I6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRFbXBoYXNpc1Bvc2l0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAppbmRleCAyM2FjNzkyZGFkMzNhMjQ0MWNmMzRkZjNhNTA5MDAzYWJjNTRk
YjY4Li4wNmE2NmE2OWE4ZmM2ODBhNzI5MTUzODBkMDQ0ZWM3NmEyMTM1Yzg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTc1LDYgKzU3NSw3
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgIFRleHREZWNvcmF0aW9uU3R5
bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRE
ZWNvcmF0aW9uU3R5bGU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHREZWNvcmF0aW9uU3R5
bGUpOyB9CiAgICAgVGV4dEFsaWduTGFzdCB0ZXh0QWxpZ25MYXN0KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VGV4dEFsaWduTGFzdD4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4dEFsaWdu
TGFzdCk7IH0KKyAgICBUZXh0VW5kZXJsaW5lUG9zaXRpb24gdGV4dFVuZGVybGluZVBvc2l0aW9u
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFVuZGVybGluZVBvc2l0aW9uPihyYXJl
SW5oZXJpdGVkRGF0YS0+bV90ZXh0VW5kZXJsaW5lUG9zaXRpb24pOyB9CiAjZWxzZQogICAgIFRl
eHREZWNvcmF0aW9uU3R5bGUgdGV4dERlY29yYXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIFRl
eHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogI2VuZGlmIC8vIENTUzNfVEVYVApAQCAtMTExOSw2
ICsxMTIwLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgdm9pZCBzZXRU
ZXh0RGVjb3JhdGlvblN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgdikgeyBTRVRfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLCBtX3RleHREZWNvcmF0aW9uU3R5bGUsIHYpOyB9CiAgICAgdm9pZCBz
ZXRUZXh0QWxpZ25MYXN0KFRleHRBbGlnbkxhc3QgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWRE
YXRhLCBtX3RleHRBbGlnbkxhc3QsIHYpOyB9CisgICAgdm9pZCBzZXRUZXh0VW5kZXJsaW5lUG9z
aXRpb24oVGV4dFVuZGVybGluZVBvc2l0aW9uIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0
YSwgbV90ZXh0VW5kZXJsaW5lUG9zaXRpb24sIHYpOyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAg
ICAgdm9pZCBzZXREaXJlY3Rpb24oVGV4dERpcmVjdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5f
ZGlyZWN0aW9uID0gdjsgfQogICAgIHZvaWQgc2V0TGluZUhlaWdodChMZW5ndGggc3BlY2lmaWVk
TGluZUhlaWdodCk7CkBAIC0xNTkzLDYgKzE1OTUsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKENT
UzNfVEVYVCkKICAgICBzdGF0aWMgVGV4dERlY29yYXRpb25TdHlsZSBpbml0aWFsVGV4dERlY29y
YXRpb25TdHlsZSgpIHsgcmV0dXJuIFRleHREZWNvcmF0aW9uU3R5bGVTb2xpZDsgfQogICAgIHN0
YXRpYyBUZXh0QWxpZ25MYXN0IGluaXRpYWxUZXh0QWxpZ25MYXN0KCkgeyByZXR1cm4gVGV4dEFs
aWduTGFzdEF1dG87IH0KKyAgICBzdGF0aWMgVGV4dFVuZGVybGluZVBvc2l0aW9uIGluaXRpYWxU
ZXh0VW5kZXJsaW5lUG9zaXRpb24oKSB7IHJldHVybiBUZXh0VW5kZXJsaW5lUG9zaXRpb25BdXRv
OyB9CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxab29tKCkg
eyByZXR1cm4gMS4wZjsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbE91dGxpbmVPZmZzZXQoKSB7
IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGRhOTU4NjA3YzliYWRhN2MyODhlYWU0YTQ3Mjhm
NmExMjZiNTFlYTAuLmUzZGI0MzE2MDhjNGZjOGJlY2RjY2I1YzQ4ZmM5M2I0NDlhNGZmMDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNv
bnN0YW50cy5oCkBAIC0zNTgsNiArMzU4LDExIEBAIGVudW0gVGV4dERlY29yYXRpb25TdHlsZSB7
CiBlbnVtIFRleHRBbGlnbkxhc3QgewogICAgIFRleHRBbGlnbkxhc3RBdXRvLCBUZXh0QWxpZ25M
YXN0U3RhcnQsIFRleHRBbGlnbkxhc3RFbmQsIFRleHRBbGlnbkxhc3RMZWZ0LCBUZXh0QWxpZ25M
YXN0UmlnaHQsIFRleHRBbGlnbkxhc3RDZW50ZXIsIFRleHRBbGlnbkxhc3RKdXN0aWZ5CiB9Owor
CitlbnVtIFRleHRVbmRlcmxpbmVQb3NpdGlvbiB7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBz
dXBwb3J0IGZvciAndW5kZXIgbGVmdCcgYW5kICd1bmRlciByaWdodCcgdmFsdWVzLgorICAgIFRl
eHRVbmRlcmxpbmVQb3NpdGlvbkF1dG8gPSAweDEsIFRleHRVbmRlcmxpbmVQb3NpdGlvbkFscGhh
YmV0aWMgPSAweDIsIFRleHRVbmRlcmxpbmVQb3NpdGlvblVuZGVyID0gMHg0Cit9OwogI2VuZGlm
IC8vIENTUzNfVEVYVAogCiBlbnVtIEVQYWdlQnJlYWsgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4
IDE4MWFhYjMwNGU4ZGY2YmZiMDNhZTEzNGIxZTIzYzIxYTA1ODRmNDUuLjMyM2JiOWQ3ZDI3NGIy
ZjYwYjVlYTgzOTc5MmJjNGU4YWY1Y2U4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTEwMyw2
ICsxMDMsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRh
KCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAgICAgLCBtX3RleHRBbGlnbkxhc3Qo
UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0QWxpZ25MYXN0KCkpCisgICAgLCBtX3RleHRVbmRlcmxp
bmVQb3NpdGlvbihSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRVbmRlcmxpbmVQb3NpdGlvbigpKQog
I2VuZGlmIC8vIENTUzNfVEVYVAogICAgICwgbV9ydWJ5UG9zaXRpb24oUmVuZGVyU3R5bGU6Omlu
aXRpYWxSdWJ5UG9zaXRpb24oKSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoLTEpCkBA
IC0xNzIsNiArMTczLDcgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJp
dGVkRGF0YShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKQogI2VuZGlmCiAjaWYgRU5B
QkxFKENTUzNfVEVYVCkKICAgICAsIG1fdGV4dEFsaWduTGFzdChvLm1fdGV4dEFsaWduTGFzdCkK
KyAgICAsIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uKG8ubV90ZXh0VW5kZXJsaW5lUG9zaXRpb24p
CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgLCBtX3J1YnlQb3NpdGlvbihvLm1fcnVieVBvc2l0
aW9uKQogICAgICwgaHlwaGVuYXRpb25TdHJpbmcoby5oeXBoZW5hdGlvblN0cmluZykKQEAgLTI2
Nyw2ICsyNjksNyBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29u
c3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICNlbmRpZgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgICAgICYmIG1fdGV4dEFsaWduTGFzdCA9PSBvLm1fdGV4dEFsaWduTGFz
dAorICAgICAgICAmJiBtX3RleHRVbmRlcmxpbmVQb3NpdGlvbiA9PSBvLm1fdGV4dFVuZGVybGlu
ZVBvc2l0aW9uCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgICAgICYmIG1fcnVieVBvc2l0aW9u
ID09IG8ubV9ydWJ5UG9zaXRpb24KICAgICAgICAgJiYgbV9saW5lU25hcCA9PSBvLm1fbGluZVNu
YXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oCmluZGV4IGU0M2FmMzk1MzUzNmMwODIzM2E0MDc0ZjI4MGQxZjE5ZGYz
Y2VjZTMuLjUxNDk1ZmU3ZmZlZjNkODdiOWY2NTZlMDZiMTMyNzVkZmViMzU0MTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuaApAQCAtMTE3LDYgKzExNyw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVOQUJMRShD
U1MzX1RFWFQpCiAgICAgdW5zaWduZWQgbV90ZXh0QWxpZ25MYXN0IDogMzsgLy8gVGV4dEFsaWdu
TGFzdAorICAgIHVuc2lnbmVkIG1fdGV4dFVuZGVybGluZVBvc2l0aW9uIDogMzsgLy8gVGV4dFVu
ZGVybGluZVBvc2l0aW9uCiAjZW5kaWYgLy8gQ1NTM19URVhUCiAgICAgdW5zaWduZWQgbV9ydWJ5
UG9zaXRpb24gOiAxOyAvLyBSdWJ5UG9zaXRpb24KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxZDZiNjRkMDM5YzhmOGQz
ZTMxODE3OTU5ZjJkZjQ1ZjU5OWRiMzguLmI5YmI5ZDA4MzlmNWRlYjI0ZGZkM2ZjNjM5ZWM5YjNk
M2Q4NGU1N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wMy0xMSAgTGFtYXJxdWUgVi4g
U291emEgIDxMYW1hcnF1ZS5Tb3V6YUBiYXN5c2tvbS5jb20+CisKKyAgICAgICAgW2NzczMtdGV4
dF0gQWRkIHBhcnRpYWwgcGFyc2luZyBzdXBwb3J0IGZvciB0ZXh0LXVuZGVybGluZS1wb3NpdGlv
biBwcm9wZXJ0eSBmcm9tIENTUzMgVGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSnVsaWVuIENo
YWZmcmFpeC4KKworICAgICAgICBBZGRlZCBnZXRDb21wdXRlZFN0eWxlIGxheW91dCB0ZXN0cyBm
b3IgJ3RleHQtdW5kZXJsaW5lLXBvc2l0aW9uJyBDU1MzCisgICAgICAgIHByb3BlcnR5LCB3aXRo
ICd3ZWJraXQnIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1k
ZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0
L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NzczMt
dGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzOiBBZGRlZC4KKyAgICAg
ICAgKHRlc3RFbGVtZW50U3R5bGUpOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAy
MDEzLTAzLTExICBDaHJpc3RpYW4gQmllc2luZ2VyICA8Y2JpZXNpbmdlckBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgKHRlc3RzKSBtYWtlIG5vZGVzRnJvbVJlY3QuanMgcHJpbnQgYSBsaXN0IG9m
IG5vZGVzIHRoYXQgd2VyZSBmb3VuZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mz
LXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODljNmY4Y2VkNjY4NzZmMzIzYjQwZTUxNzM4YWIyMWM5YTA4NjkxOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3MSBAQAorVGVzdCB0byBtYWtlIHN1cmUgLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiBwcm9wZXJ0eSByZXR1cm5zIHZhbHVlcyBwcm9wZXJseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWU6CitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlv
bicpIGlzIG51bGwKK1BBU1MgY29tcHV0ZWRTdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRp
b24gaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdl
YmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NT
UHJpbWl0aXZlVmFsdWVdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworCitW
YWx1ZSAnJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK0luaXRpYWwgdmFsdWUgKGV4cGxpY2l0KToKK1BBU1MgZS5zdHlsZS53
ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2luaXRpYWwnCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICdpbml0
aWFsJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAn
YXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRl
eHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdh
dXRvJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2F1dG8n
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUt
cG9zaXRpb24nKS5jc3NUZXh0IGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRl
eHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmco
KSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1Rl
eHQgaXMgJ2F1dG8nCisKK1ZhbHVlICdhbHBoYWJldGljJzoKK1BBU1MgZS5zdHlsZS53ZWJraXRU
ZXh0VW5kZXJsaW5lUG9zaXRpb24gaXMgJ2FscGhhYmV0aWMnCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlz
ICdhbHBoYWJldGljJworUEFTUyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiBpcyAnYWxwaGFiZXRpYycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ2Fs
cGhhYmV0aWMnCisKK1ZhbHVlICd1bmRlcic6CitQQVNTIGUuc3R5bGUud2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
LXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworUEFT
UyBjb21wdXRlZFN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiBpcyAndW5kZXInCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbicpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24nKS5jc3NUZXh0IGlzICd1bmRlcicKKworQW5jZXN0b3IgaW5oZXJp
dHMgdmFsdWVzIGZyb20gcGFyZW50OgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCitQQVNTIGNvbXB1dGVk
U3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIGlzICd1bmRlcicKK1BBU1MgY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1w
b3NpdGlvbicpLmNzc1RleHQgaXMgJ3VuZGVyJworCitWYWx1ZSAnYXV0byBhbHBoYWJldGljJzoK
K1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1ZSAnYXV0byB1bmRlcic6CitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbicpIGlz
IG51bGwKKworVmFsdWUgJ3VuZGVyIHVuZGVyJzoKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCctd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uJykgaXMgbnVsbAorCitWYWx1
ZSAndW5kZXIgdW5kZXIgdW5kZXInOgorUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Jy13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24nKSBpcyBudWxsCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5
bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LXVuZGVybGluZS1wb3NpdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU0NWQ3NzIzNWIxMTJlMDZiNGNjMWI4NTYwMGVlMzRiMGUzZTg2Y2UKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24u
aHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9nZXRDb21wdXRl
ZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvc2NyaXB0LXRlc3RzL2dldENvbXB1dGVk
U3R5bGUtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMt
dGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21wdXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9n
ZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5
ZTFiMTU3ODY2OThhMjBjOTk1ZWZmOTZkY2Y5YmFlMWNmNTAzZmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9nZXRDb21w
dXRlZFN0eWxlL3NjcmlwdC10ZXN0cy9nZXRDb21wdXRlZFN0eWxlLXRleHQtdW5kZXJsaW5lLXBv
c2l0aW9uLmpzCkBAIC0wLDAgKzEsOTQgQEAKK2Z1bmN0aW9uIHRlc3RFbGVtZW50U3R5bGUocHJv
cGVydHlKUywgcHJvcGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGlmICh0eXBlICE9IG51
bGwpIHsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuIiArIHByb3BlcnR5SlMsICInIiArIHZh
bHVlICsgIiciKTsKKyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLnRvU3RyaW5nKCkiLCAiJyIgKyB0eXBlICsgIiciKTsK
KyAgICAgICAgc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3Bl
cnR5Q1NTICsgIicpLmNzc1RleHQiLCAiJyIgKyB2YWx1ZSArICInIik7CisgICAgfSBlbHNlCisg
ICAgICAgIHNob3VsZEJlTnVsbCgiZS5zdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCciICsgcHJv
cGVydHlDU1MgKyAiJykiKTsKK30KKworZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5bGUocHJvcGVy
dHlKUywgcHJvcGVydHlDU1MsIHR5cGUsIHZhbHVlKQoreworICAgIGNvbXB1dGVkU3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlLCBudWxsKTsKKyAgICBzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZS4iICsgcHJvcGVydHlKUywgIiciICsgdmFsdWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJyIgKyBwcm9wZXJ0eUNTUyArICInKS50
b1N0cmluZygpIiwgIiciICsgdHlwZSArICInIik7CisgICAgc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnIiArIHByb3BlcnR5Q1NTICsgIicpLmNzc1RleHQiLCAi
JyIgKyB2YWx1ZSArICInIik7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSAt
d2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9uIHByb3BlcnR5IHJldHVybnMgdmFsdWVzIHBy
b3Blcmx5LiIpCisKKy8vIEZJWE1FOiBUaGlzIHRlc3QgdGVzdHMgcHJvcGVydHkgdmFsdWVzICdh
dXRvJywgJ2FscGhhYmV0aWMnIGFuZCAndW5kZXInLiBXZSBkb24ndCBmdWxseSBtYXRjaAorLy8g
dGhlIHNwZWNpZmljYXRpb24gYXMgd2UgZG9uJ3Qgc3VwcG9ydCBbIGxlZnQgfCByaWdodCBdIGFu
ZCB0aGlzIGlzIGxlZnQgZm9yIGFub3RoZXIgaW1wbGVtZW50YXRpb24KKy8vIGFzIHRoZSByZW5k
ZXJpbmcgd2lsbCBuZWVkIHRvIGJlIGFkZGVkLgorCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKwordGVz
dENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdCI+aGVsbG8gd29ybGQ8L2Rpdj4n
OworCitkZWJ1ZygiSW5pdGlhbCB2YWx1ZToiKTsKK2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdCcpOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9u
IiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAnJyk7Cit0ZXN0Q29t
cHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11
bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0byIp
OworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJyc6Iik7CitlLnN0eWxlLndlYmtpdFRleHRV
bmRlcmxpbmVQb3NpdGlvbiA9ICcnOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVy
bGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAn
Jyk7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiSW5pdGlhbCB2YWx1ZSAoZXhwbGlj
aXQpOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnaW5pdGlhbCc7
Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtp
dC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ZhbHVlXSIsICJpbml0aWFs
Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAiYXV0byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2F1dG8nOiIpOworZS5z
dHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnYXV0byc7Cit0ZXN0RWxlbWVudFN0
eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGlu
ZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhdXRvIik7Cit0ZXN0
Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4
dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAiYXV0
byIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2FscGhhYmV0aWMnOiIpOworZS5zdHls
ZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnYWxwaGFiZXRpYyc7Cit0ZXN0RWxlbWVu
dFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiIsICJbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXSIsICJhbHBoYWJldGlj
Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAiYWxwaGFiZXRpYyIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ3VuZGVyJzoi
KTsKK2Uuc3R5bGUud2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uID0gJ3VuZGVyJzsKK3Rlc3RF
bGVtZW50U3R5bGUoIndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQt
dW5kZXJsaW5lLXBvc2l0aW9uIiwgIltvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdIiwgInVuZGVy
Iik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAiW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0iLCAidW5kZXIiKTsKK2RlYnVnKCcnKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAn
PGRpdiBpZD0idGVzdC1wYXJlbnQiIHN0eWxlPSItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0
aW9uOiB1bmRlcjsiPmhlbGxvIDxzcGFuIGlkPSJ0ZXN0LWFuY2VzdG9yIj53b3JsZDwvc3Bhbj48
L2Rpdj4nOworZGVidWcoIkFuY2VzdG9yIGluaGVyaXRzIHZhbHVlcyBmcm9tIHBhcmVudDoiKTsK
K2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1hbmNlc3RvcicpOwordGVzdEVsZW1l
bnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRl
cmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZSgid2Via2l0VGV4
dFVuZGVybGluZVBvc2l0aW9uIiwgIi13ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCAi
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0iLCAidW5kZXIiKTsKK2RlYnVnKCcnKTsKKworZGVi
dWcoIlZhbHVlICdhdXRvIGFscGhhYmV0aWMnOiIpOworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24gPSAnYXV0byBhbHBoYWJldGljJzsKK3Rlc3RFbGVtZW50U3R5bGUoIndlYmtp
dFRleHRVbmRlcmxpbmVQb3NpdGlvbiIsICItd2Via2l0LXRleHQtdW5kZXJsaW5lLXBvc2l0aW9u
IiwgbnVsbCwgIiIpOworZGVidWcoJycpOworCitkZWJ1ZygiVmFsdWUgJ2F1dG8gdW5kZXInOiIp
OworZS5zdHlsZS53ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24gPSAnYXV0byB1bmRlcic7Cit0
ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJsaW5lUG9zaXRpb24iLCAiLXdlYmtpdC10
ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIiKTsKK2RlYnVnKCcnKTsKKworZGVidWco
IlZhbHVlICd1bmRlciB1bmRlcic6Iik7CitlLnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3Np
dGlvbiA9ICd1bmRlciB1bmRlcic7Cit0ZXN0RWxlbWVudFN0eWxlKCJ3ZWJraXRUZXh0VW5kZXJs
aW5lUG9zaXRpb24iLCAiLXdlYmtpdC10ZXh0LXVuZGVybGluZS1wb3NpdGlvbiIsIG51bGwsICIi
KTsKK2RlYnVnKCcnKTsKKworZGVidWcoIlZhbHVlICd1bmRlciB1bmRlciB1bmRlcic6Iik7Citl
LnN0eWxlLndlYmtpdFRleHRVbmRlcmxpbmVQb3NpdGlvbiA9ICdhdXRvIGFscGhhYmV0aWMgdW5k
ZXInOwordGVzdEVsZW1lbnRTdHlsZSgid2Via2l0VGV4dFVuZGVybGluZVBvc2l0aW9uIiwgIi13
ZWJraXQtdGV4dC11bmRlcmxpbmUtcG9zaXRpb24iLCBudWxsLCAiIik7CitkZWJ1ZygnJyk7CisK
K2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>