<?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>111790</bug_id>
          
          <creation_ts>2013-03-07 16:12:23 -0800</creation_ts>
          <short_desc>Flexitems no longer default min-width to min-content</short_desc>
          <delta_ts>2013-04-28 09:45:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62048</blocked>
    
    <blocked>114566</blocked>
    
    <blocked>110913</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>arv</cc>
    
    <cc>buildbot</cc>
    
    <cc>cbiesinger</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dholbert</cc>
    
    <cc>eae</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>jer.noble</cc>
    
    <cc>leviw</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>syoichi</cc>
    
    <cc>tabatkins</cc>
    
    <cc>tony</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>850589</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-07 16:12:23 -0800</bug_when>
    <thetext>Flexitems no longer default min-width to min-content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850597</commentid>
    <comment_count>1</comment_count>
      <attachid>192102</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-07 16:22:18 -0800</bug_when>
    <thetext>Created attachment 192102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850600</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-07 16:25:22 -0800</bug_when>
    <thetext>*** Bug 97747 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850602</commentid>
    <comment_count>3</comment_count>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-03-07 16:26:37 -0800</bug_when>
    <thetext>yay!

this will also fix bug 110913. does nodeFromRect-shadow.html fail for this patch as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850803</commentid>
    <comment_count>4</comment_count>
      <attachid>192102</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 20:05:02 -0800</bug_when>
    <thetext>Comment on attachment 192102
Patch

Attachment 192102 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17037265

New failing tests:
media/media-document-audio-repaint.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851315</commentid>
    <comment_count>5</comment_count>
      <attachid>192102</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-08 10:34:35 -0800</bug_when>
    <thetext>Comment on attachment 192102
Patch

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

I had a few questions before I felt comfortable r+&apos;ing this.

&gt; Source/WebCore/ChangeLog:9
&gt; +        The CSSWG has agreed to remove this requirement from the spec because
&gt; +        it added too much confusion. This means we can remove all the places we

Can you link to the mailing list thread where this is agreed upon?

&gt; Source/WebCore/rendering/RenderButton.cpp:116
&gt; +    innerStyle-&gt;setFlexShrink(0);

Why wasn&apos;t button shrinking a problem before this change?

&gt; LayoutTests/css3/flexbox/box-sizing.html:27
&gt; +    -webkit-flex: 0 0 auto;
&gt; +    flex: 0 0 auto;

Nit: &apos;none&apos; seems clearer than &apos;0 0 auto&apos;.

&gt; LayoutTests/css3/flexbox/content-height-with-scrollbars.html:12
&gt; +    -webkit-flex: 0 0 auto;
&gt; +    flex: 0 0 auto;

Ditto.

&gt; LayoutTests/css3/flexbox/cross-axis-scrollbar.html:24
&gt; +    -webkit-flex: 0 0 auto;
&gt; +    flex: 0 0 auto;

Ditto.

&gt; LayoutTests/css3/flexbox/cross-axis-scrollbar.html:40
&gt; +    -webkit-flex: 0 0 auto;
&gt; +    flex: 0 0 auto;

Ditto.

&gt; LayoutTests/css3/flexbox/flex-item-min-size-expected.txt:-3
&gt; -Tests that flex items have default min-size to min-content in the main axis direction.
&gt; - PASS
&gt; - PASS

Should we add some tests with min-width: -webkit-min-content?  I suspect we don&apos;t have explicit tests for this.  E.g., you could add min-width: -webkit-min-content to the flexitems and keep this test.

&gt; LayoutTests/css3/flexbox/flexbox-baseline.html:25
&gt; +    -webkit-flex: 0 0 auto;
&gt; +    flex: 0 0 auto;

Ditto.

&gt; LayoutTests/css3/flexbox/preferred-widths.html:12
&gt; +    -webkit-flex: 0 0 auto;

Ditto. What about unprefixed?

&gt; LayoutTests/fast/css/auto-min-size.html:16
&gt; +shouldBe(&apos;div.style.minWidth&apos;, &apos;&quot;0px&quot;&apos;);
&gt;  shouldBe(&apos;div.style.maxWidth&apos;, &apos;&quot;&quot;&apos;);

Why does minWidth return 0px and maxWidth return an empty string?  Shouldn&apos;t these both be empty strings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851448</commentid>
    <comment_count>6</comment_count>
      <attachid>192102</attachid>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-03-08 12:58:20 -0800</bug_when>
    <thetext>Comment on attachment 192102
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderButton.cpp:116
&gt;&gt; +    innerStyle-&gt;setFlexShrink(0);
&gt; 
&gt; Why wasn&apos;t button shrinking a problem before this change?

I thought the original was correct. Why do you not want the button content to shrink with the button?

&gt;&gt; LayoutTests/css3/flexbox/flexbox-baseline.html:25
&gt;&gt; +    flex: 0 0 auto;
&gt; 
&gt; Ditto.

Maybe add a class in flexbox.css and use that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851768</commentid>
    <comment_count>7</comment_count>
      <attachid>192102</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-09 02:55:23 -0800</bug_when>
    <thetext>Comment on attachment 192102
Patch

Attachment 192102 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17014533

New failing tests:
media/video-controls-rendering.html
mathml/presentation/fractions.xhtml
mathml/presentation/row-alignment.xhtml
media/controls-strict.html
mathml/presentation/mo.xhtml
mathml/presentation/mo-stretch.html
media/video-display-toggle.html
mathml/presentation/attributes.xhtml
media/nodesFromRect-shadowContent.html
media/audio-controls-rendering.html
fast/forms/control-clip-overflow.html
media/video-no-audio.html
mathml/presentation/subsup.xhtml
media/controls-styling-strict.html
mathml/presentation/fractions-vertical-alignment.xhtml
media/controls-without-preload.html
mathml/presentation/over.xhtml
media/video-playing-and-pause.html
mathml/presentation/roots.xhtml
media/controls-after-reload.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851896</commentid>
    <comment_count>8</comment_count>
      <attachid>192102</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-10 07:10:54 -0700</bug_when>
    <thetext>Comment on attachment 192102
Patch

Attachment 192102 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17111344

New failing tests:
editing/pasteboard/smart-paste-001.html
mathml/presentation/fractions.xhtml
media/controls-strict.html
http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
fast/events/mouseover-mouseout.html
mathml/presentation/attributes.xhtml
fast/events/autoscroll-in-textarea.html
fast/events/mouse-moved-remove-frame-crash.html
canvas/philip/tests/2d.text.draw.fontface.notinpage.html
media/audio-controls-rendering.html
fast/history/visited-link-background-color.html
fast/events/mouseout-dead-subframe.html
fast/forms/control-clip-overflow.html
fast/writing-mode/vertical-rl-replaced-selection.html
media/controls-styling-strict.html
mathml/presentation/fractions-vertical-alignment.xhtml
fast/events/mouseover-mouseout2.html
fast/events/event-sender-mouse-moved.html
fullscreen/video-cursor-auto-hide.html
http/tests/plugins/third-party-cookie-accept-policy.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852757</commentid>
    <comment_count>9</comment_count>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-03-11 14:50:55 -0700</bug_when>
    <thetext>Several of those media tests would be fixed by bug 110913 together with bug 112068</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855331</commentid>
    <comment_count>10</comment_count>
      <attachid>192102</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-14 11:06:36 -0700</bug_when>
    <thetext>Comment on attachment 192102
Patch

r- due to test failures (to get out of the review queue).  Maybe most will be fixed by re-uploading?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855544</commentid>
    <comment_count>11</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-14 16:22:55 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 192102 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192102&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        The CSSWG has agreed to remove this requirement from the spec because
&gt; &gt; +        it added too much confusion. This means we can remove all the places we
&gt; 
&gt; Can you link to the mailing list thread where this is agreed upon?

Looks like the spec was just updated.

&gt; &gt; LayoutTests/css3/flexbox/box-sizing.html:27
&gt; &gt; +    -webkit-flex: 0 0 auto;
&gt; &gt; +    flex: 0 0 auto;
&gt; 
&gt; Nit: &apos;none&apos; seems clearer than &apos;0 0 auto&apos;.

I forgot none existed as a valid value! :)

&gt; &gt; LayoutTests/css3/flexbox/flex-item-min-size-expected.txt:-3
&gt; &gt; -Tests that flex items have default min-size to min-content in the main axis direction.
&gt; &gt; - PASS
&gt; &gt; - PASS
&gt; 
&gt; Should we add some tests with min-width: -webkit-min-content?  I suspect we don&apos;t have explicit tests for this.  E.g., you could add min-width: -webkit-min-content to the flexitems and keep this test.

I started with this. It turns out we don&apos;t actually support intrinsic sizing keywords as a width value on flex items before or after this patch.

&gt; &gt; LayoutTests/fast/css/auto-min-size.html:16
&gt; &gt; +shouldBe(&apos;div.style.minWidth&apos;, &apos;&quot;0px&quot;&apos;);
&gt; &gt;  shouldBe(&apos;div.style.maxWidth&apos;, &apos;&quot;&quot;&apos;);
&gt; 
&gt; Why does minWidth return 0px and maxWidth return an empty string?  Shouldn&apos;t these both be empty strings?

Whoops. This was just the test being dumb. We were setting the value to 0 before this and setting it to auto just kept the old value. I reordered the test to make it so that these return the empty string.

(In reply to comment #6)
&gt; (From update of attachment 192102 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192102&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderButton.cpp:116
&gt; &gt;&gt; +    innerStyle-&gt;setFlexShrink(0);
&gt; &gt; 
&gt; &gt; Why wasn&apos;t button shrinking a problem before this change?
&gt; 
&gt; I thought the original was correct. Why do you not want the button content to shrink with the button?

I was confused. There appears to be a flexbox bug hiding in here. I&apos;ll fix that first.

&gt; &gt;&gt; LayoutTests/css3/flexbox/flexbox-baseline.html:25
&gt; &gt;&gt; +    flex: 0 0 auto;
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; Maybe add a class in flexbox.css and use that?

That&apos;s a good suggestion, but most of these tests are just styling &quot;div&quot; or &quot;.flexbox &gt; div&quot; and I&apos;d rather not modify them a bunch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855643</commentid>
    <comment_count>12</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-14 19:17:45 -0700</bug_when>
    <thetext>Button bug 112398.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866409</commentid>
    <comment_count>13</comment_count>
      <attachid>195807</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-29 15:02:57 -0700</bug_when>
    <thetext>Created attachment 195807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866434</commentid>
    <comment_count>14</comment_count>
      <attachid>195807</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-29 15:33:12 -0700</bug_when>
    <thetext>Comment on attachment 195807
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:2204
&gt; +    ASSERT(!logicalWidth.isUndefined());

This was true before this patch, right?

&gt; LayoutTests/ChangeLog:14
&gt; +        * css3/flexbox/flex-item-min-size-expected.txt: Removed.
&gt; +        * css3/flexbox/flex-item-min-size.html: Removed.
&gt; +        These tests are now redundant with tests in fast/css-intrinsic-dimensions.

Ok, although it would be nice to have more tests for flex items with a min-width of -webkit-min-content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866448</commentid>
    <comment_count>15</comment_count>
      <attachid>195807</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-29 16:03:48 -0700</bug_when>
    <thetext>Comment on attachment 195807
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2204
&gt;&gt; +    ASSERT(!logicalWidth.isUndefined());
&gt; 
&gt; This was true before this patch, right?

Oh, this was a bad merge. I&apos;ll remove this line...this assert isn&apos;t really useful.

&gt;&gt; LayoutTests/ChangeLog:14
&gt;&gt; +        These tests are now redundant with tests in fast/css-intrinsic-dimensions.
&gt; 
&gt; Ok, although it would be nice to have more tests for flex items with a min-width of -webkit-min-content.

Yeah...I started converting this test and then it was clear it was going to be very time-consuming and decided it wasn&apos;t worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866478</commentid>
    <comment_count>16</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-03-29 16:31:03 -0700</bug_when>
    <thetext>Committed r147261: &lt;http://trac.webkit.org/changeset/147261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875177</commentid>
    <comment_count>17</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-04-13 09:35:12 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Committed r147261: &lt;http://trac.webkit.org/changeset/147261&gt;

This change caused a regression: Bug 114566.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881711</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-04-25 23:11:31 -0700</bug_when>
    <thetext>This caused bug 115221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882394</commentid>
    <comment_count>19</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-04-28 09:45:26 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Committed r147261: &lt;http://trac.webkit.org/changeset/147261&gt;

This caused bug 115329.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192102</attachid>
            <date>2013-03-07 16:22:18 -0800</date>
            <delta_ts>2013-03-29 15:02:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111790-20130307161822.patch</filename>
            <type>text/plain</type>
            <size>50975</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBmNGUwNmY2MzNiMmVh
NjU2MjBhZWZiYzBiNTJjMGUwNzg0NzMzNS4uYTFmOGYwYTA3YjllYTYxZjI0YmIxYTM1OWVjNzlm
OTBhZWEyYmE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAzLTA3ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRmxleGl0ZW1zIG5vIGxvbmdl
ciBkZWZhdWx0IG1pbi13aWR0aCB0byBtaW4tY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTU1dHIGhhcyBhZ3JlZWQgdG8gcmVtb3Zl
IHRoaXMgcmVxdWlyZW1lbnQgZnJvbSB0aGUgc3BlYyBiZWNhdXNlCisgICAgICAgIGl0IGFkZGVk
IHRvbyBtdWNoIGNvbmZ1c2lvbi4gVGhpcyBtZWFucyB3ZSBjYW4gcmVtb3ZlIGFsbCB0aGUgcGxh
Y2VzIHdlCisgICAgICAgIHNldCBtaW4td2lkdGggdG8gMCBzaW5jZSB0aGF0J3Mgbm93IHRoZSBk
ZWZhdWx0LiBBbHNvLCB3ZSBkb24ndCBuZWVkCisgICAgICAgIHRvIHBhc3MgU2l6ZVR5cGUgdG8g
YSBidW5jaCBvZiBmdW5jdGlvbnMgbm93LiBJIHRoaW5rIHdlIGV2ZW50dWFsbHkgd2FudAorICAg
ICAgICB0byBraWxsIFNpemVUeXBlIGVudGlyZWx5IG5vdywgYnV0IHRoYXQgY2FuIGVhc2lseSBi
ZSBsZWZ0IHVwIHRvIGEgZm9sbG93dXAgcGF0Y2guCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAg
IERpc2FsbG93IGF1dG8gYXMgYSB2YWxpZCBtaW4tc2l6ZSB2YWx1ZS4KKyAgICAgICAgKiBjc3Mv
aHRtbC5jc3M6CisgICAgICAgIChpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0KToKKyAgICAg
ICAgKGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVyLWNvbnRhaW5lciwgaW5wdXRb
dHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyKToKKyAgICAgICAg
KGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrKToKKyAg
ICAgICAgUmVtb3ZlIG5vdyB1bm5lY2Vzc2FyeSBtaW4td2lkdGg6IDAncy4KKworICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpj
b25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94Ojpjb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uVXNpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbEhlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxv
Z2ljYWxIZWlnaHRVc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVS
ZXBsYWNlZExvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWln
aHRSZXNwZWN0aW5nTWluTWF4SGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6YXZhaWxhYmxlTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2Fs
SGVpZ2h0VXNpbmcpOgorICAgICAgICBSZW1vdmUgYWxsIHRoZSB1bm5lZWRlZCBTaXplVHlwZSBh
cmd1bWVudHMgbm93IHRoYXQgd2UgZG9uJ3QgbmVlZCB0bworICAgICAgICBzcGVjaWFsbHkgaGFu
ZGxlIE1pblNpemUgaW4gYWxsIHRoZXNlIGZ1bmN0aW9ucy4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6c3R5bGVXaWxsQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6c2V0dXBJbm5lclN0eWxlKToKKyAgICAgICAgU2V0IGZs
ZXgtc2hyaW5rIHRvIDAgdG8gYXZvaWQgYnV0dG9ucyBzaHJpbmtpbmcuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRG
b3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1h
aW5BeGlzUHJlZmVycmVkU2l6ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVC
b3g6OmFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heCk6CisgICAgICAgIFJlbW92ZSB0aGUgY29k
ZSBmb3IgYXBwbHlpbmcgdGhlIG1pbi1zaXplOiBtaW4tY29udGVudCBjb25zdHJhaW50LgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVV
c2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVuZ3RoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6bWF4UGFnZUxvZ2lj
YWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dp
Y2FsSGVpZ2h0KToKKyAgICAgICAgUmVtb3ZlIGFsbCB0aGUgbm93IHVubmVlZGVkIFNpemVUeXBl
IGFyZ3VtZW50cy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgor
ICAgICAgICBDaGFuZ2UgdGhlIGRlZmF1bHQgbWluLXNpemUgYmFjayB0byAwLgorCiAyMDEzLTAz
LTA3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IENhbid0IGFjdGl2YXRlIGxpbmtzIHdpdGggVm9pY2VPdmVyIGluIFNhZmFyaQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAppbmRleCA3YzM2MDJiODRlZmQwZTc0OTlmMTExMmE1ZTFjMDI5ZGViMGZi
NWE5Li44OTgwYmY4MzFmN2I0ODg5YjFhZWFmMjBjYjU0NTg0MWFiYjYxNWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcApAQCAtMjIwMiw2ICsyMjAyLDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBh
cnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1pbldpZHRoOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNaW5Mb2dp
Y2FsV2lkdGg6CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdmFsaWRXaWR0aCh2YWx1ZSk7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdpZHRoOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRMb2dpY2FsV2lkdGg6CiAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gKGlk
ID09IENTU1ZhbHVlQXV0byB8fCB2YWxpZFdpZHRoKHZhbHVlKSk7CkBAIC0yMjE0LDYgKzIyMTcs
OSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpCiAKICAgICBjYXNlIENTU1Byb3BlcnR5TWluSGVpZ2h0OgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRNaW5Mb2dpY2FsSGVpZ2h0OgorICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9IHZhbGlkSGVpZ2h0KHZhbHVlKTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIENTU1By
b3BlcnR5SGVpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRMb2dpY2FsSGVpZ2h0Ogog
ICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IChpZCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsaWRIZWln
aHQodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCA4NWYxYTExODYyYTFhOTYyMTBkYTM3MTg3
NTRjOTI0YWM5NWU3ZGE2Li5lYjRjNWNjNDRjYjQ1N2U0ZmMyOGEyMmZmN2M3NGJlNTk1NDM5MjIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL2h0bWwuY3NzCkBAIC01NTgsNyArNTU4LDYgQEAgaW5wdXQ6Oi13ZWJraXQtZGF0
ZXRpbWUtZWRpdCB7CiAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgIC13ZWJraXQtdXNlci1tb2Rp
Znk6IHJlYWQtb25seSAhaW1wb3J0YW50OwogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAg
ICBtaW4td2lkdGg6IDA7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIApAQCAtODIxLDggKzgy
MCw2IEBAIGlucHV0W3R5cGU9InJhbmdlIl0gewogCiBpbnB1dFt0eXBlPSJyYW5nZSJdOjotd2Vi
a2l0LXNsaWRlci1jb250YWluZXIsIGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtbWVkaWEt
c2xpZGVyLWNvbnRhaW5lciB7CiAgICAgLXdlYmtpdC1mbGV4OiAxOwotICAgIG1pbi13aWR0aDog
MDsKLQogICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgLXdlYmtpdC11c2VyLW1vZGlm
eTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7CiAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwpAQCAt
ODMxLDcgKzgyOCw2IEBAIGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVyLWNvbnRh
aW5lciwgaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpCiAKIGlucHV0W3R5cGU9InJh
bmdlIl06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHsKICAgICAtd2Via2l0LWZsZXg6
IDE7Ci0gICAgbWluLXdpZHRoOiAwOwogICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyOwog
CiAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKaW5kZXggNDU3MzM4MGQ0NjI4OTU1N2U1NzNlOWIxY2YxN2VjYTZiYTUxZDk3NC4u
YmM0YTk1NzI2YmRkMTI2Yzc3ZWE3ODc4MDIxNTI0MmI2ZjllNjVlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4OSwyMiArNDg5LDIyIEBAIExheW91dFVuaXQg
UmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dp
Y2FsSGVpZ2h0KSBjCiB7CiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSBzdHlsZSgpOwog
ICAgIGlmICghc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkpIHsK
LSAgICAgICAgTGF5b3V0VW5pdCBtYXhIID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhNYXhT
aXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWF4SGVpZ2h0KCkpOworICAgICAgICBMYXlvdXRVbml0
IG1heEggPSBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhI
ZWlnaHQoKSk7CiAgICAgICAgIGlmIChtYXhIICE9IC0xKQogICAgICAgICAgICAgbG9naWNhbEhl
aWdodCA9IG1pbihsb2dpY2FsSGVpZ2h0LCBtYXhIKTsKICAgICB9Ci0gICAgcmV0dXJuIG1heChs
b2dpY2FsSGVpZ2h0LCBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlVG9V
c2UtPmxvZ2ljYWxNaW5IZWlnaHQoKSkpOworICAgIHJldHVybiBtYXgobG9naWNhbEhlaWdodCwg
Y29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0KCkp
KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjb25zdAogewogICAgIFJl
bmRlclN0eWxlKiBzdHlsZVRvVXNlID0gc3R5bGUoKTsKICAgICBpZiAoIXN0eWxlVG9Vc2UtPmxv
Z2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIExheW91dFVuaXQgbWF4
SCA9IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYXhTaXplLCBzdHlsZVRvVXNlLT5sb2dp
Y2FsTWF4SGVpZ2h0KCkpOworICAgICAgICBMYXlvdXRVbml0IG1heEggPSBjb21wdXRlQ29udGVu
dExvZ2ljYWxIZWlnaHQoc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpKTsKICAgICAgICAg
aWYgKG1heEggIT0gLTEpCiAgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gbWluKGxvZ2ljYWxI
ZWlnaHQsIG1heEgpOwogICAgIH0KLSAgICByZXR1cm4gbWF4KGxvZ2ljYWxIZWlnaHQsIGNvbXB1
dGVDb250ZW50TG9naWNhbEhlaWdodChNaW5TaXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVp
Z2h0KCkpKTsKKyAgICByZXR1cm4gbWF4KGxvZ2ljYWxIZWlnaHQsIGNvbXB1dGVDb250ZW50TG9n
aWNhbEhlaWdodChzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0KCkpKTsKIH0KIAogSW50UmVj
dCBSZW5kZXJCb3g6OmFic29sdXRlQ29udGVudEJveCgpIGNvbnN0CkBAIC0yMDk1LDkgKzIwOTUs
NiBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uVXNp
bmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBMYXlvdQogCiAgICAgQVNTRVJUKCFsb2dpY2FsV2lkdGgu
aXNVbmRlZmluZWQoKSk7CiAKLSAgICBpZiAod2lkdGhUeXBlID09IE1pblNpemUgJiYgbG9naWNh
bFdpZHRoLmlzQXV0bygpKQotICAgICAgICByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKDApOwotICAgIAogICAgIGlmICghbG9naWNhbFdpZHRoLmlzSW50cmlu
c2ljT3JBdXRvKCkpIHsKICAgICAgICAgLy8gRklYTUU6IElmIHRoZSBjb250YWluaW5nIGJsb2Nr
IGZsb3cgaXMgcGVycGVuZGljdWxhciB0byBvdXIgZGlyZWN0aW9uIHdlIG5lZWQgdG8gdXNlIHRo
ZSBhdmFpbGFibGUgbG9naWNhbCBoZWlnaHQgaW5zdGVhZC4KICAgICAgICAgcmV0dXJuIGFkanVz
dEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2Fs
V2lkdGgsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgdmlldygpKSk7CkBAIC0yNDA3LDcgKzI0MDQs
NyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3V0VW5pdCBsb2dp
Y2FsSGVpZ2h0LCBMYXlvdXRVbml0IGxvZ2ljYQogCiAgICAgICAgIExheW91dFVuaXQgaGVpZ2h0
UmVzdWx0OwogICAgICAgICBpZiAoY2hlY2tNaW5NYXhIZWlnaHQpIHsKLSAgICAgICAgICAgIGhl
aWdodFJlc3VsdCA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6
ZSwgc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgIGhlaWdodFJlc3VsdCA9
IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgICAgIGlmIChoZWlnaHRSZXN1bHQgPT0gLTEpCiAgICAgICAgICAgICAgICAgaGVpZ2h0
UmVzdWx0ID0gY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQ7CiAgICAgICAgICAgICBoZWlnaHRSZXN1
bHQgPSBjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoaGVpZ2h0UmVzdWx0KTsKQEAgLTI0
NTQsMjYgKzI0NTEsMjQgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OnZpZXdMb2dpY2FsSGVpZ2h0
Rm9yUGVyY2VudGFnZXMoKSBjb25zdAogICAgIHJldHVybiB2aWV3KCktPnZpZXdMb2dpY2FsSGVp
Z2h0KCk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbEhlaWdodFVz
aW5nKFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdAorTGF5
b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3Ro
JiBoZWlnaHQpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gY29tcHV0
ZUNvbnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0VHlwZSwgaGVpZ2h0
KTsKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSBjb21wdXRlQ29udGVudEFuZFNjcm9s
bGJhckxvZ2ljYWxIZWlnaHRVc2luZyhoZWlnaHQpOwogICAgIGlmIChsb2dpY2FsSGVpZ2h0ICE9
IC0xKQogICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gYWRqdXN0Qm9yZGVyQm94TG9naWNhbEhlaWdo
dEZvckJveFNpemluZyhsb2dpY2FsSGVpZ2h0KTsKICAgICByZXR1cm4gbG9naWNhbEhlaWdodDsK
IH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChT
aXplVHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKK0xheW91dFVu
aXQgUmVuZGVyQm94Ojpjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBo
ZWlnaHQpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBoZWlnaHRJbmNsdWRpbmdTY3JvbGxiYXIg
PSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhoZWlnaHRUeXBl
LCBoZWlnaHQpOworICAgIExheW91dFVuaXQgaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID0gY29t
cHV0ZUNvbnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0KTsKICAgICBp
ZiAoaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID09IC0xKQogICAgICAgICByZXR1cm4gLTE7CiAg
ICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0Rm9yQm94U2l6aW5nKGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhcikgLSBzY3JvbGxiYXJM
b2dpY2FsSGVpZ2h0KCkpOwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNvbnRl
bnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29u
c3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNv
bnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiBoZWlnaHQp
IGNvbnN0CiB7Ci0gICAgaWYgKGhlaWdodC5pc0F1dG8oKSkKLSAgICAgICAgcmV0dXJuIGhlaWdo
dFR5cGUgPT0gTWluU2l6ZSA/IDAgOiAtMTsKICAgICBpZiAoaGVpZ2h0LmlzRml4ZWQoKSkKICAg
ICAgICAgcmV0dXJuIGhlaWdodC52YWx1ZSgpOwogICAgIGlmIChoZWlnaHQuaXNQZXJjZW50KCkp
CkBAIC0yNTg3LDIxICsyNTgyLDE4IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUGVy
Y2VudGFnZUxvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0CiAKIExheW91
dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0
ZVByZWZlcnJlZCBzaG91bGRDb21wdXRlUHJlZmVycmVkKSBjb25zdAogewotICAgIHJldHVybiBj
b21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoY29tcHV0ZVJl
cGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUoKS0+bG9n
aWNhbFdpZHRoKCkpLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKKyAgICByZXR1cm4gY29tcHV0
ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKGNvbXB1dGVSZXBsYWNl
ZExvZ2ljYWxXaWR0aFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpKSwgc2hvdWxkQ29tcHV0
ZVByZWZlcnJlZCk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRM
b2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgs
IFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCkgY29uc3QKIHsK
LSAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxXaWR0aCA9IChzaG91bGRDb21wdXRlUHJlZmVycmVk
ID09IENvbXB1dGVQcmVmZXJyZWQgJiYgc3R5bGUoKS0+bG9naWNhbE1pbldpZHRoKCkuaXNQZXJj
ZW50KCkpIHx8IHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgpLmlzVW5kZWZpbmVkKCkgPyBsb2dp
Y2FsV2lkdGggOiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhNaW5TaXplLCBzdHls
ZSgpLT5sb2dpY2FsTWluV2lkdGgoKSk7Ci0gICAgTGF5b3V0VW5pdCBtYXhMb2dpY2FsV2lkdGgg
PSAoc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCA9PSBDb21wdXRlUHJlZmVycmVkICYmIHN0eWxlKCkt
PmxvZ2ljYWxNYXhXaWR0aCgpLmlzUGVyY2VudCgpKSB8fCBzdHlsZSgpLT5sb2dpY2FsTWF4V2lk
dGgoKS5pc1VuZGVmaW5lZCgpID8gbG9naWNhbFdpZHRoIDogY29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoVXNpbmcoTWF4U2l6ZSwgc3R5bGUoKS0+bG9naWNhbE1heFdpZHRoKCkpOworICAgIExh
eW91dFVuaXQgbWluTG9naWNhbFdpZHRoID0gKHNob3VsZENvbXB1dGVQcmVmZXJyZWQgPT0gQ29t
cHV0ZVByZWZlcnJlZCAmJiBzdHlsZSgpLT5sb2dpY2FsTWluV2lkdGgoKS5pc1BlcmNlbnQoKSkg
fHwgc3R5bGUoKS0+bG9naWNhbE1pbldpZHRoKCkuaXNVbmRlZmluZWQoKSA/IGxvZ2ljYWxXaWR0
aCA6IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNaW5X
aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IG1heExvZ2ljYWxXaWR0aCA9IChzaG91bGRDb21wdXRl
UHJlZmVycmVkID09IENvbXB1dGVQcmVmZXJyZWQgJiYgc3R5bGUoKS0+bG9naWNhbE1heFdpZHRo
KCkuaXNQZXJjZW50KCkpIHx8IHN0eWxlKCktPmxvZ2ljYWxNYXhXaWR0aCgpLmlzVW5kZWZpbmVk
KCkgPyBsb2dpY2FsV2lkdGggOiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhzdHls
ZSgpLT5sb2dpY2FsTWF4V2lkdGgoKSk7CiAgICAgcmV0dXJuIG1heChtaW5Mb2dpY2FsV2lkdGgs
IG1pbihsb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCkpOwogfQogCi1MYXlvdXRVbml0IFJl
bmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgc2l6ZVR5
cGUsIExlbmd0aCBsb2dpY2FsV2lkdGgpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29t
cHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTGVuZ3RoIGxvZ2ljYWxXaWR0aCkgY29uc3QK
IHsKLSAgICBpZiAoc2l6ZVR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkp
Ci0gICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KDApOwotCiAgICAgc3dpdGNoIChsb2dpY2FsV2lkdGgudHlwZSgpKSB7CiAgICAgICAgIGNhc2Ug
Rml4ZWQ6CiAgICAgICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhsb2dpY2FsV2lkdGgudmFsdWUoKSk7CkBAIC0yNjQ3LDIxICsyNjM5LDE4IEBA
IExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhT
aXplVHlwZSBzaXplVHlwZSwgTGVuZ3RoCiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gY29tcHV0ZVJlcGxh
Y2VkTG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWlnaHQoY29tcHV0ZVJlcGxhY2VkTG9n
aWNhbEhlaWdodFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCktPmxvZ2ljYWxIZWln
aHQoKSkpOworICAgIHJldHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGlu
Z01pbk1heEhlaWdodChjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS0+
bG9naWNhbEhlaWdodCgpKSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVw
bGFjZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdodChMYXlvdXRVbml0IGxvZ2lj
YWxIZWlnaHQpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSGVpZ2h0ID0gY29t
cHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlKCktPmxvZ2ljYWxN
aW5IZWlnaHQoKSk7Ci0gICAgTGF5b3V0VW5pdCBtYXhMb2dpY2FsSGVpZ2h0ID0gc3R5bGUoKS0+
bG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkgPyBsb2dpY2FsSGVpZ2h0IDogY29tcHV0
ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1heFNpemUsIHN0eWxlKCktPmxvZ2ljYWxNYXhI
ZWlnaHQoKSk7CisgICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVJlcGxh
Y2VkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNaW5IZWlnaHQoKSk7CisgICAg
TGF5b3V0VW5pdCBtYXhMb2dpY2FsSGVpZ2h0ID0gc3R5bGUoKS0+bG9naWNhbE1heEhlaWdodCgp
LmlzVW5kZWZpbmVkKCkgPyBsb2dpY2FsSGVpZ2h0IDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhl
aWdodFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CiAgICAgcmV0dXJuIG1heCht
aW5Mb2dpY2FsSGVpZ2h0LCBtaW4obG9naWNhbEhlaWdodCwgbWF4TG9naWNhbEhlaWdodCkpOwog
fQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVz
aW5nKFNpemVUeXBlIHNpemVUeXBlLCBMZW5ndGggbG9naWNhbEhlaWdodCkgY29uc3QKK0xheW91
dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3Ro
IGxvZ2ljYWxIZWlnaHQpIGNvbnN0CiB7Ci0gICAgaWYgKHNpemVUeXBlID09IE1pblNpemUgJiYg
bG9naWNhbEhlaWdodC5pc0F1dG8oKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKDApOwotCiAgICAgc3dpdGNoIChsb2dpY2FsSGVpZ2h0
LnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgcmV0dXJuIGFkanVz
dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGxvZ2ljYWxIZWlnaHQudmFsdWUo
KSk7CkBAIC0yNzQ3LDcgKzI3MzYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6YXZhaWxhYmxl
TG9naWNhbEhlaWdodFVzaW5nKGNvbnN0IExlbmd0aCYgaCwgQXZhaWxhYmxlTG9naQogICAgICAg
ICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcodmFsdWVG
b3JMZW5ndGgoaCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgfQogCi0gICAgTGF5b3V0VW5pdCBo
ZWlnaHRJbmNsdWRpbmdTY3JvbGxiYXIgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2lj
YWxIZWlnaHRVc2luZyhNYWluT3JQcmVmZXJyZWRTaXplLCBoKTsKKyAgICBMYXlvdXRVbml0IGhl
aWdodEluY2x1ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250ZW50QW5kU2Nyb2xsYmFyTG9naWNh
bEhlaWdodFVzaW5nKGgpOwogICAgIGlmIChoZWlnaHRJbmNsdWRpbmdTY3JvbGxiYXIgIT0gLTEp
CiAgICAgICAgIHJldHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbEhlaWdodEZvckJveFNpemluZyhoZWlnaHRJbmNsdWRpbmdTY3JvbGxiYXIpIC0gc2Ny
b2xsYmFyTG9naWNhbEhlaWdodCgpKTsKIApAQCAtMzAxOSw3ICszMDA4LDcgQEAgdm9pZCBSZW5k
ZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKExvZ2ljYWxFeHRlbnRDb21wdXRl
ZFZhbHVlcyYgY29tcHUKICAgICBjb21wdXRlSW5saW5lU3RhdGljRGlzdGFuY2UobG9naWNhbExl
ZnRMZW5ndGgsIGxvZ2ljYWxSaWdodExlbmd0aCwgdGhpcywgY29udGFpbmVyQmxvY2ssIGNvbnRh
aW5lckxvZ2ljYWxXaWR0aCwgcmVnaW9uKTsKICAgICAKICAgICAvLyBDYWxjdWxhdGUgY29uc3Ry
YWludCBlcXVhdGlvbiB2YWx1ZXMgZm9yICd3aWR0aCcgY2FzZS4KLSAgICBjb21wdXRlUG9zaXRp
b25lZExvZ2ljYWxXaWR0aFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCktPmxvZ2lj
YWxXaWR0aCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVyRGlyZWN0aW9uLAorICAgIGNvbXB1
dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUoKS0+bG9naWNhbFdpZHRoKCksIGNv
bnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250YWluZXJMb2dpY2FsV2lkdGgsIGJvcmRlcnNQbHVzUGFkZGlu
ZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0TGVu
Z3RoLCBsb2dpY2FsUmlnaHRMZW5ndGgsIG1hcmdpbkxvZ2ljYWxMZWZ0LCBtYXJnaW5Mb2dpY2Fs
UmlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlZFZh
bHVlcyk7CkBAIC0zMDI4LDcgKzMwMTcsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0
aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdQogICAg
IGlmICghc3R5bGUoKS0+bG9naWNhbE1heFdpZHRoKCkuaXNVbmRlZmluZWQoKSkgewogICAgICAg
ICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgbWF4VmFsdWVzOwogCi0gICAgICAgIGNvbXB1
dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWF4U2l6ZSwgc3R5bGUoKS0+bG9naWNhbE1h
eFdpZHRoKCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCisgICAgICAgIGNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUoKS0+bG9naWNhbE1heFdpZHRo
KCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyTG9naWNhbFdpZHRoLCBib3JkZXJz
UGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9naWNhbExlZnRMZW5ndGgsIGxvZ2ljYWxSaWdodExlbmd0aCwgbWFyZ2luTG9naWNhbExlZnQs
IG1hcmdpbkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtYXhWYWx1ZXMpOwpAQCAtMzA0NSw3ICszMDM0LDcgQEAgdm9pZCBSZW5kZXJCb3g6
OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVl
cyYgY29tcHUKICAgICBpZiAoIXN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgpLmlzWmVybygpIHx8
IHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkpIHsKICAgICAgICAgTG9n
aWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIG1pblZhbHVlczsKIAotICAgICAgICBjb21wdXRlUG9z
aXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKE1pblNpemUsIHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0
aCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVyRGlyZWN0aW9uLAorICAgICAgICBjb21wdXRl
UG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgpLCBj
b250YWluZXJCbG9jaywgY29udGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgYm9yZGVyc1BsdXNQ
YWRkaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0TGVuZ3RoLCBsb2dpY2FsUmlnaHRMZW5ndGgsIG1hcmdpbkxvZ2ljYWxMZWZ0LCBtYXJn
aW5Mb2dpY2FsUmlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWluVmFsdWVzKTsKQEAgLTMwOTEsMTQgKzMwODAsMTIgQEAgc3RhdGljIHZvaWQgY29tcHV0
ZUxvZ2ljYWxMZWZ0UG9zaXRpb25lZE9mZnNldChMYXlvdXRVbml0JiBsb2dpY2FsTGVmdFBvcywg
Y29uc3QKICAgICAgICAgbG9naWNhbExlZnRQb3MgKz0gKGNoaWxkLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gY29udGFpbmVyQmxvY2stPmJvcmRlckxlZnQoKSA6IGNvbnRhaW5lckJsb2Nr
LT5ib3JkZXJUb3AoKSk7CiB9CiAKLXZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExv
Z2ljYWxXaWR0aFVzaW5nKFNpemVUeXBlIHdpZHRoU2l6ZVR5cGUsIExlbmd0aCBsb2dpY2FsV2lk
dGgsIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywgVGV4dERpcmVj
dGlvbiBjb250YWluZXJEaXJlY3Rpb24sCit2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9u
ZWRMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNhbFdpZHRoLCBjb25zdCBSZW5kZXJCb3hN
b2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssIFRleHREaXJlY3Rpb24gY29udGFpbmVyRGlyZWN0
aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TGF5b3V0VW5pdCBjb250YWluZXJMb2dpY2FsV2lkdGgsIExheW91dFVuaXQgYm9yZGVyc1BsdXNQ
YWRkaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTGVuZ3RoIGxvZ2ljYWxMZWZ0LCBMZW5ndGggbG9naWNhbFJpZ2h0LCBMZW5ndGggbWFyZ2lu
TG9naWNhbExlZnQsIExlbmd0aCBtYXJnaW5Mb2dpY2FsUmlnaHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRW
YWx1ZXMmIGNvbXB1dGVkVmFsdWVzKSBjb25zdAogewotICAgIGlmICh3aWR0aFNpemVUeXBlID09
IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQotICAgICAgICBsb2dpY2FsV2lkdGgg
PSBMZW5ndGgoMCwgRml4ZWQpOwotICAgIGVsc2UgaWYgKGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNp
YygpKQorICAgIGlmIChsb2dpY2FsV2lkdGguaXNJbnRyaW5zaWMoKSkKICAgICAgICAgbG9naWNh
bFdpZHRoID0gTGVuZ3RoKGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhVc2luZyhsb2dpY2Fs
V2lkdGgsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkgLSBib3JkZXJzUGx1c1BhZGRpbmcsIEZpeGVk
KTsKIAogICAgIC8vICdsZWZ0JyBhbmQgJ3JpZ2h0JyBjYW5ub3QgYm90aCBiZSAnYXV0bycgYmVj
YXVzZSBvbmUgd291bGQgb2YgYmVlbgpAQCAtMzMzOSw3ICszMzI2LDcgQEAgdm9pZCBSZW5kZXJC
b3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRW
YWx1ZXMmIGNvbXAKIAogICAgIC8vIENhbGN1bGF0ZSBjb25zdHJhaW50IGVxdWF0aW9uIHZhbHVl
cyBmb3IgJ2hlaWdodCcgY2FzZS4KICAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSBjb21w
dXRlZFZhbHVlcy5tX2V4dGVudDsKLSAgICBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHRV
c2luZyhNYWluT3JQcmVmZXJyZWRTaXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsSGVpZ2h0KCksIGNv
bnRhaW5lckJsb2NrLCBjb250YWluZXJMb2dpY2FsSGVpZ2h0LCBib3JkZXJzUGx1c1BhZGRpbmcs
IGxvZ2ljYWxIZWlnaHQsCisgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmco
c3R5bGVUb1VzZS0+bG9naWNhbEhlaWdodCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVyTG9n
aWNhbEhlaWdodCwgYm9yZGVyc1BsdXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3BMZW5ndGgsIGxvZ2ljYWxC
b3R0b21MZW5ndGgsIG1hcmdpbkJlZm9yZSwgbWFyZ2luQWZ0ZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMpOwogCkBAIC0zMzUwLDcgKzMz
MzcsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0KExv
Z2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcAogICAgIGlmICghc3R5bGVUb1VzZS0+bG9n
aWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkpIHsKICAgICAgICAgTG9naWNhbEV4dGVudENv
bXB1dGVkVmFsdWVzIG1heFZhbHVlczsKIAotICAgICAgICBjb21wdXRlUG9zaXRpb25lZExvZ2lj
YWxIZWlnaHRVc2luZyhNYXhTaXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWF4SGVpZ2h0KCksIGNv
bnRhaW5lckJsb2NrLCBjb250YWluZXJMb2dpY2FsSGVpZ2h0LCBib3JkZXJzUGx1c1BhZGRpbmcs
IGxvZ2ljYWxIZWlnaHQsCisgICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVz
aW5nKHN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRh
aW5lckxvZ2ljYWxIZWlnaHQsIGJvcmRlcnNQbHVzUGFkZGluZywgbG9naWNhbEhlaWdodCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFRvcExlbmd0
aCwgbG9naWNhbEJvdHRvbUxlbmd0aCwgbWFyZ2luQmVmb3JlLCBtYXJnaW5BZnRlciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4VmFsdWVzKTsKIApAQCAt
MzM2Niw3ICszMzUzLDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNh
bEhlaWdodChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXAKICAgICBpZiAoIXN0eWxl
VG9Vc2UtPmxvZ2ljYWxNaW5IZWlnaHQoKS5pc1plcm8oKSkgewogICAgICAgICBMb2dpY2FsRXh0
ZW50Q29tcHV0ZWRWYWx1ZXMgbWluVmFsdWVzOwogCi0gICAgICAgIGNvbXB1dGVQb3NpdGlvbmVk
TG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlVG9Vc2UtPmxvZ2ljYWxNaW5IZWlnaHQo
KSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIGJvcmRlcnNQbHVzUGFk
ZGluZywgbG9naWNhbEhlaWdodCwKKyAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVp
Z2h0VXNpbmcoc3R5bGVUb1VzZS0+bG9naWNhbE1pbkhlaWdodCgpLCBjb250YWluZXJCbG9jaywg
Y29udGFpbmVyTG9naWNhbEhlaWdodCwgYm9yZGVyc1BsdXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsVG9w
TGVuZ3RoLCBsb2dpY2FsQm90dG9tTGVuZ3RoLCBtYXJnaW5CZWZvcmUsIG1hcmdpbkFmdGVyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5WYWx1ZXMpOwog
CkBAIC0zNDIzLDE0ICszNDEwLDExIEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVMb2dpY2FsVG9wUG9z
aXRpb25lZE9mZnNldChMYXlvdXRVbml0JiBsb2dpY2FsVG9wUG9zLCBjb25zdCBSCiAgICAgfQog
fQogCi12b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmco
U2l6ZVR5cGUgaGVpZ2h0U2l6ZVR5cGUsIExlbmd0aCBsb2dpY2FsSGVpZ2h0TGVuZ3RoLCBjb25z
dCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssCit2b2lkIFJlbmRlckJveDo6
Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3RoIGxvZ2ljYWxIZWlnaHRM
ZW5ndGgsIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0
IGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgYm9yZGVyc1BsdXNQYWRkaW5nLCBM
YXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIGxvZ2ljYWxUb3AsIExlbmd0aCBsb2dpY2FsQm90
dG9tLCBMZW5ndGggbWFyZ2luQmVmb3JlLCBMZW5ndGggbWFyZ2luQWZ0ZXIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naWNhbEV4dGVudENv
bXB1dGVkVmFsdWVzJiBjb21wdXRlZFZhbHVlcykgY29uc3QKIHsKLSAgICBpZiAoaGVpZ2h0U2l6
ZVR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzQXV0bygpKQotICAgICAg
ICBsb2dpY2FsSGVpZ2h0TGVuZ3RoID0gTGVuZ3RoKDAsIEZpeGVkKTsKLQogICAgIC8vICd0b3An
IGFuZCAnYm90dG9tJyBjYW5ub3QgYm90aCBiZSAnYXV0bycgYmVjYXVzZSAndG9wIHdvdWxkIG9m
IGJlZW4KICAgICAvLyBjb252ZXJ0ZWQgdG8gdGhlIHN0YXRpYyBwb3NpdGlvbiBpbiBjb21wdXRl
UG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoKQogICAgIEFTU0VSVCghKGxvZ2ljYWxUb3AuaXNBdXRv
KCkgJiYgbG9naWNhbEJvdHRvbS5pc0F1dG8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDFkOGYxMTBmMGVhN2Y4MzUyOWQxYzliMzdmNjk3ZWFjMTVhZjlmNDQuLmQ1
NTc1ZTdmZGQ2YWM4OTg5MDE4ZjE5YjFmNWIxNzc4M2ViYTdhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQxMCwxMiArNDEwLDEyIEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IHNocmlua0xvZ2ljYWxXaWR0aFRvQXZvaWRGbG9hdHMoTGF5b3V0VW5pdCBjaGlsZE1h
cmdpblN0YXJ0LCBMYXlvdXRVbml0IGNoaWxkTWFyZ2luRW5kLCBjb25zdCBSZW5kZXJCbG9jayog
Y2IsIFJlbmRlclJlZ2lvbiosIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0
UGFnZSkgY29uc3Q7CiAKICAgICBMYXlvdXRVbml0IGNvbXB1dGVMb2dpY2FsV2lkdGhJblJlZ2lv
blVzaW5nKFNpemVUeXBlLCBMYXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgY29uc3Qg
UmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jaywgUmVuZGVyUmVnaW9uKiwgTGF5b3V0VW5pdCBv
ZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNv
bXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBj
b25zdDsKLSAgICBMYXlvdXRVbml0IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChTaXplVHlw
ZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0OwotICAgIExheW91dFVuaXQgY29tcHV0ZUNv
bnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUsIGNvbnN0IExlbmd0
aCYgaGVpZ2h0KSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxX
aWR0aFVzaW5nKFNpemVUeXBlLCBMZW5ndGggd2lkdGgpIGNvbnN0OworICAgIExheW91dFVuaXQg
Y29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7Cisg
ICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBo
ZWlnaHQpIGNvbnN0OworICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRBbmRTY3JvbGxiYXJM
b2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0OworICAgIExheW91
dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTGVuZ3RoIHdpZHRoKSBjb25z
dDsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdN
aW5NYXhXaWR0aChMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwgU2hvdWxkQ29tcHV0ZVByZWZlcnJl
ZCAgPSBDb21wdXRlQWN0dWFsKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNl
ZExvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgTGVuZ3RoIGhlaWdodCkgY29uc3Q7CisgICAg
TGF5b3V0VW5pdCBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3RoIGhlaWdo
dCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0UmVz
cGVjdGluZ01pbk1heEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIGNvbnN0OwogCiAg
ICAgdmlydHVhbCBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChTaG91bGRD
b21wdXRlUHJlZmVycmVkICA9IENvbXB1dGVBY3R1YWwpIGNvbnN0OwpAQCAtNjQxLDExICs2NDEs
MTEgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IHZpZXdMb2dpY2FsSGVpZ2h0Rm9yUGVyY2Vu
dGFnZXMoKSBjb25zdDsKIAogICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0
KExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYpIGNvbnN0OwotICAgIHZvaWQgY29tcHV0ZVBv
c2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSwgTGVuZ3RoIGxvZ2ljYWxXaWR0aCwg
Y29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRhaW5lckJsb2NrLCBUZXh0RGlyZWN0aW9u
IGNvbnRhaW5lckRpcmVjdGlvbiwKKyAgICB2b2lkIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdp
ZHRoVXNpbmcoTGVuZ3RoIGxvZ2ljYWxXaWR0aCwgY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3Qq
IGNvbnRhaW5lckJsb2NrLCBUZXh0RGlyZWN0aW9uIGNvbnRhaW5lckRpcmVjdGlvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBjb250YWlu
ZXJMb2dpY2FsV2lkdGgsIExheW91dFVuaXQgYm9yZGVyc1BsdXNQYWRkaW5nLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGggbG9naWNhbExlZnQsIExl
bmd0aCBsb2dpY2FsUmlnaHQsIExlbmd0aCBtYXJnaW5Mb2dpY2FsTGVmdCwgTGVuZ3RoIG1hcmdp
bkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJikgY29uc3Q7Ci0gICAgdm9pZCBjb21wdXRl
UG9zaXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgTGVuZ3RoIGxvZ2ljYWxIZWln
aHRMZW5ndGgsIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywKKyAg
ICB2b2lkIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKExlbmd0aCBsb2dpY2Fs
SGVpZ2h0TGVuZ3RoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ss
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0
IGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgYm9yZGVyc1BsdXNQYWRkaW5nLCBM
YXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMZW5ndGggbG9naWNhbFRvcCwgTGVuZ3RoIGxvZ2ljYWxCb3R0b20sIExl
bmd0aCBtYXJnaW5Mb2dpY2FsVG9wLCBMZW5ndGggbWFyZ2luTG9naWNhbEJvdHRvbSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21w
dXRlZFZhbHVlcyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJ1dHRvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9u
LmNwcAppbmRleCA1YjJiYmY3MWYzMzExMDYzYWExYWFiZjVkOWZiOWNkZDU1MmQzYTcxLi5iZTEx
NmVjOWQyZDZlNTZkNTFiMmEwMDQzYjczNGU3ODZhOTUyM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIFJlbmRlckJ1
dHRvbjo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJT
dHlsZSogbmV3UwogICAgICAgICAvLyBiZWNhdXNlIG9mIHRoZSBkaWZmZXJlbmNlLiBTYW1lIGdv
ZXMgZm9yIHRoZSBvdGhlciBwcm9wZXJ0aWVzLgogICAgICAgICAvLyBGSVhNRTogTWFrZSB0aGlz
IGhhY2sgdW5uZWNlc3NhcnkuCiAgICAgICAgIG1faW5uZXItPnN0eWxlKCktPnNldEZsZXhHcm93
KG5ld1N0eWxlLT5pbml0aWFsRmxleEdyb3coKSk7Ci0gICAgICAgIG1faW5uZXItPnN0eWxlKCkt
PnNldE1pbldpZHRoKG5ld1N0eWxlLT5pbml0aWFsTWluU2l6ZSgpKTsKKyAgICAgICAgbV9pbm5l
ci0+c3R5bGUoKS0+c2V0RmxleFNocmluayhuZXdTdHlsZS0+aW5pdGlhbEZsZXhTaHJpbmsoKSk7
CiAgICAgICAgIG1faW5uZXItPnN0eWxlKCktPnNldE1hcmdpblRvcChuZXdTdHlsZS0+aW5pdGlh
bE1hcmdpbigpKTsKICAgICAgICAgbV9pbm5lci0+c3R5bGUoKS0+c2V0TWFyZ2luQm90dG9tKG5l
d1N0eWxlLT5pbml0aWFsTWFyZ2luKCkpOwogICAgIH0KQEAgLTExMywxMSArMTEzLDcgQEAgdm9p
ZCBSZW5kZXJCdXR0b246OnNldHVwSW5uZXJTdHlsZShSZW5kZXJTdHlsZSogaW5uZXJTdHlsZSkK
ICAgICAvLyBSZW5kZXJCbG9jazo6Y3JlYXRlQW5vbnltb3VzQmxvY2sgY3JlYXRlcyBhIG5ldyBS
ZW5kZXJTdHlsZSwgc28gdGhpcyBpcwogICAgIC8vIHNhZmUgdG8gbW9kaWZ5LgogICAgIGlubmVy
U3R5bGUtPnNldEZsZXhHcm93KDEuMGYpOwotICAgIC8vIG1pbi13aWR0aDogMDsgaXMgbmVlZGVk
IGZvciBjb3JyZWN0IHNocmlua2luZy4KLSAgICAvLyBGSVhNRTogSWYgYW5kIHdoZW4gdGhlIHNw
ZWMgY2hhbmdlcyB0byBub3QgcmVxdWlyZSB0aGlzLCB3ZSBzaG91bGQKLSAgICAvLyByZW1vdmUg
dGhpcyBsaW5lIGFuZCB0aGUgY29ycmVzcG9uZGluZyBsaW5lIGluIHN0eWxlV2lsbENoYW5nZS4K
LSAgICAvLyBTZWU6IGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3d3dy1zdHls
ZS8yMDEzRmViLzAzNjQuaHRtbAotICAgIGlubmVyU3R5bGUtPnNldE1pbldpZHRoKExlbmd0aCgw
LCBGaXhlZCkpOworICAgIGlubmVyU3R5bGUtPnNldEZsZXhTaHJpbmsoMCk7CiAgICAgLy8gVXNl
IG1hcmdpbjphdXRvIGluc3RlYWQgb2YgYWxpZ24taXRlbXM6Y2VudGVyIHRvIGdldCBzYWZlIGNl
bnRlcmluZywgaS5lLgogICAgIC8vIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzLCB0cmVhdCBp
dCB0aGUgc2FtZSBhcyBhbGlnbi1pdGVtczogZmxleC1zdGFydC4KICAgICBpbm5lclN0eWxlLT5z
ZXRNYXJnaW5Ub3AoTGVuZ3RoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggNGRmMGNlYmMwY2FiNjhiZmRhM2VmZGI3ZGI4ZDQzNmFh
MzBhZmMyMS4uMjdmMDI3YjhhYzJlNDRlNzk3YWQyZTJiNTQ0YTRhMzE2M2JlZTNiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC01MTks
MTIgKzUxOSwxMiBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc0NvbnRl
bnRFeHRlbnQoTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbEhlaQogICAgIHJldHVybiBjb250ZW50
TG9naWNhbFdpZHRoKCk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1
dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIFNpemVUeXBlIHNpemVU
eXBlLCBjb25zdCBMZW5ndGgmIHNpemUpCitMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94Ojpj
b21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBMZW5n
dGgmIHNpemUpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgaXMgd3JvbmcgZm9yIG9ydGhvZ29uYWwg
Zmxvd3MuIEl0IHNob3VsZCB1c2UgdGhlIGZsZXhib3gncyB3cml0aW5nLW1vZGUsIG5vdCB0aGUg
Y2hpbGQncyBpbiBvcmRlcgogICAgIC8vIHRvIGZpZ3VyZSBvdXQgdGhlIGxvZ2ljYWwgaGVpZ2h0
L3dpZHRoLgogICAgIGlmIChpc0NvbHVtbkZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLT5j
b21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoc2l6ZVR5cGUsIHNpemUpOworICAgICAgICByZXR1
cm4gY2hpbGQtPmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzaXplKTsKICAgICByZXR1cm4g
Y2hpbGQtPmFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcodmFsdWVGb3JM
ZW5ndGgoc2l6ZSwgY29udGVudExvZ2ljYWxXaWR0aCgpLCB2aWV3KCkpKTsKIH0KIApAQCAtNzI1
LDcgKzcyNSw3IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OnByZWZlcnJlZE1haW5B
eGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCoKICAgICAgICAgQVNTRVJUKG1haW5B
eGlzRXh0ZW50IC0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoY2hpbGQp
ID49IDApOwogICAgICAgICByZXR1cm4gbWFpbkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFu
ZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGlsZCk7CiAgICAgfQotICAgIHJldHVybiBzdGQ6Om1h
eChMYXlvdXRVbml0KDApLCBjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCwgTWFp
bk9yUHJlZmVycmVkU2l6ZSwgZmxleEJhc2lzKSk7CisgICAgcmV0dXJuIHN0ZDo6bWF4KExheW91
dFVuaXQoMCksIGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkLCBmbGV4QmFzaXMp
KTsKIH0KIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVs
YXlvdXRDaGlsZHJlbiwgVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQpAQCAtODkw
LDggKzg5MCw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1ByZWZl
cnJlZFNpemVzKE9yZGVySGFzaFNldCYgb3JkZXJWYWx1ZXMpCiAgICAgICAgIGNoaWxkLT5jbGVh
ck92ZXJyaWRlU2l6ZSgpOwogCiAgICAgICAgIC8vIE9ubHkgbmVlZCB0byBsYXlvdXQgaGVyZSBp
ZiB3ZSB3aWxsIG5lZWQgdG8gZ2V0IHRoZSBsb2dpY2FsSGVpZ2h0IG9mIHRoZSBjaGlsZCBpbiBj
b21wdXRlTmV4dEZsZXhMaW5lLgotICAgICAgICBMZW5ndGggY2hpbGRNYWluQXhpc01pbiA9IGlz
SG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgpLT5taW5XaWR0aCgpIDogY2hpbGQtPnN0
eWxlKCktPm1pbkhlaWdodCgpOwotICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQp
ICYmIChmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCkuaXNBdXRvKCkgfHwgY2hpbGRNYWluQXhpc01p
bi5pc0F1dG8oKSkpIHsKKyAgICAgICAgaWYgKGhhc09ydGhvZ29uYWxGbG93KGNoaWxkKSAmJiBm
bGV4QmFzaXNGb3JDaGlsZChjaGlsZCkuaXNBdXRvKCkpIHsKICAgICAgICAgICAgIGNoaWxkLT5z
ZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAgICBjaGls
ZC0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgfQpAQCAtOTEzLDcgKzkxMiw3IEBAIExheW91
dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heChSZW5k
ZXJCb3gqIGNoaWxkLCBMYXlvCiAgICAgLy8gRklYTUU6IFN1cHBvcnQgaW50cmluc2ljIG1pbi9t
YXggbGVuZ3Rocy4KICAgICBMZW5ndGggbWF4ID0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQt
PnN0eWxlKCktPm1heFdpZHRoKCkgOiBjaGlsZC0+c3R5bGUoKS0+bWF4SGVpZ2h0KCk7CiAgICAg
aWYgKG1heC5pc1NwZWNpZmllZCgpKSB7Ci0gICAgICAgIExheW91dFVuaXQgbWF4RXh0ZW50ID0g
Y29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1heFNpemUsIG1heCk7CisgICAg
ICAgIExheW91dFVuaXQgbWF4RXh0ZW50ID0gY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQo
Y2hpbGQsIG1heCk7CiAgICAgICAgIGlmIChtYXhFeHRlbnQgIT0gLTEgJiYgY2hpbGRTaXplID4g
bWF4RXh0ZW50KQogICAgICAgICAgICAgY2hpbGRTaXplID0gbWF4RXh0ZW50OwogICAgIH0KQEAg
LTkyMSwxMSArOTIwLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0Q2hp
bGRTaXplRm9yTWluQW5kTWF4KFJlbmRlckJveCogY2hpbGQsIExheW8KICAgICBMZW5ndGggbWlu
ID0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQtPnN0eWxlKCktPm1pbldpZHRoKCkgOiBjaGls
ZC0+c3R5bGUoKS0+bWluSGVpZ2h0KCk7CiAgICAgTGF5b3V0VW5pdCBtaW5FeHRlbnQgPSAwOwog
ICAgIGlmIChtaW4uaXNTcGVjaWZpZWQoKSkKLSAgICAgICAgbWluRXh0ZW50ID0gY29tcHV0ZU1h
aW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1pblNpemUsIG1pbik7Ci0gICAgZWxzZSBpZiAo
bWluLmlzQXV0bygpKSB7Ci0gICAgICAgIG1pbkV4dGVudCA9IGhhc09ydGhvZ29uYWxGbG93KGNo
aWxkKSA/IGNoaWxkLT5sb2dpY2FsSGVpZ2h0KCkgOiBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKCk7Ci0gICAgICAgIG1pbkV4dGVudCAtPSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdF
eHRlbnRGb3JDaGlsZChjaGlsZCk7Ci0gICAgfQorICAgICAgICBtaW5FeHRlbnQgPSBjb21wdXRl
TWFpbkF4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCwgbWluKTsKICAgICByZXR1cm4gc3RkOjptYXgo
Y2hpbGRTaXplLCBtaW5FeHRlbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5oCmluZGV4IDkwNGJhMzg1NzBhZDYwZWY0ODQ5ODYwMDdiZTkzMmZl
NjI0NDJkNmQuLjZjY2FiYzZkNDllY2RkZGNiNWEwZDAwY2YxYWI1NzUxYjVlNjk0OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCkBAIC0xMTUsNyAr
MTE1LDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1haW5BeGlzRXh0ZW50KCkgY29uc3Q7
CiAgICAgTGF5b3V0VW5pdCBjcm9zc0F4aXNDb250ZW50RXh0ZW50KCkgY29uc3Q7CiAgICAgTGF5
b3V0VW5pdCBtYWluQXhpc0NvbnRlbnRFeHRlbnQoTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbEhl
aWdodCk7Ci0gICAgTGF5b3V0VW5pdCBjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZChSZW5k
ZXJCb3gqIGNoaWxkLCBTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBzaXplKTsKKyAgICBMYXlvdXRV
bml0IGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0
IExlbmd0aCYgc2l6ZSk7CiAgICAgV3JpdGluZ01vZGUgdHJhbnNmb3JtZWRXcml0aW5nTW9kZSgp
IGNvbnN0OwogICAgIExheW91dFVuaXQgZmxvd0F3YXJlQm9yZGVyU3RhcnQoKSBjb25zdDsKICAg
ICBMYXlvdXRVbml0IGZsb3dBd2FyZUJvcmRlckVuZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDJiYjI3ZDJjNGM3ZGU2NmUzMGVkY2JlZDBkMTRj
OWFkYjkzNjlhNmYuLmQ4YTNiZTZlNGY3ZTk5YzE3ZDVjMGVlN2M3MjA2YjAyOGM3YWI0OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTMxMyw3ICszMTMsNyBA
QCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mU3BlY2lmaWVkTGVu
Z3RoKFRyYWNrU2l6aW5nRGlyZWN0aW9uCiB7CiAgICAgLy8gRklYTUU6IFdlIHN0aWxsIG5lZWQg
dG8gc3VwcG9ydCBjYWxjKCkgaGVyZSAoaHR0cHM6Ly93ZWJraXQub3JnL2IvMTAzNzYxKS4KICAg
ICBBU1NFUlQodHJhY2tMZW5ndGguaXNGaXhlZCgpIHx8IHRyYWNrTGVuZ3RoLmlzUGVyY2VudCgp
IHx8IHRyYWNrTGVuZ3RoLmlzVmlld3BvcnRQZXJjZW50YWdlKCkpOwotICAgIHJldHVybiB2YWx1
ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgZGlyZWN0aW9uID09IEZvckNvbHVtbnMgPyBsb2dpY2Fs
V2lkdGgoKSA6IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQcmVmZXJyZWRTaXpl
LCBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkpLCB2aWV3KCkpOworICAgIHJldHVybiB2YWx1ZUZv
ckxlbmd0aCh0cmFja0xlbmd0aCwgZGlyZWN0aW9uID09IEZvckNvbHVtbnMgPyBsb2dpY2FsV2lk
dGgoKSA6IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0
KCkpLCB2aWV3KCkpOwogfQogCiBjb25zdCBHcmlkVHJhY2tTaXplJiBSZW5kZXJHcmlkOjpncmlk
VHJhY2tTaXplKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgc2l6ZV90IGkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmluZGV4IDZjMDFmMjIzOThhMzM3
ZTUwYjkzNzZiMTcyY2FjMWE4OGYwZGU0NTcuLmM3ZjA5NjIzNjJiYTQ5OTMxM2IwZWRkNDA0MTRi
NDlhMTQxMDZhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3Bw
CkBAIC03NCw3ICs3NCw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVnaW9uOjpwYWdlTG9naWNhbEhl
aWdodCgpIGNvbnN0CiBMYXlvdXRVbml0IFJlbmRlclJlZ2lvbjo6bWF4UGFnZUxvZ2ljYWxIZWln
aHQoKSBjb25zdAogewogICAgIEFTU0VSVChoYXNBdXRvTG9naWNhbEhlaWdodCgpICYmIHZpZXco
KS0+bm9ybWFsTGF5b3V0UGhhc2UoKSk7Ci0gICAgcmV0dXJuIHN0eWxlKCktPmxvZ2ljYWxNYXhI
ZWlnaHQoKS5pc1VuZGVmaW5lZCgpID8gTGF5b3V0VW5pdDo6bWF4KCkgLyAyIDogY29tcHV0ZVJl
cGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1heFNpemUsIHN0eWxlKCktPmxvZ2ljYWxNYXhIZWln
aHQoKSk7CisgICAgcmV0dXJuIHN0eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5l
ZCgpID8gTGF5b3V0VW5pdDo6bWF4KCkgLyAyIDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdo
dFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CiB9CiAKIExheW91dFVuaXQgUmVu
ZGVyUmVnaW9uOjpsb2dpY2FsSGVpZ2h0T2ZBbGxGbG93VGhyZWFkQ29udGVudCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCAxMTk5ZjBl
YzkyZDcwZWIwMjkwNzc3M2Q1NmVmODZhYzI1ZDQ0YTZiLi4zN2U2OTUxZmZjYjlkNDc5YTBiZmY5
MmQwNWEwMzFmOTQ2ZDkzOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsCiBM
YXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hv
dWxkQ29tcHV0ZVByZWZlcnJlZCBzaG91bGRDb21wdXRlUHJlZmVycmVkKSBjb25zdAogewogICAg
IGlmIChzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKS5pc1NwZWNpZmllZCgpIHx8IHN0eWxlKCktPmxv
Z2ljYWxXaWR0aCgpLmlzSW50cmluc2ljKCkpCi0gICAgICAgIHJldHVybiBjb21wdXRlUmVwbGFj
ZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoY29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoVXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUoKS0+bG9naWNhbFdpZHRoKCkp
LCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVSZXBsYWNl
ZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChjb21wdXRlUmVwbGFjZWRMb2dpY2Fs
V2lkdGhVc2luZyhzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKSksIHNob3VsZENvbXB1dGVQcmVmZXJy
ZWQpOwogCiAgICAgUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIgPSBlbWJlZGRlZENvbnRlbnRC
b3goKTsKIApAQCAtMzU2LDcgKzM1Niw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChTaG91bGRDb21wdXRlUHJlZmVycmVkIHNoCiAgICAg
ICAgICAgICAgICAgLy8gJ21hcmdpbi1sZWZ0JyArICdib3JkZXItbGVmdC13aWR0aCcgKyAncGFk
ZGluZy1sZWZ0JyArICd3aWR0aCcgKyAncGFkZGluZy1yaWdodCcgKyAnYm9yZGVyLXJpZ2h0LXdp
ZHRoJyArICdtYXJnaW4tcmlnaHQnID0gd2lkdGggb2YgY29udGFpbmluZyBibG9jawogICAgICAg
ICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoOwogICAgICAgICAgICAgICAgIGlmIChS
ZW5kZXJCbG9jayogYmxvY2tXaXRoV2lkdGggPSBmaXJzdENvbnRhaW5pbmdCbG9ja1dpdGhMb2dp
Y2FsV2lkdGgodGhpcykpCi0gICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IGJsb2Nr
V2l0aFdpZHRoLT5jb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lk
dGgoYmxvY2tXaXRoV2lkdGgtPmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKE1haW5P
clByZWZlcnJlZFNpemUsIGJsb2NrV2l0aFdpZHRoLT5zdHlsZSgpLT5sb2dpY2FsV2lkdGgoKSks
IHNob3VsZENvbXB1dGVQcmVmZXJyZWQpOworICAgICAgICAgICAgICAgICAgICBsb2dpY2FsV2lk
dGggPSBibG9ja1dpdGhXaWR0aC0+Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGlu
Z01pbk1heFdpZHRoKGJsb2NrV2l0aFdpZHRoLT5jb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhV
c2luZyhibG9ja1dpdGhXaWR0aC0+c3R5bGUoKS0+bG9naWNhbFdpZHRoKCkpLCBzaG91bGRDb21w
dXRlUHJlZmVycmVkKTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAg
IGxvZ2ljYWxXaWR0aCA9IGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgo
KTsKIApAQCAtMzg4LDcgKzM4OCw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogewogICAgIC8vIDEwLjUgQ29udGVudCBo
ZWlnaHQ6IHRoZSAnaGVpZ2h0JyBwcm9wZXJ0eTogaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEv
dmlzdWRldC5odG1sI3Byb3BkZWYtaGVpZ2h0CiAgICAgaWYgKGhhc1JlcGxhY2VkTG9naWNhbEhl
aWdodCgpKQotICAgICAgICByZXR1cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFJlc3Bl
Y3RpbmdNaW5NYXhIZWlnaHQoY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1haW5P
clByZWZlcnJlZFNpemUsIHN0eWxlKCktPmxvZ2ljYWxIZWlnaHQoKSkpOworICAgICAgICByZXR1
cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWlnaHQoY29t
cHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxIZWlnaHQoKSkp
OwogCiAgICAgUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIgPSBlbWJlZGRlZENvbnRlbnRCb3go
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRl
eCAzMjgxOWFkNjdjNDI4MjE3NDVhMzc2Yjk4NGZkMjVjZWM2ZDY2YmNlLi4wOTI1MzJhZmUzY2Zl
OGEzMjJiOTg1YTAxZDRiMWZiYzM2OTZmNjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTU4MCw3ICsxNTgwLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBpbml0aWFsT3V0bGluZVdpZHRoKCkgeyByZXR1cm4gMzsg
fQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbExldHRlcldvcmRTcGFjaW5nKCkgeyByZXR1cm4gMDsg
fQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFNpemUoKSB7IHJldHVybiBMZW5ndGgoKTsgfQot
ICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE1pblNpemUoKSB7IHJldHVybiBMZW5ndGgoKTsgfQor
ICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE1pblNpemUoKSB7IHJldHVybiBMZW5ndGgoRml4ZWQp
OyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTWF4U2l6ZSgpIHsgcmV0dXJuIExlbmd0aChV
bmRlZmluZWQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT2Zmc2V0KCkgeyByZXR1cm4g
TGVuZ3RoKCk7IH0KICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxNYXJnaW4oKSB7IHJldHVybiBM
ZW5ndGgoRml4ZWQpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGFhNTZmOWYyMTBkNGRmMjdjODNiMzA5NTA1NGI5ZjZm
NWJkYjY4ZC4uYzc1OTJkZWVjNzFhMTc4ZmQ2MzMwZDEwMzJmOGI2YTNjOGIyN2U0MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTA3ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgRmxleGl0ZW1zIG5vIGxvbmdlciBkZWZhdWx0IG1pbi13aWR0aCB0byBt
aW4tY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTExNzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjc3MzL2ZsZXhib3gvYm94LXNpemluZy5odG1sOgorICAgICAgICAqIGNzczMvZmxleGJv
eC9jb250ZW50LWhlaWdodC13aXRoLXNjcm9sbGJhcnMuaHRtbDoKKyAgICAgICAgKiBjc3MzL2Zs
ZXhib3gvY3Jvc3MtYXhpcy1zY3JvbGxiYXIuaHRtbDoKKyAgICAgICAgU2V0IGZsZXggdG8gMCAw
IGF1dG8gdG8gYXZvaWQgZmxleC1zaHJpbmtpbmcuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gv
ZmxleC1pdGVtLW1pbi1zaXplLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3Mz
L2ZsZXhib3gvZmxleC1pdGVtLW1pbi1zaXplLmh0bWw6IFJlbW92ZWQuCisgICAgICAgIFRoaXMg
dGVzdCBpcyBubyBsb25nZXIgdmFsaWQuIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZCBhZGQKKyAg
ICAgICAgbWluLXdpZHRoOiBtaW4tY29udGVudCB0ZXN0cywgYnV0IHRoYXQgZG9lc24ndCBhY3R1
YWxseSB3b3JrIGF0IHRoZSBtb21lbnQKKyAgICAgICAgZHVlIHRvIGJ1Z3MgaW4gb3RoZXIgcGFy
dHMgb2YgdGhlIGNvZGUuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGlu
ZS5odG1sOgorICAgICAgICBTZXQgZmxleCB0byAwIDAgYXV0byB0byBhdm9pZCBmbGV4LXNocmlu
a2luZy4KKworICAgICAgICAqIGNzczMvZmxleGJveC9saW5lLXdyYXBwaW5nLmh0bWw6CisgICAg
ICAgIEF1dG8tc2l6ZSB0aGUgZmxleCBpdGVtcyB0byB0aGF0IHRoZSBjb2x1bW4gZmxleGJveGVz
IGhhdmUgYW4gYXV0by1oZWlnaHQuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvcHJlZmVycmVk
LXdpZHRocy5odG1sOgorICAgICAgICBTZXQgZmxleCB0byAwIDAgYXV0byB0byBhdm9pZCBmbGV4
LXNocmlua2luZy4KKworICAgICAgICAqIGZhc3QvY3NzL2F1dG8tbWluLXNpemUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvY3NzL2F1dG8tbWluLXNpemUuaHRtbDoKKyAgICAgICAgVXBk
YXRlIHRvIG5vIGxvbmdlciBhbGxvdyBwYXJzaW5nIGF1dG8gYXMgYSB2YWxpZCB2YWx1ZSBmb3Ig
bWluLXdpZHRoL21pbi1oZWlnaHQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9mYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50eHQ6CisgICAgICAg
IE5vdyB0aGF0IGJ1dHRvbnMgZG9uJ3QgZmxleC1zaHJpbmssIHRoZSBhbm9ueW1vdXMgYmxvY2sg
aW5zaWRlIHRoZSBidXR0b24gaXMgbGFyZ2VyLgorICAgICAgICBUaGlzIGlzIG5vdCBleHBvc2Vk
IHRvIHRoZSB3ZWIgYXMgYmVzdCBJIGNhbiB0ZWxsLgorCiAyMDEzLTAzLTA3ICBDaHJpcyBGbGVp
emFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENhbid0IGFjdGl2YXRl
IGxpbmtzIHdpdGggVm9pY2VPdmVyIGluIFNhZmFyaQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9mbGV4Ym94L2JveC1zaXppbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9i
b3gtc2l6aW5nLmh0bWwKaW5kZXggMTFiOTE5NzNjZDg5YzEyYzcxYjU0OTMxZTI4NzhiYjllNWE4
M2VmYi4uNWM0YTc0YmUzN2MwMmQ0YjNiNjA2ZWU1ZTAzZWNiODgwMmZiZWNjZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2JveC1zaXppbmcuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvYm94LXNpemluZy5odG1sCkBAIC0yMyw2ICsyMyw4IEBACiAgICAg
d2lkdGg6IDEwMHB4OwogICAgIGJvcmRlcjogMnB4IHNvbGlkIGxpZ2h0Ymx1ZTsKICAgICBib3Jk
ZXItdG9wLXdpZHRoOiA0cHg7CisgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bzsKKyAgICBmbGV4
OiAwIDAgYXV0bzsKICAgICBwYWRkaW5nOiAzcHg7CiB9CiA8L3N0eWxlPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2NvbnRlbnQtaGVpZ2h0LXdpdGgtc2Nyb2xsYmFycy5o
dG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2NvbnRlbnQtaGVpZ2h0LXdpdGgtc2Nyb2xs
YmFycy5odG1sCmluZGV4IDUyZWYzZjMyNTU0ZjBiNzczYjgxODViNGMwYjRjYTMwNjQyYTkwNjUu
LjYxMjYzYTdkMjlmYTIyY2Q5NTYxZjkwZTY0OWMwYmVhMzllZGJkM2IgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC9jb250ZW50LWhlaWdodC13aXRoLXNjcm9sbGJhcnMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY29udGVudC1oZWlnaHQtd2l0aC1zY3Jv
bGxiYXJzLmh0bWwKQEAgLTcsNiArNywxMCBAQAogICAgIGhlaWdodDogMTAwcHg7CiAgICAgb3Zl
cmZsb3c6IHNjcm9sbDsKIH0KKy5mbGV4Ym94ID4gZGl2IHsKKyAgICAtd2Via2l0LWZsZXg6IDAg
MCBhdXRvOworICAgIGZsZXg6IDAgMCBhdXRvOworfQogLmZsZXhib3ggPiA6bnRoLWNoaWxkKDEp
IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZWVuOwogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nyb3NzLWF4aXMtc2Nyb2xsYmFyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvY3Jvc3MtYXhpcy1zY3JvbGxiYXIuaHRtbAppbmRleCBmZmM2ZmQ4
N2YxOGZlMWViM2RhYWQxZjJhOWZkOWZjMjY3OWQ2MTlmLi44ODNmN2Y3ODIyY2NjZDFkZDQzZGNl
YmYzMzA2NzAxNzNmODRkZmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
Y3Jvc3MtYXhpcy1zY3JvbGxiYXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
Y3Jvc3MtYXhpcy1zY3JvbGxiYXIuaHRtbApAQCAtMjAsNiArMjAsOCBAQCBib2R5IHsKIH0KIAog
LmNvbHVtbiA+IGRpdiB7CisgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bzsKKyAgICBmbGV4OiAw
IDAgYXV0bzsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKICAgICB3aWR0aDogMTAwcHg7
CiAgICAgaGVpZ2h0OiAxMHB4OwpAQCAtMjgsMTkgKzMwLDIxIEBAIGJvZHkgewogLnJvdyA+IGRp
diB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgLXdlYmtpdC1mbGV4OiAxOwot
ICAgIC1tb3otZmxleDogMTsKKyAgICBmbGV4OiAxOwogICAgIGhlaWdodDogNTBweDsKICAgICBt
aW4taGVpZ2h0OiAwOwogfQogCiAudmVydGljYWwtbHIgPiAuY29sdW1uID4gZGl2IHsKKyAgICAt
d2Via2l0LWZsZXg6IDAgMCBhdXRvOworICAgIGZsZXg6IDAgMCBhdXRvOwogICAgIGhlaWdodDog
NTBweDsKICAgICB3aWR0aDogMjBweDsKIH0KIAogLnZlcnRpY2FsLWxyID4gLnJvdyA+IGRpdiB7
CiAgICAgLXdlYmtpdC1mbGV4OiAxOwotICAgIC1tb3otZmxleDogMTsKKyAgICBmbGV4OiAxOwog
ICAgIHdpZHRoOiAxMDBweDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2ZsZXgtaXRlbS1taW4tc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvZmxleC1pdGVtLW1pbi1zaXplLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNTNlNmIyNzc5YWFkNDgyZjViNGMxYjE0M2ZkOWU3MzU0M2JhYjQ0OS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvZmxleC1pdGVtLW1pbi1zaXplLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE2ICswLDAgQEAKLVRlc3RzIHRoYXQgZmxleCBpdGVtcyBoYXZlIGRlZmF1bHQgbWlu
LXNpemUgdG8gbWluLWNvbnRlbnQgaW4gdGhlIG1haW4gYXhpcyBkaXJlY3Rpb24uCi0gUEFTUwot
IFBBU1MKLSBQQVNTCi0gUEFTUwotIFBBU1MKLSBQQVNTCi0gUEFTUwotIFBBU1MKLSBQQVNTCi0g
Ci0gCi1QQVNTCi0gCi0gCi1QQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvZmxleC1pdGVtLW1pbi1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxl
eC1pdGVtLW1pbi1zaXplLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYWVi
NzU1OTUxNGRjN2M5ZjkyNTJjZmNhNGE0MjA5NGExODA4OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgt
aXRlbS1taW4tc2l6ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTc0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPHN0eWxlPgotLmZsZXhib3ggewotICAgIGRpc3BsYXk6IC13ZWJraXQtZmxl
eDsKLSAgICBoZWlnaHQ6IDA7Ci0gICAgd2lkdGg6IDA7Ci0gICAgYm9yZGVyOiA0cHggc29saWQg
Ymx1ZQotfQotLmNvbHVtbiB7Ci0gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwot
fQotLmZsZXhpdGVtIHsKLSAgICAtd2Via2l0LWZsZXg6IDA7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogb3JhbmdlOwotICAgIGxpbmUtaGVpZ2h0OiAwOwotfQotLmlubGluZUNvbnRlbnQgewotICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBoZWlnaHQ6IDIwcHg7Ci0gICAgd2lkdGg6IDIw
cHg7Ci19Ci0uaW5saW5lQ29udGVudDpmaXJzdC1jaGlsZCB7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogc2FsbW9uOwotfQotLmlubGluZUNvbnRlbnQ6bGFzdC1jaGlsZCB7Ci0gICAgYmFja2dyb3Vu
ZC1jb2xvcjogb3JhbmdlOwotfQotaWZyYW1lIHsKLSAgICBib3JkZXI6IDA7Ci0gICAgb3V0bGlu
ZTogMnB4IHNvbGlkIGJsdWU7Ci19Ci0udmVydGljYWwtbHIgewotICAgIC13ZWJraXQtd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1scjsKLX0KLS52ZXJ0aWNhbC1ybCB7Ci0gICAgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOwotfQotLmhvcml6b250YWwtYnQgewotICAgIC13ZWJraXQt
d3JpdGluZy1tb2RlOiBob3Jpem9udGFsLWJ0OwotfQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KLQotPGJvZHkgb25sb2Fk
PSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+Ci0gICAgPGRpdj5UZXN0cyB0aGF0IGZsZXggaXRl
bXMgaGF2ZSBkZWZhdWx0IG1pbi1zaXplIHRvIG1pbi1jb250ZW50IGluIHRoZSBtYWluIGF4aXMg
ZGlyZWN0aW9uLjwvZGl2PgotICAgIDxkaXYgY2xhc3M9ImZsZXhib3giPgotICAgICAgICA8ZGl2
IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0yMCBkYXRhLWV4cGVjdGVkLWhl
aWdodD0wPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0g
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9k
aXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTIw
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTAgZGF0YS1leHBlY3RlZC14PTIwPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNz
PSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAg
ICA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhp
dGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9NDA+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAg
PGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9MCBkYXRhLWV4cGVjdGVk
LWhlaWdodD00MCBkYXRhLWV4cGVjdGVkLXk9NDA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJp
bmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRl
bnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9
ImZsZXhib3ggdmVydGljYWwtbHIiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0
YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPgotICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNz
PSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xh
c3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MjAgZGF0YS1leHBlY3RlZC15PTIwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29u
dGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rp
dj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94
IGNvbHVtbiB2ZXJ0aWNhbC1sciI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPTQwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+Ci0gICAgICAgICAgICA8
ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFz
cz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9NDAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
MCBkYXRhLWV4cGVjdGVkLXg9NDA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250
ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2
PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImZsZXhib3gg
dmVydGljYWwtcmwiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPgotICAgICAgICAgICAgPGRpdiBjbGFz
cz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVD
b250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhp
dGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjAgZGF0YS1l
eHBlY3RlZC15PTIwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9k
aXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAg
ICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiB2
ZXJ0aWNhbC1ybCI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPTQwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNz
PSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNv
bnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0
ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9NDAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MCBkYXRhLWV4
cGVjdGVkLXg9NDA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rp
dj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAg
ICA8L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImZsZXhib3ggaG9yaXpvbnRh
bC1idCI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PTIwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxp
bmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQi
PjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9MjAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MCBkYXRhLWV4cGVjdGVk
LXg9MjA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rp
dj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImZsZXhib3ggY29sdW1uIGhvcml6b250
YWwtYnQiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0
aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5s
aW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50
Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9NDAgZGF0YS1leHBlY3Rl
ZC15PTQwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0g
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9k
aXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4KLSAgICAgICAgPGRp
diBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9MjAgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9MD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2Pgot
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwv
ZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSB2ZXJ0aWNhbC1sciIgZGF0YS1leHBl
Y3RlZC13aWR0aD00MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD4KLSAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5s
aW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJm
bGV4aXRlbSB2ZXJ0aWNhbC1ybCIgZGF0YS1leHBlY3RlZC13aWR0aD00MCBkYXRhLWV4cGVjdGVk
LWhlaWdodD0yMD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2
PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAg
IDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSBob3Jpem9udGFsLWJ0IiBkYXRh
LWV4cGVjdGVkLXdpZHRoPTIwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+Ci0gICAgICAgICAgICA8
ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAg
IDxkaXYgY2xhc3M9ImZsZXhib3giPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0
YS1leHBlY3RlZC13aWR0aD0zMDAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MD4KLSAgICAgICAgICAg
IDxpZnJhbWU+PC9pZnJhbWU+Ci0gICAgICAgICAgICA8aWZyYW1lPjwvaWZyYW1lPgotICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9MzAwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTAgZGF0YS1leHBlY3RlZC14PTMwMD4KLSAgICAg
ICAgICAgIDxpZnJhbWU+PC9pZnJhbWU+Ci0gICAgICAgICAgICA8aWZyYW1lPjwvaWZyYW1lPgot
ICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImZsZXhib3ggY29s
dW1uIj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0zMDA+Ci0gICAgICAgICAgICA8aWZyYW1lPjwvaWZyYW1l
PgotICAgICAgICAgICAgPGlmcmFtZT48L2lmcmFtZT4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9MzAwIGRhdGEtZXhwZWN0ZWQteT0zMDA+Ci0gICAgICAgICAgICA8aWZyYW1lPjwv
aWZyYW1lPgotICAgICAgICAgICAgPGlmcmFtZT48L2lmcmFtZT4KLSAgICAgICAgPC9kaXY+Ci0g
ICAgPC9kaXY+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
ZmxleGJveC1iYXNlbGluZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gt
YmFzZWxpbmUuaHRtbAppbmRleCAxYzAxNzBkMDA5ZWVhZWEwYzc0Y2Y1ZTQ1MjRlOTllZDljMmMz
M2UyLi4zZDUwZmVmN2RhMTFjM2ExOThmMTEzNzczM2QxZjFlZDA3MWQyOWQxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWJhc2VsaW5lLmh0bWwKQEAgLTIwLDYgKzIw
LDEwIEBAIGJvZHkgewogLmNvbHVtbi1yZXZlcnNlIHsKICAgICAtd2Via2l0LWZsZXgtZmxvdzog
Y29sdW1uLXJldmVyc2U7CiB9CitkaXYgeworICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87Cisg
ICAgZmxleDogMCAwIGF1dG87Cit9CiA8L3N0eWxlPgogCiA8Ym9keSBzdHlsZT0icG9zaXRpb246
IHJlbGF0aXZlIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9saW5lLXdy
YXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbGluZS13cmFwcGluZy5odG1s
CmluZGV4IGZiNjVjZjc4N2JmYjcwYTAxZTUyMzczZjkxZmEyMDA3MzllNWNmZmQuLmQ4OTFkYWYz
MmI5NTU1ZTk4YWRiYmZiZTQ2NGNhNjNhMjQwZjk0NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NzczMvZmxleGJveC9saW5lLXdyYXBwaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L2xpbmUtd3JhcHBpbmcuaHRtbApAQCAtNDcsMTAgKzQ3LDEwIEBAIGJvZHkgewogfQog
CiAuaG9yaXpvbnRhbC10Yi5jb2x1bW4gPiBkaXYgewotICAgIC13ZWJraXQtZmxleDogMTsKKyAg
ICAtd2Via2l0LWZsZXg6IDEgYXV0bzsKIH0KIC52ZXJ0aWNhbC1sci5jb2x1bW4gPiBkaXYsIC52
ZXJ0aWNhbC1ybC5jb2x1bW4gPiBkaXYgewotICAgIC13ZWJraXQtZmxleDogMTsKKyAgICAtd2Vi
a2l0LWZsZXg6IDEgYXV0bzsKIH0KIAogLmhvcml6b250YWwtdGIuZml4ZWQgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3ByZWZlcnJlZC13aWR0aHMuaHRtbCBiL0xheW91
dFRlc3RzL2NzczMvZmxleGJveC9wcmVmZXJyZWQtd2lkdGhzLmh0bWwKaW5kZXggM2QwZjViZTM4
YTBjODY1YzUwOGI4YWYwMmZjMDM2MTVhYmI1MDI0ZS4uYTczYmM0ZjAwZmE4OTNkNDI2YjI4MTQ5
ZGZhMzI2ZjhjMjcwOTExYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3By
ZWZlcnJlZC13aWR0aHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcHJlZmVy
cmVkLXdpZHRocy5odG1sCkBAIC05LDYgKzksNyBAQAogLmZsZXhib3ggPiBkaXYgewogICAgIHBh
ZGRpbmc6IDJweCAxM3B4IDhweCAxN3B4OwogICAgIG1hcmdpbjogMnB4IDEzcHggOHB4IDE3cHg7
CisgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bzsKIH0KIC50aXRsZSB7CiAgICAgbWFyZ2luLXRv
cDogMWVtOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLWV4cGVjdGVk
LnR4dAppbmRleCAyOTk2OWE0ZDY2YzQ0ZGEwNmFmN2Y5MTQyN2IyYmE3OTg2MDBkYmRhLi5kMWJj
MGY3ZDZkZDMzOTQyNDJhMTMxOGYyMzA1MGZlNzQwYjVjNTBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxNCBAQCBQ
QVNTIGRpdi5zdHlsZS5taW5XaWR0aCBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdilb
Im1pbi13aWR0aCJdIGlzICIwcHgiCiBQQVNTIGRpdi5zdHlsZS5taW5XaWR0aCBpcyAiMHB4Igog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi13aWR0aCJdIGlzICIwcHgiCi1QQVNTIGRp
di5zdHlsZS5taW5XaWR0aCBpcyAiYXV0byIKK1BBU1MgZGl2LnN0eWxlLm1pbldpZHRoIGlzICIw
cHgiCiBQQVNTIGRpdi5zdHlsZS5tYXhXaWR0aCBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRpdikubWluV2lkdGggaXMgIjBweCIKIFBBU1MgZGl2LnN0eWxlLm1pbkhlaWdodCBpcyAiIgog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi1oZWlnaHQiXSBpcyAiMHB4IgogUEFTUyBk
aXYuc3R5bGUubWluSGVpZ2h0IGlzICIwcHgiCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2KVsi
bWluLWhlaWdodCJdIGlzICIwcHgiCi1QQVNTIGRpdi5zdHlsZS5taW5IZWlnaHQgaXMgImF1dG8i
CitQQVNTIGRpdi5zdHlsZS5taW5IZWlnaHQgaXMgIjBweCIKIFBBU1MgZGl2LnN0eWxlLm1heEhl
aWdodCBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdikubWluSGVpZ2h0IGlzICIwcHgi
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRv
LW1pbi1zaXplLmh0bWwKaW5kZXggNzg4ZjgyN2EwMjJhN2IxNjc1YzZlZTVkN2U1ZmE4Y2U5N2Ew
MTgwMy4uNTgxY2Y1MTEzM2NlMTE5YzA1OTZjZmZhN2M2NjhiMGRlNzQ4MDlhYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2F1dG8tbWluLXNpemUuaHRtbApAQCAtMTIsNyArMTIsNyBAQCBzaG91bGRC
ZSgnZ2V0Q29tcHV0ZWRTdHlsZShkaXYpWyJtaW4td2lkdGgiXScsICciMHB4IicpOwogCiBkaXYu
c3R5bGUubWluV2lkdGggPSAnYXV0byc7CiBkaXYuc3R5bGUubWF4V2lkdGggPSAnYXV0byc7Ci1z
aG91bGRCZSgnZGl2LnN0eWxlLm1pbldpZHRoJywgJyJhdXRvIicpOworc2hvdWxkQmUoJ2Rpdi5z
dHlsZS5taW5XaWR0aCcsICciMHB4IicpOwogc2hvdWxkQmUoJ2Rpdi5zdHlsZS5tYXhXaWR0aCcs
ICciIicpOwogc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZGl2KS5taW5XaWR0aCcsICciMHB4
IicpOwogCkBAIC0yNSw3ICsyNSw3IEBAIHNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGRpdilb
Im1pbi1oZWlnaHQiXScsICciMHB4IicpOwogCiBkaXYuc3R5bGUubWluSGVpZ2h0ID0gJ2F1dG8n
OwogZGl2LnN0eWxlLm1heEhlaWdodCA9ICdhdXRvJzsKLXNob3VsZEJlKCdkaXYuc3R5bGUubWlu
SGVpZ2h0JywgJyJhdXRvIicpOworc2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5IZWlnaHQnLCAnIjBw
eCInKTsKIHNob3VsZEJlKCdkaXYuc3R5bGUubWF4SGVpZ2h0JywgJyIiJyk7CiBzaG91bGRCZSgn
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1pbkhlaWdodCcsICciMHB4IicpOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2Zvcm1z
L2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQKaW5kZXggOGUzMDM0YTQ3MDMzNzBiMzMxMzA2ZDk0OWIxYjUyMGI4NDVkNjVmYy4uODFk
Y2UyNzE5ZGEwNTk0NWNjYzdiZTZhZjE2YjEyYjE0M2QzNTlkZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9mb3Jtcy9jb250cm9sLWNsaXAtb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxp
bnV4L2Zhc3QvZm9ybXMvY29udHJvbC1jbGlwLW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMjks
NyArMjksNyBAQCBsYXllciBhdCAoOCwxMDApIHNpemUgMTAweDUwCiBsYXllciBhdCAoOCwxNzAp
IHNpemUgMTAweDUwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2Mikgc2l6ZSAxMDB4NTAK
ICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDAsMikgc2l6ZSA4MHgyMiBbYmdjb2xvcj0j
REREREREXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjREREREREKV0KLSAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICg4LDMpIHNpemUgNjR4MTYKKyAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg4LDMpIHNpemUgMTU4eDE2CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE1OHgxNgogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1
ODogIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195807</attachid>
            <date>2013-03-29 15:02:57 -0700</date>
            <delta_ts>2013-03-29 16:03:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111790-20130329150253.patch</filename>
            <type>text/plain</type>
            <size>48670</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQzM2EwMzlkMzIwOWYw
NWU5OWI4MzFmM2Y3NDRlOTkyNmI3NWFmZi4uY2Y2ZDYyYjc2ODc3NzljODFiNjAwYzM3YzM1ZDRk
YTM3ODQ4Mzc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEzLTAzLTI5ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRmxleGl0ZW1zIG5vIGxvbmdl
ciBkZWZhdWx0IG1pbi13aWR0aCB0byBtaW4tY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFy
c2VWYWx1ZSk6CisgICAgICAgIERpc2FsbG93IGF1dG8gYXMgYSB2YWxpZCBtaW4tc2l6ZSB2YWx1
ZS4KKworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKGlucHV0Ojotd2Via2l0LWRh
dGV0aW1lLWVkaXQpOgorICAgICAgICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1zbGlk
ZXItY29udGFpbmVyLCBpbnB1dFt0eXBlPSJyYW5nZSJdOjotd2Via2l0LW1lZGlhLXNsaWRlci1j
b250YWluZXIpOgorICAgICAgICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1zbGlkZXIt
cnVubmFibGUtdHJhY2spOgorICAgICAgICBSZW1vdmUgbm93IHVubmVjZXNzYXJ5IG1pbi13aWR0
aDogMCdzLgorCisgICAgICAgICogY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUsIHZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1lbmNsb3N1cmUpOgorICAgICAgICBTZXQgYSBmbGV4LXNocmluazogMCB0
byBhdm9pZCBzaHJpbmtpbmcgdGhlc2UgaXRlbXMgYmVsb3cgdGhlIGRlc2lnbmF0ZWQgaGVpZ2h0
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5N
YXgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5S
ZWdpb25Vc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2Fs
SGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWln
aHRVc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9n
aWNhbEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50
QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdp
ZHRoVXNpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRM
b2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlcGxh
Y2VkTG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWlnaHQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjphdmFpbGFibGVMb2dpY2FsSGVpZ2h0VXNpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdp
ZHRoVXNpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25l
ZExvZ2ljYWxIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUG9z
aXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyk6CisgICAgICAgIFJlbW92ZSBhbGwgdGhlIHVubmVl
ZGVkIFNpemVUeXBlIGFyZ3VtZW50cyBub3cgdGhhdCB3ZSBkb24ndCBuZWVkIHRvCisgICAgICAg
IHNwZWNpYWxseSBoYW5kbGUgTWluU2l6ZSBpbiBhbGwgdGhlc2UgZnVuY3Rpb25zLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
dXR0b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9uOjpzdHlsZVdpbGxDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9uOjpzZXR1cElubmVyU3R5bGUpOgor
ICAgICAgICBObyBsb25nZXIgbmVlZCB0byBleHBsaWNpdGx5IHNldCBtaW4td2lkdGg6MC4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1ByZWZl
cnJlZFNpemVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjphZGp1c3RD
aGlsZFNpemVGb3JNaW5BbmRNYXgpOgorICAgICAgICBSZW1vdmUgdGhlIGNvZGUgZm9yIHNwZWNp
YWxseSBoYW5kbGluZyBhdXRvLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZTcGVj
aWZpZWRMZW5ndGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjptYXhQYWdlTG9naWNhbEhlaWdodCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQpOgorICAg
ICAgICBSZW1vdmUgYWxsIHRoZSBub3cgdW5uZWVkZWQgU2l6ZVR5cGUgYXJndW1lbnRzLgorCisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIENoYW5nZSB0
aGUgZGVmYXVsdCBtaW4tc2l6ZSBiYWNrIHRvIDAuCisKIDIwMTMtMDMtMTkgIE9qYW4gVmFmYWkg
IDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBtaW4td2lkdGgvbWF4LXdpZHRoIG9mIG1p
bi1jb250ZW50L21heC1jb250ZW50IGRvbid0IHdvcmsgY29ycmVjdGx5IGlmIHdpZHRoIGlzIHNw
ZWNpZmllZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBlY2Q1OGRiMGU3MjkyOTk3ZDkx
MGU0NDk4OTBhOTE0ZWViNDg5YmJlLi5mZDgwMmMzYWE5OWUzYzhiMWM5MmUxYmJlZDAxMmRhYjc2
ZGQ1MjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjIxNCw2ICsyMjE0LDkgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KQogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eU1pbldpZHRoOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRNaW5Mb2dpY2FsV2lkdGg6CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdmFs
aWRXaWR0aCh2YWx1ZSk7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdp
ZHRoOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRMb2dpY2FsV2lkdGg6CiAgICAgICAgIHZh
bGlkUHJpbWl0aXZlID0gKGlkID09IENTU1ZhbHVlQXV0byB8fCB2YWxpZFdpZHRoKHZhbHVlKSk7
CkBAIC0yMjI2LDYgKzIyMjksOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAKICAgICBjYXNlIENTU1Byb3BlcnR5TWlu
SGVpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNaW5Mb2dpY2FsSGVpZ2h0OgorICAg
ICAgICB2YWxpZFByaW1pdGl2ZSA9IHZhbGlkSGVpZ2h0KHZhbHVlKTsKKyAgICAgICAgYnJlYWs7
CisKICAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRMb2dpY2FsSGVpZ2h0OgogICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IChpZCA9PSBDU1NWYWx1
ZUF1dG8gfHwgdmFsaWRIZWlnaHQodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCA2YjhmZWM2
MmRlOWZiNjdhMWMzNjIyNjE5NTE3YmU1OWFkNjdmOTE5Li5kY2IyY2ExMGExYjc0Y2RiYjljMjk5
NTVlMWQ0YWZiODlkMTQ1MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5j
c3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC01NjQsNyArNTY0LDYgQEAg
aW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7CiAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAg
IC13ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQtb25seSAhaW1wb3J0YW50OwogICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKLSAgICBtaW4td2lkdGg6IDA7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsK
IH0KIApAQCAtODI5LDggKzgyOCw2IEBAIGlucHV0W3R5cGU9InJhbmdlIl0gewogCiBpbnB1dFt0
eXBlPSJyYW5nZSJdOjotd2Via2l0LXNsaWRlci1jb250YWluZXIsIGlucHV0W3R5cGU9InJhbmdl
Il06Oi13ZWJraXQtbWVkaWEtc2xpZGVyLWNvbnRhaW5lciB7CiAgICAgLXdlYmtpdC1mbGV4OiAx
OwotICAgIG1pbi13aWR0aDogMDsKLQogICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAg
LXdlYmtpdC11c2VyLW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7CiAgICAgZGlzcGxheTog
LXdlYmtpdC1mbGV4OwpAQCAtODM5LDcgKzgzNiw2IEBAIGlucHV0W3R5cGU9InJhbmdlIl06Oi13
ZWJraXQtc2xpZGVyLWNvbnRhaW5lciwgaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRp
CiAKIGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHsK
ICAgICAtd2Via2l0LWZsZXg6IDE7Ci0gICAgbWluLXdpZHRoOiAwOwogICAgIC13ZWJraXQtYWxp
Z24tc2VsZjogY2VudGVyOwogCiAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzIGIvU291cmNl
L1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKaW5kZXggOGQ3M2U3M2NkNGRh
OGM5YzFhYzE2MDA2MDM2OTZiM2QxNWY5ZDdhMC4uODUwOTQzNjY2ZDIwMDQ5Nzk3MDUwZWQwMTYy
MGIyNWJlOTc4Zjc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNDaHJvbWl1bS5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJv
bWl1bS5jc3MKQEAgLTU1LDYgKzU1LDcgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
ZW5jbG9zdXJlLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUKICAgICB3
aWR0aDogMTAwJTsKICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgIGhlaWdodDogMzBweDsKKyAg
ICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwOwogICAgIGJvdHRvbTogMDsKICAgICB0ZXh0LWluZGVu
dDogMDsKICAgICBwYWRkaW5nOiAwOwpAQCAtNjQsNiArNjUsNyBAQCBhdWRpbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1lbmNsb3N1cmUsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVu
Y2xvc3VyZQogdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlIHsKICAgICBw
YWRkaW5nOiAwcHggNXB4IDVweCA1cHg7CiAgICAgaGVpZ2h0OiAzNXB4OworICAgIC13ZWJraXQt
ZmxleC1zaHJpbms6IDA7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGNlMjk5MWFkNTNmOTI4ZDNhNDkxYmJjMzI3NDEwMmU0
ZjgwNzRlZGMuLjBkZDE0NzFlMDg5NDc5M2I1NmU5NjhhYjFiNjRkYWVhMDMxZmViYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01MTEsMjIgKzUxMSwyMiBAQCBM
YXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91
dFVuaXQgbG9naWNhbEhlaWdodCkgYwogewogICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0g
c3R5bGUoKTsKICAgICBpZiAoIXN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVm
aW5lZCgpKSB7Ci0gICAgICAgIExheW91dFVuaXQgbWF4SCA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0
VXNpbmcoTWF4U2l6ZSwgc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpKTsKKyAgICAgICAg
TGF5b3V0VW5pdCBtYXhIID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZVRvVXNlLT5s
b2dpY2FsTWF4SGVpZ2h0KCkpOwogICAgICAgICBpZiAobWF4SCAhPSAtMSkKICAgICAgICAgICAg
IGxvZ2ljYWxIZWlnaHQgPSBtaW4obG9naWNhbEhlaWdodCwgbWF4SCk7CiAgICAgfQotICAgIHJl
dHVybiBtYXgobG9naWNhbEhlaWdodCwgY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhNaW5TaXpl
LCBzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0KCkpKTsKKyAgICByZXR1cm4gbWF4KGxvZ2lj
YWxIZWlnaHQsIGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGVUb1VzZS0+bG9naWNhbE1p
bkhlaWdodCgpKSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Db250ZW50
Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QK
IHsKICAgICBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IHN0eWxlKCk7CiAgICAgaWYgKCFzdHls
ZVRvVXNlLT5sb2dpY2FsTWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSkgewotICAgICAgICBMYXlv
dXRVbml0IG1heEggPSBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWF4U2l6ZSwgc3R5bGVU
b1VzZS0+bG9naWNhbE1heEhlaWdodCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhIID0gY29t
cHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KHN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKSk7
CiAgICAgICAgIGlmIChtYXhIICE9IC0xKQogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IG1p
bihsb2dpY2FsSGVpZ2h0LCBtYXhIKTsKICAgICB9Ci0gICAgcmV0dXJuIG1heChsb2dpY2FsSGVp
Z2h0LCBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWluU2l6ZSwgc3R5bGVUb1VzZS0+bG9n
aWNhbE1pbkhlaWdodCgpKSk7CisgICAgcmV0dXJuIG1heChsb2dpY2FsSGVpZ2h0LCBjb21wdXRl
Q29udGVudExvZ2ljYWxIZWlnaHQoc3R5bGVUb1VzZS0+bG9naWNhbE1pbkhlaWdodCgpKSk7CiB9
CiAKIEludFJlY3QgUmVuZGVyQm94OjphYnNvbHV0ZUNvbnRlbnRCb3goKSBjb25zdApAQCAtMjIw
MSw5ICsyMjAxLDggQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNhbFdpZHRoTGVuZ3QKIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5SZWdpb25Vc2luZyhTaXplVHlwZSB3aWR0aFR5cGUs
IExlbmd0aCBsb2dpY2FsV2lkdGgsIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoLAog
ICAgIGNvbnN0IFJlbmRlckJsb2NrKiBjYiwgUmVuZGVyUmVnaW9uKiByZWdpb24sIExheW91dFVu
aXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSkgY29uc3QKIHsKLSAgICBpZiAod2lk
dGhUeXBlID09IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQotICAgICAgICByZXR1
cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKDApOwotICAgIAorICAg
IEFTU0VSVCghbG9naWNhbFdpZHRoLmlzVW5kZWZpbmVkKCkpOworCiAgICAgaWYgKCFsb2dpY2Fs
V2lkdGguaXNJbnRyaW5zaWNPckF1dG8oKSkgewogICAgICAgICAvLyBGSVhNRTogSWYgdGhlIGNv
bnRhaW5pbmcgYmxvY2sgZmxvdyBpcyBwZXJwZW5kaWN1bGFyIHRvIG91ciBkaXJlY3Rpb24gd2Ug
bmVlZCB0byB1c2UgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIGhlaWdodCBpbnN0ZWFkLgogICAgICAg
ICByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHZhbHVlRm9y
TGVuZ3RoKGxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlTG9naWNhbFdpZHRoLCB2aWV3KCkpKTsKQEAg
LTI1MTMsNyArMjUxMiw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbEhlaWdodChM
YXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhCiAKICAgICAgICAgTGF5
b3V0VW5pdCBoZWlnaHRSZXN1bHQ7CiAgICAgICAgIGlmIChjaGVja01pbk1heEhlaWdodCkgewot
ICAgICAgICAgICAgaGVpZ2h0UmVzdWx0ID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhNYWlu
T3JQcmVmZXJyZWRTaXplLCBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICAgICAg
aGVpZ2h0UmVzdWx0ID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZSgpLT5sb2dpY2Fs
SGVpZ2h0KCkpOwogICAgICAgICAgICAgaWYgKGhlaWdodFJlc3VsdCA9PSAtMSkKICAgICAgICAg
ICAgICAgICBoZWlnaHRSZXN1bHQgPSBjb21wdXRlZFZhbHVlcy5tX2V4dGVudDsKICAgICAgICAg
ICAgIGhlaWdodFJlc3VsdCA9IGNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChoZWlnaHRS
ZXN1bHQpOwpAQCAtMjU2MCwyNiArMjU1OSwyNCBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6dmll
d0xvZ2ljYWxIZWlnaHRGb3JQZXJjZW50YWdlcygpIGNvbnN0CiAgICAgcmV0dXJuIHZpZXcoKS0+
dmlld0xvZ2ljYWxIZWlnaHQoKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVM
b2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29uc3QgTGVuZ3RoJiBoZWln
aHQpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2lu
Zyhjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKIHsKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhoZWln
aHRUeXBlLCBoZWlnaHQpOworICAgIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IGNvbXB1dGVD
b250ZW50QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKGhlaWdodCk7CiAgICAgaWYgKGxv
Z2ljYWxIZWlnaHQgIT0gLTEpCiAgICAgICAgIGxvZ2ljYWxIZWlnaHQgPSBhZGp1c3RCb3JkZXJC
b3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGxvZ2ljYWxIZWlnaHQpOwogICAgIHJldHVybiBs
b2dpY2FsSGVpZ2h0OwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNvbnRlbnRM
b2dpY2FsSGVpZ2h0KFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBj
b25zdAorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChj
b25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKIHsKLSAgICBMYXlvdXRVbml0IGhlaWdodEluY2x1
ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250ZW50QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVz
aW5nKGhlaWdodFR5cGUsIGhlaWdodCk7CisgICAgTGF5b3V0VW5pdCBoZWlnaHRJbmNsdWRpbmdT
Y3JvbGxiYXIgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyho
ZWlnaHQpOwogICAgIGlmIChoZWlnaHRJbmNsdWRpbmdTY3JvbGxiYXIgPT0gLTEpCiAgICAgICAg
IHJldHVybiAtMTsKICAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFy
KSAtIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94
Ojpjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSBo
ZWlnaHRUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhjb25zdCBM
ZW5ndGgmIGhlaWdodCkgY29uc3QKIHsKLSAgICBpZiAoaGVpZ2h0LmlzQXV0bygpKQotICAgICAg
ICByZXR1cm4gaGVpZ2h0VHlwZSA9PSBNaW5TaXplID8gMCA6IC0xOwogICAgIGlmIChoZWlnaHQu
aXNGaXhlZCgpKQogICAgICAgICByZXR1cm4gaGVpZ2h0LnZhbHVlKCk7CiAgICAgaWYgKGhlaWdo
dC5pc1BlcmNlbnQoKSkKQEAgLTI2OTMsMjEgKzI2OTAsMTggQEAgTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjb25zdCBMZW5ndGgmIGhlaWdodCkg
Y29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aChTaG91bGRDb21wdXRlUHJlZmVycmVkIHNob3VsZENvbXB1dGVQcmVmZXJyZWQpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhX
aWR0aChjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhNYWluT3JQcmVmZXJyZWRTaXpl
LCBzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKSksIHNob3VsZENvbXB1dGVQcmVmZXJyZWQpOworICAg
IHJldHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgo
Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUoKS0+bG9naWNhbFdpZHRoKCkp
LCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChMYXlvdXRVbml0
IGxvZ2ljYWxXaWR0aCwgU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCBzaG91bGRDb21wdXRlUHJlZmVy
cmVkKSBjb25zdAogewotICAgIExheW91dFVuaXQgbWluTG9naWNhbFdpZHRoID0gKHNob3VsZENv
bXB1dGVQcmVmZXJyZWQgPT0gQ29tcHV0ZVByZWZlcnJlZCAmJiBzdHlsZSgpLT5sb2dpY2FsTWlu
V2lkdGgoKS5pc1BlcmNlbnQoKSkgfHwgc3R5bGUoKS0+bG9naWNhbE1pbldpZHRoKCkuaXNVbmRl
ZmluZWQoKSA/IGxvZ2ljYWxXaWR0aCA6IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5n
KE1pblNpemUsIHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgpKTsKLSAgICBMYXlvdXRVbml0IG1h
eExvZ2ljYWxXaWR0aCA9IChzaG91bGRDb21wdXRlUHJlZmVycmVkID09IENvbXB1dGVQcmVmZXJy
ZWQgJiYgc3R5bGUoKS0+bG9naWNhbE1heFdpZHRoKCkuaXNQZXJjZW50KCkpIHx8IHN0eWxlKCkt
PmxvZ2ljYWxNYXhXaWR0aCgpLmlzVW5kZWZpbmVkKCkgPyBsb2dpY2FsV2lkdGggOiBjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhNYXhTaXplLCBzdHlsZSgpLT5sb2dpY2FsTWF4V2lk
dGgoKSk7CisgICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsV2lkdGggPSAoc2hvdWxkQ29tcHV0ZVBy
ZWZlcnJlZCA9PSBDb21wdXRlUHJlZmVycmVkICYmIHN0eWxlKCktPmxvZ2ljYWxNaW5XaWR0aCgp
LmlzUGVyY2VudCgpKSB8fCBzdHlsZSgpLT5sb2dpY2FsTWluV2lkdGgoKS5pc1VuZGVmaW5lZCgp
ID8gbG9naWNhbFdpZHRoIDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUo
KS0+bG9naWNhbE1pbldpZHRoKCkpOworICAgIExheW91dFVuaXQgbWF4TG9naWNhbFdpZHRoID0g
KHNob3VsZENvbXB1dGVQcmVmZXJyZWQgPT0gQ29tcHV0ZVByZWZlcnJlZCAmJiBzdHlsZSgpLT5s
b2dpY2FsTWF4V2lkdGgoKS5pc1BlcmNlbnQoKSkgfHwgc3R5bGUoKS0+bG9naWNhbE1heFdpZHRo
KCkuaXNVbmRlZmluZWQoKSA/IGxvZ2ljYWxXaWR0aCA6IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxX
aWR0aFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNYXhXaWR0aCgpKTsKICAgICByZXR1cm4gbWF4KG1p
bkxvZ2ljYWxXaWR0aCwgbWluKGxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKSk7CiB9CiAK
LUxheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhT
aXplVHlwZSBzaXplVHlwZSwgTGVuZ3RoIGxvZ2ljYWxXaWR0aCkgY29uc3QKK0xheW91dFVuaXQg
UmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNh
bFdpZHRoKSBjb25zdAogewotICAgIGlmIChzaXplVHlwZSA9PSBNaW5TaXplICYmIGxvZ2ljYWxX
aWR0aC5pc0F1dG8oKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoMCk7Ci0KICAgICBzd2l0Y2ggKGxvZ2ljYWxXaWR0aC50eXBlKCkpIHsK
ICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGxvZ2ljYWxXaWR0aC52YWx1ZSgpKTsKQEAgLTI3NTMs
MjEgKzI3NDcsMTggQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxXaWR0aFVzaW5nKFNpemVUeXBlIHNpemVUeXBlLCBMZW5ndGgKIAogTGF5b3V0VW5pdCBSZW5k
ZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogewotICAgIHJldHVy
biBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdodChjb21w
dXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUo
KS0+bG9naWNhbEhlaWdodCgpKSk7CisgICAgcmV0dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxI
ZWlnaHRSZXNwZWN0aW5nTWluTWF4SGVpZ2h0KGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRV
c2luZyhzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkpKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRSZXNwZWN0aW5nTWluTWF4SGVpZ2h0KExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QKIHsKLSAgICBMYXlvdXRVbml0IG1pbkxvZ2lj
YWxIZWlnaHQgPSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWluU2l6ZSwgc3R5
bGUoKS0+bG9naWNhbE1pbkhlaWdodCgpKTsKLSAgICBMYXlvdXRVbml0IG1heExvZ2ljYWxIZWln
aHQgPSBzdHlsZSgpLT5sb2dpY2FsTWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSA/IGxvZ2ljYWxI
ZWlnaHQgOiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWF4U2l6ZSwgc3R5bGUo
KS0+bG9naWNhbE1heEhlaWdodCgpKTsKKyAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxIZWlnaHQg
PSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS0+bG9naWNhbE1pbkhl
aWdodCgpKTsKKyAgICBMYXlvdXRVbml0IG1heExvZ2ljYWxIZWlnaHQgPSBzdHlsZSgpLT5sb2dp
Y2FsTWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSA/IGxvZ2ljYWxIZWlnaHQgOiBjb21wdXRlUmVw
bGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS0+bG9naWNhbE1heEhlaWdodCgpKTsKICAg
ICByZXR1cm4gbWF4KG1pbkxvZ2ljYWxIZWlnaHQsIG1pbihsb2dpY2FsSGVpZ2h0LCBtYXhMb2dp
Y2FsSGVpZ2h0KSk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRM
b2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUgc2l6ZVR5cGUsIExlbmd0aCBsb2dpY2FsSGVpZ2h0
KSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWln
aHRVc2luZyhMZW5ndGggbG9naWNhbEhlaWdodCkgY29uc3QKIHsKLSAgICBpZiAoc2l6ZVR5cGUg
PT0gTWluU2l6ZSAmJiBsb2dpY2FsSGVpZ2h0LmlzQXV0bygpKQotICAgICAgICByZXR1cm4gYWRq
dXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoMCk7Ci0KICAgICBzd2l0Y2gg
KGxvZ2ljYWxIZWlnaHQudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAg
ICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcobG9naWNh
bEhlaWdodC52YWx1ZSgpKTsKQEAgLTI4NTMsNyArMjg0NCw3IEBAIExheW91dFVuaXQgUmVuZGVy
Qm94OjphdmFpbGFibGVMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiBoLCBBdmFpbGFi
bGVMb2dpCiAgICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJv
eFNpemluZyh2YWx1ZUZvckxlbmd0aChoLCBhdmFpbGFibGVIZWlnaHQpKTsKICAgICB9CiAKLSAg
ICBMYXlvdXRVbml0IGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250ZW50QW5k
U2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIGgpOworICAg
IExheW91dFVuaXQgaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID0gY29tcHV0ZUNvbnRlbnRBbmRT
Y3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaCk7CiAgICAgaWYgKGhlaWdodEluY2x1ZGluZ1Nj
cm9sbGJhciAhPSAtMSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGhlaWdodEluY2x1ZGluZ1Nj
cm9sbGJhcikgLSBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOwogCkBAIC0zMTI1LDcgKzMxMTYs
NyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNh
bEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdQogICAgIGNvbXB1dGVJbmxpbmVTdGF0aWNEaXN0
YW5jZShsb2dpY2FsTGVmdExlbmd0aCwgbG9naWNhbFJpZ2h0TGVuZ3RoLCB0aGlzLCBjb250YWlu
ZXJCbG9jaywgY29udGFpbmVyTG9naWNhbFdpZHRoLCByZWdpb24pOwogICAgIAogICAgIC8vIENh
bGN1bGF0ZSBjb25zdHJhaW50IGVxdWF0aW9uIHZhbHVlcyBmb3IgJ3dpZHRoJyBjYXNlLgotICAg
IGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6ZSwg
c3R5bGUoKS0+bG9naWNhbFdpZHRoKCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rp
b24sCisgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLT5sb2dp
Y2FsV2lkdGgoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgYm9y
ZGVyc1BsdXNQYWRkaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9naWNhbExlZnRMZW5ndGgsIGxvZ2ljYWxSaWdodExlbmd0aCwgbWFyZ2luTG9naWNhbExlZnQs
IG1hcmdpbkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbXB1dGVkVmFsdWVzKTsKQEAgLTMxMzQsNyArMzEyNSw3IEBAIHZvaWQgUmVuZGVyQm94
Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1
ZXMmIGNvbXB1CiAgICAgaWYgKCFzdHlsZSgpLT5sb2dpY2FsTWF4V2lkdGgoKS5pc1VuZGVmaW5l
ZCgpKSB7CiAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyBtYXhWYWx1ZXM7CiAK
LSAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhNYXhTaXplLCBzdHls
ZSgpLT5sb2dpY2FsTWF4V2lkdGgoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlv
biwKKyAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLT5s
b2dpY2FsTWF4V2lkdGgoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJMb2dpY2Fs
V2lkdGgsIGJvcmRlcnNQbHVzUGFkZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2dpY2FsTGVmdExlbmd0aCwgbG9naWNhbFJpZ2h0TGVuZ3RoLCBtYXJn
aW5Mb2dpY2FsTGVmdCwgbWFyZ2luTG9naWNhbFJpZ2h0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1heFZhbHVlcyk7CkBAIC0zMTUxLDcgKzMxNDIsNyBAQCB2
b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNhbEV4dGVu
dENvbXB1dGVkVmFsdWVzJiBjb21wdQogICAgIGlmICghc3R5bGUoKS0+bG9naWNhbE1pbldpZHRo
KCkuaXNaZXJvKCkgfHwgc3R5bGUoKS0+bG9naWNhbE1pbldpZHRoKCkuaXNJbnRyaW5zaWMoKSkg
ewogICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgbWluVmFsdWVzOwogCi0gICAg
ICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWluU2l6ZSwgc3R5bGUoKS0+
bG9naWNhbE1pbldpZHRoKCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCisg
ICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUoKS0+bG9naWNh
bE1pbldpZHRoKCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyTG9naWNhbFdpZHRo
LCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9naWNhbExlZnRMZW5ndGgsIGxvZ2ljYWxSaWdodExlbmd0aCwgbWFyZ2luTG9n
aWNhbExlZnQsIG1hcmdpbkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5WYWx1ZXMpOwpAQCAtMzE5NywxNCArMzE4OCwxMiBAQCBzdGF0
aWMgdm9pZCBjb21wdXRlTG9naWNhbExlZnRQb3NpdGlvbmVkT2Zmc2V0KExheW91dFVuaXQmIGxv
Z2ljYWxMZWZ0UG9zLCBjb25zdAogICAgICAgICBsb2dpY2FsTGVmdFBvcyArPSAoY2hpbGQtPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250YWluZXJCbG9jay0+Ym9yZGVyTGVmdCgpIDog
Y29udGFpbmVyQmxvY2stPmJvcmRlclRvcCgpKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OmNvbXB1
dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhTaXplVHlwZSwgTGVu
Z3RoIGxvZ2ljYWxXaWR0aCwgY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRhaW5lckJs
b2NrLCBUZXh0RGlyZWN0aW9uIGNvbnRhaW5lckRpcmVjdGlvbiwKK3ZvaWQgUmVuZGVyQm94Ojpj
b21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKExlbmd0aCBsb2dpY2FsV2lkdGgsIGNv
bnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywgVGV4dERpcmVjdGlvbiBj
b250YWluZXJEaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMYXlvdXRVbml0IGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5p
dCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMZW5ndGggbG9naWNhbExlZnQsIExlbmd0aCBsb2dpY2FsUmlnaHQs
IExlbmd0aCBtYXJnaW5Mb2dpY2FsTGVmdCwgTGVuZ3RoIG1hcmdpbkxvZ2ljYWxSaWdodCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZ2ljYWxF
eHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRWYWx1ZXMpIGNvbnN0CiB7Ci0gICAgaWYgKHdp
ZHRoU2l6ZVR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkpCi0gICAgICAg
IGxvZ2ljYWxXaWR0aCA9IExlbmd0aCgwLCBGaXhlZCk7Ci0gICAgZWxzZSBpZiAobG9naWNhbFdp
ZHRoLmlzSW50cmluc2ljKCkpCisgICAgaWYgKGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpYygpKQog
ICAgICAgICBsb2dpY2FsV2lkdGggPSBMZW5ndGgoY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aFVzaW5nKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRoLCBib3JkZXJzUGx1c1Bh
ZGRpbmcpIC0gYm9yZGVyc1BsdXNQYWRkaW5nLCBGaXhlZCk7CiAKICAgICAvLyAnbGVmdCcgYW5k
ICdyaWdodCcgY2Fubm90IGJvdGggYmUgJ2F1dG8nIGJlY2F1c2Ugb25lIHdvdWxkIG9mIGJlZW4K
QEAgLTM0NDUsNyArMzQzNCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExv
Z2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wCiAKICAgICAvLyBD
YWxjdWxhdGUgY29uc3RyYWludCBlcXVhdGlvbiB2YWx1ZXMgZm9yICdoZWlnaHQnIGNhc2UuCiAg
ICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQ7Ci0g
ICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6
ZSwgc3R5bGVUb1VzZS0+bG9naWNhbEhlaWdodCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVy
TG9naWNhbEhlaWdodCwgYm9yZGVyc1BsdXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0LAorICAgIGNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlVG9Vc2UtPmxvZ2ljYWxIZWln
aHQoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIGJvcmRlcnNQbHVz
UGFkZGluZywgbG9naWNhbEhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsb2dpY2FsVG9wTGVuZ3RoLCBsb2dpY2FsQm90dG9tTGVuZ3RoLCBtYXJnaW5CZWZv
cmUsIG1hcmdpbkFmdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbXB1dGVkVmFsdWVzKTsKIApAQCAtMzQ1Niw3ICszNDQ1LDcgQEAgdm9pZCBSZW5kZXJCb3g6
OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1
ZXMmIGNvbXAKICAgICBpZiAoIXN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVm
aW5lZCgpKSB7CiAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyBtYXhWYWx1ZXM7
CiAKLSAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWF4U2l6ZSwg
c3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVy
TG9naWNhbEhlaWdodCwgYm9yZGVyc1BsdXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0LAorICAgICAg
ICBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZVRvVXNlLT5sb2dpY2Fs
TWF4SGVpZ2h0KCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJMb2dpY2FsSGVpZ2h0LCBib3Jk
ZXJzUGx1c1BhZGRpbmcsIGxvZ2ljYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3BMZW5ndGgsIGxvZ2ljYWxCb3R0b21MZW5ndGgs
IG1hcmdpbkJlZm9yZSwgbWFyZ2luQWZ0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1heFZhbHVlcyk7CiAKQEAgLTM0NzIsNyArMzQ2MSw3IEBAIHZvaWQg
UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENv
bXB1dGVkVmFsdWVzJiBjb21wCiAgICAgaWYgKCFzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0
KCkuaXNaZXJvKCkpIHsKICAgICAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIG1pblZh
bHVlczsKIAotICAgICAgICBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyhNaW5T
aXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0KCksIGNvbnRhaW5lckJsb2NrLCBjb250
YWluZXJMb2dpY2FsSGVpZ2h0LCBib3JkZXJzUGx1c1BhZGRpbmcsIGxvZ2ljYWxIZWlnaHQsCisg
ICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlVG9Vc2UtPmxv
Z2ljYWxNaW5IZWlnaHQoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQs
IGJvcmRlcnNQbHVzUGFkZGluZywgbG9naWNhbEhlaWdodCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFRvcExlbmd0aCwgbG9naWNhbEJvdHRvbUxl
bmd0aCwgbWFyZ2luQmVmb3JlLCBtYXJnaW5BZnRlciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWluVmFsdWVzKTsKIApAQCAtMzUyOSwxNCArMzUxOCwxMSBA
QCBzdGF0aWMgdm9pZCBjb21wdXRlTG9naWNhbFRvcFBvc2l0aW9uZWRPZmZzZXQoTGF5b3V0VW5p
dCYgbG9naWNhbFRvcFBvcywgY29uc3QgUgogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJCb3g6OmNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKFNpemVUeXBlIGhlaWdodFNpemVUeXBl
LCBMZW5ndGggbG9naWNhbEhlaWdodExlbmd0aCwgY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3Qq
IGNvbnRhaW5lckJsb2NrLAordm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNh
bEhlaWdodFVzaW5nKExlbmd0aCBsb2dpY2FsSGVpZ2h0TGVuZ3RoLCBjb25zdCBSZW5kZXJCb3hN
b2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBjb250YWluZXJMb2dpY2FsSGVpZ2h0
LCBMYXlvdXRVbml0IGJvcmRlcnNQbHVzUGFkZGluZywgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExl
bmd0aCBsb2dpY2FsVG9wLCBMZW5ndGggbG9naWNhbEJvdHRvbSwgTGVuZ3RoIG1hcmdpbkJlZm9y
ZSwgTGVuZ3RoIG1hcmdpbkFmdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRW
YWx1ZXMpIGNvbnN0CiB7Ci0gICAgaWYgKGhlaWdodFNpemVUeXBlID09IE1pblNpemUgJiYgbG9n
aWNhbEhlaWdodExlbmd0aC5pc0F1dG8oKSkKLSAgICAgICAgbG9naWNhbEhlaWdodExlbmd0aCA9
IExlbmd0aCgwLCBGaXhlZCk7Ci0KICAgICAvLyAndG9wJyBhbmQgJ2JvdHRvbScgY2Fubm90IGJv
dGggYmUgJ2F1dG8nIGJlY2F1c2UgJ3RvcCB3b3VsZCBvZiBiZWVuCiAgICAgLy8gY29udmVydGVk
IHRvIHRoZSBzdGF0aWMgcG9zaXRpb24gaW4gY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0
KCkKICAgICBBU1NFUlQoIShsb2dpY2FsVG9wLmlzQXV0bygpICYmIGxvZ2ljYWxCb3R0b20uaXNB
dXRvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBkNDRjNjllODYy
NDYwYTQ3NDdlZmJlYjNlZTQzOTQwYTIzMTllMmYwLi41MWZlZTUxZWFiYTgwNjdlMzhiOTZlNzNk
YTI3M2E1MWMxZGRmYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00
MTEsMTMgKzQxMSwxMyBAQCBwdWJsaWM6CiAKICAgICBMYXlvdXRVbml0IHNocmlua0xvZ2ljYWxX
aWR0aFRvQXZvaWRGbG9hdHMoTGF5b3V0VW5pdCBjaGlsZE1hcmdpblN0YXJ0LCBMYXlvdXRVbml0
IGNoaWxkTWFyZ2luRW5kLCBjb25zdCBSZW5kZXJCbG9jayogY2IsIFJlbmRlclJlZ2lvbiosIExh
eW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSkgY29uc3Q7CiAKLSAgICBM
YXlvdXRVbml0IGNvbXB1dGVMb2dpY2FsV2lkdGhJblJlZ2lvblVzaW5nKFNpemVUeXBlLCBMZW5n
dGgsIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoLCBjb25zdCBSZW5kZXJCbG9jayog
Y29udGFpbmluZ0Jsb2NrLCBSZW5kZXJSZWdpb24qLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UpIGNvbnN0OwotICAgIExheW91dFVuaXQgY29tcHV0ZUxvZ2ljYWxI
ZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0OwotICAgIExh
eW91dFVuaXQgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KFNpemVUeXBlLCBjb25zdCBMZW5n
dGgmIGhlaWdodCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udGVudEFuZFNjcm9s
bGJhckxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNv
bnN0OwotICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoU2l6
ZVR5cGUsIExlbmd0aCB3aWR0aCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlTG9naWNh
bFdpZHRoSW5SZWdpb25Vc2luZyhTaXplVHlwZSwgTGVuZ3RoIGxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCBhdmFpbGFibGVMb2dpY2FsV2lkdGgsIGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluaW5n
QmxvY2ssIFJlbmRlclJlZ2lvbiosIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZp
cnN0UGFnZSkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5n
KGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGNvbXB1dGVDb250
ZW50TG9naWNhbEhlaWdodChjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7CisgICAgTGF5b3V0
VW5pdCBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhjb25zdCBM
ZW5ndGgmIGhlaWdodCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlUmVwbGFjZWRMb2dp
Y2FsV2lkdGhVc2luZyhMZW5ndGggd2lkdGgpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0
ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKExheW91dFVuaXQgbG9n
aWNhbFdpZHRoLCBTaG91bGRDb21wdXRlUHJlZmVycmVkICA9IENvbXB1dGVBY3R1YWwpIGNvbnN0
OwotICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKFNpemVU
eXBlLCBMZW5ndGggaGVpZ2h0KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNl
ZExvZ2ljYWxIZWlnaHRVc2luZyhMZW5ndGggaGVpZ2h0KSBjb25zdDsKICAgICBMYXlvdXRVbml0
IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRSZXNwZWN0aW5nTWluTWF4SGVpZ2h0KExheW91
dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIExheW91dFVuaXQgY29t
cHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgID0gQ29tcHV0
ZUFjdHVhbCkgY29uc3Q7CkBAIC02NDcsMTEgKzY0NywxMSBAQCBwcml2YXRlOgogICAgIExheW91
dFVuaXQgdmlld0xvZ2ljYWxIZWlnaHRGb3JQZXJjZW50YWdlcygpIGNvbnN0OwogCiAgICAgdm9p
ZCBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFs
dWVzJikgY29uc3Q7Ci0gICAgdm9pZCBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5n
KFNpemVUeXBlLCBMZW5ndGggbG9naWNhbFdpZHRoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVj
dCogY29udGFpbmVyQmxvY2ssIFRleHREaXJlY3Rpb24gY29udGFpbmVyRGlyZWN0aW9uLAorICAg
IHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNhbFdp
ZHRoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssIFRleHREaXJl
Y3Rpb24gY29udGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMYXlvdXRVbml0IGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5p
dCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIExlbmd0aCBsb2dpY2FsTGVmdCwgTGVuZ3RoIGxvZ2ljYWxSaWdodCwgTGVuZ3Ro
IG1hcmdpbkxvZ2ljYWxMZWZ0LCBMZW5ndGggbWFyZ2luTG9naWNhbFJpZ2h0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRW
YWx1ZXMmKSBjb25zdDsKLSAgICB2b2lkIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVz
aW5nKFNpemVUeXBlLCBMZW5ndGggbG9naWNhbEhlaWdodExlbmd0aCwgY29uc3QgUmVuZGVyQm94
TW9kZWxPYmplY3QqIGNvbnRhaW5lckJsb2NrLAorICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRM
b2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3RoIGxvZ2ljYWxIZWlnaHRMZW5ndGgsIGNvbnN0IFJlbmRl
ckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgY29udGFpbmVyTG9naWNhbEhlaWdodCwg
TGF5b3V0VW5pdCBib3JkZXJzUGx1c1BhZGRpbmcsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBsb2dp
Y2FsVG9wLCBMZW5ndGggbG9naWNhbEJvdHRvbSwgTGVuZ3RoIG1hcmdpbkxvZ2ljYWxUb3AsIExl
bmd0aCBtYXJnaW5Mb2dpY2FsQm90dG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwCmluZGV4IDViMmJiZjcxZjMzMTEw
NjNhYTFhYWJmNWQ5ZmI5Y2RkNTUyZDNhNzEuLmZkNjkxMWY0OTcyM2QxY2IxYjBjZjU3MGNkOTZi
MDdkY2Y5NzE2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
dXR0b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3Bw
CkBAIC04MCw3ICs4MCw2IEBAIHZvaWQgUmVuZGVyQnV0dG9uOjpzdHlsZVdpbGxDaGFuZ2UoU3R5
bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTCiAgICAgICAgIC8vIGJl
Y2F1c2Ugb2YgdGhlIGRpZmZlcmVuY2UuIFNhbWUgZ29lcyBmb3IgdGhlIG90aGVyIHByb3BlcnRp
ZXMuCiAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgaGFjayB1bm5lY2Vzc2FyeS4KICAgICAg
ICAgbV9pbm5lci0+c3R5bGUoKS0+c2V0RmxleEdyb3cobmV3U3R5bGUtPmluaXRpYWxGbGV4R3Jv
dygpKTsKLSAgICAgICAgbV9pbm5lci0+c3R5bGUoKS0+c2V0TWluV2lkdGgobmV3U3R5bGUtPmlu
aXRpYWxNaW5TaXplKCkpOwogICAgICAgICBtX2lubmVyLT5zdHlsZSgpLT5zZXRNYXJnaW5Ub3Ao
bmV3U3R5bGUtPmluaXRpYWxNYXJnaW4oKSk7CiAgICAgICAgIG1faW5uZXItPnN0eWxlKCktPnNl
dE1hcmdpbkJvdHRvbShuZXdTdHlsZS0+aW5pdGlhbE1hcmdpbigpKTsKICAgICB9CkBAIC0xMTMs
MTEgKzExMiw2IEBAIHZvaWQgUmVuZGVyQnV0dG9uOjpzZXR1cElubmVyU3R5bGUoUmVuZGVyU3R5
bGUqIGlubmVyU3R5bGUpCiAgICAgLy8gUmVuZGVyQmxvY2s6OmNyZWF0ZUFub255bW91c0Jsb2Nr
IGNyZWF0ZXMgYSBuZXcgUmVuZGVyU3R5bGUsIHNvIHRoaXMgaXMKICAgICAvLyBzYWZlIHRvIG1v
ZGlmeS4KICAgICBpbm5lclN0eWxlLT5zZXRGbGV4R3JvdygxLjBmKTsKLSAgICAvLyBtaW4td2lk
dGg6IDA7IGlzIG5lZWRlZCBmb3IgY29ycmVjdCBzaHJpbmtpbmcuCi0gICAgLy8gRklYTUU6IElm
IGFuZCB3aGVuIHRoZSBzcGVjIGNoYW5nZXMgdG8gbm90IHJlcXVpcmUgdGhpcywgd2Ugc2hvdWxk
Ci0gICAgLy8gcmVtb3ZlIHRoaXMgbGluZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgbGluZSBpbiBz
dHlsZVdpbGxDaGFuZ2UuCi0gICAgLy8gU2VlOiBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVz
L1B1YmxpYy93d3ctc3R5bGUvMjAxM0ZlYi8wMzY0Lmh0bWwKLSAgICBpbm5lclN0eWxlLT5zZXRN
aW5XaWR0aChMZW5ndGgoMCwgRml4ZWQpKTsKICAgICAvLyBVc2UgbWFyZ2luOmF1dG8gaW5zdGVh
ZCBvZiBhbGlnbi1pdGVtczpjZW50ZXIgdG8gZ2V0IHNhZmUgY2VudGVyaW5nLCBpLmUuCiAgICAg
Ly8gd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MsIHRyZWF0IGl0IHRoZSBzYW1lIGFzIGFsaWdu
LWl0ZW1zOiBmbGV4LXN0YXJ0LgogICAgIGlubmVyU3R5bGUtPnNldE1hcmdpblRvcChMZW5ndGgo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApp
bmRleCA4YzIyNjhhZTJjMDYzOWY0ODg4OGMyOWRlOTM0NjVlN2I5NDUwNTc1Li4wMzMzNjhmOWYx
MTNhNjhiMTE1NzBmOGQwZmQwNTVkMWUzMjg3ZDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTUzNCwxMCArNTM0LDExIEBAIExheW91
dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKFJl
bmRlckJveCogY2hpbGQsIFNpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgaXMgd3JvbmcgZm9yIG9y
dGhvZ29uYWwgZmxvd3MuIEl0IHNob3VsZCB1c2UgdGhlIGZsZXhib3gncyB3cml0aW5nLW1vZGUs
IG5vdCB0aGUgY2hpbGQncyBpbiBvcmRlcgogICAgIC8vIHRvIGZpZ3VyZSBvdXQgdGhlIGxvZ2lj
YWwgaGVpZ2h0L3dpZHRoLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdyb25nIGlmIHRoZSBoZWln
aHQgaXMgc2V0IHRvIGFuIGludHJpbnNpYyBrZXl3b3JkIHZhbHVlLiBjb21wdXRlQ29udGVudExv
Z2ljYWxIZWlnaHQgd2lsbCByZXR1cm4gLTEuCisgICAgLy8gSW5zdGVhZCwgd2UgbmVlZCB0byBs
YXlvdXQgdGhlIGNoaWxkIGFuIGdldCB0aGUgYXBwcm9wcmlhdGUgaGVpZ2h0IHZhbHVlLgorICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MTAKICAgICBp
ZiAoaXNDb2x1bW5GbG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC0+Y29tcHV0ZUNvbnRlbnRM
b2dpY2FsSGVpZ2h0KHNpemVUeXBlLCBzaXplKTsKLSAgICBpZiAoc2l6ZS5pc0F1dG8oKSkKLSAg
ICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gY2hpbGQtPmNvbXB1dGVDb250ZW50TG9n
aWNhbEhlaWdodChzaXplKTsKICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdGhpcyBzaG91
bGQgd29yayBmb3IgcmVnaW9ucyBhbmQgcGFzcyBpbiB0aGUgYXBwcm9wcmlhdGUgdmFsdWVzLgog
ICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSA9IDA7CiAgICAg
UmVuZGVyUmVnaW9uKiByZWdpb24gPSAwOwpAQCAtOTA2LDggKzkwNyw3IEBAIHZvaWQgUmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1ByZWZlcnJlZFNpemVzKE9yZGVySGFzaFNldCYg
b3JkZXJWYWx1ZXMpCiAgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRlU2l6ZSgpOwogCiAgICAg
ICAgIC8vIE9ubHkgbmVlZCB0byBsYXlvdXQgaGVyZSBpZiB3ZSB3aWxsIG5lZWQgdG8gZ2V0IHRo
ZSBsb2dpY2FsSGVpZ2h0IG9mIHRoZSBjaGlsZCBpbiBjb21wdXRlTmV4dEZsZXhMaW5lLgotICAg
ICAgICBMZW5ndGggY2hpbGRNYWluQXhpc01pbiA9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxk
LT5zdHlsZSgpLT5taW5XaWR0aCgpIDogY2hpbGQtPnN0eWxlKCktPm1pbkhlaWdodCgpOwotICAg
ICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpICYmIChmbGV4QmFzaXNGb3JDaGlsZChj
aGlsZCkuaXNBdXRvKCkgfHwgY2hpbGRNYWluQXhpc01pbi5pc0F1dG8oKSkpIHsKKyAgICAgICAg
aWYgKGhhc09ydGhvZ29uYWxGbG93KGNoaWxkKSAmJiBmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCku
aXNBdXRvKCkpIHsKICAgICAgICAgICAgIGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUs
IE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAgICBjaGlsZC0+bGF5b3V0KCk7CiAgICAgICAgIH0K
QEAgLTkzNywxMiArOTM3LDYgQEAgTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0
Q2hpbGRTaXplRm9yTWluQW5kTWF4KFJlbmRlckJveCogY2hpbGQsIExheW8KICAgICBMYXlvdXRV
bml0IG1pbkV4dGVudCA9IDA7CiAgICAgaWYgKG1pbi5pc1NwZWNpZmllZE9ySW50cmluc2ljKCkp
CiAgICAgICAgIG1pbkV4dGVudCA9IGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxk
LCBNaW5TaXplLCBtaW4pOwotICAgIGVsc2UgaWYgKG1pbi5pc0F1dG8oKSkgewotICAgICAgICBp
ZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpKQotICAgICAgICAgICAgbWluRXh0ZW50ID0gY2hp
bGQtPmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkLT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdo
dCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtaW5FeHRlbnQgPSBjb21wdXRlTWFpbkF4
aXNFeHRlbnRGb3JDaGlsZChjaGlsZCwgTWluU2l6ZSwgTGVuZ3RoKE1pbkNvbnRlbnQpKTsKLSAg
ICB9CiAgICAgcmV0dXJuIHN0ZDo6bWF4KGNoaWxkU2l6ZSwgbWluRXh0ZW50KTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDNiNjNkNGYwZDUzMTY1OGYx
MzYyZDg3OWUyMTAzZTQ5YmU0OTQ3OTguLmEzMjRkMzQxOWFkYWMyYWZhMTVhNjQ3NWNjYTFmNTA5
ZGQ3ZmEwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTMx
Nyw3ICszMTcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9m
U3BlY2lmaWVkTGVuZ3RoKFRyYWNrU2l6aW5nRGlyZWN0aW9uCiB7CiAgICAgLy8gRklYTUU6IFdl
IHN0aWxsIG5lZWQgdG8gc3VwcG9ydCBjYWxjKCkgaGVyZSAoaHR0cHM6Ly93ZWJraXQub3JnL2Iv
MTAzNzYxKS4KICAgICBBU1NFUlQodHJhY2tMZW5ndGguaXNGaXhlZCgpIHx8IHRyYWNrTGVuZ3Ro
LmlzUGVyY2VudCgpIHx8IHRyYWNrTGVuZ3RoLmlzVmlld3BvcnRQZXJjZW50YWdlKCkpOwotICAg
IHJldHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgZGlyZWN0aW9uID09IEZvckNvbHVt
bnMgPyBsb2dpY2FsV2lkdGgoKSA6IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQ
cmVmZXJyZWRTaXplLCBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkpLCB2aWV3KCkpOworICAgIHJl
dHVybiB2YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgZGlyZWN0aW9uID09IEZvckNvbHVtbnMg
PyBsb2dpY2FsV2lkdGgoKSA6IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzdHlsZSgpLT5s
b2dpY2FsSGVpZ2h0KCkpLCB2aWV3KCkpOwogfQogCiBjb25zdCBHcmlkVHJhY2tTaXplJiBSZW5k
ZXJHcmlkOjpncmlkVHJhY2tTaXplKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgc2l6
ZV90IGkpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmlu
ZGV4IDk3MDRiNjBlZDU3ODE5Y2I2ZGNkNzhhZDA0MGRhMTc2NmE4MzQ4MGIuLmU0MzQ1ZThiZDc4
MTdkYjNmNTQ3ODA5OGRmODQwYjFmOTBiZDJmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZWdpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVn
aW9uOjpwYWdlTG9naWNhbEhlaWdodCgpIGNvbnN0CiBMYXlvdXRVbml0IFJlbmRlclJlZ2lvbjo6
bWF4UGFnZUxvZ2ljYWxIZWlnaHQoKSBjb25zdAogewogICAgIEFTU0VSVChoYXNBdXRvTG9naWNh
bEhlaWdodCgpICYmIHZpZXcoKS0+bm9ybWFsTGF5b3V0UGhhc2UoKSk7Ci0gICAgcmV0dXJuIHN0
eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5lZCgpID8gTGF5b3V0VW5pdDo6bWF4
KCkgLyAyIDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1heFNpemUsIHN0eWxl
KCktPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CisgICAgcmV0dXJuIHN0eWxlKCktPmxvZ2ljYWxNYXhI
ZWlnaHQoKS5pc1VuZGVmaW5lZCgpID8gTGF5b3V0VW5pdDo6bWF4KCkgLyAyIDogY29tcHV0ZVJl
cGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlKCktPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CiB9
CiAKIExheW91dFVuaXQgUmVuZGVyUmVnaW9uOjpsb2dpY2FsSGVpZ2h0T2ZBbGxGbG93VGhyZWFk
Q29udGVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcAppbmRleCAzYWE4MTE5NDEyZDRiM2NlMzE1OWIxMGNhMDlkMjg5NzQ5NzcxOWFmLi4zOTY2
NGI1YzExZGU0MjUxNDdjNDRmMGM4Y2YxMGY2Y2M5ZWQxMWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFJl
bmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUm
IGludHJpbnNpY1NpemUsCiBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFj
ZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCBzaG91bGRDb21wdXRlUHJlZmVy
cmVkKSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKS5pc1NwZWNpZmll
ZCgpIHx8IHN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpLmlzSW50cmluc2ljKCkpCi0gICAgICAgIHJl
dHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoY29t
cHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUo
KS0+bG9naWNhbFdpZHRoKCkpLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKKyAgICAgICAgcmV0
dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKSksIHNo
b3VsZENvbXB1dGVQcmVmZXJyZWQpOwogCiAgICAgUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIg
PSBlbWJlZGRlZENvbnRlbnRCb3goKTsKIApAQCAtMzU3LDcgKzM1Nyw3IEBAIExheW91dFVuaXQg
UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChTaG91bGRDb21wdXRl
UHJlZmVycmVkIHNoCiAgICAgICAgICAgICAgICAgLy8gJ21hcmdpbi1sZWZ0JyArICdib3JkZXIt
bGVmdC13aWR0aCcgKyAncGFkZGluZy1sZWZ0JyArICd3aWR0aCcgKyAncGFkZGluZy1yaWdodCcg
KyAnYm9yZGVyLXJpZ2h0LXdpZHRoJyArICdtYXJnaW4tcmlnaHQnID0gd2lkdGggb2YgY29udGFp
bmluZyBibG9jawogICAgICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoOwogICAg
ICAgICAgICAgICAgIGlmIChSZW5kZXJCbG9jayogYmxvY2tXaXRoV2lkdGggPSBmaXJzdENvbnRh
aW5pbmdCbG9ja1dpdGhMb2dpY2FsV2lkdGgodGhpcykpCi0gICAgICAgICAgICAgICAgICAgIGxv
Z2ljYWxXaWR0aCA9IGJsb2NrV2l0aFdpZHRoLT5jb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhS
ZXNwZWN0aW5nTWluTWF4V2lkdGgoYmxvY2tXaXRoV2lkdGgtPmNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxXaWR0aFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIGJsb2NrV2l0aFdpZHRoLT5zdHlsZSgp
LT5sb2dpY2FsV2lkdGgoKSksIHNob3VsZENvbXB1dGVQcmVmZXJyZWQpOworICAgICAgICAgICAg
ICAgICAgICBsb2dpY2FsV2lkdGggPSBibG9ja1dpdGhXaWR0aC0+Y29tcHV0ZVJlcGxhY2VkTG9n
aWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKGJsb2NrV2l0aFdpZHRoLT5jb21wdXRlUmVw
bGFjZWRMb2dpY2FsV2lkdGhVc2luZyhibG9ja1dpdGhXaWR0aC0+c3R5bGUoKS0+bG9naWNhbFdp
ZHRoKCkpLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IGNvbnRhaW5pbmdCbG9jaygpLT5hdmFp
bGFibGVMb2dpY2FsV2lkdGgoKTsKIApAQCAtMzg5LDcgKzM4OSw3IEBAIExheW91dFVuaXQgUmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogewogICAg
IC8vIDEwLjUgQ29udGVudCBoZWlnaHQ6IHRoZSAnaGVpZ2h0JyBwcm9wZXJ0eTogaHR0cDovL3d3
dy53My5vcmcvVFIvQ1NTMjEvdmlzdWRldC5odG1sI3Byb3BkZWYtaGVpZ2h0CiAgICAgaWYgKGhh
c1JlcGxhY2VkTG9naWNhbEhlaWdodCgpKQotICAgICAgICByZXR1cm4gY29tcHV0ZVJlcGxhY2Vk
TG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWlnaHQoY29tcHV0ZVJlcGxhY2VkTG9naWNh
bEhlaWdodFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCktPmxvZ2ljYWxIZWlnaHQo
KSkpOworICAgICAgICByZXR1cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFJlc3BlY3Rp
bmdNaW5NYXhIZWlnaHQoY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlKCkt
PmxvZ2ljYWxIZWlnaHQoKSkpOwogCiAgICAgUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIgPSBl
bWJlZGRlZENvbnRlbnRCb3goKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAppbmRleCAzYWZmYTNkZmU3M2M4MDRmY2ZhMmFjZmFhMTUzNTM0MGJlOGI2
YWExLi4zZWUxNzFmZDQwYmVlMWM3YjkyZTJmY2ZhZmExZjJkNWViMjUwOTkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTYxMSw3ICsxNjEx
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBpbml0aWFsT3V0bGluZVdp
ZHRoKCkgeyByZXR1cm4gMzsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlhbExldHRlcldvcmRTcGFj
aW5nKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFNpemUoKSB7IHJl
dHVybiBMZW5ndGgoKTsgfQotICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE1pblNpemUoKSB7IHJl
dHVybiBMZW5ndGgoKTsgfQorICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE1pblNpemUoKSB7IHJl
dHVybiBMZW5ndGgoRml4ZWQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTWF4U2l6ZSgp
IHsgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFs
T2Zmc2V0KCkgeyByZXR1cm4gTGVuZ3RoKCk7IH0KICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxN
YXJnaW4oKSB7IHJldHVybiBMZW5ndGgoRml4ZWQpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDgwMDY0ZjNjZGI0YTM2
NGE5YmFjOWM3ZDEzNjM0MTFmYjVlMzU1Ni4uYzI5YmMxOTNiZjBlZDM5Y2MxODk1OWE0NjJmNDQ2
MDk3MGNlNjY3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTI5ICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRmxleGl0ZW1zIG5vIGxvbmdlciBkZWZh
dWx0IG1pbi13aWR0aCB0byBtaW4tY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvY29udGVudC1oZWlnaHQtd2l0aC1z
Y3JvbGxiYXJzLmh0bWw6CisgICAgICAgICogY3NzMy9mbGV4Ym94L2Nyb3NzLWF4aXMtc2Nyb2xs
YmFyLmh0bWw6CisgICAgICAgIFNldCBmbGV4Om5vbmUgdG8gYXZvaWQgZmxleC1zaHJpbmtpbmcu
CisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLW1pbi1zaXplLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLW1pbi1zaXplLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgIFRoZXNlIHRlc3RzIGFyZSBub3cgcmVkdW5kYW50IHdpdGgg
dGVzdHMgaW4gZmFzdC9jc3MtaW50cmluc2ljLWRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBjc3Mz
L2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS5odG1sOgorICAgICAgICBTZXQgZmxleDpub25lIHRv
IGF2b2lkIGZsZXgtc2hyaW5raW5nLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94L2xpbmUtd3Jh
cHBpbmcuaHRtbDoKKyAgICAgICAgQXV0by1zaXplIHRoZSBmbGV4IGl0ZW1zIHNvIHRoYXQgdGhl
IGNvbHVtbiBmbGV4Ym94ZXMgaGF2ZSBhbiBhdXRvLWhlaWdodC4KKworICAgICAgICAqIGNzczMv
ZmxleGJveC9wcmVmZXJyZWQtd2lkdGhzLmh0bWw6CisgICAgICAgIFNldCBmbGV4Om5vbmUgdG8g
YXZvaWQgZmxleC1zaHJpbmtpbmcuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9hdXRvLW1pbi1zaXpl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9hdXRvLW1pbi1zaXplLmh0bWw6Cisg
ICAgICAgIFVwZGF0ZSB0byBubyBsb25nZXIgYWxsb3cgcGFyc2luZyBhdXRvIGFzIGEgdmFsaWQg
dmFsdWUgZm9yIG1pbi13aWR0aC9taW4taGVpZ2h0LgorCiAyMDEzLTAzLTE5ICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgbWluLXdpZHRoL21heC13aWR0aCBvZiBt
aW4tY29udGVudC9tYXgtY29udGVudCBkb24ndCB3b3JrIGNvcnJlY3RseSBpZiB3aWR0aCBpcyBz
cGVjaWZpZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jb250ZW50LWhl
aWdodC13aXRoLXNjcm9sbGJhcnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jb250
ZW50LWhlaWdodC13aXRoLXNjcm9sbGJhcnMuaHRtbAppbmRleCA1MmVmM2YzMjU1NGYwYjc3M2I4
MTg1YjRjMGI0Y2EzMDY0MmE5MDY1Li4xNzUzMGY4MTVhNjk1ZmNiZTE5MmJjNGFhMTRmNGMyYWRi
NmRhNmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY29udGVudC1oZWln
aHQtd2l0aC1zY3JvbGxiYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nv
bnRlbnQtaGVpZ2h0LXdpdGgtc2Nyb2xsYmFycy5odG1sCkBAIC03LDYgKzcsMTAgQEAKICAgICBo
ZWlnaHQ6IDEwMHB4OwogICAgIG92ZXJmbG93OiBzY3JvbGw7CiB9CisuZmxleGJveCA+IGRpdiB7
CisgICAgLXdlYmtpdC1mbGV4OiBub25lOworICAgIGZsZXg6IG5vbmU7Cit9CiAuZmxleGJveCA+
IDpudGgtY2hpbGQoMSkgewogICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JlZW47CiB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY3Jvc3MtYXhpcy1zY3JvbGxiYXIu
aHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jcm9zcy1heGlzLXNjcm9sbGJhci5odG1s
CmluZGV4IGZmYzZmZDg3ZjE4ZmUxZWIzZGFhZDFmMmE5ZmQ5ZmMyNjc5ZDYxOWYuLjI5NzliMjQx
ZDQyZTU0MjVlYWVjYThjNTQ5NmE2ZGU4OTFiZjY0MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NzczMvZmxleGJveC9jcm9zcy1heGlzLXNjcm9sbGJhci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvZmxleGJveC9jcm9zcy1heGlzLXNjcm9sbGJhci5odG1sCkBAIC0yMCw2ICsyMCw4IEBA
IGJvZHkgewogfQogCiAuY29sdW1uID4gZGl2IHsKKyAgICAtd2Via2l0LWZsZXg6IG5vbmU7Cisg
ICAgZmxleDogbm9uZTsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKICAgICB3aWR0aDog
MTAwcHg7CiAgICAgaGVpZ2h0OiAxMHB4OwpAQCAtMjgsMTkgKzMwLDIxIEBAIGJvZHkgewogLnJv
dyA+IGRpdiB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgLXdlYmtpdC1mbGV4
OiAxOwotICAgIC1tb3otZmxleDogMTsKKyAgICBmbGV4OiAxOwogICAgIGhlaWdodDogNTBweDsK
ICAgICBtaW4taGVpZ2h0OiAwOwogfQogCiAudmVydGljYWwtbHIgPiAuY29sdW1uID4gZGl2IHsK
KyAgICAtd2Via2l0LWZsZXg6IG5vbmU7CisgICAgZmxleDogbm9uZTsKICAgICBoZWlnaHQ6IDUw
cHg7CiAgICAgd2lkdGg6IDIwcHg7CiB9CiAKIC52ZXJ0aWNhbC1sciA+IC5yb3cgPiBkaXYgewog
ICAgIC13ZWJraXQtZmxleDogMTsKLSAgICAtbW96LWZsZXg6IDE7CisgICAgZmxleDogMTsKICAg
ICB3aWR0aDogMTAwcHg7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJv
eC9mbGV4LWl0ZW0tbWluLXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2ZsZXgtaXRlbS1taW4tc2l6ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDUzZTZiMjc3OWFhZDQ4MmY1YjRjMWIxNDNmZDllNzM1NDNiYWI0NDkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L2ZsZXgtaXRlbS1taW4tc2l6ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNiArMCwwIEBACi1UZXN0cyB0aGF0IGZsZXggaXRlbXMgaGF2ZSBkZWZhdWx0IG1pbi1z
aXplIHRvIG1pbi1jb250ZW50IGluIHRoZSBtYWluIGF4aXMgZGlyZWN0aW9uLgotIFBBU1MKLSBQ
QVNTCi0gUEFTUwotIFBBU1MKLSBQQVNTCi0gUEFTUwotIFBBU1MKLSBQQVNTCi0gUEFTUwotIAot
IAotUEFTUwotIAotIAotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94
L2ZsZXgtaXRlbS1taW4tc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgt
aXRlbS1taW4tc2l6ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2FlYjc1
NTk1MTRkYzdjOWY5MjUyY2ZjYTRhNDIwOTRhMTgwODhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWl0
ZW0tbWluLXNpemUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3NCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxzdHlsZT4KLS5mbGV4Ym94IHsKLSAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7
Ci0gICAgaGVpZ2h0OiAwOwotICAgIHdpZHRoOiAwOwotICAgIGJvcmRlcjogNHB4IHNvbGlkIGJs
dWUKLX0KLS5jb2x1bW4gewotICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKLX0K
LS5mbGV4aXRlbSB7Ci0gICAgLXdlYmtpdC1mbGV4OiAwOwotICAgIGJhY2tncm91bmQtY29sb3I6
IG9yYW5nZTsKLSAgICBsaW5lLWhlaWdodDogMDsKLX0KLS5pbmxpbmVDb250ZW50IHsKLSAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHdpZHRoOiAyMHB4
OwotfQotLmlubGluZUNvbnRlbnQ6Zmlyc3QtY2hpbGQgewotICAgIGJhY2tncm91bmQtY29sb3I6
IHNhbG1vbjsKLX0KLS5pbmxpbmVDb250ZW50Omxhc3QtY2hpbGQgewotICAgIGJhY2tncm91bmQt
Y29sb3I6IG9yYW5nZTsKLX0KLWlmcmFtZSB7Ci0gICAgYm9yZGVyOiAwOwotICAgIG91dGxpbmU6
IDJweCBzb2xpZCBibHVlOwotfQotLnZlcnRpY2FsLWxyIHsKLSAgICAtd2Via2l0LXdyaXRpbmct
bW9kZTogdmVydGljYWwtbHI7Ci19Ci0udmVydGljYWwtcmwgewotICAgIC13ZWJraXQtd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1ybDsKLX0KLS5ob3Jpem9udGFsLWJ0IHsKLSAgICAtd2Via2l0LXdy
aXRpbmctbW9kZTogaG9yaXpvbnRhbC1idDsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0i
Y2hlY2tMYXlvdXQoJy5mbGV4Ym94JykiPgotICAgIDxkaXY+VGVzdHMgdGhhdCBmbGV4IGl0ZW1z
IGhhdmUgZGVmYXVsdCBtaW4tc2l6ZSB0byBtaW4tY29udGVudCBpbiB0aGUgbWFpbiBheGlzIGRp
cmVjdGlvbi48L2Rpdj4KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4KLSAgICAgICAgPGRpdiBj
bGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9MjAgZGF0YS1leHBlY3RlZC1oZWln
aHQ9MD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2
PgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0yMCBk
YXRhLWV4cGVjdGVkLWhlaWdodD0wIGRhdGEtZXhwZWN0ZWQteD0yMD4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0i
aW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotCi0gICAg
PGRpdiBjbGFzcz0iZmxleGJveCBjb2x1bW4iPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRl
bSIgZGF0YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwPgotICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2
IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxk
aXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9NDAgZGF0YS1leHBlY3RlZC15PTQwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5s
aW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50
Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJm
bGV4Ym94IHZlcnRpY2FsLWxyIj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD4KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0i
aW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNz
PSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIw
IGRhdGEtZXhwZWN0ZWQteT0yMD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRl
bnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+
Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotCi0gICAgPGRpdiBjbGFzcz0iZmxleGJveCBj
b2x1bW4gdmVydGljYWwtbHIiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1l
eHBlY3RlZC13aWR0aD00MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJp
bmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9
ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTQwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTAg
ZGF0YS1leHBlY3RlZC14PTQwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVu
dCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4K
LSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94IHZl
cnRpY2FsLXJsIj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29u
dGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRl
bSIgZGF0YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwIGRhdGEtZXhw
ZWN0ZWQteT0yMD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2
PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAg
IDwvZGl2PgotICAgIDwvZGl2PgotCi0gICAgPGRpdiBjbGFzcz0iZmxleGJveCBjb2x1bW4gdmVy
dGljYWwtcmwiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13
aWR0aD00MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0i
aW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250
ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVt
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPTQwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTAgZGF0YS1leHBl
Y3RlZC14PTQwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+
Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAg
PC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94IGhvcml6b250YWwt
YnQiPgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0y
MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5l
Q29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48
L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPTIwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTAgZGF0YS1leHBlY3RlZC14
PTIwPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+
Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiBob3Jpem9udGFs
LWJ0Ij4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
MCBkYXRhLWV4cGVjdGVkLWhlaWdodD00MD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGlu
ZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+
PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0
YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwIGRhdGEtZXhwZWN0ZWQt
eT00MD4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgIDwvZGl2
PgotICAgIDwvZGl2PgotCi0gICAgPGRpdiBjbGFzcz0iZmxleGJveCI+Ci0gICAgICAgIDxkaXYg
Y2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTIwIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PTA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0gdmVydGljYWwtbHIiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9NDAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+Ci0gICAgICAgICAgICA8ZGl2IGNs
YXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGlu
ZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxl
eGl0ZW0gdmVydGljYWwtcmwiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9NDAgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9MjA+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmVDb250ZW50Ij48L2Rpdj4K
LSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZUNvbnRlbnQiPjwvZGl2PgotICAgICAgICA8
L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0gaG9yaXpvbnRhbC1idCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0yMCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wPgotICAgICAgICAgICAgPGRp
diBjbGFzcz0iaW5saW5lQ29udGVudCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJp
bmxpbmVDb250ZW50Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8
ZGl2IGNsYXNzPSJmbGV4Ym94Ij4KLSAgICAgICAgPGRpdiBjbGFzcz0iZmxleGl0ZW0iIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9MzAwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+Ci0gICAgICAgICAgICA8
aWZyYW1lPjwvaWZyYW1lPgotICAgICAgICAgICAgPGlmcmFtZT48L2lmcmFtZT4KLSAgICAgICAg
PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PTMwMCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wIGRhdGEtZXhwZWN0ZWQteD0zMDA+Ci0gICAgICAg
ICAgICA8aWZyYW1lPjwvaWZyYW1lPgotICAgICAgICAgICAgPGlmcmFtZT48L2lmcmFtZT4KLSAg
ICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVt
biI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImZsZXhpdGVtIiBkYXRhLWV4cGVjdGVkLXdpZHRoPTAg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9MzAwPgotICAgICAgICAgICAgPGlmcmFtZT48L2lmcmFtZT4K
LSAgICAgICAgICAgIDxpZnJhbWU+PC9pZnJhbWU+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8
ZGl2IGNsYXNzPSJmbGV4aXRlbSIgZGF0YS1leHBlY3RlZC13aWR0aD0wIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PTMwMCBkYXRhLWV4cGVjdGVkLXk9MzAwPgotICAgICAgICAgICAgPGlmcmFtZT48L2lm
cmFtZT4KLSAgICAgICAgICAgIDxpZnJhbWU+PC9pZnJhbWU+Ci0gICAgICAgIDwvZGl2PgotICAg
IDwvZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2xp
bmUtd3JhcHBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9saW5lLXdyYXBwaW5n
Lmh0bWwKaW5kZXggZmI2NWNmNzg3YmZiNzBhMDFlNTIzNzNmOTFmYTIwMDczOWU1Y2ZmZC4uZDg5
MWRhZjMyYjk1NTVlOThhZGJiZmJlNDY0Y2E2M2EyNDBmOTQ1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2xpbmUtd3JhcHBpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvbGluZS13cmFwcGluZy5odG1sCkBAIC00NywxMCArNDcsMTAgQEAgYm9keSB7
CiB9CiAKIC5ob3Jpem9udGFsLXRiLmNvbHVtbiA+IGRpdiB7Ci0gICAgLXdlYmtpdC1mbGV4OiAx
OworICAgIC13ZWJraXQtZmxleDogMSBhdXRvOwogfQogLnZlcnRpY2FsLWxyLmNvbHVtbiA+IGRp
diwgLnZlcnRpY2FsLXJsLmNvbHVtbiA+IGRpdiB7Ci0gICAgLXdlYmtpdC1mbGV4OiAxOworICAg
IC13ZWJraXQtZmxleDogMSBhdXRvOwogfQogCiAuaG9yaXpvbnRhbC10Yi5maXhlZCB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcHJlZmVycmVkLXdpZHRocy5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3ByZWZlcnJlZC13aWR0aHMuaHRtbAppbmRleCAzZDBm
NWJlMzhhMGM4NjVjNTA4YjhhZjAyZmMwMzYxNWFiYjUwMjRlLi4zODA2YjNkOGYzYzMzZTQwMTVk
MzdiMDY0MjY1YTAxYTZiMmJmYmU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvcHJlZmVycmVkLXdpZHRocy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9w
cmVmZXJyZWQtd2lkdGhzLmh0bWwKQEAgLTksNiArOSw4IEBACiAuZmxleGJveCA+IGRpdiB7CiAg
ICAgcGFkZGluZzogMnB4IDEzcHggOHB4IDE3cHg7CiAgICAgbWFyZ2luOiAycHggMTNweCA4cHgg
MTdweDsKKyAgICAtd2Via2l0LWZsZXg6IG5vbmU7CisgICAgZmxleDogbm9uZTsKIH0KIC50aXRs
ZSB7CiAgICAgbWFyZ2luLXRvcDogMWVtOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvYXV0by1taW4tc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRv
LW1pbi1zaXplLWV4cGVjdGVkLnR4dAppbmRleCAyOTk2OWE0ZDY2YzQ0ZGEwNmFmN2Y5MTQyN2Iy
YmE3OTg2MDBkYmRhLi40MzlkNWNjMDdhMzM3MWEwYzk2ZTk2ZGJlNDQwOGI5NWJkYThiNGQxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLWV4cGVjdGVkLnR4dApA
QCAtMSwxNyArMSwxNyBAQAogUEFTUyBkaXYuc3R5bGUubWluV2lkdGggaXMgIiIKIFBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpWyJtaW4td2lkdGgiXSBpcyAiMHB4IgotUEFTUyBkaXYuc3R5bGUu
bWluV2lkdGggaXMgIjBweCIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpWyJtaW4td2lkdGgi
XSBpcyAiMHB4IgotUEFTUyBkaXYuc3R5bGUubWluV2lkdGggaXMgImF1dG8iCitQQVNTIGRpdi5z
dHlsZS5taW5XaWR0aCBpcyAiIgogUEFTUyBkaXYuc3R5bGUubWF4V2lkdGggaXMgIiIKIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1pbldpZHRoIGlzICIwcHgiCitQQVNTIGRpdi5zdHlsZS5t
aW5XaWR0aCBpcyAiMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi13aWR0aCJd
IGlzICIwcHgiCiBQQVNTIGRpdi5zdHlsZS5taW5IZWlnaHQgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkaXYpWyJtaW4taGVpZ2h0Il0gaXMgIjBweCIKLVBBU1MgZGl2LnN0eWxlLm1pbkhl
aWdodCBpcyAiMHB4IgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi1oZWlnaHQiXSBp
cyAiMHB4IgotUEFTUyBkaXYuc3R5bGUubWluSGVpZ2h0IGlzICJhdXRvIgorUEFTUyBkaXYuc3R5
bGUubWluSGVpZ2h0IGlzICIiCiBQQVNTIGRpdi5zdHlsZS5tYXhIZWlnaHQgaXMgIiIKIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1pbkhlaWdodCBpcyAiMHB4IgorUEFTUyBkaXYuc3R5bGUu
bWluSGVpZ2h0IGlzICIwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2KVsibWluLWhlaWdo
dCJdIGlzICIwcHgiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F1dG8tbWluLXNpemUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F1dG8tbWluLXNpemUuaHRtbAppbmRleCA3ODhmODI3
YTAyMmE3YjE2NzVjNmVlNWQ3ZTVmYThjZTk3YTAxODAzLi4yM2Y1M2VmZTA2N2FlMGJjMDUyOTE4
YmE0NTMwNzM0MDI2MzBiNDNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRv
LW1pbi1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS5o
dG1sCkBAIC02LDI3ICs2LDI4IEBAIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28n
KTsKIHNob3VsZEJlKCdkaXYuc3R5bGUubWluV2lkdGgnLCAnIiInKTsKIHNob3VsZEJlKCdnZXRD
b21wdXRlZFN0eWxlKGRpdilbIm1pbi13aWR0aCJdJywgJyIwcHgiJyk7CiAKLWRpdi5zdHlsZS5t
aW5XaWR0aCA9IDA7Ci1zaG91bGRCZSgnZGl2LnN0eWxlLm1pbldpZHRoJywgJyIwcHgiJyk7Ci1z
aG91bGRCZSgnZ2V0Q29tcHV0ZWRTdHlsZShkaXYpWyJtaW4td2lkdGgiXScsICciMHB4IicpOwot
CiBkaXYuc3R5bGUubWluV2lkdGggPSAnYXV0byc7CiBkaXYuc3R5bGUubWF4V2lkdGggPSAnYXV0
byc7Ci1zaG91bGRCZSgnZGl2LnN0eWxlLm1pbldpZHRoJywgJyJhdXRvIicpOworc2hvdWxkQmUo
J2Rpdi5zdHlsZS5taW5XaWR0aCcsICciIicpOwogc2hvdWxkQmUoJ2Rpdi5zdHlsZS5tYXhXaWR0
aCcsICciIicpOwogc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZGl2KS5taW5XaWR0aCcsICci
MHB4IicpOwogCi1zaG91bGRCZSgnZGl2LnN0eWxlLm1pbkhlaWdodCcsICciIicpOwotc2hvdWxk
QmUoJ2dldENvbXB1dGVkU3R5bGUoZGl2KVsibWluLWhlaWdodCJdJywgJyIwcHgiJyk7CitkaXYu
c3R5bGUubWluV2lkdGggPSAwOworc2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5XaWR0aCcsICciMHB4
IicpOworc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZGl2KVsibWluLXdpZHRoIl0nLCAnIjBw
eCInKTsKIAotZGl2LnN0eWxlLm1pbkhlaWdodCA9IDA7Ci1zaG91bGRCZSgnZGl2LnN0eWxlLm1p
bkhlaWdodCcsICciMHB4IicpOworc2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5IZWlnaHQnLCAnIiIn
KTsKIHNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi1oZWlnaHQiXScsICciMHB4
IicpOwogCiBkaXYuc3R5bGUubWluSGVpZ2h0ID0gJ2F1dG8nOwogZGl2LnN0eWxlLm1heEhlaWdo
dCA9ICdhdXRvJzsKLXNob3VsZEJlKCdkaXYuc3R5bGUubWluSGVpZ2h0JywgJyJhdXRvIicpOwor
c2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5IZWlnaHQnLCAnIiInKTsKIHNob3VsZEJlKCdkaXYuc3R5
bGUubWF4SGVpZ2h0JywgJyIiJyk7CiBzaG91bGRCZSgnZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1p
bkhlaWdodCcsICciMHB4IicpOworCitkaXYuc3R5bGUubWluSGVpZ2h0ID0gMDsKK3Nob3VsZEJl
KCdkaXYuc3R5bGUubWluSGVpZ2h0JywgJyIwcHgiJyk7CitzaG91bGRCZSgnZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpWyJtaW4taGVpZ2h0Il0nLCAnIjBweCInKTsKKwogPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0nLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyc+PC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="217770"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>