<?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>123886</bug_id>
          
          <creation_ts>2013-11-06 04:39:44 -0800</creation_ts>
          <short_desc>[CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel</short_desc>
          <delta_ts>2014-02-04 09:34:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>stavila</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>947657</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-11-06 04:39:44 -0800</bug_when>
    <thetext>Assume you have the following case:

&lt;div id=&quot;container&quot; style=&quot;overflow: auto&quot;&gt;
    &lt;!-- content to be flowed in regions --&gt;
    &lt;div id=&quot;article&quot; style=&quot;-webkit-flow-into: flow&quot;&gt;&lt;/div&gt;

    &lt;!-- regions that will fragment the content --&gt;
    &lt;div id=&quot;region&quot; style=&quot;-webkit-flow-from: flow&quot;&gt;&lt;/div&gt;
    &lt;div id=&quot;region2&quot; style=&quot;-webkit-flow-from: flow&quot;&gt;&lt;/div&gt;
    &lt;div id=&quot;region3&quot; style=&quot;-webkit-flow-from: flow&quot;&gt;&lt;/div&gt;
    &lt;div id=&quot;region4&quot; style=&quot;-webkit-flow-from: flow&quot;&gt;&lt;/div&gt;
&lt;/div&gt;

Assume that there is enough content in the flow to fill the regions and the size of the container is less than the size of regions so that the container gets vertical scrollbar.

Case1. If the mouse cursor is over the flow thread fragmented content inside a region, the user is unable to scroll the content inside the container.

Case2. However, if the mouse is outside the flow thread content but still inside the container, then the user is able to scroll the container content.

There *should be* a possibility to scroll the container content even when the mouse cursor is over the flow thread content in regions. (Case1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972877</commentid>
    <comment_count>1</comment_count>
      <attachid>222432</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-28 05:43:31 -0800</bug_when>
    <thetext>Created attachment 222432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972880</commentid>
    <comment_count>2</comment_count>
      <attachid>222432</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 06:10:19 -0800</bug_when>
    <thetext>Comment on attachment 222432
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:763
&gt; +bool RenderBox::scroll(ScrollDirection direction, ScrollGranularity granularity, float multiplier, Element** stopElement, Node* startNode, IntPoint absolutePoint)

This should probably be tightened to take Element* for start. Text node&apos;s renderer is never a RenderBox.

The method signature is pretty confusing in general. What do &quot;startNode&quot; and &quot;absolutePoint&quot; mean in context of scrolling?

&gt; Source/WebCore/rendering/RenderBox.h:455
&gt; +    virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Element** stopElement = 0, Node* startNode = 0, IntPoint absolutePoint = IntPoint());

nullptr

Please consider factoring this into multiple functions with sensible method signatures and no default parameters.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:467
&gt; +RenderRegion* RenderFlowThread::regionFromAbsolutePointAndBox(IntPoint absolutePoint, const RenderBox* flowedBox)
&gt; +{
&gt; +    if (!flowedBox)
&gt; +        return 0;

Please make flowedBox parameter a reference and don&apos;t call the function if it is null.

I think the function can be const.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:470
&gt; +    RenderRegion* startRegion = 0;
&gt; +    RenderRegion* endRegion = 0;

Use nullptr everywhere.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:474
&gt; +    if (!startRegion)
&gt; +        return 0;

nullptr

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:477
&gt; +    for (RenderRegionList::iterator iter = m_regionList.find(startRegion); iter != m_regionList.end(); ++iter) {
&gt; +        RenderRegion* region = *iter;

Please use C++11 range-for syntax.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:486
&gt; +    return 0;

nullptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972899</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 06:52:47 -0800</bug_when>
    <thetext>I guess range-for won&apos;t work here since you are not iterating from begin(). You should still use auto for the iterator and save the end iterator:

for (auto it = m_regionList.find(startRegion), end = m_regionList.end(); it != end; ++iter) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972927</commentid>
    <comment_count>4</comment_count>
      <attachid>222446</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-28 08:41:05 -0800</bug_when>
    <thetext>Created attachment 222446
Take 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972930</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 08:42:57 -0800</bug_when>
    <thetext>Attachment 222446 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBox.cpp:784:  l is incorrectly named. Don&apos;t use the single letter &apos;l&apos; as an identifier name.  [readability/naming] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972931</commentid>
    <comment_count>6</comment_count>
      <attachid>222447</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-28 08:45:32 -0800</bug_when>
    <thetext>Created attachment 222447
Fixed styling issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972944</commentid>
    <comment_count>7</comment_count>
      <attachid>222453</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-28 08:59:03 -0800</bug_when>
    <thetext>Created attachment 222453
Final patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972968</commentid>
    <comment_count>8</comment_count>
      <attachid>222446</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 09:27:19 -0800</bug_when>
    <thetext>Comment on attachment 222446
Take 2

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

&gt; Source/WebCore/page/EventHandler.cpp:284
&gt; +static inline bool scrollNode(float delta, ScrollGranularity granularity, ScrollDirection positiveDirection, ScrollDirection negativeDirection, Node* node, Element** stopElement, IntPoint absolutePoint)

It would be better to use const IntPoint&amp; for consistency. That&apos;s what most of the code does.

&gt; Source/WebCore/page/EventHandler.cpp:293
&gt;      RenderBox* enclosingBox = node-&gt;renderer()-&gt;enclosingBox();
&gt;      float absDelta = delta &gt; 0 ? delta : -delta;
&gt; -    return enclosingBox-&gt;scroll(delta &lt; 0 ? negativeDirection : positiveDirection, granularity, absDelta, stopElement);
&gt; +
&gt; +    return enclosingBox-&gt;scrollWithWheelEventLocation(delta &lt; 0 ? negativeDirection : positiveDirection, granularity, absDelta, node, stopElement, absolutePoint);

Here we get enclosingBox() from node renderer which is renderer() itself if it is a RenderBox. We invoke scrollWithWheelEventLocation() on it with the node as argument...

&gt; Source/WebCore/rendering/RenderBox.cpp:785
&gt; +    RenderLayer* l = layer();
&gt; +    if (l &amp;&amp; l-&gt;scroll(direction, granularity, multiplier)) {

Please use full words as variables names, &apos;layer&apos; not &apos;l&apos; (you can do this-&gt;layer() to avoid collision).

&gt; Source/WebCore/rendering/RenderBox.cpp:801
&gt; +        RenderBox* flowedBox = this;
&gt; +
&gt; +        if (startNode) {
&gt; +            if (RenderBox* box = startNode-&gt;renderBox())
&gt; +                flowedBox = box;
&gt; +        }

... so here I think startNode-&gt;renderBox() will be either null or equivalent to &apos;this&apos; in the first recursive call. Seems like the code could be simplified and clarified by replacing Node* startNode argument with RenderBox* startBox.

Then the code above can be replaced with

RenderBox* flowedBox = startBox ? startBox : this;

What do you think?

&gt; Source/WebCore/rendering/RenderFlowThread.h:118
&gt; +    RenderRegion* regionFromAbsolutePointAndBox(IntPoint, const RenderBox&amp; flowedBox);

const IntPoint&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973329</commentid>
    <comment_count>9</comment_count>
      <attachid>222446</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-29 02:54:56 -0800</bug_when>
    <thetext>Comment on attachment 222446
Take 2

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:785
&gt;&gt; +    if (l &amp;&amp; l-&gt;scroll(direction, granularity, multiplier)) {
&gt; 
&gt; Please use full words as variables names, &apos;layer&apos; not &apos;l&apos; (you can do this-&gt;layer() to avoid collision).

Yeah, this was copied from the scroll method. I&apos;ll rename it.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:801
&gt;&gt; +        }
&gt; 
&gt; ... so here I think startNode-&gt;renderBox() will be either null or equivalent to &apos;this&apos; in the first recursive call. Seems like the code could be simplified and clarified by replacing Node* startNode argument with RenderBox* startBox.
&gt; 
&gt; Then the code above can be replaced with
&gt; 
&gt; RenderBox* flowedBox = startBox ? startBox : this;
&gt; 
&gt; What do you think?

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973333</commentid>
    <comment_count>10</comment_count>
      <attachid>222563</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-29 03:34:22 -0800</bug_when>
    <thetext>Created attachment 222563
Integrated feedback from anttik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973334</commentid>
    <comment_count>11</comment_count>
      <attachid>222563</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-29 03:45:14 -0800</bug_when>
    <thetext>Comment on attachment 222563
Integrated feedback from anttik

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

&gt; Source/WebCore/rendering/RenderBox.cpp:796
&gt; +        RenderBox* flowedBox = startBox ? startBox : this;

I don&apos;t think startBox is ever actually null so you don&apos;t need this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973343</commentid>
    <comment_count>12</comment_count>
      <attachid>222563</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-29 04:07:34 -0800</bug_when>
    <thetext>Comment on attachment 222563
Integrated feedback from anttik

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

&gt; Source/WebCore/rendering/RenderBox.cpp:792
&gt; +    RenderLayer* boxLayer = layer();
&gt; +    if (boxLayer &amp;&amp; boxLayer-&gt;scroll(direction, granularity, multiplier)) {
&gt; +        if (stopElement)
&gt; +            *stopElement = element();
&gt; +        return true;
&gt; +    }
&gt; +
&gt; +    if (stopElement &amp;&amp; *stopElement &amp;&amp; *stopElement == element())
&gt; +        return true;

This stuff is identical with scroll() code and should really be factored into a private or static helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973351</commentid>
    <comment_count>13</comment_count>
      <attachid>222567</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-01-29 05:36:13 -0800</bug_when>
    <thetext>Created attachment 222567
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973362</commentid>
    <comment_count>14</comment_count>
      <attachid>222567</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-29 07:16:18 -0800</bug_when>
    <thetext>Comment on attachment 222567
Patch for landing

Clearing flags on attachment: 222567

Committed r163018: &lt;http://trac.webkit.org/changeset/163018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974916</commentid>
    <comment_count>15</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-02-02 21:11:51 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 222567 [details])
&gt; Clearing flags on attachment: 222567
&gt; 
&gt; Committed r163018: &lt;http://trac.webkit.org/changeset/163018&gt;

This caused bug 128090.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976388</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-02-04 09:33:44 -0800</bug_when>
    <thetext>All patches landed, and related regression fixed. Closing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976389</commentid>
    <comment_count>17</comment_count>
      <attachid>222563</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-02-04 09:34:09 -0800</bug_when>
    <thetext>Comment on attachment 222563
Integrated feedback from anttik

Clearing review flag now that patch is landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222432</attachid>
            <date>2014-01-28 05:43:31 -0800</date>
            <delta_ts>2014-01-28 08:41:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>34712</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjYwMmI5Li4zMzJmNjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzY3JvbGxpbmcgZWxl
bWVudHMgZmxvd2VkIGludG8gc2Nyb2xsYWJsZSByZWdpb25zLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3doZWVsLXNjcm9s
bC1hYnNwb3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1hYnNwb3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTI3ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNsZWFuIHVwIGluaXRpYWxp
emF0aW9uIG9mIG1hbmFnZXJzIGFuZCBvYnNlcnZlcnMgaW4gSW5zcGVjdG9yVGVzdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxN2Y0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwt
YWJzcG9zLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAg
LnJlZ2lvbiB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGlu
ZzogMnB4OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAgICAgIGhlaWdodDogNTVweDsKKyAg
ICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdodDogMzU2cHg7CisgICAgICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgbGVmdDogMzMwcHg7CisgICAgICAgIHRvcDogMTIw
cHg7CisgICAgICAgIGJvcmRlci13aWR0aDogdGhpY2s7CisgICAgfQorCisgICAgcCB7CisgICAg
ICAgIG1hcmdpbjogMHB4OworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVy
ZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7CisgICAgICAgIHdp
ZHRoOiAyNzBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAgIHBhZGRpbmc6IDEw
cHg7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsK
KyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4Owor
ICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTUwLCAyMzApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNN
b3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygwLCAwKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8
ZGl2PgorICAgICAgICBUaGUgdGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xs
ZWQgbm9ybWFsbHkgdXNpbmcgdGhlIG1vdXNlIHdoZWVsOiAKKyAgICAgICAgPHVsPgorICAgICAg
ICAgICAgPGxpPlNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRp
bCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBz
Y3JvbGwuPC9saT4KKyAgICAgICAgICAgIDxsaT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBvcmFuZ2Ug
ZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUgYmx1
ZSBjb250YWluZXIgc2hvdWxkIE5PVCBzY3JvbGwgYmVjYXVzZSB0aGUgcmVnaW9uIGluIHdoaWNo
IHRoZSBvcmFuZ2UgZGl2IGlzIGZsb3dlZCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQ8L2xpPgor
ICAgICAgICA8L3VsPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnM8L3A+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4OyBtYXJnaW4t
dG9wOiAwcHg7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBz
dHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgorICAgICAgICAgICAgPHAg
c3R5bGU9Im1hcmdpbi10b3A6IDFweCI+c2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0
aGUgY29udGFpbmVyLjwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIg
c3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1l
IHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVn
aW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUg
b2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIu
IENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdt
ZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0
aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5z
aWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAg
ICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBm
bG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMg
bGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMg
dmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNl
ciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBD
YXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNv
bnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFi
bGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBw
b3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4g
KENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmYyYzc1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25v
c3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKKyAgICAgICAgd2lkdGg6IDI1MHB4OworICAgICAgICBoZWlnaHQ6IDU1cHg7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGluZzogMnB4OworICAgICAgICBv
dmVyZmxvdzogdmlzaWJsZTsKKyAgICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdo
dDogYXV0bzsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0OiAzMzBw
eDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGljazsKKyAg
ICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAg
ICBib3JkZXI6IDNweCBzb2xpZCBibHVlOyAKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAg
ICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICAgIHdpZHRoOiAyNzBweDsKKyAgICB9CisKKyAgICAj
YXJ0aWNsZSB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworICAgIH0KKworICAg
IC5pbm5lcl9zY3JvbGwgeworICAgICAgICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjog
MnB4IHNvbGlkIGdyZWVuOworICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICAgICAgcGFkZGluZzogNXB4OworICAgIH0KKworICAgIHAgeworICAgICAg
ICBtYXJnaW46IDBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBpZiBl
dmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hlZWw6
IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNjcm9s
bGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hlcyB0
aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBiZWNh
dXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFic29s
dXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUgZmxvd2VkIGlu
IHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9uczwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIgc3R5
bGU9ImhlaWdodDogMzBweCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgICAgICA8cD5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0
IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNp
ZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIDwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Nj
cm9sbCIgc3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhl
IHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3Jv
bGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFk
IGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVy
LCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3Rp
bGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3Ig
aXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuPC9wPgorICAg
ICAgICA8L2Rpdj4KKworICAgICAgICA8IS0tIHJlZ2lvbnMgdGhhdCB3aWxsIGZyYWdtZW50IHRo
ZSBjb250ZW50IC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhNTIwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBm
b250OiAxNnB4LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9y
ZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRo
OiA0NTBweDsKKyAgICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKworICAgICNyZWdpb240IHsK
KyAgICAgICAgaGVpZ2h0OiAzMDhweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2lu
OiAwcHg7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRv
OyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDQ3MHB4
OworICAgICAgICBoZWlnaHQ6IDI1MHB4OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICB9
CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBi
b3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92
ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgor
Cis8c2NyaXB0PgorICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAs
IDMwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgw
LCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDAp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEw
MDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAg
ICB9CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxwPjxiPlRoZSB0ZXh0IHBhc3Nl
cyBpZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ug
d2hlZWwuIFNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRpbCBp
dCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBzY3Jv
bGwuPC9iPjwvcD48L2JyPgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVu
b3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXpl
IG9mIHRoZSA8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Y29udGFpbmVyIGlzIGxl
c3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZl
cnRpY2FsIHNjcm9sbGJhci48L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Q2FzZTEu
IElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBj
b250ZW50IGluc2lkZSBhIHJlZ2lvbiw8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJn
aW4tdG9wOiAxcHgiPnRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lk
ZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIs
IHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50Ljwv
cD4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4g
dGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBz
Y3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhy
ZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJs
ZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dl
dmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQg
c3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5
IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9w
PgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50
IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250
YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFp
bmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBp
cyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9u
LCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29u
dGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cg
dGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1
c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3Vs
ZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4g
d2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4g
cmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVy
ZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0
aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25z
IHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElm
IHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250
ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29u
dGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBp
cyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNv
bnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNv
bnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250
YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93
IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGlu
IHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWlu
ZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVy
IGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBv
dmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0
aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFp
bmVyLiBDYXNlMi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy93aGVlbC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1z
Y3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTQ4ODMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5o
dG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9k
eSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAg
ICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAg
ICBoZWlnaHQ6IDQwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAg
cGFkZGluZzogMnB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBh
dXRvOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVyZmxvdzogYXV0bzsg
CisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAgICAgICBoZWlnaHQ6IDI1MHB4
OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICAgICAgd2lkdGg6IDQ3MHB4OworICAgIH0K
KworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7CisgICAg
fQorCisgICAgI2lubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsKKyAgICAgICAg
Ym9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICBv
dmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorCisgICAgcCB7
CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAg
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3Nj
cmlwdD4KKworPGJvZHk+CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcg
Y2FuIGJlIHNjcm9sbGVkIG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5n
IGluc2lkZSB0aGUgZ3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVu
ZCBhbmQgdGhlbiB0aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+
CisKKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUg
Zmxvd2VkIGluIHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAg
ICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cg
dG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNz
IHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0
aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlz
IHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2Uy
LiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVu
dCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LjwvcD4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBp
bnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQg
aW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0
c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWlu
ZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50
LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVy
IGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFz
c3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhl
IHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBz
aXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xs
YmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBm
cmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8g
c2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwg
aWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxs
IGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRo
ZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBz
Y3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAg
ICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0
aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVy
IGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBn
ZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhl
IHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5l
ci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVh
ZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBp
cyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUq
IGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4g
dGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lv
bnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPkFzc3Vt
ZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJl
Z2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXpl
IG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFy
LiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFn
bWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Ny
b2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi48L3A+CisgICAgICAg
IDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVnaW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNv
bnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAg
IDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA1NmYxNmViLi41YWM5ZDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIFdoZW4gYW4gZWxlbWVudCBmbG93ZWQgaW50byBh
IHNjcm9sbGFibGUgcmVnaW9uIGlzIHNjcm9sbGVkIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCwgdGhl
IGV2ZW50IAorICAgICAgICBuZWVkcyB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSByZWdpb24gY29u
dGFpbmluZyB0aGF0IGVsZW1lbnQsIG9uIHRvcCBvZiB3aGljaCB0aGUgY3Vyc29yCisgICAgICAg
IGlzIGxvY2F0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwuaHRtbAorCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnNjcm9sbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6c2Nyb2xsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gcm9tQWJz
b2x1dGVQb2ludEFuZEJveCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0Qm94OjpzY3JvbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNj
cm9sbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5o
OgorCiAyMDE0LTAxLTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBNYWtlIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dl
Yl92aWV3KCkgd29yayB3aXRoIEN1c3RvbVByb3RvY29scwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCmluZGV4IDA2MjhmMjIuLjNhMjg2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgaW5saW5lIFNjcm9sbEdyYW51
bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdyYW51bGFyaXR5KHVuc2lnbmVkIGRlbAog
ICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNj
cm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJl
Y3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVjdGlvbiwgTm9kZSogbm9kZSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxvYXQg
ZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxEaXJlY3Rpb24gcG9z
aXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVjdGlvbiwgTm9kZSog
bm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50ID0gSW50
UG9pbnQoKSkKIHsKICAgICBpZiAoIWRlbHRhKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0y
ODksNyArMjg5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxvYXQgZGVsdGEs
IFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGwKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIFJlbmRlckJveCogZW5jbG9zaW5nQm94ID0gbm9kZS0+cmVuZGVyZXIoKS0+ZW5j
bG9zaW5nQm94KCk7CiAgICAgZmxvYXQgYWJzRGVsdGEgPSBkZWx0YSA+IDAgPyBkZWx0YSA6IC1k
ZWx0YTsKLSAgICByZXR1cm4gZW5jbG9zaW5nQm94LT5zY3JvbGwoZGVsdGEgPCAwID8gbmVnYXRp
dmVEaXJlY3Rpb24gOiBwb3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0RlbHRhLCBz
dG9wRWxlbWVudCk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0JveC0+c2Nyb2xsKGRlbHRhIDwgMCA/
IG5lZ2F0aXZlRGlyZWN0aW9uIDogcG9zaXRpdmVEaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBhYnNE
ZWx0YSwgc3RvcEVsZW1lbnQsIG5vZGUsIGFic29sdXRlUG9pbnQpOwogfQogCiAjaWYgKEVOQUJM
RShUT1VDSF9FVkVOVFMpICYmICFQTEFURk9STShJT1MpKQpAQCAtMjYxMiwxMCArMjYxMiwxMCBA
QCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKE5vZGUqIHN0YXJ0
Tm9kZSwgV2hlZWxFdmVudCogd2hlZWxFdgogICAgIAogICAgIC8vIEJyZWFrIHVwIGludG8gdHdv
IHNjcm9sbHMgaWYgd2UgbmVlZCB0by4gIERpYWdvbmFsIG1vdmVtZW50IG9uIAogICAgIC8vIGEg
TWFjQm9vayBwcm8gaXMgYW4gZXhhbXBsZSBvZiBhIDItZGltZW5zaW9uYWwgbW91c2Ugd2hlZWwg
ZXZlbnQgKHdoZXJlIGJvdGggZGVsdGFYIGFuZCBkZWx0YVkgY2FuIGJlIHNldCkuCi0gICAgaWYg
KGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uVmVydGljYWwgJiYg
c2Nyb2xsTm9kZSh3aGVlbEV2ZW50LT5kZWx0YVgoKSwgZ3JhbnVsYXJpdHksIFNjcm9sbFJpZ2h0
LCBTY3JvbGxMZWZ0LCBzdGFydE5vZGUsICZzdG9wRWxlbWVudCkpCisgICAgaWYgKGRvbWluYW50
RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uVmVydGljYWwgJiYgc2Nyb2xsTm9k
ZSh3aGVlbEV2ZW50LT5kZWx0YVgoKSwgZ3JhbnVsYXJpdHksIFNjcm9sbFJpZ2h0LCBTY3JvbGxM
ZWZ0LCBzdGFydE5vZGUsICZzdG9wRWxlbWVudCwgcm91bmRlZEludFBvaW50KHdoZWVsRXZlbnQt
PmFic29sdXRlTG9jYXRpb24oKSkpKQogICAgICAgICB3aGVlbEV2ZW50LT5zZXREZWZhdWx0SGFu
ZGxlZCgpOwogICAgIAotICAgIGlmIChkb21pbmFudERpcmVjdGlvbiAhPSBEb21pbmFudFNjcm9s
bERpcmVjdGlvbkhvcml6b250YWwgJiYgc2Nyb2xsTm9kZSh3aGVlbEV2ZW50LT5kZWx0YVkoKSwg
Z3JhbnVsYXJpdHksIFNjcm9sbERvd24sIFNjcm9sbFVwLCBzdGFydE5vZGUsICZzdG9wRWxlbWVu
dCkpCisgICAgaWYgKGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9u
SG9yaXpvbnRhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0
eSwgU2Nyb2xsRG93biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50LCByb3VuZGVk
SW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpKSkpCiAgICAgICAgIHdoZWVs
RXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCiAgICAgaWYgKCFtX2xhdGNoZWRXaGVl
bEV2ZW50RWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXgg
NzZlZTZhMC4uZmEyZDY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTc2MCw3ICs3NjAsNyBAQCBpbnQgUmVuZGVyQm94OjppbnN0cmluc2ljU2Nyb2xsYmFyTG9n
aWNhbFdpZHRoKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotYm9vbCBSZW5kZXJCb3g6OnNj
cm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxh
cml0eSwgZmxvYXQgbXVsdGlwbGllciwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorYm9vbCBSZW5k
ZXJCb3g6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0
eSBncmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBO
b2RlKiBzdGFydE5vZGUsIEludFBvaW50IGFic29sdXRlUG9pbnQpCiB7CiAgICAgUmVuZGVyTGF5
ZXIqIGwgPSBsYXllcigpOwogICAgIGlmIChsICYmIGwtPnNjcm9sbChkaXJlY3Rpb24sIGdyYW51
bGFyaXR5LCBtdWx0aXBsaWVyKSkgewpAQCAtNzcyLDkgKzc3MiwyMSBAQCBib29sIFJlbmRlckJv
eDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdy
YW51bGFyaXR5LAogICAgIGlmIChzdG9wRWxlbWVudCAmJiAqc3RvcEVsZW1lbnQgJiYgKnN0b3BF
bGVtZW50ID09IGVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBSZW5kZXJC
bG9jayogYiA9IGNvbnRhaW5pbmdCbG9jaygpOwotICAgIGlmIChiICYmICFiLT5pc1JlbmRlclZp
ZXcoKSkKLSAgICAgICAgcmV0dXJuIGItPnNjcm9sbChkaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBt
dWx0aXBsaWVyLCBzdG9wRWxlbWVudCk7CisgICAgUmVuZGVyQmxvY2sqIG5leHRTY3JvbGxCbG9j
ayA9IGNvbnRhaW5pbmdCbG9jaygpOworICAgIGlmIChuZXh0U2Nyb2xsQmxvY2sgJiYgbmV4dFNj
cm9sbEJsb2NrLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKSB7CisgICAgICAgIFJlbmRlckJv
eCogZmxvd2VkQm94ID0gdGhpczsKKworICAgICAgICBpZiAoc3RhcnROb2RlKSB7CisgICAgICAg
ICAgICBpZiAoUmVuZGVyQm94KiBib3ggPSBzdGFydE5vZGUtPnJlbmRlckJveCgpKQorICAgICAg
ICAgICAgICAgIGZsb3dlZEJveCA9IGJveDsKKyAgICAgICAgfQorCisgICAgICAgIG5leHRTY3Jv
bGxCbG9jayA9IHRvUmVuZGVyRmxvd1RocmVhZChuZXh0U2Nyb2xsQmxvY2spLT5yZWdpb25Gcm9t
QWJzb2x1dGVQb2ludEFuZEJveChhYnNvbHV0ZVBvaW50LCBmbG93ZWRCb3gpOworICAgIH0KKwor
ICAgIGlmIChuZXh0U2Nyb2xsQmxvY2sgJiYgIW5leHRTY3JvbGxCbG9jay0+aXNSZW5kZXJWaWV3
KCkpCisgICAgICAgIHJldHVybiBuZXh0U2Nyb2xsQmxvY2stPnNjcm9sbChkaXJlY3Rpb24sIGdy
YW51bGFyaXR5LCBtdWx0aXBsaWVyLCBzdG9wRWxlbWVudCwgc3RhcnROb2RlLCBhYnNvbHV0ZVBv
aW50KTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IGY3MjJjZDcuLjUyOGVhZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKQEAgLTQ1Miw3ICs0NTIsNyBAQCBwdWJsaWM6CiAgICAgaW50IGhvcml6b250YWxT
Y3JvbGxiYXJIZWlnaHQoKSBjb25zdDsKICAgICBpbnQgaW5zdHJpbnNpY1Njcm9sbGJhckxvZ2lj
YWxXaWR0aCgpIGNvbnN0OwogICAgIGludCBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaG9yaXpvbnRhbFNj
cm9sbGJhckhlaWdodCgpIDogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOyB9Ci0gICAgdmlydHVh
bCBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBt
dWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7CisgICAgdmlydHVhbCBi
b29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0
aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCwgTm9kZSogc3RhcnROb2RlID0g
MCwgSW50UG9pbnQgYWJzb2x1dGVQb2ludCA9IEludFBvaW50KCkpOwogICAgIHZpcnR1YWwgYm9v
bCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7CiAgICAg
Ym9vbCBjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgY2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKaW5kZXggNTE2
NWVmMi4uNjM0MGIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVtYmVkZGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RW1iZWRkZWRPYmplY3QuY3BwCkBAIC01NjksNyArNTY5LDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRl
ZE9iamVjdDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRl
c3RSZXMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6
c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51
bGFyaXR5LCBmbG9hdCwgRWxlbWVudCoqKQorYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6c2Ny
b2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5LCBmbG9hdCwgRWxlbWVudCoqLCBOb2RlKiwgSW50UG9pbnQpCiB7CiAgICAgaWYgKCF3aWRn
ZXQoKSB8fCAhd2lkZ2V0KCktPmlzUGx1Z2luVmlld0Jhc2UoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3Qu
aAppbmRleCBiNTVkMjEzLi42NzY0MzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaApAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogCiAg
ICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlk
ZSBmaW5hbDsKIAotICAgIHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3Jv
bGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwgRWxlbWVudCoqIHN0b3BFbGVtZW50KSBv
dmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwg
U2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVs
ZW1lbnQgPSAwLCBOb2RlKiBzdGFydE5vZGUgPSAwLCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50ID0g
SW50UG9pbnQoKSkgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCBib29sIGxvZ2ljYWxTY3Jv
bGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRp
cGxpZXIsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCkgb3ZlcnJpZGUgZmluYWw7CiAKICAgICB2b2lk
IHNldFVuYXZhaWxhYmxlUGx1Z2luSW5kaWNhdG9ySXNQcmVzc2VkKGJvb2wpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDhkNTUyZTcuLjY2
ZTg0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5j
cHAKQEAgLTQ2MCw3ICs0NjAsMzIgQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpy
ZWdpb25BdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2xhbXBCb3gsIEwKICAgICAgICAg
cmV0dXJuIHJlZ2lvbjsKICAgICByZXR1cm4gcmVnaW9uID8gY2xhbXBCb3gtPmNsYW1wVG9TdGFy
dEFuZEVuZFJlZ2lvbnMocmVnaW9uKSA6IDA7CiB9Ci0gICAgCisKK1JlbmRlclJlZ2lvbiogUmVu
ZGVyRmxvd1RocmVhZDo6cmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRCb3goSW50UG9pbnQgYWJz
b2x1dGVQb2ludCwgY29uc3QgUmVuZGVyQm94KiBmbG93ZWRCb3gpCit7CisgICAgaWYgKCFmbG93
ZWRCb3gpCisgICAgICAgIHJldHVybiAwOworCisgICAgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lv
biA9IDA7CisgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSAwOworICAgIGdldFJlZ2lvblJh
bmdlRm9yQm94KGZsb3dlZEJveCwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbik7CisKKyAgICBpZiAo
IXN0YXJ0UmVnaW9uKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGZvciAoUmVuZGVyUmVnaW9u
TGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fcmVnaW9uTGlzdC5maW5kKHN0YXJ0UmVnaW9uKTsgaXRl
ciAhPSBtX3JlZ2lvbkxpc3QuZW5kKCk7ICsraXRlcikgeworICAgICAgICBSZW5kZXJSZWdpb24q
IHJlZ2lvbiA9ICppdGVyOworICAgICAgICBJbnRSZWN0IHJlZ2lvbkFic29sdXRlUmVjdChyb3Vu
ZGVkSW50UG9pbnQocmVnaW9uLT5sb2NhbFRvQWJzb2x1dGUoKSksIHJvdW5kZWRJbnRTaXplKHJl
Z2lvbi0+ZnJhbWVSZWN0KCkuc2l6ZSgpKSk7CisgICAgICAgIGlmIChyZWdpb25BYnNvbHV0ZVJl
Y3QuY29udGFpbnMoYWJzb2x1dGVQb2ludCkpCisgICAgICAgICAgICByZXR1cm4gcmVnaW9uOwor
CisgICAgICAgIGlmIChyZWdpb24gPT0gZW5kUmVnaW9uKQorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIExheW91dFBvaW50IFJlbmRlckZsb3dUaHJlYWQ6
OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGNvbnN0IFJlbmRlckJveE1v
ZGVsT2JqZWN0JiBib3hNb2RlbE9iamVjdCwgY29uc3QgTGF5b3V0UG9pbnQmIHN0YXJ0UG9pbnQp
CiB7CiAgICAgTGF5b3V0UG9pbnQgcmVmZXJlbmNlUG9pbnQgPSBzdGFydFBvaW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggZmNlZDY0NS4uY2U3
ODM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCkBA
IC0xMTUsNiArMTE1LDggQEAgcHVibGljOgogCiAgICAgUmVuZGVyUmVnaW9uKiByZWdpb25BdEJs
b2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCosIExheW91dFVuaXQsIGJvb2wgZXh0ZW5kTGFzdFJl
Z2lvbiA9IGZhbHNlLCBSZWdpb25BdXRvR2VuZXJhdGlvblBvbGljeSA9IEFsbG93UmVnaW9uQXV0
b0dlbmVyYXRpb24pOwogCisgICAgUmVuZGVyUmVnaW9uKiByZWdpb25Gcm9tQWJzb2x1dGVQb2lu
dEFuZEJveChJbnRQb2ludCwgY29uc3QgUmVuZGVyQm94KiBmbG93ZWRCb3gpOworCiAgICAgYm9v
bCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lv
bnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsgfQogICAgIGJvb2wgcmVnaW9uc0hhdmVVbmlmb3Jt
TG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNh
bEhlaWdodDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAK
aW5kZXggYzVlYjk4MS4uZWY1M2Q1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcApAQCAtNTkyLDcgKzU5Miw3IEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6bGlz
dEluZGV4SXNWaXNpYmxlKGludCBpbmRleCkKICAgICByZXR1cm4gaW5kZXggPj0gbV9pbmRleE9m
ZnNldCAmJiBpbmRleCA8IG1faW5kZXhPZmZzZXQgKyBudW1WaXNpYmxlSXRlbXMoKTsKIH0KIAot
Ym9vbCBSZW5kZXJMaXN0Qm94OjpzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Ny
b2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIEVsZW1lbnQqKikK
K2Jvb2wgUmVuZGVyTGlzdEJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNj
cm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyLCBFbGVtZW50Kios
IE5vZGUqLCBJbnRQb2ludCkKIHsKICAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChk
aXJlY3Rpb24sIGdyYW51bGFyaXR5LCBtdWx0aXBsaWVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDYwNmJhYjAuLjg2ZGZmZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRl
OgogCiAgICAgdmlydHVhbCBib29sIGlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVz
dWx0JiwgY29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxp
ZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11
bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwLCBOb2RlKiBzdGFydE5vZGUg
PSAwLCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xs
R3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQg
PSAwKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2lj
YWxXaWR0aCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDc1NDIyMWUuLjQ1
OTZkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC00NjAsNyArNDYwLDcgQEAgdm9pZCBSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wKQogICAgICAgICBp
bm5lclRleHRFbGVtZW50KCktPnNldFNjcm9sbFRvcChuZXdUb3ApOwogfQogCi1ib29sIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZTo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24s
IFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyLCBFbGVtZW50
Kiogc3RvcEVsZW1lbnQpCitib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2Nyb2xs
KFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5
LCBmbG9hdCBtdWx0aXBsaWVyLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQsIE5vZGUqIHN0YXJ0Tm9k
ZSwgSW50UG9pbnQgYWJzb2x1dGVQb2ludCkKIHsKICAgICBSZW5kZXJUZXh0Q29udHJvbElubmVy
QmxvY2sqIHJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJlcigpOwogICAgIGlm
ICghcmVuZGVyZXIpCkBAIC00NjgsNyArNDY4LDcgQEAgYm9vbCBSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWwK
ICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSByZW5kZXJlci0+bGF5ZXIoKTsKICAgICBpZiAobGF5
ZXIgJiYgbGF5ZXItPnNjcm9sbChkaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBtdWx0aXBsaWVyKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIFJlbmRlckJsb2NrRmxvdzo6c2Nyb2xs
KGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVtZW50KTsKKyAgICBy
ZXR1cm4gUmVuZGVyQmxvY2tGbG93OjpzY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVs
dGlwbGllciwgc3RvcEVsZW1lbnQsIHN0YXJ0Tm9kZSwgYWJzb2x1dGVQb2ludCk7CiB9CiAKIGJv
b2wgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2lj
YWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZmxv
YXQgbXVsdGlwbGllciwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCmluZGV4IDZk
NjNhNDkuLmY1MTkyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRTY3JvbGxUb3AoaW50KSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9s
bERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVt
ZW50Kiogc3RvcEVsZW1lbnQgPSAwKSBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIGJvb2wg
c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxp
ZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwLCBOb2RlKiBzdGFydE5vZGUgPSAwLCBJ
bnRQb2ludCBhYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgb3ZlcnJpZGUgZmluYWw7CiAgICAg
dmlydHVhbCBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xs
R3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQg
PSAwKSBvdmVycmlkZSBmaW5hbDsKIAogICAgIGludCB0ZXh0QmxvY2tXaWR0aCgpIGNvbnN0Owo=
</data>
<flag name="review"
          id="246427"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222446</attachid>
            <date>2014-01-28 08:41:05 -0800</date>
            <delta_ts>2014-01-29 03:34:22 -0800</delta_ts>
            <desc>Take 2</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>28536</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjYwMmI5Li4zMzJmNjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzY3JvbGxpbmcgZWxl
bWVudHMgZmxvd2VkIGludG8gc2Nyb2xsYWJsZSByZWdpb25zLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3doZWVsLXNjcm9s
bC1hYnNwb3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1hYnNwb3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTI3ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNsZWFuIHVwIGluaXRpYWxp
emF0aW9uIG9mIG1hbmFnZXJzIGFuZCBvYnNlcnZlcnMgaW4gSW5zcGVjdG9yVGVzdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxN2Y0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwt
YWJzcG9zLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAg
LnJlZ2lvbiB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGlu
ZzogMnB4OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAgICAgIGhlaWdodDogNTVweDsKKyAg
ICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdodDogMzU2cHg7CisgICAgICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgbGVmdDogMzMwcHg7CisgICAgICAgIHRvcDogMTIw
cHg7CisgICAgICAgIGJvcmRlci13aWR0aDogdGhpY2s7CisgICAgfQorCisgICAgcCB7CisgICAg
ICAgIG1hcmdpbjogMHB4OworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVy
ZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7CisgICAgICAgIHdp
ZHRoOiAyNzBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAgIHBhZGRpbmc6IDEw
cHg7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsK
KyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4Owor
ICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTUwLCAyMzApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNN
b3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygwLCAwKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8
ZGl2PgorICAgICAgICBUaGUgdGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xs
ZWQgbm9ybWFsbHkgdXNpbmcgdGhlIG1vdXNlIHdoZWVsOiAKKyAgICAgICAgPHVsPgorICAgICAg
ICAgICAgPGxpPlNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRp
bCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBz
Y3JvbGwuPC9saT4KKyAgICAgICAgICAgIDxsaT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBvcmFuZ2Ug
ZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUgYmx1
ZSBjb250YWluZXIgc2hvdWxkIE5PVCBzY3JvbGwgYmVjYXVzZSB0aGUgcmVnaW9uIGluIHdoaWNo
IHRoZSBvcmFuZ2UgZGl2IGlzIGZsb3dlZCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQ8L2xpPgor
ICAgICAgICA8L3VsPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnM8L3A+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4OyBtYXJnaW4t
dG9wOiAwcHg7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBz
dHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgorICAgICAgICAgICAgPHAg
c3R5bGU9Im1hcmdpbi10b3A6IDFweCI+c2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0
aGUgY29udGFpbmVyLjwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIg
c3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1l
IHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVn
aW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUg
b2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIu
IENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdt
ZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0
aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5z
aWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAg
ICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBm
bG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMg
bGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMg
dmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNl
ciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBD
YXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNv
bnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFi
bGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBw
b3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4g
KENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmYyYzc1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25v
c3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKKyAgICAgICAgd2lkdGg6IDI1MHB4OworICAgICAgICBoZWlnaHQ6IDU1cHg7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGluZzogMnB4OworICAgICAgICBv
dmVyZmxvdzogdmlzaWJsZTsKKyAgICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdo
dDogYXV0bzsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0OiAzMzBw
eDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGljazsKKyAg
ICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAg
ICBib3JkZXI6IDNweCBzb2xpZCBibHVlOyAKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAg
ICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICAgIHdpZHRoOiAyNzBweDsKKyAgICB9CisKKyAgICAj
YXJ0aWNsZSB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworICAgIH0KKworICAg
IC5pbm5lcl9zY3JvbGwgeworICAgICAgICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjog
MnB4IHNvbGlkIGdyZWVuOworICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICAgICAgcGFkZGluZzogNXB4OworICAgIH0KKworICAgIHAgeworICAgICAg
ICBtYXJnaW46IDBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBpZiBl
dmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hlZWw6
IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNjcm9s
bGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hlcyB0
aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBiZWNh
dXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFic29s
dXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUgZmxvd2VkIGlu
IHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9uczwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIgc3R5
bGU9ImhlaWdodDogMzBweCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgICAgICA8cD5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0
IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNp
ZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIDwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Nj
cm9sbCIgc3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhl
IHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3Jv
bGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFk
IGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVy
LCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3Rp
bGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3Ig
aXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuPC9wPgorICAg
ICAgICA8L2Rpdj4KKworICAgICAgICA8IS0tIHJlZ2lvbnMgdGhhdCB3aWxsIGZyYWdtZW50IHRo
ZSBjb250ZW50IC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhNTIwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBm
b250OiAxNnB4LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9y
ZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRo
OiA0NTBweDsKKyAgICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKworICAgICNyZWdpb240IHsK
KyAgICAgICAgaGVpZ2h0OiAzMDhweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2lu
OiAwcHg7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRv
OyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDQ3MHB4
OworICAgICAgICBoZWlnaHQ6IDI1MHB4OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICB9
CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBi
b3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92
ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgor
Cis8c2NyaXB0PgorICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAs
IDMwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgw
LCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDAp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEw
MDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAg
ICB9CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxwPjxiPlRoZSB0ZXh0IHBhc3Nl
cyBpZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ug
d2hlZWwuIFNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRpbCBp
dCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBzY3Jv
bGwuPC9iPjwvcD48L2JyPgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVu
b3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXpl
IG9mIHRoZSA8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Y29udGFpbmVyIGlzIGxl
c3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZl
cnRpY2FsIHNjcm9sbGJhci48L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Q2FzZTEu
IElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBj
b250ZW50IGluc2lkZSBhIHJlZ2lvbiw8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJn
aW4tdG9wOiAxcHgiPnRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lk
ZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIs
IHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50Ljwv
cD4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4g
dGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBz
Y3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhy
ZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJs
ZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dl
dmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQg
c3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5
IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9w
PgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50
IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250
YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFp
bmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBp
cyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9u
LCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29u
dGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cg
dGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1
c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3Vs
ZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4g
d2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4g
cmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVy
ZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0
aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25z
IHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElm
IHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250
ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29u
dGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBp
cyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNv
bnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNv
bnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250
YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93
IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGlu
IHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWlu
ZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVy
IGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBv
dmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0
aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFp
bmVyLiBDYXNlMi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy93aGVlbC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1z
Y3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTQ4ODMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5o
dG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9k
eSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAg
ICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAg
ICBoZWlnaHQ6IDQwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAg
cGFkZGluZzogMnB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBh
dXRvOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVyZmxvdzogYXV0bzsg
CisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAgICAgICBoZWlnaHQ6IDI1MHB4
OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICAgICAgd2lkdGg6IDQ3MHB4OworICAgIH0K
KworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7CisgICAg
fQorCisgICAgI2lubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsKKyAgICAgICAg
Ym9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICBv
dmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorCisgICAgcCB7
CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAg
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3Nj
cmlwdD4KKworPGJvZHk+CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcg
Y2FuIGJlIHNjcm9sbGVkIG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5n
IGluc2lkZSB0aGUgZ3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVu
ZCBhbmQgdGhlbiB0aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+
CisKKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUg
Zmxvd2VkIGluIHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAg
ICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cg
dG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNz
IHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0
aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlz
IHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2Uy
LiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVu
dCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LjwvcD4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBp
bnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQg
aW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0
c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWlu
ZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50
LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVy
IGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFz
c3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhl
IHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBz
aXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xs
YmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBm
cmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8g
c2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwg
aWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxs
IGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRo
ZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBz
Y3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAg
ICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0
aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVy
IGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBn
ZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhl
IHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5l
ci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVh
ZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBp
cyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUq
IGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4g
dGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lv
bnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPkFzc3Vt
ZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJl
Z2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXpl
IG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFy
LiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFn
bWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Ny
b2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi48L3A+CisgICAgICAg
IDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVnaW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNv
bnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAg
IDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA0YWRiY2FmLi5kYjdlMzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIFdoZW4gYW4gZWxlbWVudCBmbG93ZWQgaW50byBh
IHNjcm9sbGFibGUgcmVnaW9uIGlzIHNjcm9sbGVkIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCwgdGhl
IGV2ZW50IAorICAgICAgICBuZWVkcyB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSByZWdpb24gY29u
dGFpbmluZyB0aGF0IGVsZW1lbnQsIG9uIHRvcCBvZiB3aGljaCB0aGUgY3Vyc29yCisgICAgICAg
IGlzIGxvY2F0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwuaHRtbAorCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKwogMjAxNC0wMS0yOCAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
Mjc3Njc+IERpc2FibGUgc29tZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB0byBmaXggdGhlIGJ1aWxk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA2MjhmMjIuLmEwMTVhOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBz
dGF0aWMgaW5saW5lIFNjcm9sbEdyYW51bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdy
YW51bGFyaXR5KHVuc2lnbmVkIGRlbAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNj
cm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3Jv
bGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURp
cmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGlu
ZSBib29sIHNjcm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5LCBTY3JvbGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBu
ZWdhdGl2ZURpcmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBJbnRQ
b2ludCBhYnNvbHV0ZVBvaW50KQogewogICAgIGlmICghZGVsdGEpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTI4OSw3ICsyODksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2Nyb2xsTm9kZShm
bG9hdCBkZWx0YSwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIFNjcm9sbAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyQm94KiBlbmNsb3NpbmdCb3ggPSBub2RlLT5yZW5k
ZXJlcigpLT5lbmNsb3NpbmdCb3goKTsKICAgICBmbG9hdCBhYnNEZWx0YSA9IGRlbHRhID4gMCA/
IGRlbHRhIDogLWRlbHRhOwotICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9sbChkZWx0YSA8
IDAgPyBuZWdhdGl2ZURpcmVjdGlvbiA6IHBvc2l0aXZlRGlyZWN0aW9uLCBncmFudWxhcml0eSwg
YWJzRGVsdGEsIHN0b3BFbGVtZW50KTsKKworICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9s
bFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oZGVsdGEgPCAwID8gbmVnYXRpdmVEaXJlY3Rpb24gOiBw
b3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0RlbHRhLCBub2RlLCBzdG9wRWxlbWVu
dCwgYWJzb2x1dGVQb2ludCk7CiB9CiAKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgIVBM
QVRGT1JNKElPUykpCkBAIC0yNjEyLDEwICsyNjEzLDEwIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpk
ZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBXaGVlbEV2ZW50KiB3aGVl
bEV2CiAgICAgCiAgICAgLy8gQnJlYWsgdXAgaW50byB0d28gc2Nyb2xscyBpZiB3ZSBuZWVkIHRv
LiAgRGlhZ29uYWwgbW92ZW1lbnQgb24gCiAgICAgLy8gYSBNYWNCb29rIHBybyBpcyBhbiBleGFt
cGxlIG9mIGEgMi1kaW1lbnNpb25hbCBtb3VzZSB3aGVlbCBldmVudCAod2hlcmUgYm90aCBkZWx0
YVggYW5kIGRlbHRhWSBjYW4gYmUgc2V0KS4KLSAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0g
RG9taW5hbnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQt
PmRlbHRhWCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9k
ZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0gRG9taW5hbnRT
Y3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWCgp
LCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9kZSwgJnN0b3BF
bGVtZW50LCByb3VuZGVkSW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpKSkp
CiAgICAgICAgIHdoZWVsRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCi0gICAgaWYg
KGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRhbCAm
JiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0eSwgU2Nyb2xsRG93
biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnRE
aXJlY3Rpb24gIT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25Ib3Jpem9udGFsICYmIHNjcm9sbE5v
ZGUod2hlZWxFdmVudC0+ZGVsdGFZKCksIGdyYW51bGFyaXR5LCBTY3JvbGxEb3duLCBTY3JvbGxV
cCwgc3RhcnROb2RlLCAmc3RvcEVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludCh3aGVlbEV2ZW50LT5h
YnNvbHV0ZUxvY2F0aW9uKCkpKSkKICAgICAgICAgd2hlZWxFdmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKICAgICAKICAgICBpZiAoIW1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3NmVlNmEwLi40MmY5MjRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNzc1LDYgKzc3NSwzNyBAQCBi
b29sIFJlbmRlckJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5IGdyYW51bGFyaXR5LAogICAgIFJlbmRlckJsb2NrKiBiID0gY29udGFpbmluZ0Js
b2NrKCk7CiAgICAgaWYgKGIgJiYgIWItPmlzUmVuZGVyVmlldygpKQogICAgICAgICByZXR1cm4g
Yi0+c2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVtZW50
KTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIE5vZGUqIHN0YXJ0Tm9kZSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50LCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50KQoreworICAgIFJlbmRl
ckxheWVyKiBsID0gbGF5ZXIoKTsKKyAgICBpZiAobCAmJiBsLT5zY3JvbGwoZGlyZWN0aW9uLCBn
cmFudWxhcml0eSwgbXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKHN0b3BFbGVtZW50KQorICAg
ICAgICAgICAgKnN0b3BFbGVtZW50ID0gZWxlbWVudCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICBpZiAoc3RvcEVsZW1lbnQgJiYgKnN0b3BFbGVtZW50ICYmICpzdG9wRWxl
bWVudCA9PSBlbGVtZW50KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVuZGVyQmxv
Y2sqIG5leHRTY3JvbGxCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOworICAgIGlmIChuZXh0U2Ny
b2xsQmxvY2sgJiYgbmV4dFNjcm9sbEJsb2NrLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKSB7
CisgICAgICAgIFJlbmRlckJveCogZmxvd2VkQm94ID0gdGhpczsKKworICAgICAgICBpZiAoc3Rh
cnROb2RlKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyQm94KiBib3ggPSBzdGFydE5vZGUtPnJl
bmRlckJveCgpKQorICAgICAgICAgICAgICAgIGZsb3dlZEJveCA9IGJveDsKKyAgICAgICAgfQor
CisgICAgICAgIG5leHRTY3JvbGxCbG9jayA9IHRvUmVuZGVyRmxvd1RocmVhZChuZXh0U2Nyb2xs
QmxvY2spLT5yZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveChhYnNvbHV0ZVBvaW50LCAqZmxv
d2VkQm94KTsKKyAgICB9CisKKyAgICBpZiAobmV4dFNjcm9sbEJsb2NrICYmICFuZXh0U2Nyb2xs
QmxvY2stPmlzUmVuZGVyVmlldygpKQorICAgICAgICByZXR1cm4gbmV4dFNjcm9sbEJsb2NrLT5z
Y3JvbGxXaXRoV2hlZWxFdmVudExvY2F0aW9uKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRp
cGxpZXIsIHN0YXJ0Tm9kZSwgc3RvcEVsZW1lbnQsIGFic29sdXRlUG9pbnQpOworCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZjcy
MmNkNy4uMTIyYzAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNDUz
LDYgKzQ1Myw3IEBAIHB1YmxpYzoKICAgICBpbnQgaW5zdHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxX
aWR0aCgpIGNvbnN0OwogICAgIGludCBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaG9yaXpvbnRhbFNjcm9s
bGJhckhlaWdodCgpIDogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOyB9CiAgICAgdmlydHVhbCBi
b29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0
aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7CisgICAgdmlydHVhbCBib29s
IHNjcm9sbFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFu
dWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwgTm9kZSogc3RhcnROb2RlLCBFbGVtZW50Kiogc3Rv
cEVsZW1lbnQsIEludFBvaW50IGFic29sdXRlUG9pbnQpOwogICAgIHZpcnR1YWwgYm9vbCBsb2dp
Y2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9h
dCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7CiAgICAgYm9vbCBj
YW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgY2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDhkNTUyZTcuLmZkZjBhMTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAg
LTQ2MCw3ICs0NjAsMjkgQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25B
dEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2xhbXBCb3gsIEwKICAgICAgICAgcmV0dXJu
IHJlZ2lvbjsKICAgICByZXR1cm4gcmVnaW9uID8gY2xhbXBCb3gtPmNsYW1wVG9TdGFydEFuZEVu
ZFJlZ2lvbnMocmVnaW9uKSA6IDA7CiB9Ci0gICAgCisKK1JlbmRlclJlZ2lvbiogUmVuZGVyRmxv
d1RocmVhZDo6cmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRCb3goSW50UG9pbnQgYWJzb2x1dGVQ
b2ludCwgY29uc3QgUmVuZGVyQm94JiBmbG93ZWRCb3gpCit7CisgICAgUmVuZGVyUmVnaW9uKiBz
dGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBudWxs
cHRyOworICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KCZmbG93ZWRCb3gsIHN0YXJ0UmVnaW9uLCBl
bmRSZWdpb24pOworCisgICAgaWYgKCFzdGFydFJlZ2lvbikKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVnaW9uTGlzdC5maW5kKHN0YXJ0UmVnaW9u
KSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CisgICAg
ICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7CisgICAgICAgIEludFJlY3QgcmVnaW9u
QWJzb2x1dGVSZWN0KHJvdW5kZWRJbnRQb2ludChyZWdpb24tPmxvY2FsVG9BYnNvbHV0ZSgpKSwg
cm91bmRlZEludFNpemUocmVnaW9uLT5mcmFtZVJlY3QoKS5zaXplKCkpKTsKKyAgICAgICAgaWYg
KHJlZ2lvbkFic29sdXRlUmVjdC5jb250YWlucyhhYnNvbHV0ZVBvaW50KSkKKyAgICAgICAgICAg
IHJldHVybiByZWdpb247CisKKyAgICAgICAgaWYgKHJlZ2lvbiA9PSBlbmRSZWdpb24pCisgICAg
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogTGF5b3V0
UG9pbnQgUmVuZGVyRmxvd1RocmVhZDo6YWRqdXN0ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQ
YXJlbnQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIGJveE1vZGVsT2JqZWN0LCBjb25zdCBM
YXlvdXRQb2ludCYgc3RhcnRQb2ludCkKIHsKICAgICBMYXlvdXRQb2ludCByZWZlcmVuY2VQb2lu
dCA9IHN0YXJ0UG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaAppbmRleCBmY2VkNjQ1Li5lMDc4ODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTExNSw2ICsxMTUsOCBAQCBwdWJsaWM6CiAKICAgICBS
ZW5kZXJSZWdpb24qIHJlZ2lvbkF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5b3V0
VW5pdCwgYm9vbCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2UsIFJlZ2lvbkF1dG9HZW5lcmF0aW9u
UG9saWN5ID0gQWxsb3dSZWdpb25BdXRvR2VuZXJhdGlvbik7CiAKKyAgICBSZW5kZXJSZWdpb24q
IHJlZ2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KEludFBvaW50LCBjb25zdCBSZW5kZXJCb3gm
IGZsb3dlZEJveCk7CisKICAgICBib29sIHJlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoOyB9CiAgICAg
Ym9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9y
ZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222447</attachid>
            <date>2014-01-28 08:45:32 -0800</date>
            <delta_ts>2014-01-28 08:59:03 -0800</delta_ts>
            <desc>Fixed styling issue</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>28548</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjYwMmI5Li4zMzJmNjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzY3JvbGxpbmcgZWxl
bWVudHMgZmxvd2VkIGludG8gc2Nyb2xsYWJsZSByZWdpb25zLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3doZWVsLXNjcm9s
bC1hYnNwb3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1hYnNwb3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTI3ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNsZWFuIHVwIGluaXRpYWxp
emF0aW9uIG9mIG1hbmFnZXJzIGFuZCBvYnNlcnZlcnMgaW4gSW5zcGVjdG9yVGVzdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxN2Y0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwt
YWJzcG9zLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAg
LnJlZ2lvbiB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGlu
ZzogMnB4OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAgICAgIGhlaWdodDogNTVweDsKKyAg
ICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdodDogMzU2cHg7CisgICAgICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgbGVmdDogMzMwcHg7CisgICAgICAgIHRvcDogMTIw
cHg7CisgICAgICAgIGJvcmRlci13aWR0aDogdGhpY2s7CisgICAgfQorCisgICAgcCB7CisgICAg
ICAgIG1hcmdpbjogMHB4OworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVy
ZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7CisgICAgICAgIHdp
ZHRoOiAyNzBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAgIHBhZGRpbmc6IDEw
cHg7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsK
KyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4Owor
ICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTUwLCAyMzApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNN
b3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygwLCAwKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8
ZGl2PgorICAgICAgICBUaGUgdGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xs
ZWQgbm9ybWFsbHkgdXNpbmcgdGhlIG1vdXNlIHdoZWVsOiAKKyAgICAgICAgPHVsPgorICAgICAg
ICAgICAgPGxpPlNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRp
bCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBz
Y3JvbGwuPC9saT4KKyAgICAgICAgICAgIDxsaT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBvcmFuZ2Ug
ZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUgYmx1
ZSBjb250YWluZXIgc2hvdWxkIE5PVCBzY3JvbGwgYmVjYXVzZSB0aGUgcmVnaW9uIGluIHdoaWNo
IHRoZSBvcmFuZ2UgZGl2IGlzIGZsb3dlZCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQ8L2xpPgor
ICAgICAgICA8L3VsPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnM8L3A+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4OyBtYXJnaW4t
dG9wOiAwcHg7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBz
dHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgorICAgICAgICAgICAgPHAg
c3R5bGU9Im1hcmdpbi10b3A6IDFweCI+c2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0
aGUgY29udGFpbmVyLjwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIg
c3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1l
IHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVn
aW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUg
b2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIu
IENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdt
ZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0
aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5z
aWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAg
ICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBm
bG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMg
bGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMg
dmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNl
ciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBD
YXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNv
bnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFi
bGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBw
b3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4g
KENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmYyYzc1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25v
c3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKKyAgICAgICAgd2lkdGg6IDI1MHB4OworICAgICAgICBoZWlnaHQ6IDU1cHg7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGluZzogMnB4OworICAgICAgICBv
dmVyZmxvdzogdmlzaWJsZTsKKyAgICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdo
dDogYXV0bzsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0OiAzMzBw
eDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGljazsKKyAg
ICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAg
ICBib3JkZXI6IDNweCBzb2xpZCBibHVlOyAKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAg
ICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICAgIHdpZHRoOiAyNzBweDsKKyAgICB9CisKKyAgICAj
YXJ0aWNsZSB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworICAgIH0KKworICAg
IC5pbm5lcl9zY3JvbGwgeworICAgICAgICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjog
MnB4IHNvbGlkIGdyZWVuOworICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICAgICAgcGFkZGluZzogNXB4OworICAgIH0KKworICAgIHAgeworICAgICAg
ICBtYXJnaW46IDBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBpZiBl
dmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hlZWw6
IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNjcm9s
bGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hlcyB0
aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBiZWNh
dXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFic29s
dXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUgZmxvd2VkIGlu
IHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9uczwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIgc3R5
bGU9ImhlaWdodDogMzBweCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgICAgICA8cD5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0
IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNp
ZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIDwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Nj
cm9sbCIgc3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhl
IHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3Jv
bGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFk
IGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVy
LCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3Rp
bGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3Ig
aXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuPC9wPgorICAg
ICAgICA8L2Rpdj4KKworICAgICAgICA8IS0tIHJlZ2lvbnMgdGhhdCB3aWxsIGZyYWdtZW50IHRo
ZSBjb250ZW50IC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhNTIwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBm
b250OiAxNnB4LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9y
ZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRo
OiA0NTBweDsKKyAgICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKworICAgICNyZWdpb240IHsK
KyAgICAgICAgaGVpZ2h0OiAzMDhweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2lu
OiAwcHg7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRv
OyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDQ3MHB4
OworICAgICAgICBoZWlnaHQ6IDI1MHB4OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICB9
CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBi
b3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92
ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgor
Cis8c2NyaXB0PgorICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAs
IDMwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgw
LCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDAp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEw
MDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAg
ICB9CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxwPjxiPlRoZSB0ZXh0IHBhc3Nl
cyBpZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ug
d2hlZWwuIFNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRpbCBp
dCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBzY3Jv
bGwuPC9iPjwvcD48L2JyPgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVu
b3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXpl
IG9mIHRoZSA8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Y29udGFpbmVyIGlzIGxl
c3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZl
cnRpY2FsIHNjcm9sbGJhci48L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Q2FzZTEu
IElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBj
b250ZW50IGluc2lkZSBhIHJlZ2lvbiw8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJn
aW4tdG9wOiAxcHgiPnRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lk
ZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIs
IHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50Ljwv
cD4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4g
dGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBz
Y3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhy
ZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJs
ZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dl
dmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQg
c3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5
IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9w
PgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50
IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250
YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFp
bmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBp
cyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9u
LCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29u
dGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cg
dGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1
c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3Vs
ZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4g
d2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4g
cmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVy
ZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0
aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25z
IHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElm
IHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250
ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29u
dGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBp
cyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNv
bnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNv
bnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250
YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93
IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGlu
IHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWlu
ZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVy
IGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBv
dmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0
aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFp
bmVyLiBDYXNlMi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy93aGVlbC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1z
Y3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTQ4ODMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5o
dG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9k
eSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAg
ICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAg
ICBoZWlnaHQ6IDQwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAg
cGFkZGluZzogMnB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBh
dXRvOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVyZmxvdzogYXV0bzsg
CisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAgICAgICBoZWlnaHQ6IDI1MHB4
OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICAgICAgd2lkdGg6IDQ3MHB4OworICAgIH0K
KworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7CisgICAg
fQorCisgICAgI2lubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsKKyAgICAgICAg
Ym9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICBv
dmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorCisgICAgcCB7
CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAg
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3Nj
cmlwdD4KKworPGJvZHk+CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcg
Y2FuIGJlIHNjcm9sbGVkIG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5n
IGluc2lkZSB0aGUgZ3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVu
ZCBhbmQgdGhlbiB0aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+
CisKKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUg
Zmxvd2VkIGluIHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAg
ICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cg
dG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNz
IHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0
aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlz
IHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2Uy
LiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVu
dCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LjwvcD4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBp
bnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQg
aW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0
c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWlu
ZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50
LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVy
IGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFz
c3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhl
IHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBz
aXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xs
YmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBm
cmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8g
c2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwg
aWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxs
IGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRo
ZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBz
Y3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAg
ICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0
aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVy
IGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBn
ZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhl
IHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5l
ci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVh
ZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBp
cyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUq
IGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4g
dGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lv
bnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPkFzc3Vt
ZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJl
Z2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXpl
IG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFy
LiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFn
bWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Ny
b2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi48L3A+CisgICAgICAg
IDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVnaW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNv
bnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAg
IDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA0YWRiY2FmLi5kYjdlMzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIFdoZW4gYW4gZWxlbWVudCBmbG93ZWQgaW50byBh
IHNjcm9sbGFibGUgcmVnaW9uIGlzIHNjcm9sbGVkIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCwgdGhl
IGV2ZW50IAorICAgICAgICBuZWVkcyB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSByZWdpb24gY29u
dGFpbmluZyB0aGF0IGVsZW1lbnQsIG9uIHRvcCBvZiB3aGljaCB0aGUgY3Vyc29yCisgICAgICAg
IGlzIGxvY2F0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwuaHRtbAorCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKwogMjAxNC0wMS0yOCAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
Mjc3Njc+IERpc2FibGUgc29tZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB0byBmaXggdGhlIGJ1aWxk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA2MjhmMjIuLmEwMTVhOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBz
dGF0aWMgaW5saW5lIFNjcm9sbEdyYW51bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdy
YW51bGFyaXR5KHVuc2lnbmVkIGRlbAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNj
cm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3Jv
bGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURp
cmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGlu
ZSBib29sIHNjcm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5LCBTY3JvbGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBu
ZWdhdGl2ZURpcmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBJbnRQ
b2ludCBhYnNvbHV0ZVBvaW50KQogewogICAgIGlmICghZGVsdGEpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTI4OSw3ICsyODksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2Nyb2xsTm9kZShm
bG9hdCBkZWx0YSwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIFNjcm9sbAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyQm94KiBlbmNsb3NpbmdCb3ggPSBub2RlLT5yZW5k
ZXJlcigpLT5lbmNsb3NpbmdCb3goKTsKICAgICBmbG9hdCBhYnNEZWx0YSA9IGRlbHRhID4gMCA/
IGRlbHRhIDogLWRlbHRhOwotICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9sbChkZWx0YSA8
IDAgPyBuZWdhdGl2ZURpcmVjdGlvbiA6IHBvc2l0aXZlRGlyZWN0aW9uLCBncmFudWxhcml0eSwg
YWJzRGVsdGEsIHN0b3BFbGVtZW50KTsKKworICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9s
bFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oZGVsdGEgPCAwID8gbmVnYXRpdmVEaXJlY3Rpb24gOiBw
b3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0RlbHRhLCBub2RlLCBzdG9wRWxlbWVu
dCwgYWJzb2x1dGVQb2ludCk7CiB9CiAKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgIVBM
QVRGT1JNKElPUykpCkBAIC0yNjEyLDEwICsyNjEzLDEwIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpk
ZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBXaGVlbEV2ZW50KiB3aGVl
bEV2CiAgICAgCiAgICAgLy8gQnJlYWsgdXAgaW50byB0d28gc2Nyb2xscyBpZiB3ZSBuZWVkIHRv
LiAgRGlhZ29uYWwgbW92ZW1lbnQgb24gCiAgICAgLy8gYSBNYWNCb29rIHBybyBpcyBhbiBleGFt
cGxlIG9mIGEgMi1kaW1lbnNpb25hbCBtb3VzZSB3aGVlbCBldmVudCAod2hlcmUgYm90aCBkZWx0
YVggYW5kIGRlbHRhWSBjYW4gYmUgc2V0KS4KLSAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0g
RG9taW5hbnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQt
PmRlbHRhWCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9k
ZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0gRG9taW5hbnRT
Y3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWCgp
LCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9kZSwgJnN0b3BF
bGVtZW50LCByb3VuZGVkSW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpKSkp
CiAgICAgICAgIHdoZWVsRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCi0gICAgaWYg
KGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRhbCAm
JiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0eSwgU2Nyb2xsRG93
biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnRE
aXJlY3Rpb24gIT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25Ib3Jpem9udGFsICYmIHNjcm9sbE5v
ZGUod2hlZWxFdmVudC0+ZGVsdGFZKCksIGdyYW51bGFyaXR5LCBTY3JvbGxEb3duLCBTY3JvbGxV
cCwgc3RhcnROb2RlLCAmc3RvcEVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludCh3aGVlbEV2ZW50LT5h
YnNvbHV0ZUxvY2F0aW9uKCkpKSkKICAgICAgICAgd2hlZWxFdmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKICAgICAKICAgICBpZiAoIW1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3NmVlNmEwLi5mNThjYWVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNzc1LDYgKzc3NSwzNyBAQCBi
b29sIFJlbmRlckJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5IGdyYW51bGFyaXR5LAogICAgIFJlbmRlckJsb2NrKiBiID0gY29udGFpbmluZ0Js
b2NrKCk7CiAgICAgaWYgKGIgJiYgIWItPmlzUmVuZGVyVmlldygpKQogICAgICAgICByZXR1cm4g
Yi0+c2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVtZW50
KTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIE5vZGUqIHN0YXJ0Tm9kZSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50LCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50KQoreworICAgIFJlbmRl
ckxheWVyKiBsYXllciA9IGxheWVyKCk7CisgICAgaWYgKGxheWVyICYmIGxheWVyLT5zY3JvbGwo
ZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikpIHsKKyAgICAgICAgaWYgKHN0b3BF
bGVtZW50KQorICAgICAgICAgICAgKnN0b3BFbGVtZW50ID0gZWxlbWVudCgpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAoc3RvcEVsZW1lbnQgJiYgKnN0b3BFbGVtZW50
ICYmICpzdG9wRWxlbWVudCA9PSBlbGVtZW50KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgUmVuZGVyQmxvY2sqIG5leHRTY3JvbGxCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOworICAg
IGlmIChuZXh0U2Nyb2xsQmxvY2sgJiYgbmV4dFNjcm9sbEJsb2NrLT5pc1JlbmRlck5hbWVkRmxv
d1RocmVhZCgpKSB7CisgICAgICAgIFJlbmRlckJveCogZmxvd2VkQm94ID0gdGhpczsKKworICAg
ICAgICBpZiAoc3RhcnROb2RlKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyQm94KiBib3ggPSBz
dGFydE5vZGUtPnJlbmRlckJveCgpKQorICAgICAgICAgICAgICAgIGZsb3dlZEJveCA9IGJveDsK
KyAgICAgICAgfQorCisgICAgICAgIG5leHRTY3JvbGxCbG9jayA9IHRvUmVuZGVyRmxvd1RocmVh
ZChuZXh0U2Nyb2xsQmxvY2spLT5yZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveChhYnNvbHV0
ZVBvaW50LCAqZmxvd2VkQm94KTsKKyAgICB9CisKKyAgICBpZiAobmV4dFNjcm9sbEJsb2NrICYm
ICFuZXh0U2Nyb2xsQmxvY2stPmlzUmVuZGVyVmlldygpKQorICAgICAgICByZXR1cm4gbmV4dFNj
cm9sbEJsb2NrLT5zY3JvbGxXaXRoV2hlZWxFdmVudExvY2F0aW9uKGRpcmVjdGlvbiwgZ3JhbnVs
YXJpdHksIG11bHRpcGxpZXIsIHN0YXJ0Tm9kZSwgc3RvcEVsZW1lbnQsIGFic29sdXRlUG9pbnQp
OworCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgKaW5kZXggZjcyMmNkNy4uMTIyYzAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaApAQCAtNDUzLDYgKzQ1Myw3IEBAIHB1YmxpYzoKICAgICBpbnQgaW5zdHJpbnNpY1Njcm9s
bGJhckxvZ2ljYWxXaWR0aCgpIGNvbnN0OwogICAgIGludCBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaG9y
aXpvbnRhbFNjcm9sbGJhckhlaWdodCgpIDogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOyB9CiAg
ICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7CisgICAg
dmlydHVhbCBib29sIHNjcm9sbFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9u
LCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwgTm9kZSogc3RhcnROb2RlLCBF
bGVtZW50Kiogc3RvcEVsZW1lbnQsIEludFBvaW50IGFic29sdXRlUG9pbnQpOwogICAgIHZpcnR1
YWwgYm9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCk7
CiAgICAgYm9vbCBjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDhkNTUy
ZTcuLmZkZjBhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5jcHAKQEAgLTQ2MCw3ICs0NjAsMjkgQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhy
ZWFkOjpyZWdpb25BdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2xhbXBCb3gsIEwKICAg
ICAgICAgcmV0dXJuIHJlZ2lvbjsKICAgICByZXR1cm4gcmVnaW9uID8gY2xhbXBCb3gtPmNsYW1w
VG9TdGFydEFuZEVuZFJlZ2lvbnMocmVnaW9uKSA6IDA7CiB9Ci0gICAgCisKK1JlbmRlclJlZ2lv
biogUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRCb3goSW50UG9p
bnQgYWJzb2x1dGVQb2ludCwgY29uc3QgUmVuZGVyQm94JiBmbG93ZWRCb3gpCit7CisgICAgUmVu
ZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAgUmVuZGVyUmVnaW9uKiBlbmRS
ZWdpb24gPSBudWxscHRyOworICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KCZmbG93ZWRCb3gsIHN0
YXJ0UmVnaW9uLCBlbmRSZWdpb24pOworCisgICAgaWYgKCFzdGFydFJlZ2lvbikKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVnaW9uTGlzdC5maW5k
KHN0YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdGVyICE9IGVuZDsgKytp
dGVyKSB7CisgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7CisgICAgICAgIElu
dFJlY3QgcmVnaW9uQWJzb2x1dGVSZWN0KHJvdW5kZWRJbnRQb2ludChyZWdpb24tPmxvY2FsVG9B
YnNvbHV0ZSgpKSwgcm91bmRlZEludFNpemUocmVnaW9uLT5mcmFtZVJlY3QoKS5zaXplKCkpKTsK
KyAgICAgICAgaWYgKHJlZ2lvbkFic29sdXRlUmVjdC5jb250YWlucyhhYnNvbHV0ZVBvaW50KSkK
KyAgICAgICAgICAgIHJldHVybiByZWdpb247CisKKyAgICAgICAgaWYgKHJlZ2lvbiA9PSBlbmRS
ZWdpb24pCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKwogTGF5b3V0UG9pbnQgUmVuZGVyRmxvd1RocmVhZDo6YWRqdXN0ZWRQb3NpdGlvblJlbGF0
aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIGJveE1vZGVsT2Jq
ZWN0LCBjb25zdCBMYXlvdXRQb2ludCYgc3RhcnRQb2ludCkKIHsKICAgICBMYXlvdXRQb2ludCBy
ZWZlcmVuY2VQb2ludCA9IHN0YXJ0UG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsb3dUaHJlYWQuaAppbmRleCBmY2VkNjQ1Li5lMDc4ODQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTExNSw2ICsxMTUsOCBAQCBwdWJs
aWM6CiAKICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbkF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2UsIFJlZ2lvbkF1
dG9HZW5lcmF0aW9uUG9saWN5ID0gQWxsb3dSZWdpb25BdXRvR2VuZXJhdGlvbik7CiAKKyAgICBS
ZW5kZXJSZWdpb24qIHJlZ2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KEludFBvaW50LCBjb25z
dCBSZW5kZXJCb3gmIGZsb3dlZEJveCk7CisKICAgICBib29sIHJlZ2lvbnNIYXZlVW5pZm9ybUxv
Z2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdp
ZHRoOyB9CiAgICAgYm9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222453</attachid>
            <date>2014-01-28 08:59:03 -0800</date>
            <delta_ts>2014-01-29 03:34:22 -0800</delta_ts>
            <desc>Final patch</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>28557</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjYwMmI5Li4zMzJmNjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzY3JvbGxpbmcgZWxl
bWVudHMgZmxvd2VkIGludG8gc2Nyb2xsYWJsZSByZWdpb25zLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3doZWVsLXNjcm9s
bC1hYnNwb3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1hYnNwb3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTI3ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNsZWFuIHVwIGluaXRpYWxp
emF0aW9uIG9mIG1hbmFnZXJzIGFuZCBvYnNlcnZlcnMgaW4gSW5zcGVjdG9yVGVzdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxN2Y0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwt
YWJzcG9zLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAg
LnJlZ2lvbiB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGlu
ZzogMnB4OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAgICAgIGhlaWdodDogNTVweDsKKyAg
ICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdodDogMzU2cHg7CisgICAgICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgbGVmdDogMzMwcHg7CisgICAgICAgIHRvcDogMTIw
cHg7CisgICAgICAgIGJvcmRlci13aWR0aDogdGhpY2s7CisgICAgfQorCisgICAgcCB7CisgICAg
ICAgIG1hcmdpbjogMHB4OworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVy
ZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7CisgICAgICAgIHdp
ZHRoOiAyNzBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAgIHBhZGRpbmc6IDEw
cHg7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsK
KyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4Owor
ICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTUwLCAyMzApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNN
b3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygwLCAwKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8
ZGl2PgorICAgICAgICBUaGUgdGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xs
ZWQgbm9ybWFsbHkgdXNpbmcgdGhlIG1vdXNlIHdoZWVsOiAKKyAgICAgICAgPHVsPgorICAgICAg
ICAgICAgPGxpPlNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRp
bCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBz
Y3JvbGwuPC9saT4KKyAgICAgICAgICAgIDxsaT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBvcmFuZ2Ug
ZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUgYmx1
ZSBjb250YWluZXIgc2hvdWxkIE5PVCBzY3JvbGwgYmVjYXVzZSB0aGUgcmVnaW9uIGluIHdoaWNo
IHRoZSBvcmFuZ2UgZGl2IGlzIGZsb3dlZCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQ8L2xpPgor
ICAgICAgICA8L3VsPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnM8L3A+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4OyBtYXJnaW4t
dG9wOiAwcHg7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBz
dHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgorICAgICAgICAgICAgPHAg
c3R5bGU9Im1hcmdpbi10b3A6IDFweCI+c2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0
aGUgY29udGFpbmVyLjwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIg
c3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1l
IHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVn
aW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUg
b2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIu
IENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdt
ZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0
aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5z
aWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAg
ICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBm
bG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMg
bGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMg
dmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNl
ciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBD
YXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNv
bnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFi
bGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBw
b3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4g
KENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91
Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBv
ZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQg
dGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3Vz
ZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lk
ZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNp
ZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRl
IHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwg
dGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRo
ZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29u
dGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBj
b250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmYyYzc1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWFic3Bvcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25v
c3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKKyAgICAgICAgd2lkdGg6IDI1MHB4OworICAgICAgICBoZWlnaHQ6IDU1cHg7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAgcGFkZGluZzogMnB4OworICAgICAgICBv
dmVyZmxvdzogdmlzaWJsZTsKKyAgICB9CisKKyAgICAjcmVnaW9uNCB7CisgICAgICAgIGhlaWdo
dDogYXV0bzsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0OiAzMzBw
eDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGljazsKKyAg
ICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAg
ICBib3JkZXI6IDNweCBzb2xpZCBibHVlOyAKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAg
ICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICAgIHdpZHRoOiAyNzBweDsKKyAgICB9CisKKyAgICAj
YXJ0aWNsZSB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworICAgIH0KKworICAg
IC5pbm5lcl9zY3JvbGwgeworICAgICAgICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjog
MnB4IHNvbGlkIGdyZWVuOworICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICAgICAgcGFkZGluZzogNXB4OworICAgIH0KKworICAgIHAgeworICAgICAg
ICBtYXJnaW46IDBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBpZiBl
dmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hlZWw6
IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNjcm9s
bGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hlcyB0
aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBiZWNh
dXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFic29s
dXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUgZmxvd2VkIGlu
IHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9uczwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Njcm9sbCIgc3R5
bGU9ImhlaWdodDogMzBweCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgICAgICA8cD5pcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0
IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNp
ZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIDwvcD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyX3Nj
cm9sbCIgc3R5bGU9ImJvcmRlci1jb2xvcjogb3JhbmdlOyI+CisgICAgICAgICAgICAgICAgPHA+
QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0
aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhl
IHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3Jv
bGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFk
IGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVy
LCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3Rp
bGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3Ig
aXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgor
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuPC9wPgorICAg
ICAgICA8L2Rpdj4KKworICAgICAgICA8IS0tIHJlZ2lvbnMgdGhhdCB3aWxsIGZyYWdtZW50IHRo
ZSBjb250ZW50IC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhNTIwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBm
b250OiAxNnB4LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9y
ZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRo
OiA0NTBweDsKKyAgICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKworICAgICNyZWdpb240IHsK
KyAgICAgICAgaGVpZ2h0OiAzMDhweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2lu
OiAwcHg7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRv
OyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDQ3MHB4
OworICAgICAgICBoZWlnaHQ6IDI1MHB4OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICB9
CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBi
b3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92
ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgor
Cis8c2NyaXB0PgorICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAs
IDMwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgw
LCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAwLCAxMDAp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEw
MDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAg
ICB9CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxwPjxiPlRoZSB0ZXh0IHBhc3Nl
cyBpZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ug
d2hlZWwuIFNjcm9sbGluZyBpbnNpZGUgdGhlIGdyZWVuIGRpdiBzaG91bGQgd29yayB1bnRpbCBp
dCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFpbmVyIHNob3VsZCBzY3Jv
bGwuPC9iPjwvcD48L2JyPgorCisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0icmVnaW9uIj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVu
b3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXpl
IG9mIHRoZSA8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Y29udGFpbmVyIGlzIGxl
c3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZl
cnRpY2FsIHNjcm9sbGJhci48L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+Q2FzZTEu
IElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBj
b250ZW50IGluc2lkZSBhIHJlZ2lvbiw8L3A+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb240Ij4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJn
aW4tdG9wOiAxcHgiPnRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5z
aWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lk
ZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIs
IHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50Ljwv
cD4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4g
dGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBz
Y3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhy
ZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJs
ZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dl
dmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQg
c3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3Jv
bGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5
IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9w
PgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50
IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250
YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFp
bmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBp
cyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9u
LCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29u
dGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cg
dGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1
c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3Vs
ZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4g
d2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4g
cmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVy
ZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0
aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25z
IHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElm
IHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250
ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29u
dGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBp
cyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNv
bnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNv
bnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250
YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93
IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGlu
IHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWlu
ZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVy
IGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBv
dmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0
aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFp
bmVyLiBDYXNlMi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy93aGVlbC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1z
Y3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTQ4ODMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5o
dG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgYm9k
eSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKworICAgIC5yZWdpb24geworICAgICAg
ICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAg
ICBoZWlnaHQ6IDQwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAgICAg
cGFkZGluZzogMnB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBh
dXRvOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgICBvdmVyZmxvdzogYXV0bzsg
CisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAgICAgICBoZWlnaHQ6IDI1MHB4
OyAKKyAgICAgICAgcGFkZGluZzogMzBweDsKKyAgICAgICAgd2lkdGg6IDQ3MHB4OworICAgIH0K
KworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7CisgICAg
fQorCisgICAgI2lubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdodDogNzVweDsKKyAgICAgICAg
Ym9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICBv
dmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorCisgICAgcCB7
CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAg
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3Nj
cmlwdD4KKworPGJvZHk+CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcg
Y2FuIGJlIHNjcm9sbGVkIG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5n
IGluc2lkZSB0aGUgZ3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVu
ZCBhbmQgdGhlbiB0aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+
CisKKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8IS0tIGNvbnRlbnQgdG8gYmUg
Zmxvd2VkIGluIHJlZ2lvbnMgLS0+CisgICAgICAgIDxkaXYgaWQ9ImFydGljbGUiPgorICAgICAg
ICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cg
dG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNz
IHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0
aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlz
IHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2Uy
LiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVu
dCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LjwvcD4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImlubmVyX3Njcm9sbCI+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUg
bW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBp
bnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQg
aW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0
c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWlu
ZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50
LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVy
IGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFz
c3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhl
IHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBz
aXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xs
YmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBm
cmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8g
c2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwg
aWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxs
IGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRo
ZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBz
Y3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAg
ICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0
aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVy
IGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBn
ZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3Zl
ciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhl
IHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5l
ci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVh
ZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBp
cyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUq
IGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4g
dGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lv
bnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPkFzc3Vt
ZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJl
Z2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXpl
IG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFy
LiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFn
bWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Ny
b2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi48L3A+CisgICAgICAg
IDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVnaW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNv
bnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAg
IDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA0YWRiY2FmLi5kYjdlMzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTQtMDEt
MjggIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBVbmFibGUgdG8gc2Nyb2xsIGEgc2Nyb2xsYWJsZSBjb250YWluZXIgZm9yIHJlZ2lvbnMg
dXNpbmcgbW91c2Ugd2hlZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzg4NgorCisgICAgICAgIFdoZW4gYW4gZWxlbWVudCBmbG93ZWQgaW50byBh
IHNjcm9sbGFibGUgcmVnaW9uIGlzIHNjcm9sbGVkIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCwgdGhl
IGV2ZW50IAorICAgICAgICBuZWVkcyB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSByZWdpb24gY29u
dGFpbmluZyB0aGF0IGVsZW1lbnQsIG9uIHRvcCBvZiB3aGljaCB0aGUgY3Vyc29yCisgICAgICAg
IGlzIGxvY2F0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwuaHRtbAorCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKwogMjAxNC0wMS0yOCAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
Mjc3Njc+IERpc2FibGUgc29tZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB0byBmaXggdGhlIGJ1aWxk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDA2MjhmMjIuLmEwMTVhOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBz
dGF0aWMgaW5saW5lIFNjcm9sbEdyYW51bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdy
YW51bGFyaXR5KHVuc2lnbmVkIGRlbAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNj
cm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3Jv
bGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURp
cmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGlu
ZSBib29sIHNjcm9sbE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5LCBTY3JvbGxEaXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBu
ZWdhdGl2ZURpcmVjdGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBJbnRQ
b2ludCBhYnNvbHV0ZVBvaW50KQogewogICAgIGlmICghZGVsdGEpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTI4OSw3ICsyODksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2Nyb2xsTm9kZShm
bG9hdCBkZWx0YSwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIFNjcm9sbAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyQm94KiBlbmNsb3NpbmdCb3ggPSBub2RlLT5yZW5k
ZXJlcigpLT5lbmNsb3NpbmdCb3goKTsKICAgICBmbG9hdCBhYnNEZWx0YSA9IGRlbHRhID4gMCA/
IGRlbHRhIDogLWRlbHRhOwotICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9sbChkZWx0YSA8
IDAgPyBuZWdhdGl2ZURpcmVjdGlvbiA6IHBvc2l0aXZlRGlyZWN0aW9uLCBncmFudWxhcml0eSwg
YWJzRGVsdGEsIHN0b3BFbGVtZW50KTsKKworICAgIHJldHVybiBlbmNsb3NpbmdCb3gtPnNjcm9s
bFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oZGVsdGEgPCAwID8gbmVnYXRpdmVEaXJlY3Rpb24gOiBw
b3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0RlbHRhLCBub2RlLCBzdG9wRWxlbWVu
dCwgYWJzb2x1dGVQb2ludCk7CiB9CiAKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgIVBM
QVRGT1JNKElPUykpCkBAIC0yNjEyLDEwICsyNjEzLDEwIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpk
ZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBXaGVlbEV2ZW50KiB3aGVl
bEV2CiAgICAgCiAgICAgLy8gQnJlYWsgdXAgaW50byB0d28gc2Nyb2xscyBpZiB3ZSBuZWVkIHRv
LiAgRGlhZ29uYWwgbW92ZW1lbnQgb24gCiAgICAgLy8gYSBNYWNCb29rIHBybyBpcyBhbiBleGFt
cGxlIG9mIGEgMi1kaW1lbnNpb25hbCBtb3VzZSB3aGVlbCBldmVudCAod2hlcmUgYm90aCBkZWx0
YVggYW5kIGRlbHRhWSBjYW4gYmUgc2V0KS4KLSAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0g
RG9taW5hbnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQt
PmRlbHRhWCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9k
ZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0gRG9taW5hbnRT
Y3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWCgp
LCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9kZSwgJnN0b3BF
bGVtZW50LCByb3VuZGVkSW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpKSkp
CiAgICAgICAgIHdoZWVsRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCi0gICAgaWYg
KGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRhbCAm
JiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0eSwgU2Nyb2xsRG93
biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnRE
aXJlY3Rpb24gIT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25Ib3Jpem9udGFsICYmIHNjcm9sbE5v
ZGUod2hlZWxFdmVudC0+ZGVsdGFZKCksIGdyYW51bGFyaXR5LCBTY3JvbGxEb3duLCBTY3JvbGxV
cCwgc3RhcnROb2RlLCAmc3RvcEVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludCh3aGVlbEV2ZW50LT5h
YnNvbHV0ZUxvY2F0aW9uKCkpKSkKICAgICAgICAgd2hlZWxFdmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKICAgICAKICAgICBpZiAoIW1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3NmVlNmEwLi44MDEzNDE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNzc1LDYgKzc3NSwzNyBAQCBi
b29sIFJlbmRlckJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5IGdyYW51bGFyaXR5LAogICAgIFJlbmRlckJsb2NrKiBiID0gY29udGFpbmluZ0Js
b2NrKCk7CiAgICAgaWYgKGIgJiYgIWItPmlzUmVuZGVyVmlldygpKQogICAgICAgICByZXR1cm4g
Yi0+c2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVtZW50
KTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJCb3g6OnNjcm9sbFdpdGhX
aGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIE5vZGUqIHN0YXJ0Tm9kZSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50LCBJbnRQb2ludCBhYnNvbHV0ZVBvaW50KQoreworICAgIFJlbmRl
ckxheWVyKiBib3hMYXllciA9IGxheWVyKCk7CisgICAgaWYgKGJveExheWVyICYmIGJveExheWVy
LT5zY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikpIHsKKyAgICAgICAg
aWYgKHN0b3BFbGVtZW50KQorICAgICAgICAgICAgKnN0b3BFbGVtZW50ID0gZWxlbWVudCgpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAoc3RvcEVsZW1lbnQgJiYgKnN0
b3BFbGVtZW50ICYmICpzdG9wRWxlbWVudCA9PSBlbGVtZW50KCkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgUmVuZGVyQmxvY2sqIG5leHRTY3JvbGxCbG9jayA9IGNvbnRhaW5pbmdCbG9j
aygpOworICAgIGlmIChuZXh0U2Nyb2xsQmxvY2sgJiYgbmV4dFNjcm9sbEJsb2NrLT5pc1JlbmRl
ck5hbWVkRmxvd1RocmVhZCgpKSB7CisgICAgICAgIFJlbmRlckJveCogZmxvd2VkQm94ID0gdGhp
czsKKworICAgICAgICBpZiAoc3RhcnROb2RlKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyQm94
KiBib3ggPSBzdGFydE5vZGUtPnJlbmRlckJveCgpKQorICAgICAgICAgICAgICAgIGZsb3dlZEJv
eCA9IGJveDsKKyAgICAgICAgfQorCisgICAgICAgIG5leHRTY3JvbGxCbG9jayA9IHRvUmVuZGVy
Rmxvd1RocmVhZChuZXh0U2Nyb2xsQmxvY2spLT5yZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJv
eChhYnNvbHV0ZVBvaW50LCAqZmxvd2VkQm94KTsKKyAgICB9CisKKyAgICBpZiAobmV4dFNjcm9s
bEJsb2NrICYmICFuZXh0U2Nyb2xsQmxvY2stPmlzUmVuZGVyVmlldygpKQorICAgICAgICByZXR1
cm4gbmV4dFNjcm9sbEJsb2NrLT5zY3JvbGxXaXRoV2hlZWxFdmVudExvY2F0aW9uKGRpcmVjdGlv
biwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0YXJ0Tm9kZSwgc3RvcEVsZW1lbnQsIGFic29s
dXRlUG9pbnQpOworCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKaW5kZXggZjcyMmNkNy4uMTIyYzAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaApAQCAtNDUzLDYgKzQ1Myw3IEBAIHB1YmxpYzoKICAgICBpbnQgaW5zdHJp
bnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpIGNvbnN0OwogICAgIGludCBzY3JvbGxiYXJMb2dp
Y2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpIDogdmVydGljYWxTY3JvbGxiYXJXaWR0
aCgpOyB9CiAgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0g
MCk7CisgICAgdmlydHVhbCBib29sIHNjcm9sbFdpdGhXaGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xs
RGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwgTm9kZSogc3Rh
cnROb2RlLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQsIEludFBvaW50IGFic29sdXRlUG9pbnQpOwog
ICAgIHZpcnR1YWwgYm9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNj
cm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVt
ZW50ID0gMCk7CiAgICAgYm9vbCBjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmlu
ZGV4IDhkNTUyZTcuLmZkZjBhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHAKQEAgLTQ2MCw3ICs0NjAsMjkgQEAgUmVuZGVyUmVnaW9uKiBSZW5k
ZXJGbG93VGhyZWFkOjpyZWdpb25BdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2xhbXBC
b3gsIEwKICAgICAgICAgcmV0dXJuIHJlZ2lvbjsKICAgICByZXR1cm4gcmVnaW9uID8gY2xhbXBC
b3gtPmNsYW1wVG9TdGFydEFuZEVuZFJlZ2lvbnMocmVnaW9uKSA6IDA7CiB9Ci0gICAgCisKK1Jl
bmRlclJlZ2lvbiogUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRC
b3goSW50UG9pbnQgYWJzb2x1dGVQb2ludCwgY29uc3QgUmVuZGVyQm94JiBmbG93ZWRCb3gpCit7
CisgICAgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAgUmVuZGVyUmVn
aW9uKiBlbmRSZWdpb24gPSBudWxscHRyOworICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KCZmbG93
ZWRCb3gsIHN0YXJ0UmVnaW9uLCBlbmRSZWdpb24pOworCisgICAgaWYgKCFzdGFydFJlZ2lvbikK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVnaW9u
TGlzdC5maW5kKHN0YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdGVyICE9
IGVuZDsgKytpdGVyKSB7CisgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7Cisg
ICAgICAgIEludFJlY3QgcmVnaW9uQWJzb2x1dGVSZWN0KHJvdW5kZWRJbnRQb2ludChyZWdpb24t
PmxvY2FsVG9BYnNvbHV0ZSgpKSwgcm91bmRlZEludFNpemUocmVnaW9uLT5mcmFtZVJlY3QoKS5z
aXplKCkpKTsKKyAgICAgICAgaWYgKHJlZ2lvbkFic29sdXRlUmVjdC5jb250YWlucyhhYnNvbHV0
ZVBvaW50KSkKKyAgICAgICAgICAgIHJldHVybiByZWdpb247CisKKyAgICAgICAgaWYgKHJlZ2lv
biA9PSBlbmRSZWdpb24pCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKwogTGF5b3V0UG9pbnQgUmVuZGVyRmxvd1RocmVhZDo6YWRqdXN0ZWRQb3Np
dGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIGJv
eE1vZGVsT2JqZWN0LCBjb25zdCBMYXlvdXRQb2ludCYgc3RhcnRQb2ludCkKIHsKICAgICBMYXlv
dXRQb2ludCByZWZlcmVuY2VQb2ludCA9IHN0YXJ0UG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmY2VkNjQ1Li5lMDc4ODQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTExNSw2ICsxMTUs
OCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbkF0QmxvY2tPZmZzZXQoY29u
c3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2Us
IFJlZ2lvbkF1dG9HZW5lcmF0aW9uUG9saWN5ID0gQWxsb3dSZWdpb25BdXRvR2VuZXJhdGlvbik7
CiAKKyAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KEludFBv
aW50LCBjb25zdCBSZW5kZXJCb3gmIGZsb3dlZEJveCk7CisKICAgICBib29sIHJlZ2lvbnNIYXZl
VW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3Jt
TG9naWNhbFdpZHRoOyB9CiAgICAgYm9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0
KCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222563</attachid>
            <date>2014-01-29 03:34:22 -0800</date>
            <delta_ts>2014-02-04 09:34:09 -0800</delta_ts>
            <desc>Integrated feedback from anttik</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>28413</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZTJlNGQwMy4uZmRlNmJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTAx
LTI4ICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVn
aW9uc10gVW5hYmxlIHRvIHNjcm9sbCBhIHNjcm9sbGFibGUgY29udGFpbmVyIGZvciByZWdpb25z
IHVzaW5nIG1vdXNlIHdoZWVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjM4ODYKKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc2Nyb2xsaW5nIGVs
ZW1lbnRzIGZsb3dlZCBpbnRvIHNjcm9sbGFibGUgcmVnaW9ucy4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy93aGVlbC1zY3Jv
bGwtYWJzcG9zLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25z
L3doZWVsLXNjcm9sbC5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0yOCAgSmlud29vIFNvbmcgIDxq
aW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVu
aW5nIGFmdGVyIHIxNjI5NzIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLWFic3Bvcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi40ZTE3ZjRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBmb250OiAxNnB4
LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9yZGVyOiAxcHgg
c29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRoOiAyNTBweDsK
KyAgICAgICAgaGVpZ2h0OiA1NXB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAg
aGVpZ2h0OiAzNTZweDsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0
OiAzMzBweDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGlj
azsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2luOiAwcHg7CisgICAgfQorCisgICAg
I2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRvOyAKKyAgICAgICAgYm9yZGVyOiAz
cHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDI3MHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OyAKKyAgICAgICAgcGFkZGluZzogMTBweDsKKyAgICB9CisKKyAgICAuaW5uZXJfc2Nyb2xs
IHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVl
bjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQor
PC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBp
ZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hl
ZWw6IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUg
Z3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0
aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNj
cm9sbGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hl
cyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBi
ZWNhdXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFi
c29sdXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAg
ICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAg
ICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZs
b3cgdG8gZmlsbCB0aGUgcmVnaW9uczwvcD4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lcl9zY3JvbGwiIHN0
eWxlPSJoZWlnaHQ6IDMwcHg7IG1hcmdpbi10b3A6IDBweDsiPgorICAgICAgICAgICAgICAgIDxw
PkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwg
dGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRo
ZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Ny
b2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVh
ZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUg
dG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZl
ciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0
aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xs
IHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
cmVnaW9uIj4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxcHgiPmlzIGxlc3Mg
dGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRp
Y2FsPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIiBpZD0i
cmVnaW9uNCI+CisgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5zY3JvbGxi
YXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZy
YWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBz
Y3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuPC9wPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiBvcmFuZ2U7Ij4K
KyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBp
biB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFp
bmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5l
ciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMg
b3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwg
dGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRh
aW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRo
cmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNl
ciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQg
YmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdo
ZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJl
Z2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxw
PkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwg
dGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRo
ZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Ny
b2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVh
ZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUg
dG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZl
ciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0
aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xs
IHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLjwvcD4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1h
YnNwb3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjNzVlYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9z
Lmh0bWwKQEAgLTAsMCArMSw4OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxzdHlsZT4KKyAgICBi
b2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAgLnJlZ2lvbiB7CisgICAg
ICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAg
ICAgIGhlaWdodDogNTVweDsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworICAgICAg
ICBwYWRkaW5nOiAycHg7CisgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOworICAgIH0KKworICAg
ICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBhdXRvOworICAgICAgICBwb3NpdGlvbjogYWJz
b2x1dGU7CisgICAgICAgIGxlZnQ6IDMzMHB4OworICAgICAgICB0b3A6IDEyMHB4OworICAgICAg
ICBib3JkZXItd2lkdGg6IHRoaWNrOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAg
ICBvdmVyZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAg
ICAgICBoZWlnaHQ6IDEwMHB4OyAKKyAgICAgICAgcGFkZGluZzogMTBweDsKKyAgICAgICAgd2lk
dGg6IDI3MHB4OworICAgIH0KKworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93
LWludG86IGZsb3c7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdo
dDogNzVweDsKKyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdp
bjogNXB4OworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7
CisgICAgfQorCisgICAgcCB7CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+
CisKKzxzY3JpcHQ+CisgICAgb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1
MCwgMjMwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5
KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3Jv
bGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwg
MCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKworPGJvZHk+CisgICAgPGRpdj4KKyAg
ICAgICAgVGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcgY2FuIGJlIHNjcm9sbGVkIG5vcm1h
bGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbDogCisgICAgICAgIDx1bD4KKyAgICAgICAgICAgIDxs
aT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBncmVlbiBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVh
Y2hlcyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgc2Nyb2xsLjwv
bGk+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgb3JhbmdlIGRpdiBzaG91
bGQgd29yayB1bnRpbCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFp
bmVyIHNob3VsZCBOT1Qgc2Nyb2xsIGJlY2F1c2UgdGhlIHJlZ2lvbiBpbiB3aGljaCB0aGUgb3Jh
bmdlIGRpdiBpcyBmbG93ZWQgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkPC9saT4KKyAgICAgICAg
PC91bD4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgICAgIDwh
LS0gY29udGVudCB0byBiZSBmbG93ZWQgaW4gcmVnaW9ucyAtLT4KKyAgICAgICAgPGRpdiBpZD0i
YXJ0aWNsZSI+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29u
dGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zPC9wPgorICAgICAgICAgICAgPGRp
diBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4Ij4KKyAgICAgICAgICAg
ICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0
byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3Mg
dGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRp
Y2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxv
dyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMg
dW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIu
IEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50
IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2li
aWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNl
IGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNl
MSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPmlzIGxlc3MgdGhhbiB0
aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNj
cm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxl
IHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gPC9wPgorICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiBvcmFu
Z2U7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29u
dGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUg
Y29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNv
bnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJl
Z2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhl
IGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBm
bG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0
aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpz
aG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBl
dmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50
IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAg
IDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZp
bGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFu
IHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwg
c2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVn
aW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNvbnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xh
c3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJl
Z2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVl
bC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5mYWE1MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKwor
ICAgIC5yZWdpb24geworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7CisgICAgICAgIHBh
ZGRpbmc6IDJweDsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAgICBoZWlnaHQ6IDQwcHg7
CisgICAgfQorCisgICAgI3JlZ2lvbjQgeworICAgICAgICBoZWlnaHQ6IDMwOHB4OworICAgIH0K
KworICAgIHAgeworICAgICAgICBtYXJnaW46IDBweDsKKyAgICB9CisKKyAgICAjY29udGFpbmVy
IHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBi
bHVlOworICAgICAgICB3aWR0aDogNDcwcHg7CisgICAgICAgIGhlaWdodDogMjUwcHg7IAorICAg
ICAgICBwYWRkaW5nOiAzMHB4OworICAgIH0KKworICAgICNpbm5lcl9zY3JvbGwgeworICAgICAg
ICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGdyZWVuOworICAgICAg
ICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICAgICAgcGFkZGlu
ZzogNXB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAgb25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250
aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKworPGJvZHk+
CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcgY2FuIGJlIHNjcm9sbGVk
IG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+CisKKyAgICA8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2lu
LXRvcDogMXB4Ij5jb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28g
dGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLjwvcD4KKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBzdHls
ZT0ibWFyZ2luLXRvcDogMXB4Ij5DYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLDwvcD4KKyAg
ICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgor
ICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+dGhlIHVzZXIgaXMgdW5hYmxl
IHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2
ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBz
dGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQuPC9wPgorICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJf
c2Nyb2xsIj4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2gg
Y29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0
aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhl
IGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBj
dXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBh
IHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUg
dGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRo
ZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhl
biB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJl
ICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVu
dCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250
ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRo
YXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9u
cyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2Yg
cmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENh
c2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50
ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUg
bW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRl
IHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRh
aW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0
aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0
aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBm
bG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBp
cyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNl
Mi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRl
bnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUg
dG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3Nz
aWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENh
c2UxKTwvcD4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQg
dGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBh
bmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVn
aW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2Ux
LiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQg
Y29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhl
IGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLjwvcD4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjA5NDg4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPCFET0NUWVBF
IGh0bWw+CisKKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsg
fQorCisgICAgLnJlZ2lvbiB7CisgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworICAg
ICAgICB3aWR0aDogNDUwcHg7CisgICAgICAgIGhlaWdodDogNDBweDsKKyAgICAgICAgYm9yZGVy
OiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgfQorCisgICAgI3Jl
Z2lvbjQgeworICAgICAgICBoZWlnaHQ6IGF1dG87CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7
CisgICAgICAgIG92ZXJmbG93OiBhdXRvOyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1
ZTsgCisgICAgICAgIGhlaWdodDogMjUwcHg7IAorICAgICAgICBwYWRkaW5nOiAzMHB4OworICAg
ICAgICB3aWR0aDogNDcwcHg7CisgICAgfQorCisgICAgI2FydGljbGUgeworICAgICAgICAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzsKKyAgICB9CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAg
ICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAg
ICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRp
bmc6IDVweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2luOiAwcHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTAwLCAzMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KDEwMCwgMTAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9s
bEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAw
KTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8cD48Yj5UaGUg
dGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xsZWQgbm9ybWFsbHkgdXNpbmcg
dGhlIG1vdXNlIHdoZWVsLiBTY3JvbGxpbmcgaW5zaWRlIHRoZSBncmVlbiBkaXYgc2hvdWxkIHdv
cmsgdW50aWwgaXQgcmVhY2hlcyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBz
aG91bGQgc2Nyb2xsLjwvYj48L3A+PC9icj4KKworICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgICAgIDwhLS0gY29udGVudCB0byBiZSBmbG93ZWQgaW4gcmVnaW9ucyAtLT4KKyAgICAgICAg
PGRpdiBpZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBt
b3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGlu
c2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBp
bnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRz
aWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5l
ciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQu
PC9wPgorICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJfc2Nyb2xsIj4KKyAgICAgICAgICAgICAg
ICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBm
aWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhh
biB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2Fs
IHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5h
YmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhv
d2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1
dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNj
cm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxp
dHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8
L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRl
bnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNv
bnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250
YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdp
b24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBj
b250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxv
dyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhl
IHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hv
dWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZl
biB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBp
biByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5k
IHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lv
bnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4g
SWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNv
bnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBj
b250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNl
IGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUg
Y29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIg
Y29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgIDwv
ZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQg
aW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRh
aW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWlu
ZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24s
IHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250
YWluZXIuIENhc2UyLjwvcD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPCEtLSByZWdpb25z
IHRoYXQgd2lsbCBmcmFnbWVudCB0aGUgY29udGVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9u
IiBpZD0icmVnaW9uNCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NmMyZjQuLjBjZmYzYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyOCBAQAorMjAxNC0wMS0yOCAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9i
ZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIFVuYWJsZSB0byBzY3JvbGwgYSBzY3JvbGxh
YmxlIGNvbnRhaW5lciBmb3IgcmVnaW9ucyB1c2luZyBtb3VzZSB3aGVlbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzODg2CisKKyAgICAgICAgV2hl
biBhbiBlbGVtZW50IGZsb3dlZCBpbnRvIGEgc2Nyb2xsYWJsZSByZWdpb24gaXMgc2Nyb2xsZWQg
dXNpbmcgdGhlIG1vdXNlIHdoZWVsLCB0aGUgZXZlbnQgCisgICAgICAgIG5lZWRzIHRvIGJlIHBy
b3BhZ2F0ZWQgdG8gdGhlIHJlZ2lvbiBjb250YWluaW5nIHRoYXQgZWxlbWVudCwgb24gdG9wIG9m
IHdoaWNoIHRoZSBjdXJzb3IKKyAgICAgICAgaXMgbG9jYXRlZC4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogZmFzdC9yZWdpb25zL3doZWVs
LXNjcm9sbC1hYnNwb3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL3doZWVsLXNj
cm9sbC5odG1sCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzY3JvbGxOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGVm
YXVsdFdoZWVsRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6c2Nyb2xsV2l0aFdoZWVsRXZlbnRMb2NhdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkZyb21B
YnNvbHV0ZVBvaW50QW5kQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5oOgorCiAyMDE0LTAxLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJlbmFtZSBub3RpZnlSZW5kZXJlck9mU2VsZWN0aW9uQ2hhbmdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMjE0NWJiYzguLmEyMzkzZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgaW5saW5l
IFNjcm9sbEdyYW51bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdyYW51bGFyaXR5KHVu
c2lnbmVkIGRlbAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxv
YXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxEaXJlY3Rpb24g
cG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVjdGlvbiwgTm9k
ZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGluZSBib29sIHNjcm9s
bE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxE
aXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVj
dGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBjb25zdCBJbnRQb2ludCYg
YWJzb2x1dGVQb2ludCkKIHsKICAgICBpZiAoIWRlbHRhKQogICAgICAgICByZXR1cm4gZmFsc2U7
CkBAIC0yODksNyArMjg5LDggQEAgc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxvYXQg
ZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGwKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIFJlbmRlckJveCogZW5jbG9zaW5nQm94ID0gbm9kZS0+cmVuZGVyZXIo
KS0+ZW5jbG9zaW5nQm94KCk7CiAgICAgZmxvYXQgYWJzRGVsdGEgPSBkZWx0YSA+IDAgPyBkZWx0
YSA6IC1kZWx0YTsKLSAgICByZXR1cm4gZW5jbG9zaW5nQm94LT5zY3JvbGwoZGVsdGEgPCAwID8g
bmVnYXRpdmVEaXJlY3Rpb24gOiBwb3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0Rl
bHRhLCBzdG9wRWxlbWVudCk7CisKKyAgICByZXR1cm4gZW5jbG9zaW5nQm94LT5zY3JvbGxXaXRo
V2hlZWxFdmVudExvY2F0aW9uKGRlbHRhIDwgMCA/IG5lZ2F0aXZlRGlyZWN0aW9uIDogcG9zaXRp
dmVEaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBhYnNEZWx0YSwgZW5jbG9zaW5nQm94LCBzdG9wRWxl
bWVudCwgYWJzb2x1dGVQb2ludCk7CiB9CiAKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYg
IVBMQVRGT1JNKElPUykpCkBAIC0yNjEyLDEwICsyNjEzLDEwIEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBXaGVlbEV2ZW50KiB3
aGVlbEV2CiAgICAgCiAgICAgLy8gQnJlYWsgdXAgaW50byB0d28gc2Nyb2xscyBpZiB3ZSBuZWVk
IHRvLiAgRGlhZ29uYWwgbW92ZW1lbnQgb24gCiAgICAgLy8gYSBNYWNCb29rIHBybyBpcyBhbiBl
eGFtcGxlIG9mIGEgMi1kaW1lbnNpb25hbCBtb3VzZSB3aGVlbCBldmVudCAod2hlcmUgYm90aCBk
ZWx0YVggYW5kIGRlbHRhWSBjYW4gYmUgc2V0KS4KLSAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24g
IT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZl
bnQtPmRlbHRhWCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0
Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0gRG9taW5h
bnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRh
WCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9kZSwgJnN0
b3BFbGVtZW50LCByb3VuZGVkSW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigp
KSkpCiAgICAgICAgIHdoZWVsRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCi0gICAg
aWYgKGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRh
bCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0eSwgU2Nyb2xs
RG93biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5h
bnREaXJlY3Rpb24gIT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25Ib3Jpem9udGFsICYmIHNjcm9s
bE5vZGUod2hlZWxFdmVudC0+ZGVsdGFZKCksIGdyYW51bGFyaXR5LCBTY3JvbGxEb3duLCBTY3Jv
bGxVcCwgc3RhcnROb2RlLCAmc3RvcEVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludCh3aGVlbEV2ZW50
LT5hYnNvbHV0ZUxvY2F0aW9uKCkpKSkKICAgICAgICAgd2hlZWxFdmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKICAgICAKICAgICBpZiAoIW1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBjYjkwNWE2Li5kYjgwNTFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNzc1LDYgKzc3NSwzMSBA
QCBib29sIFJlbmRlckJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9s
bEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LAogICAgIFJlbmRlckJsb2NrKiBiID0gY29udGFpbmlu
Z0Jsb2NrKCk7CiAgICAgaWYgKGIgJiYgIWItPmlzUmVuZGVyVmlldygpKQogICAgICAgICByZXR1
cm4gYi0+c2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVt
ZW50KTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJCb3g6OnNjcm9sbFdp
dGhXaGVlbEV2ZW50TG9jYXRpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIFJlbmRlckJveCogc3RhcnRC
b3gsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCwgSW50UG9pbnQgYWJzb2x1dGVQb2ludCkKK3sKKyAg
ICBSZW5kZXJMYXllciogYm94TGF5ZXIgPSBsYXllcigpOworICAgIGlmIChib3hMYXllciAmJiBi
b3hMYXllci0+c2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKSB7Cisg
ICAgICAgIGlmIChzdG9wRWxlbWVudCkKKyAgICAgICAgICAgICpzdG9wRWxlbWVudCA9IGVsZW1l
bnQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHN0b3BFbGVtZW50
ICYmICpzdG9wRWxlbWVudCAmJiAqc3RvcEVsZW1lbnQgPT0gZWxlbWVudCgpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIFJlbmRlckJsb2NrKiBuZXh0U2Nyb2xsQmxvY2sgPSBjb250YWlu
aW5nQmxvY2soKTsKKyAgICBpZiAobmV4dFNjcm9sbEJsb2NrICYmIG5leHRTY3JvbGxCbG9jay0+
aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgeworICAgICAgICBSZW5kZXJCb3gqIGZsb3dlZEJv
eCA9IHN0YXJ0Qm94ID8gc3RhcnRCb3ggOiB0aGlzOworICAgICAgICBuZXh0U2Nyb2xsQmxvY2sg
PSB0b1JlbmRlckZsb3dUaHJlYWQobmV4dFNjcm9sbEJsb2NrKS0+cmVnaW9uRnJvbUFic29sdXRl
UG9pbnRBbmRCb3goYWJzb2x1dGVQb2ludCwgKmZsb3dlZEJveCk7CisgICAgfQorCisgICAgaWYg
KG5leHRTY3JvbGxCbG9jayAmJiAhbmV4dFNjcm9sbEJsb2NrLT5pc1JlbmRlclZpZXcoKSkKKyAg
ICAgICAgcmV0dXJuIG5leHRTY3JvbGxCbG9jay0+c2Nyb2xsV2l0aFdoZWVsRXZlbnRMb2NhdGlv
bihkaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBtdWx0aXBsaWVyLCBzdGFydEJveCwgc3RvcEVsZW1l
bnQsIGFic29sdXRlUG9pbnQpOworCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZjcyMmNkNy4uYmQ3ZDM4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNDUzLDYgKzQ1Myw3IEBAIHB1YmxpYzoKICAgICBp
bnQgaW5zdHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpIGNvbnN0OwogICAgIGludCBzY3Jv
bGxiYXJMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpIDogdmVydGljYWxTY3Jv
bGxiYXJXaWR0aCgpOyB9CiAgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24s
IFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BF
bGVtZW50ID0gMCk7CisgICAgdmlydHVhbCBib29sIHNjcm9sbFdpdGhXaGVlbEV2ZW50TG9jYXRp
b24oU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciwg
UmVuZGVyQm94KiBzdGFydEJveCwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBJbnRQb2ludCBhYnNv
bHV0ZVBvaW50KTsKICAgICB2aXJ0dWFsIGJvb2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2Fs
RGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIEVsZW1l
bnQqKiBzdG9wRWxlbWVudCA9IDApOwogICAgIGJvb2wgY2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9s
bGFibGVBcmVhKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNhbkJlUHJvZ3JhbWF0aWNhbGx5
U2Nyb2xsZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmNwcAppbmRleCA4ZDU1MmU3Li4wNWQyYTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC00NjAsNyArNDYwLDI5IEBAIFJlbmRl
clJlZ2lvbiogUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uQXRCbG9ja09mZnNldChjb25zdCBSZW5k
ZXJCb3gqIGNsYW1wQm94LCBMCiAgICAgICAgIHJldHVybiByZWdpb247CiAgICAgcmV0dXJuIHJl
Z2lvbiA/IGNsYW1wQm94LT5jbGFtcFRvU3RhcnRBbmRFbmRSZWdpb25zKHJlZ2lvbikgOiAwOwog
fQotICAgIAorCitSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkZyb21BYnNv
bHV0ZVBvaW50QW5kQm94KGNvbnN0IEludFBvaW50JiBhYnNvbHV0ZVBvaW50LCBjb25zdCBSZW5k
ZXJCb3gmIGZsb3dlZEJveCkKK3sKKyAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVs
bHB0cjsKKyAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IG51bGxwdHI7CisgICAgZ2V0UmVn
aW9uUmFuZ2VGb3JCb3goJmZsb3dlZEJveCwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbik7CisKKyAg
ICBpZiAoIXN0YXJ0UmVnaW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGZvciAo
YXV0byBpdGVyID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRSZWdpb24pLCBlbmQgPSBtX3JlZ2lv
bkxpc3QuZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgUmVuZGVyUmVnaW9u
KiByZWdpb24gPSAqaXRlcjsKKyAgICAgICAgSW50UmVjdCByZWdpb25BYnNvbHV0ZVJlY3Qocm91
bmRlZEludFBvaW50KHJlZ2lvbi0+bG9jYWxUb0Fic29sdXRlKCkpLCByb3VuZGVkSW50U2l6ZShy
ZWdpb24tPmZyYW1lUmVjdCgpLnNpemUoKSkpOworICAgICAgICBpZiAocmVnaW9uQWJzb2x1dGVS
ZWN0LmNvbnRhaW5zKGFic29sdXRlUG9pbnQpKQorICAgICAgICAgICAgcmV0dXJuIHJlZ2lvbjsK
KworICAgICAgICBpZiAocmVnaW9uID09IGVuZFJlZ2lvbikKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgIH0KKworICAgIHJldHVybiBudWxscHRyOworfQorCiBMYXlvdXRQb2ludCBSZW5kZXJGbG93
VGhyZWFkOjphZGp1c3RlZFBvc2l0aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudChjb25zdCBSZW5k
ZXJCb3hNb2RlbE9iamVjdCYgYm94TW9kZWxPYmplY3QsIGNvbnN0IExheW91dFBvaW50JiBzdGFy
dFBvaW50KQogewogICAgIExheW91dFBvaW50IHJlZmVyZW5jZVBvaW50ID0gc3RhcnRQb2ludDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGZjZWQ2
NDUuLmYzOTZiOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaApAQCAtMTE1LDYgKzExNSw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlclJlZ2lvbiogcmVn
aW9uQXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVu
ZExhc3RSZWdpb24gPSBmYWxzZSwgUmVnaW9uQXV0b0dlbmVyYXRpb25Qb2xpY3kgPSBBbGxvd1Jl
Z2lvbkF1dG9HZW5lcmF0aW9uKTsKIAorICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uRnJvbUFic29s
dXRlUG9pbnRBbmRCb3goY29uc3QgSW50UG9pbnQmLCBjb25zdCBSZW5kZXJCb3gmIGZsb3dlZEJv
eCk7CisKICAgICBib29sIHJlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoOyB9CiAgICAgYm9vbCByZWdp
b25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25zSGF2
ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222567</attachid>
            <date>2014-01-29 05:36:13 -0800</date>
            <delta_ts>2014-01-29 07:16:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>123886.patch</filename>
            <type>text/plain</type>
            <size>29515</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZTJlNGQwMy4uYmI1MzYwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTAx
LTI4ICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVn
aW9uc10gVW5hYmxlIHRvIHNjcm9sbCBhIHNjcm9sbGFibGUgY29udGFpbmVyIGZvciByZWdpb25z
IHVzaW5nIG1vdXNlIHdoZWVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjM4ODYKKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc2Nyb2xsaW5nIGVs
ZW1lbnRzIGZsb3dlZCBpbnRvIHNjcm9sbGFibGUgcmVnaW9ucy4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy93aGVlbC1zY3Jv
bGwtYWJzcG9zLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtYWJzcG9zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25z
L3doZWVsLXNjcm9sbC5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0yOCAgSmlud29vIFNvbmcgIDxq
aW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVu
aW5nIGFmdGVyIHIxNjI5NzIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
d2hlZWwtc2Nyb2xsLWFic3Bvcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi40ZTE3ZjRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1hYnNwb3MtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxlPgorICAgIGJvZHkgeyBmb250OiAxNnB4
LzE2cHggbW9ub3NwYWNlOyB9CisKKyAgICAucmVnaW9uIHsKKyAgICAgICAgYm9yZGVyOiAxcHgg
c29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgICAgIHdpZHRoOiAyNTBweDsK
KyAgICAgICAgaGVpZ2h0OiA1NXB4OworICAgIH0KKworICAgICNyZWdpb240IHsKKyAgICAgICAg
aGVpZ2h0OiAzNTZweDsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0
OiAzMzBweDsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGlj
azsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2luOiAwcHg7CisgICAgfQorCisgICAg
I2NvbnRhaW5lciB7CisgICAgICAgIG92ZXJmbG93OiBhdXRvOyAKKyAgICAgICAgYm9yZGVyOiAz
cHggc29saWQgYmx1ZTsKKyAgICAgICAgd2lkdGg6IDI3MHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OyAKKyAgICAgICAgcGFkZGluZzogMTBweDsKKyAgICB9CisKKyAgICAuaW5uZXJfc2Nyb2xs
IHsKKyAgICAgICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVl
bjsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorICAgIG9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxNTAsIDIzMCk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDAsIDApOworICAgICAgICB9CisgICAgfQor
PC9zY3JpcHQ+CisKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIFRoZSB0ZXh0IHBhc3NlcyBp
ZiBldmVyeXRoaW5nIGNhbiBiZSBzY3JvbGxlZCBub3JtYWxseSB1c2luZyB0aGUgbW91c2Ugd2hl
ZWw6IAorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUg
Z3JlZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0
aGUgYmx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2xpPgorICAgICAgICAgICAgPGxpPlNj
cm9sbGluZyBpbnNpZGUgdGhlIG9yYW5nZSBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVhY2hl
cyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgTk9UIHNjcm9sbCBi
ZWNhdXNlIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIG9yYW5nZSBkaXYgaXMgZmxvd2VkIGlzIGFi
c29sdXRlbHkgcG9zaXRpb25lZDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9kaXY+CisKKyAg
ICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAg
ICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZs
b3cgdG8gZmlsbCB0aGUgcmVnaW9uczwvcD4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lcl9zY3JvbGwiIHN0
eWxlPSJoZWlnaHQ6IDMwcHg7IG1hcmdpbi10b3A6IDBweDsiPgorICAgICAgICAgICAgICAgIDxw
PkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwg
dGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRo
ZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Ny
b2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVh
ZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUg
dG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZl
ciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0
aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xs
IHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
cmVnaW9uIj4KKyAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxcHgiPmlzIGxlc3Mg
dGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRp
Y2FsPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIiBpZD0i
cmVnaW9uNCI+CisgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMXB4Ij5zY3JvbGxi
YXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZy
YWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBz
Y3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuPC9wPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiBvcmFuZ2U7Ij4K
KyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBp
biB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFp
bmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5l
ciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMg
b3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwg
dGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRh
aW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRo
cmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNl
ciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQg
YmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdo
ZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJl
Z2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUg
aXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhl
IHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBz
byB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0
aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVu
dCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRl
bnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMg
b3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250
YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250
ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFp
bmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxw
PkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwg
dGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRo
ZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Ny
b2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVh
ZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUg
dG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZl
ciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0
aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xs
IHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0
byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMg
ZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNp
emUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0
aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLjwvcD4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC1h
YnNwb3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjNzVlYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGwtYWJzcG9z
Lmh0bWwKQEAgLTAsMCArMSw4OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxzdHlsZT4KKyAgICBi
b2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsgfQorCisgICAgLnJlZ2lvbiB7CisgICAg
ICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworICAgICAgICB3aWR0aDogMjUwcHg7CisgICAg
ICAgIGhlaWdodDogNTVweDsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworICAgICAg
ICBwYWRkaW5nOiAycHg7CisgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOworICAgIH0KKworICAg
ICNyZWdpb240IHsKKyAgICAgICAgaGVpZ2h0OiBhdXRvOworICAgICAgICBwb3NpdGlvbjogYWJz
b2x1dGU7CisgICAgICAgIGxlZnQ6IDMzMHB4OworICAgICAgICB0b3A6IDEyMHB4OworICAgICAg
ICBib3JkZXItd2lkdGg6IHRoaWNrOworICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAg
ICBvdmVyZmxvdzogYXV0bzsgCisgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7IAorICAg
ICAgICBoZWlnaHQ6IDEwMHB4OyAKKyAgICAgICAgcGFkZGluZzogMTBweDsKKyAgICAgICAgd2lk
dGg6IDI3MHB4OworICAgIH0KKworICAgICNhcnRpY2xlIHsKKyAgICAgICAgLXdlYmtpdC1mbG93
LWludG86IGZsb3c7CisgICAgfQorCisgICAgLmlubmVyX3Njcm9sbCB7CisgICAgICAgIGhlaWdo
dDogNzVweDsKKyAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ3JlZW47CisgICAgICAgIG1hcmdp
bjogNXB4OworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgICBwYWRkaW5nOiA1cHg7
CisgICAgfQorCisgICAgcCB7CisgICAgICAgIG1hcmdpbjogMHB4OworICAgIH0KKzwvc3R5bGU+
CisKKzxzY3JpcHQ+CisgICAgb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1
MCwgMjMwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5
KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3Jv
bGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwg
MCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKworPGJvZHk+CisgICAgPGRpdj4KKyAg
ICAgICAgVGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcgY2FuIGJlIHNjcm9sbGVkIG5vcm1h
bGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbDogCisgICAgICAgIDx1bD4KKyAgICAgICAgICAgIDxs
aT5TY3JvbGxpbmcgaW5zaWRlIHRoZSBncmVlbiBkaXYgc2hvdWxkIHdvcmsgdW50aWwgaXQgcmVh
Y2hlcyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBzaG91bGQgc2Nyb2xsLjwv
bGk+CisgICAgICAgICAgICA8bGk+U2Nyb2xsaW5nIGluc2lkZSB0aGUgb3JhbmdlIGRpdiBzaG91
bGQgd29yayB1bnRpbCBpdCByZWFjaGVzIHRoZSBlbmQgYW5kIHRoZW4gdGhlIGJsdWUgY29udGFp
bmVyIHNob3VsZCBOT1Qgc2Nyb2xsIGJlY2F1c2UgdGhlIHJlZ2lvbiBpbiB3aGljaCB0aGUgb3Jh
bmdlIGRpdiBpcyBmbG93ZWQgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkPC9saT4KKyAgICAgICAg
PC91bD4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgICAgIDwh
LS0gY29udGVudCB0byBiZSBmbG93ZWQgaW4gcmVnaW9ucyAtLT4KKyAgICAgICAgPGRpdiBpZD0i
YXJ0aWNsZSI+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29u
dGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zPC9wPgorICAgICAgICAgICAgPGRp
diBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iaGVpZ2h0OiAzMHB4Ij4KKyAgICAgICAgICAg
ICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0
byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3Mg
dGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRp
Y2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxv
dyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMg
dW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIu
IEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50
IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRv
IHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2li
aWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNl
IGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNl
MSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxwPmlzIGxlc3MgdGhhbiB0
aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNj
cm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJl
YWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxl
IHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gPC9wPgorICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iaW5uZXJfc2Nyb2xsIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiBvcmFu
Z2U7Ij4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29u
dGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUg
Y29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNv
bnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJz
b3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJl
Z2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhl
IGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBm
bG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0
aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpz
aG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBl
dmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50
IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAg
IDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZp
bGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFu
IHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwg
c2Nyb2xsYmFyLiBDYXNlMS48L3A+CisgICAgICAgIDwvZGl2PgorCisgICAgICAgIDwhLS0gcmVn
aW9ucyB0aGF0IHdpbGwgZnJhZ21lbnQgdGhlIGNvbnRlbnQgLS0+CisgICAgICAgIDxkaXYgY2xh
c3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJl
Z2lvbiIgaWQ9InJlZ2lvbjQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
aGVlbC1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVl
bC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5mYWE1MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQ6IDE2cHgvMTZweCBtb25vc3BhY2U7IH0KKwor
ICAgIC5yZWdpb24geworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7CisgICAgICAgIHBh
ZGRpbmc6IDJweDsKKyAgICAgICAgd2lkdGg6IDQ1MHB4OworICAgICAgICBoZWlnaHQ6IDQwcHg7
CisgICAgfQorCisgICAgI3JlZ2lvbjQgeworICAgICAgICBoZWlnaHQ6IDMwOHB4OworICAgIH0K
KworICAgIHAgeworICAgICAgICBtYXJnaW46IDBweDsKKyAgICB9CisKKyAgICAjY29udGFpbmVy
IHsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87IAorICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBi
bHVlOworICAgICAgICB3aWR0aDogNDcwcHg7CisgICAgICAgIGhlaWdodDogMjUwcHg7IAorICAg
ICAgICBwYWRkaW5nOiAzMHB4OworICAgIH0KKworICAgICNpbm5lcl9zY3JvbGwgeworICAgICAg
ICBoZWlnaHQ6IDc1cHg7CisgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGdyZWVuOworICAgICAg
ICBtYXJnaW46IDVweDsKKyAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICAgICAgcGFkZGlu
ZzogNXB4OworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgICAgb25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMzAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jb250
aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTAwMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKworPGJvZHk+
CisgICAgPHA+PGI+VGhlIHRleHQgcGFzc2VzIGlmIGV2ZXJ5dGhpbmcgY2FuIGJlIHNjcm9sbGVk
IG5vcm1hbGx5IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4gU2Nyb2xsaW5nIGluc2lkZSB0aGUgZ3Jl
ZW4gZGl2IHNob3VsZCB3b3JrIHVudGlsIGl0IHJlYWNoZXMgdGhlIGVuZCBhbmQgdGhlbiB0aGUg
Ymx1ZSBjb250YWluZXIgc2hvdWxkIHNjcm9sbC48L2I+PC9wPjwvYnI+CisKKyAgICA8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgorICAgICAgICAgICAg
PHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmls
bCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIDwvcD4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2lu
LXRvcDogMXB4Ij5jb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28g
dGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLjwvcD4KKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+CisgICAgICAgICAgICA8cCBzdHls
ZT0ibWFyZ2luLXRvcDogMXB4Ij5DYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRo
ZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLDwvcD4KKyAg
ICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjQiPgor
ICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDFweCI+dGhlIHVzZXIgaXMgdW5hYmxl
IHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2
ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBz
dGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9s
bCB0aGUgY29udGFpbmVyIGNvbnRlbnQuPC9wPgorICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJf
c2Nyb2xsIj4KKyAgICAgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2gg
Y29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0
aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhl
IGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBj
dXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBh
IHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUg
dGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRo
ZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhl
biB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJl
ICpzaG91bGQgYmUqIGEgcG9zc2liaWxpdHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVu
dCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250
ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRo
YXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9u
cyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2Yg
cmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENh
c2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50
ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwg
dGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUg
bW91c2UgaXMgb3V0c2lkZSB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRl
IHRoZSBjb250YWluZXIsIHRoZW4gdGhlIHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRh
aW5lciBjb250ZW50LiBUaGVyZSAqc2hvdWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0
aGUgY29udGFpbmVyIGNvbnRlbnQgZXZlbiB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0
aGUgZmxvdyB0aHJlYWQgY29udGVudCBpbiByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAg
ICAgICAgIDxwPkFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93
IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVz
cyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lvbnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVy
dGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4gSWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBm
bG93IHRocmVhZCBmcmFnbWVudGVkIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBp
cyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBjb250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNl
Mi4gSG93ZXZlciwgaWYgdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRl
bnQgYnV0IHN0aWxsIGluc2lkZSB0aGUgY29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUg
dG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3Nz
aWJpbGl0eSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91
c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENh
c2UxKTwvcD4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQg
dGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBh
bmQgdGhlIHNpemUgb2YgdGhlIGNvbnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVn
aW9ucyBzbyB0aGF0IHRoZSBjb250YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2Ux
LiBJZiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQg
Y29udGVudCBpbnNpZGUgYSByZWdpb24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhl
IGNvbnRlbnQgaW5zaWRlIHRoZSBjb250YWluZXIuIENhc2UyLjwvcD4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjA5NDg4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPCFET0NUWVBF
IGh0bWw+CisKKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udDogMTZweC8xNnB4IG1vbm9zcGFjZTsg
fQorCisgICAgLnJlZ2lvbiB7CisgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworICAg
ICAgICB3aWR0aDogNDUwcHg7CisgICAgICAgIGhlaWdodDogNDBweDsKKyAgICAgICAgYm9yZGVy
OiAxcHggc29saWQgcmVkOworICAgICAgICBwYWRkaW5nOiAycHg7CisgICAgfQorCisgICAgI3Jl
Z2lvbjQgeworICAgICAgICBoZWlnaHQ6IGF1dG87CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7
CisgICAgICAgIG92ZXJmbG93OiBhdXRvOyAKKyAgICAgICAgYm9yZGVyOiAzcHggc29saWQgYmx1
ZTsgCisgICAgICAgIGhlaWdodDogMjUwcHg7IAorICAgICAgICBwYWRkaW5nOiAzMHB4OworICAg
ICAgICB3aWR0aDogNDcwcHg7CisgICAgfQorCisgICAgI2FydGljbGUgeworICAgICAgICAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzsKKyAgICB9CisKKyAgICAjaW5uZXJfc2Nyb2xsIHsKKyAgICAg
ICAgaGVpZ2h0OiA3NXB4OworICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAg
ICAgbWFyZ2luOiA1cHg7CisgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAgIHBhZGRp
bmc6IDVweDsKKyAgICB9CisKKyAgICBwIHsKKyAgICAgICAgbWFyZ2luOiAwcHg7CisgICAgfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTAwLCAzMDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNl
U2Nyb2xsQnkoMCwgLTEwMDAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KDEwMCwgMTAwKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9s
bEJ5KDAsIC0xMDAwMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAw
KTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keT4KKyAgICA8cD48Yj5UaGUg
dGV4dCBwYXNzZXMgaWYgZXZlcnl0aGluZyBjYW4gYmUgc2Nyb2xsZWQgbm9ybWFsbHkgdXNpbmcg
dGhlIG1vdXNlIHdoZWVsLiBTY3JvbGxpbmcgaW5zaWRlIHRoZSBncmVlbiBkaXYgc2hvdWxkIHdv
cmsgdW50aWwgaXQgcmVhY2hlcyB0aGUgZW5kIGFuZCB0aGVuIHRoZSBibHVlIGNvbnRhaW5lciBz
aG91bGQgc2Nyb2xsLjwvYj48L3A+PC9icj4KKworICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgICAgIDwhLS0gY29udGVudCB0byBiZSBmbG93ZWQgaW4gcmVnaW9ucyAtLT4KKyAgICAgICAg
PGRpdiBpZD0iYXJ0aWNsZSI+CisgICAgICAgICAgICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBl
bm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBmaWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6
ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhhbiB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRo
YXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2FsIHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBt
b3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGlu
c2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5hYmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBp
bnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhvd2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRz
aWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5l
ciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQu
PC9wPgorICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJfc2Nyb2xsIj4KKyAgICAgICAgICAgICAg
ICA8cD5Bc3N1bWUgdGhhdCB0aGVyZSBpcyBlbm91Z2ggY29udGVudCBpbiB0aGUgZmxvdyB0byBm
aWxsIHRoZSByZWdpb25zIGFuZCB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyIGlzIGxlc3MgdGhh
biB0aGUgc2l6ZSBvZiByZWdpb25zIHNvIHRoYXQgdGhlIGNvbnRhaW5lciBnZXRzIHZlcnRpY2Fs
IHNjcm9sbGJhci4gQ2FzZTEuIElmIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0
aHJlYWQgZnJhZ21lbnRlZCBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiwgdGhlIHVzZXIgaXMgdW5h
YmxlIHRvIHNjcm9sbCB0aGUgY29udGVudCBpbnNpZGUgdGhlIGNvbnRhaW5lci4gQ2FzZTIuIEhv
d2V2ZXIsIGlmIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGJ1
dCBzdGlsbCBpbnNpZGUgdGhlIGNvbnRhaW5lciwgdGhlbiB0aGUgdXNlciBpcyBhYmxlIHRvIHNj
cm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQuIFRoZXJlICpzaG91bGQgYmUqIGEgcG9zc2liaWxp
dHkgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIgY29udGVudCBldmVuIHdoZW4gdGhlIG1vdXNlIGN1
cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBjb250ZW50IGluIHJlZ2lvbnMuIChDYXNlMSk8
L3A+CisgICAgICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRl
bnQgaW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNv
bnRhaW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250
YWluZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29y
IGlzIG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdp
b24sIHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBj
b250YWluZXIuIENhc2UyLiBIb3dldmVyLCBpZiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZmxv
dyB0aHJlYWQgY29udGVudCBidXQgc3RpbGwgaW5zaWRlIHRoZSBjb250YWluZXIsIHRoZW4gdGhl
IHVzZXIgaXMgYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRhaW5lciBjb250ZW50LiBUaGVyZSAqc2hv
dWxkIGJlKiBhIHBvc3NpYmlsaXR5IHRvIHNjcm9sbCB0aGUgY29udGFpbmVyIGNvbnRlbnQgZXZl
biB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaXMgb3ZlciB0aGUgZmxvdyB0aHJlYWQgY29udGVudCBp
biByZWdpb25zLiAoQ2FzZTEpPC9wPgorICAgICAgICAgICAgICAgIDxwPkFzc3VtZSB0aGF0IHRo
ZXJlIGlzIGVub3VnaCBjb250ZW50IGluIHRoZSBmbG93IHRvIGZpbGwgdGhlIHJlZ2lvbnMgYW5k
IHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIgaXMgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHJlZ2lv
bnMgc28gdGhhdCB0aGUgY29udGFpbmVyIGdldHMgdmVydGljYWwgc2Nyb2xsYmFyLiBDYXNlMS4g
SWYgdGhlIG1vdXNlIGN1cnNvciBpcyBvdmVyIHRoZSBmbG93IHRocmVhZCBmcmFnbWVudGVkIGNv
bnRlbnQgaW5zaWRlIGEgcmVnaW9uLCB0aGUgdXNlciBpcyB1bmFibGUgdG8gc2Nyb2xsIHRoZSBj
b250ZW50IGluc2lkZSB0aGUgY29udGFpbmVyLiBDYXNlMi4gSG93ZXZlciwgaWYgdGhlIG1vdXNl
IGlzIG91dHNpZGUgdGhlIGZsb3cgdGhyZWFkIGNvbnRlbnQgYnV0IHN0aWxsIGluc2lkZSB0aGUg
Y29udGFpbmVyLCB0aGVuIHRoZSB1c2VyIGlzIGFibGUgdG8gc2Nyb2xsIHRoZSBjb250YWluZXIg
Y29udGVudC4gVGhlcmUgKnNob3VsZCBiZSogYSBwb3NzaWJpbGl0eSB0byBzY3JvbGwgdGhlIGNv
bnRhaW5lciBjb250ZW50IGV2ZW4gd2hlbiB0aGUgbW91c2UgY3Vyc29yIGlzIG92ZXIgdGhlIGZs
b3cgdGhyZWFkIGNvbnRlbnQgaW4gcmVnaW9ucy4gKENhc2UxKTwvcD4KKyAgICAgICAgICAgIDwv
ZGl2PgorICAgICAgICAgICAgPHA+QXNzdW1lIHRoYXQgdGhlcmUgaXMgZW5vdWdoIGNvbnRlbnQg
aW4gdGhlIGZsb3cgdG8gZmlsbCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNpemUgb2YgdGhlIGNvbnRh
aW5lciBpcyBsZXNzIHRoYW4gdGhlIHNpemUgb2YgcmVnaW9ucyBzbyB0aGF0IHRoZSBjb250YWlu
ZXIgZ2V0cyB2ZXJ0aWNhbCBzY3JvbGxiYXIuIENhc2UxLiBJZiB0aGUgbW91c2UgY3Vyc29yIGlz
IG92ZXIgdGhlIGZsb3cgdGhyZWFkIGZyYWdtZW50ZWQgY29udGVudCBpbnNpZGUgYSByZWdpb24s
IHRoZSB1c2VyIGlzIHVuYWJsZSB0byBzY3JvbGwgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBjb250
YWluZXIuIENhc2UyLjwvcD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPCEtLSByZWdpb25z
IHRoYXQgd2lsbCBmcmFnbWVudCB0aGUgY29udGVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9u
IiBpZD0icmVnaW9uNCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NmMyZjQuLjY3NjE4ZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyOCBAQAorMjAxNC0wMS0yOCAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9i
ZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIFVuYWJsZSB0byBzY3JvbGwgYSBzY3JvbGxh
YmxlIGNvbnRhaW5lciBmb3IgcmVnaW9ucyB1c2luZyBtb3VzZSB3aGVlbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzODg2CisKKyAgICAgICAgV2hl
biBhbiBlbGVtZW50IGZsb3dlZCBpbnRvIGEgc2Nyb2xsYWJsZSByZWdpb24gaXMgc2Nyb2xsZWQg
dXNpbmcgdGhlIG1vdXNlIHdoZWVsLCB0aGUgZXZlbnQgCisgICAgICAgIG5lZWRzIHRvIGJlIHBy
b3BhZ2F0ZWQgdG8gdGhlIHJlZ2lvbiBjb250YWluaW5nIHRoYXQgZWxlbWVudCwgb24gdG9wIG9m
IHdoaWNoIHRoZSBjdXJzb3IKKyAgICAgICAgaXMgbG9jYXRlZC4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBUZXN0czogZmFzdC9yZWdpb25zL3doZWVs
LXNjcm9sbC1hYnNwb3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL3doZWVsLXNj
cm9sbC5odG1sCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzY3JvbGxOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGVm
YXVsdFdoZWVsRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6c2Nyb2xsV2l0aFdoZWVsRXZlbnRMb2NhdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkZyb21B
YnNvbHV0ZVBvaW50QW5kQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5oOgorCiAyMDE0LTAxLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJlbmFtZSBub3RpZnlSZW5kZXJlck9mU2VsZWN0aW9uQ2hhbmdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMjE0NWJiYzguLmEyMzkzZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgaW5saW5l
IFNjcm9sbEdyYW51bGFyaXR5IHdoZWVsR3JhbnVsYXJpdHlUb1Njcm9sbEdyYW51bGFyaXR5KHVu
c2lnbmVkIGRlbAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxv
YXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxEaXJlY3Rpb24g
cG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVjdGlvbiwgTm9k
ZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQorc3RhdGljIGlubGluZSBib29sIHNjcm9s
bE5vZGUoZmxvYXQgZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGxE
aXJlY3Rpb24gcG9zaXRpdmVEaXJlY3Rpb24sIFNjcm9sbERpcmVjdGlvbiBuZWdhdGl2ZURpcmVj
dGlvbiwgTm9kZSogbm9kZSwgRWxlbWVudCoqIHN0b3BFbGVtZW50LCBjb25zdCBJbnRQb2ludCYg
YWJzb2x1dGVQb2ludCkKIHsKICAgICBpZiAoIWRlbHRhKQogICAgICAgICByZXR1cm4gZmFsc2U7
CkBAIC0yODksNyArMjg5LDggQEAgc3RhdGljIGlubGluZSBib29sIHNjcm9sbE5vZGUoZmxvYXQg
ZGVsdGEsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBTY3JvbGwKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIFJlbmRlckJveCogZW5jbG9zaW5nQm94ID0gbm9kZS0+cmVuZGVyZXIo
KS0+ZW5jbG9zaW5nQm94KCk7CiAgICAgZmxvYXQgYWJzRGVsdGEgPSBkZWx0YSA+IDAgPyBkZWx0
YSA6IC1kZWx0YTsKLSAgICByZXR1cm4gZW5jbG9zaW5nQm94LT5zY3JvbGwoZGVsdGEgPCAwID8g
bmVnYXRpdmVEaXJlY3Rpb24gOiBwb3NpdGl2ZURpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGFic0Rl
bHRhLCBzdG9wRWxlbWVudCk7CisKKyAgICByZXR1cm4gZW5jbG9zaW5nQm94LT5zY3JvbGxXaXRo
V2hlZWxFdmVudExvY2F0aW9uKGRlbHRhIDwgMCA/IG5lZ2F0aXZlRGlyZWN0aW9uIDogcG9zaXRp
dmVEaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBhYnNEZWx0YSwgZW5jbG9zaW5nQm94LCBzdG9wRWxl
bWVudCwgYWJzb2x1dGVQb2ludCk7CiB9CiAKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYg
IVBMQVRGT1JNKElPUykpCkBAIC0yNjEyLDEwICsyNjEzLDEwIEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBXaGVlbEV2ZW50KiB3
aGVlbEV2CiAgICAgCiAgICAgLy8gQnJlYWsgdXAgaW50byB0d28gc2Nyb2xscyBpZiB3ZSBuZWVk
IHRvLiAgRGlhZ29uYWwgbW92ZW1lbnQgb24gCiAgICAgLy8gYSBNYWNCb29rIHBybyBpcyBhbiBl
eGFtcGxlIG9mIGEgMi1kaW1lbnNpb25hbCBtb3VzZSB3aGVlbCBldmVudCAod2hlcmUgYm90aCBk
ZWx0YVggYW5kIGRlbHRhWSBjYW4gYmUgc2V0KS4KLSAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24g
IT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZl
bnQtPmRlbHRhWCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0
Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5hbnREaXJlY3Rpb24gIT0gRG9taW5h
bnRTY3JvbGxEaXJlY3Rpb25WZXJ0aWNhbCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRh
WCgpLCBncmFudWxhcml0eSwgU2Nyb2xsUmlnaHQsIFNjcm9sbExlZnQsIHN0YXJ0Tm9kZSwgJnN0
b3BFbGVtZW50LCByb3VuZGVkSW50UG9pbnQod2hlZWxFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigp
KSkpCiAgICAgICAgIHdoZWVsRXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgCi0gICAg
aWYgKGRvbWluYW50RGlyZWN0aW9uICE9IERvbWluYW50U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRh
bCAmJiBzY3JvbGxOb2RlKHdoZWVsRXZlbnQtPmRlbHRhWSgpLCBncmFudWxhcml0eSwgU2Nyb2xs
RG93biwgU2Nyb2xsVXAsIHN0YXJ0Tm9kZSwgJnN0b3BFbGVtZW50KSkKKyAgICBpZiAoZG9taW5h
bnREaXJlY3Rpb24gIT0gRG9taW5hbnRTY3JvbGxEaXJlY3Rpb25Ib3Jpem9udGFsICYmIHNjcm9s
bE5vZGUod2hlZWxFdmVudC0+ZGVsdGFZKCksIGdyYW51bGFyaXR5LCBTY3JvbGxEb3duLCBTY3Jv
bGxVcCwgc3RhcnROb2RlLCAmc3RvcEVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludCh3aGVlbEV2ZW50
LT5hYnNvbHV0ZUxvY2F0aW9uKCkpKSkKICAgICAgICAgd2hlZWxFdmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKICAgICAKICAgICBpZiAoIW1fbGF0Y2hlZFdoZWVsRXZlbnRFbGVtZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBjYjkwNWE2Li4yMmRmY2Q2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNzYwLDIxICs3NjAsNTEg
QEAgaW50IFJlbmRlckJveDo6aW5zdHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpIGNvbnN0
CiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgUmVuZGVyQm94OjpzY3JvbGwoU2Nyb2xsRGlyZWN0
aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRp
cGxpZXIsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCkKK2Jvb2wgUmVuZGVyQm94OjpzY3JvbGxMYXll
cihTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0
eSwgZmxvYXQgbXVsdGlwbGllciwgRWxlbWVudCoqIHN0b3BFbGVtZW50KQogewotICAgIFJlbmRl
ckxheWVyKiBsID0gbGF5ZXIoKTsKLSAgICBpZiAobCAmJiBsLT5zY3JvbGwoZGlyZWN0aW9uLCBn
cmFudWxhcml0eSwgbXVsdGlwbGllcikpIHsKKyAgICBSZW5kZXJMYXllciogYm94TGF5ZXIgPSBs
YXllcigpOworICAgIGlmIChib3hMYXllciAmJiBib3hMYXllci0+c2Nyb2xsKGRpcmVjdGlvbiwg
Z3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKSB7CiAgICAgICAgIGlmIChzdG9wRWxlbWVudCkKICAg
ICAgICAgICAgICpzdG9wRWxlbWVudCA9IGVsZW1lbnQoKTsKKwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyQm94OjpzY3Jv
bGwoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHksIGZsb2F0IG11bHRpcGxpZXIsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCkKK3sKKyAgICBpZiAo
c2Nyb2xsTGF5ZXIoZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVsdGlwbGllciwgc3RvcEVsZW1l
bnQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmIChzdG9wRWxlbWVudCAmJiAqc3Rv
cEVsZW1lbnQgJiYgKnN0b3BFbGVtZW50ID09IGVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKICAgICBSZW5kZXJCbG9jayogYiA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIGlmIChi
ICYmICFiLT5pc1JlbmRlclZpZXcoKSkKICAgICAgICAgcmV0dXJuIGItPnNjcm9sbChkaXJlY3Rp
b24sIGdyYW51bGFyaXR5LCBtdWx0aXBsaWVyLCBzdG9wRWxlbWVudCk7CisKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyQm94OjpzY3JvbGxXaXRoV2hlZWxFdmVudExvY2F0aW9u
KFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5
LCBmbG9hdCBtdWx0aXBsaWVyLCBSZW5kZXJCb3gqIHN0YXJ0Qm94LCBFbGVtZW50Kiogc3RvcEVs
ZW1lbnQsIEludFBvaW50IGFic29sdXRlUG9pbnQpCit7CisgICAgaWYgKHNjcm9sbExheWVyKGRp
cmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BFbGVtZW50KSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBpZiAoc3RvcEVsZW1lbnQgJiYgKnN0b3BFbGVtZW50ICYmICpz
dG9wRWxlbWVudCA9PSBlbGVtZW50KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVu
ZGVyQmxvY2sqIG5leHRTY3JvbGxCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOworICAgIGlmIChu
ZXh0U2Nyb2xsQmxvY2sgJiYgbmV4dFNjcm9sbEJsb2NrLT5pc1JlbmRlck5hbWVkRmxvd1RocmVh
ZCgpKSB7CisgICAgICAgIEFTU0VSVChzdGFydEJveCk7CisgICAgICAgIG5leHRTY3JvbGxCbG9j
ayA9IHRvUmVuZGVyRmxvd1RocmVhZChuZXh0U2Nyb2xsQmxvY2spLT5yZWdpb25Gcm9tQWJzb2x1
dGVQb2ludEFuZEJveChhYnNvbHV0ZVBvaW50LCAqc3RhcnRCb3gpOworICAgIH0KKworICAgIGlm
IChuZXh0U2Nyb2xsQmxvY2sgJiYgIW5leHRTY3JvbGxCbG9jay0+aXNSZW5kZXJWaWV3KCkpCisg
ICAgICAgIHJldHVybiBuZXh0U2Nyb2xsQmxvY2stPnNjcm9sbFdpdGhXaGVlbEV2ZW50TG9jYXRp
b24oZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVsdGlwbGllciwgc3RhcnRCb3gsIHN0b3BFbGVt
ZW50LCBhYnNvbHV0ZVBvaW50KTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IGY3MjJjZDcuLjQ0NDFjMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQ1Myw2ICs0NTMsNyBAQCBwdWJsaWM6CiAgICAg
aW50IGluc3RyaW5zaWNTY3JvbGxiYXJMb2dpY2FsV2lkdGgoKSBjb25zdDsKICAgICBpbnQgc2Ny
b2xsYmFyTG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSA6IHZlcnRpY2FsU2Ny
b2xsYmFyV2lkdGgoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9u
LCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9w
RWxlbWVudCA9IDApOworICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxXaXRoV2hlZWxFdmVudExvY2F0
aW9uKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIs
IFJlbmRlckJveCogc3RhcnRCb3gsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCwgSW50UG9pbnQgYWJz
b2x1dGVQb2ludCk7CiAgICAgdmlydHVhbCBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNh
bERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVt
ZW50Kiogc3RvcEVsZW1lbnQgPSAwKTsKICAgICBib29sIGNhbkJlU2Nyb2xsZWRBbmRIYXNTY3Jv
bGxhYmxlQXJlYSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBjYW5CZVByb2dyYW1hdGljYWxs
eVNjcm9sbGVkKCkgY29uc3Q7CkBAIC02NTcsNiArNjU4LDggQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZVNoYXBlT3V0c2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKGNvbnN0IFJlbmRlclN0eWxl
JiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKICNlbmRpZgogCisgICAgYm9vbCBzY3Jv
bGxMYXllcihTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBs
aWVyLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQpOworCiAgICAgYm9vbCBmaXhlZEVsZW1lbnRMYXlz
T3V0UmVsYXRpdmVUb0ZyYW1lKGNvbnN0IEZyYW1lVmlldyYpIGNvbnN0OwogCiAgICAgYm9vbCBp
bmNsdWRlVmVydGljYWxTY3JvbGxiYXJTaXplKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggOGQ1NTJlNy4uMDVkMmEyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtNDYw
LDcgKzQ2MCwyOSBAQCBSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkF0Qmxv
Y2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiBjbGFtcEJveCwgTAogICAgICAgICByZXR1cm4gcmVn
aW9uOwogICAgIHJldHVybiByZWdpb24gPyBjbGFtcEJveC0+Y2xhbXBUb1N0YXJ0QW5kRW5kUmVn
aW9ucyhyZWdpb24pIDogMDsKIH0KLSAgICAKKworUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhy
ZWFkOjpyZWdpb25Gcm9tQWJzb2x1dGVQb2ludEFuZEJveChjb25zdCBJbnRQb2ludCYgYWJzb2x1
dGVQb2ludCwgY29uc3QgUmVuZGVyQm94JiBmbG93ZWRCb3gpCit7CisgICAgUmVuZGVyUmVnaW9u
KiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBu
dWxscHRyOworICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KCZmbG93ZWRCb3gsIHN0YXJ0UmVnaW9u
LCBlbmRSZWdpb24pOworCisgICAgaWYgKCFzdGFydFJlZ2lvbikKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVnaW9uTGlzdC5maW5kKHN0YXJ0UmVn
aW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7Cisg
ICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7CisgICAgICAgIEludFJlY3QgcmVn
aW9uQWJzb2x1dGVSZWN0KHJvdW5kZWRJbnRQb2ludChyZWdpb24tPmxvY2FsVG9BYnNvbHV0ZSgp
KSwgcm91bmRlZEludFNpemUocmVnaW9uLT5mcmFtZVJlY3QoKS5zaXplKCkpKTsKKyAgICAgICAg
aWYgKHJlZ2lvbkFic29sdXRlUmVjdC5jb250YWlucyhhYnNvbHV0ZVBvaW50KSkKKyAgICAgICAg
ICAgIHJldHVybiByZWdpb247CisKKyAgICAgICAgaWYgKHJlZ2lvbiA9PSBlbmRSZWdpb24pCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogTGF5
b3V0UG9pbnQgUmVuZGVyRmxvd1RocmVhZDo6YWRqdXN0ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZz
ZXRQYXJlbnQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIGJveE1vZGVsT2JqZWN0LCBjb25z
dCBMYXlvdXRQb2ludCYgc3RhcnRQb2ludCkKIHsKICAgICBMYXlvdXRQb2ludCByZWZlcmVuY2VQ
b2ludCA9IHN0YXJ0UG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuaAppbmRleCBmY2VkNjQ1Li5mMzk2YjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTExNSw2ICsxMTUsOCBAQCBwdWJsaWM6CiAKICAg
ICBSZW5kZXJSZWdpb24qIHJlZ2lvbkF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5
b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2UsIFJlZ2lvbkF1dG9HZW5lcmF0
aW9uUG9saWN5ID0gQWxsb3dSZWdpb25BdXRvR2VuZXJhdGlvbik7CiAKKyAgICBSZW5kZXJSZWdp
b24qIHJlZ2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KGNvbnN0IEludFBvaW50JiwgY29uc3Qg
UmVuZGVyQm94JiBmbG93ZWRCb3gpOworCiAgICAgYm9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dp
Y2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0
aDsgfQogICAgIGJvb2wgcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodDsgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>