<?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>98676</bug_id>
          
          <creation_ts>2012-10-08 11:42:16 -0700</creation_ts>
          <short_desc>[CSS Exclusions] shape-outside on floats for polygon shapes</short_desc>
          <delta_ts>2013-03-05 10:21:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dev.w3.org/csswg/css3-exclusions/#supported-basic-shapes</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>736857</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-10-08 11:42:16 -0700</bug_when>
    <thetext>This bug tracks the implementation of shape-outside on floats for polygon shape outsides.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845329</commentid>
    <comment_count>1</comment_count>
      <attachid>190995</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-03-01 11:12:07 -0800</bug_when>
    <thetext>Created attachment 190995
Patch

Initial fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845374</commentid>
    <comment_count>2</comment_count>
      <attachid>190995</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 11:55:09 -0800</bug_when>
    <thetext>Comment on attachment 190995
Patch

Attachment 190995 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16857091</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845386</commentid>
    <comment_count>3</comment_count>
      <attachid>190995</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 12:09:33 -0800</bug_when>
    <thetext>Comment on attachment 190995
Patch

Attachment 190995 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16882002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845469</commentid>
    <comment_count>4</comment_count>
      <attachid>191027</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-03-01 13:40:48 -0800</bug_when>
    <thetext>Created attachment 191027
Updated Patch

Maybe this will make the Linux Chromium bots happy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845511</commentid>
    <comment_count>5</comment_count>
      <attachid>191038</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-03-01 14:36:44 -0800</bug_when>
    <thetext>Created attachment 191038
Updated Patch

The last one had bad luck, lets try again to make the Linux Chromium bots happy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846881</commentid>
    <comment_count>6</comment_count>
      <attachid>191038</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-04 14:52:59 -0800</bug_when>
    <thetext>Comment on attachment 191038
Updated Patch

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

r- for the writing mode issue, since that looks wrong to me.

&gt; Source/WebCore/rendering/ExclusionShapeInfo.h:92
&gt; -    LayoutUnit shapeLogicalRight() const { return computedShape()-&gt;shapeLogicalBoundingBox().y() + logicalLeftOffset(); }
&gt; +    LayoutUnit shapeLogicalRight() const { return computedShape()-&gt;shapeLogicalBoundingBox().maxX() + logicalLeftOffset(); }

LOL.

&gt; Source/WebCore/rendering/RenderBlock.h:1143
&gt; +        const FloatingObject* lastFloat() const { return m_last; }

I think it is worth a comment explaining what this is.

&gt; Source/WebCore/rendering/RenderBlock.h:1151
&gt; +        mutable const FloatingObject* m_last;

Ditto.

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:181
&gt; +        shapeOutsideInfo-&gt;computeSegmentsForLine(m_block-&gt;logicalHeight() - newFloat-&gt;y(), logicalHeightForLine(m_block, m_isFirstLine));

This looks wrong. I suspect you mean m_block-&gt;logicalTopForFloat(newFloat) rather than newFloat-&gt;y().

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:188
&gt; +        if (shapeOutsideInfo)
&gt; +            newLeft += shapeOutsideInfo-&gt;logicalRightOffsetForLine();

This looks confusing to me. The only reason we&apos;re getting the right edge of the float is that is where the left edge of the line begins (i.e., after the right edge of the float). 

It reads very confusingly that you are calling a method named logicalRightOffsetForLine. If it&apos;s a delta applied to the float&apos;s right edge, then this method name seems very strange.

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:199
&gt; +#if ENABLE(CSS_EXCLUSIONS)
&gt; +        if (shapeOutsideInfo)
&gt; +            newRight += shapeOutsideInfo-&gt;logicalLeftOffsetForLine();
&gt; +#endif

Same here. This seems very confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847243</commentid>
    <comment_count>7</comment_count>
      <attachid>191394</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-03-04 21:20:16 -0800</bug_when>
    <thetext>Created attachment 191394
Updated Patch

Fix writing mode issues, add explanatory comments, change method name to hopefully make more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847759</commentid>
    <comment_count>8</comment_count>
      <attachid>191394</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-05 09:47:34 -0800</bug_when>
    <thetext>Comment on attachment 191394
Updated Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847795</commentid>
    <comment_count>9</comment_count>
      <attachid>191394</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 10:21:41 -0800</bug_when>
    <thetext>Comment on attachment 191394
Updated Patch

Clearing flags on attachment: 191394

Committed r144776: &lt;http://trac.webkit.org/changeset/144776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847796</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 10:21:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190995</attachid>
            <date>2013-03-01 11:12:07 -0800</date>
            <delta_ts>2013-03-01 13:40:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98676-20130301110818.patch</filename>
            <type>text/plain</type>
            <size>36032</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY4N2ZkN2ZkNjBkNGFm
NWNkNjI3ZTYxMjExNWU1MDZhYmM0NzEyYy4uMWEzMmQyZTczNzI1YmM4ZjFlOTlhN2RjMzQ3ZTAz
NmFlNjZlZDE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMy0wMi0yOCAgQmVt
IEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lv
bnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBm
b3IgcG9seWdvbmFsIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzLiBUaGUgYmFzaWMKKyAgICAgICAg
dGFjayB0YWtlbiBoZXJlIGlzIHRvIGtlZXAgdXNpbmcgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
c2hhcGUgdG8KKyAgICAgICAgcG9zaXRpb24gdGhlIGZsb2F0LCBidXQgdG8gY29tcHV0ZSB0aGUg
b2Zmc2V0IChjYXVzZWQgYnkgdGhlIHNoYXBlKQorICAgICAgICBmcm9tIHRoZSBib3VuZGluZyBi
b3ggZm9yIGVhY2ggbGluZSB3aGVuIGNyZWF0aW5nIGFuZCBwb3NpdGlvbmluZworICAgICAgICBv
dGhlciBpbmxpbmUgY29udGVudC4KKworICAgICAgICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y29tcHV0ZWRTaGFwZSk6IEFkZCBuZXcg
dGVtcGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0
KTogQWRkIG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjo6OmNvbXB1
dGVTZWdtZW50c0ZvckxpbmUpOiBNb3ZlIGhlcmUgZnJvbQorICAgICAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzaW5jZSBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIG5lZWRzIGl0
CisgICAgICAgICAgICBhcyB3ZWxsLiBNYWtlIHZpcnR1YWwgc2luY2UgdGhlcmUgaXMgc2xpZ2h0
bHkgZGlmZmVyZW50IGJlaGF2aW9yCisgICAgICAgICAgICBiZXR3ZWVuIGVhY2ggY2xhc3MgZXZl
biB0aG91Z2ggdGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGNvZGUgaXMKKyAgICAgICAgICAgIGNv
bW1vbi4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6fkV4Y2x1
c2lvblNoYXBlSW5mbyk6IFNpbmNlCisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5l
IGlzIHZpcnR1YWwsIHRoZSBkZXN0cnVjdG9yIG11c3QgYmUgdmlydHVhbAorICAgICAgICAgICAg
YXMgd2VsbC4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6IEFkZCBuZXcgZGF0YSBtZW1i
ZXJzIHRvIHN1cHBvcnQKKyAgICAgICAgICAgIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUuCisgICAg
ICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZUluZm86OnNoYXBlTG9naWNhbFJpZ2h0KTogRml4
IGJ1ZywgdGhlIGxvZ2ljYWwKKyAgICAgICAgICAgIHJpZ2h0IGlzIGJhc2VkIG9mZiBvZiBtYXhY
LCBub3QgeS4gKGl0J3MgYSBsb2dpY2FsIGJvdW5kaW5nIGJveCEpCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZUluZm86OmxvZ2ljYWxMaW5lVG9wKTogTW92ZWQgZnJvbQorICAgICAg
ICAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGZvciB1c2UgYnkgY29tcHV0ZVNlZ21lbnRz
Rm9yTGluZSBhbmQKKyAgICAgICAgICAgIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzLgorICAgICAg
ICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbmZvOjpsb2dpY2FsTGluZUJvdHRvbSk6IE1vdmVk
IGZyb20KKyAgICAgICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBmb3IgdXNlIGJ5IGNv
bXB1dGVTZWdtZW50c0ZvckxpbmUgYW5kCisgICAgICAgICAgICBsaW5lT3ZlcmxhcHNTaGFwZUJv
dW5kcy4KKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6bGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMpOiBNb3ZlZCBmcm9tCisgICAgICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8gZm9yIHVzZSBieSBjb21wdXRlU2VnbWVudHNGb3JMaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwOiBNb3ZlZCBjb21tb24gY29kZSBmcm9t
CisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5lIGludG8gRXhjbHVzaW9uU2hhcGVJ
bmZvLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBNb3ZlZCBzb21lIG1ldGhvZHMgdG8gRXhjbHVzaW9uU2hhcGVJbmZv
LgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVXBkYXRlIGZvciBuZXcgdGVt
cGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjpjb21weXRlU2VnbWVudHNGb3JMaW5lKTogT3ZlcnJpZGUKKyAgICAgICAgICAgIHN1cGVy
Y2xhc3MgbWV0aG9kIHRvIGNsZWFyIHRoZSBzZWdtZW50IHJhbmdlcy4gU2VnZW1lbnQgcmFuZ2Vz
CisgICAgICAgICAgICBhcmVuJ3QgdXNlZCBieSBzaGFwZSBvdXRzaWRlLCBhbmQgaGF2ZSBzb21l
IGNvbXBsZXggZGVwZW5kZW5jaWVzCisgICAgICAgICAgICB0aGF0IG1ha2UgaXQgdmVyeSBoYXJk
IHRvIHRyeSBhbmQgbW92ZSB1cCBpbnRvIEV4Y2x1c2lvblNoYXBlSW5mby4KKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogVXBkYXRlCisgICAgICAgICAgICBmb3IgbmV3IHRlbXBsYXRlIHBhcmFtZXRlci4KKyAgICAg
ICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRGb3IpOiBBZGQgcG9s
eWdvbnMgYXMgYQorICAgICAgICAgICAgc3VwcG9ydGVkIHNoYXBlLgorICAgICAgICAoV2ViQ29y
ZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZSk6IE92
ZXJyaWRlCisgICAgICAgICAgICBzdXBlcmNsYXNzIG1ldGhvZCB0byBub3QgcmVjb21wdXRlIGlm
IGl0IGlzbid0IG5lZWRlZCAodGhpcyBpc24ndAorICAgICAgICAgICAgc3RyYWlnaHRmb3dhcmQg
Zm9yIHNoYXBlIGluc2lkZSwgd2hpY2ggaXMgd2h5IGl0IGlzbid0IGNvbW1vbiksCisgICAgICAg
ICAgICBhbmQgdG8gc2F2ZSB0aGUgbGVmdCBhbmQgcmlnaHQgb2Zmc2V0cyBjYXVzZWQgYnkgdGhl
IHNoYXBlCisgICAgICAgICAgICBvdXRzaWRlLCBzaW5jZSB0aGF0J3MgYWxsIHRoYXQgaXMgbmVl
ZGVkIHRvIHByb3Blcmx5IGRvIGxheW91dCBpbgorICAgICAgICAgICAgdGhlIGNhc2Ugb2YgZmxv
YXRzLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpzaGFwZUxvZ2ljYWxP
ZmZzZXQpOiBSZWZvcm1hdCB0bworICAgICAgICAgICAgYmUgb24gYSBzaW5nbGUgbGluZSwgbGlr
ZSBtb3N0IG90aGVyIG1ldGhvZHMgb2YgaXQncyB0eXBlIGluCisgICAgICAgICAgICBXZWJLaXQg
aGVhZGVycy4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8pOiBVcGRhdGUgZm9y
IG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUpOgorICAgICAgICAgICAgQWNj
ZXNzb3IgbWV0aG9kIHRvIGdldCB0aGUgbGVmdCBvZmZzZXQgYmV0d2VlbiB0aGUgc2hhcGUgYW5k
IHRoZQorICAgICAgICAgICAgc2hhcGUncyBib3VuZGluZyBib3guCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToK
KyAgICAgICAgICAgIEFjY2Vzc29yIG1ldGhvZCB0byBnZXQgdGhlIGxlZnQgb2Zmc2V0IGJldHdl
ZW4gdGhlIHNoYXBlIGFuZCB0aGUKKyAgICAgICAgICAgIHNoYXBlJ3MgYm91bmRpbmcgYm94Lgor
ICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6RXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgZm9yIG5ldyB0ZW1wbGF0ZSBwYXJh
bWV0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ojo6Y29sbGVjdElmTmVlZGVkKTogU2F2ZSB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJl
ZCBzbyB0aGF0CisgICAgICAgICAgICB0aGUgc2hhcGUgb3V0c2lkZSBvZmZzZXQgY2FuIGJlIGFj
Y291bnRlZCBmb3IuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbExlZnRP
ZmZzZXRGb3JMaW5lKTogQWNjb3VudCBmb3IgdGhlCisgICAgICAgICAgICBzaGFwZSBvdXRzaWRl
IG9mZnNldCBvbiB0aGUgb3V0ZXJtb3N0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUpOiBBY2NvdW50IGZvciB0aGUKKyAgICAg
ICAgICAgIHNoYXBlIG91dHNpZGUgb2Zmc2V0IG9uIHRoZSBvdXRlcm1vc3QgZmxvYXQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFw
dGVyKToKKyAgICAgICAgICAgIEluaXRpYWxpemUgdGhlIGxhc3RGbG9hdCBtZW1iZXIuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6Omxh
c3RGbG9hdCk6IEdldCB0aGUKKyAgICAgICAgICAgIGxhc3QgZmxvYXQgZW5jb3VudGVyZWQuCisg
ICAgICAgIChGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcik6IEFkZCBhIHBvaW50ZXIgdG8gdGhl
IGxhc3QgZmxvYXQKKyAgICAgICAgICAgIGVuY291bnRlcmVkLiBOb3RlIHRoYXQgdGhlIHZhcmlh
YmxlIGlzIG11dGFibGUgYmVjYXVzZQorICAgICAgICAgICAgY29sbGVjdElmTmVlZGVkIGlzIGRl
Y2xhcmVkIGFzIGEgY29uc3QgbWV0aG9kIGV2ZW4gdGhvdWdoIGl0IGlzbid0CisgICAgICAgICAg
ICAoaXQgdXNlcyBsb29waG9sZXMgdG8gdXBkYXRlIG1fb2Zmc2V0IGFuZCBtX2hlaWdodFJlbWFp
bmluZykuCisgICAgICAgICAgICBJbnN0ZWFkIG9mIHRyeWluZyB0byBjb21lIHVwIHdpdGggYSBo
YWNrIHRvIHN0aWNrIHdpdGggdGhlCisgICAgICAgICAgICBsb29waG9sZXMsIEkgZGVjaWRlZCB0
byBiZSBleHBsaWNpdCBhYm91dCBpdC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6c2hyaW5rQXZhaWxh
YmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKTogVGFrZQorICAgICAgICAgICAgaW50byBhY2Nv
dW50IHRoZSBvZmZzZXQgZnJvbSBhbnkgcG9seWdvbmFsIHNoYXBlIG91dHNpZGUuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOiBB
ZGQgYSBGSVhNRQorICAgICAgICAgICAgYmVjYXVzZSB0aGUgY3VycmVudCBjb2RlIHdpbGwgbm90
IHdvcmsgcHJvcGVybHkgd2l0aCBzdGFja2VkCisgICAgICAgICAgICBmbG9hdHMgdGhhdCBoYXZl
IHBvbHlnb25hbCBzaGFwZSBvdXRzaWRlLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSZWdyZXNz
aW9uXSBTbmlwcGV0cyByZW5hbWluZyBpcyBicm9rZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwCmluZGV4IGY2Y2IwOTdiMmY3ODFjM2U3YjUz
NGMzMzBlNzllMGM4YzY2NTk4OTEuLjg0ODRkYzZkNDJkN2MxNmM1ZjgwNGIxOGYxNjZiYjI2NDBl
OWI2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUlu
Zm8uY3BwCkBAIC0zOSw4ICszOSw4IEBACiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotdGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNo
YXBlVmFsdWUqIChSZW5kZXJTdHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgotY29uc3QgRXhj
bHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlcj46
OmNvbXB1dGVkU2hhcGUoKSBjb25zdAordGVtcGxhdGU8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVz
aW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3QsIHZvaWQg
KEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9hdCwgU2VnbWVudExp
c3QmKSBjb25zdD4KK2NvbnN0IEV4Y2x1c2lvblNoYXBlKiBFeGNsdXNpb25TaGFwZUluZm88UmVu
ZGVyVHlwZSwgc2hhcGVHZXR0ZXIsIGludGVydmFsR2V0dGVyPjo6Y29tcHV0ZWRTaGFwZSgpIGNv
bnN0CiB7CiAgICAgaWYgKEV4Y2x1c2lvblNoYXBlKiBleGNsdXNpb25TaGFwZSA9IG1fc2hhcGUu
Z2V0KCkpCiAgICAgICAgIHJldHVybiBleGNsdXNpb25TaGFwZTsKQEAgLTU1LDggKzU1LDggQEAg
Y29uc3QgRXhjbHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFw
ZUdldHRlcj46OmNvbXB1dGVkU2hhcGUKICAgICByZXR1cm4gbV9zaGFwZS5nZXQoKTsKIH0KIAot
dGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJT
dHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgotTGF5b3V0VW5pdCBFeGNsdXNpb25TaGFwZUlu
Zm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QKK3Rl
bXBsYXRlPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJTdHls
ZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0LCB2b2lkIChFeGNsdXNpb25TaGFwZTo6KmludGVydmFs
R2V0dGVyKShmbG9hdCwgZmxvYXQsIFNlZ21lbnRMaXN0JikgY29uc3Q+CitMYXlvdXRVbml0IEV4
Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlciwgaW50ZXJ2YWxHZXR0ZXI+
Ojpsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BP
ZmZzZXQgPSBtX3JlbmRlcmVyLT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/
IG1fcmVuZGVyZXItPmJvcmRlckJlZm9yZSgpICsgbV9yZW5kZXJlci0+cGFkZGluZ0JlZm9yZSgp
IDogTGF5b3V0VW5pdCgpOwogICAgIC8vIENvbnRlbnQgaW4gYSBmbG93IHRocmVhZCBpcyByZWxh
dGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0aHJlYWQsIGJ1dCB0aGUgc2hhcGUgY2FsY3Vs
YXRpb24gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHJlZ2lvbi4KQEAgLTY1LDcg
KzY1LDI3IEBAIExheW91dFVuaXQgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBl
R2V0dGVyPjo6bG9naWNhbFRvcE9mZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIGxvZ2ljYWxUb3BP
ZmZzZXQ7CiB9CiAKLXRlbXBsYXRlIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9j
aywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPjsKLXRlbXBsYXRlIGNsYXNzIEV4
Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlPjsK
K3RlbXBsYXRlPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJT
dHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0LCB2b2lkIChFeGNsdXNpb25TaGFwZTo6KmludGVy
dmFsR2V0dGVyKShmbG9hdCwgZmxvYXQsIFNlZ21lbnRMaXN0JikgY29uc3Q+Citib29sIEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlciwgaW50ZXJ2YWxHZXR0ZXI+Ojpj
b21wdXRlU2VnbWVudHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5l
SGVpZ2h0KQoreworICAgIEFTU0VSVChsaW5lSGVpZ2h0ID49IDApOworICAgIG1fc2hhcGVMaW5l
VG9wID0gbGluZVRvcCAtIGxvZ2ljYWxUb3BPZmZzZXQoKTsKKyAgICBtX2xpbmVIZWlnaHQgPSBs
aW5lSGVpZ2h0OworICAgIG1fc2VnbWVudHMuY2xlYXIoKTsKKworICAgIGlmIChsaW5lT3Zlcmxh
cHNTaGFwZUJvdW5kcygpKQorICAgICAgICAoY29tcHV0ZWRTaGFwZSgpLT4qaW50ZXJ2YWxHZXR0
ZXIpKG1fc2hhcGVMaW5lVG9wLCBzdGQ6Om1pbihtX2xpbmVIZWlnaHQsIHNoYXBlTG9naWNhbEJv
dHRvbSgpIC0gbGluZVRvcCksIG1fc2VnbWVudHMpOworCisgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
TGVmdE9mZnNldCA9IHRoaXMtPmxvZ2ljYWxMZWZ0T2Zmc2V0KCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUoKTsgaSsrKSB7CisgICAgICAgIG1fc2VnbWVudHNb
aV0ubG9naWNhbExlZnQgKz0gbG9naWNhbExlZnRPZmZzZXQ7CisgICAgICAgIG1fc2VnbWVudHNb
aV0ubG9naWNhbFJpZ2h0ICs9IGxvZ2ljYWxMZWZ0T2Zmc2V0OworICAgIH0KKworICAgIHJldHVy
biBtX3NlZ21lbnRzLnNpemUoKTsKK30KKwordGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJ
bmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGUsICZFeGNs
dXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+OwordGVtcGxhdGUgY2xhc3MgRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZFeGNs
dXNpb25TaGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHM+OwogfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgKaW5kZXggYjE0MDQyMDU1NDk2
ZjMyZWUyZmI3MGRhZjYzYWQwZDEyOWIyOTNmMy4uMWU2ZWI3MzQ1NzhhODEyZjFjZDM3ZDg3NWY1
NTYwMjA4YzRiNzU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblNoYXBlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25T
aGFwZUluZm8uaApAQCAtNjQsMTEgKzY0LDExIEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotdGVt
cGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJTdHls
ZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgordGVtcGxhdGU8Y2xhc3MgUmVuZGVyVHlwZSwgRXhj
bHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3QsIHZv
aWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9hdCwgU2VnbWVu
dExpc3QmKSBjb25zdD4KIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbyB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgfkV4Y2x1c2lvblNoYXBlSW5mbygpIHsgfQor
ICAgIHZpcnR1YWwgfkV4Y2x1c2lvblNoYXBlSW5mbygpIHsgfQogCiAgICAgdm9pZCBzZXRTaGFw
ZVNpemUoTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCkK
ICAgICB7CkBAIC04NCwxMyArODQsMjAgQEAgcHVibGljOgogICAgICAgICBtX3NoYXBlTG9naWNh
bEhlaWdodCA9IGxvZ2ljYWxIZWlnaHQ7CiAgICAgfQogCisgICAgdmlydHVhbCBib29sIGNvbXB1
dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWln
aHQpOworCiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBm
bG9hdExvZ2ljYWxUb3BUb0xheW91dFVuaXQoY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxC
b3VuZGluZ0JveCgpLnkoKSkgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0KICAgICBMYXlvdXRVbml0
IHNoYXBlTG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGZsb2F0TG9naWNhbEJvdHRvbVRv
TGF5b3V0VW5pdChjb21wdXRlZFNoYXBlKCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkubWF4
WSgpKSArIGxvZ2ljYWxUb3BPZmZzZXQoKTsgfQogICAgIExheW91dFVuaXQgc2hhcGVMb2dpY2Fs
TGVmdCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRp
bmdCb3goKS54KCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9Ci0gICAgTGF5b3V0VW5pdCBzaGFw
ZUxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dp
Y2FsQm91bmRpbmdCb3goKS55KCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9CisgICAgTGF5b3V0
VW5pdCBzaGFwZUxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+
c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS5tYXhYKCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9
CiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1
dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS53aWR0aCgpOyB9CiAgICAgTGF5
b3V0VW5pdCBzaGFwZUxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBjb21wdXRlZFNoYXBl
KCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkuaGVpZ2h0KCk7IH0KIAorICAgIExheW91dFVu
aXQgbG9naWNhbExpbmVUb3AoKSBjb25zdCB7IHJldHVybiBtX3NoYXBlTGluZVRvcCArIGxvZ2lj
YWxUb3BPZmZzZXQoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbExpbmVCb3R0b20oKSBjb25z
dCB7IHJldHVybiBtX3NoYXBlTGluZVRvcCArIG1fbGluZUhlaWdodCArIGxvZ2ljYWxUb3BPZmZz
ZXQoKTsgfQorCisgICAgYm9vbCBsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNvbnN0IHsgcmV0
dXJuIGxvZ2ljYWxMaW5lVG9wKCkgPCBzaGFwZUxvZ2ljYWxCb3R0b20oKSAmJiBsb2dpY2FsTGlu
ZUJvdHRvbSgpID49IHNoYXBlTG9naWNhbFRvcCgpOyB9CisKICAgICB2b2lkIGRpcnR5U2hhcGVT
aXplKCkgeyBtX3NoYXBlLmNsZWFyKCk7IH0KICAgICBjb25zdCBSZW5kZXJUeXBlKiBvd25lcigp
IGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXI7IH0KIApAQCAtMTA2LDYgKzExMywxMCBAQCBwcm90
ZWN0ZWQ6CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3Q7CiAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0
eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyU3Rh
cnQoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdTdGFydCgpIDogTGF5b3V0VW5pdCgpOyB9CiAKKyAg
ICBMYXlvdXRVbml0IG1fc2hhcGVMaW5lVG9wOworICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0
OworICAgIFNlZ21lbnRMaXN0IG1fc2VnbWVudHM7CisKIHByaXZhdGU6CiAgICAgbXV0YWJsZSBP
d25QdHI8RXhjbHVzaW9uU2hhcGU+IG1fc2hhcGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKaW5kZXggMzQ4MDE5NmI1
NTZhODdkMjM4OTM2ODAzOGZkZDgwNGI3Nzk5MDUxMC4uMWQ0ZTM4M2NmYjZhMmJhMzgwY2U2YWFi
OTFlMmRiYWI2OTQ1MDI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKQEAgLTM1LDI1ICszNSw2IEBACiAjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotYm9vbCBFeGNsdXNpb25T
aGFwZUluc2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9w
LCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCi17Ci0gICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7
Ci0gICAgbV9zaGFwZUxpbmVUb3AgPSBsaW5lVG9wIC0gbG9naWNhbFRvcE9mZnNldCgpOwotICAg
IG1fbGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7Ci0gICAgbV9zZWdtZW50cy5jbGVhcigpOwotICAg
IG1fc2VnbWVudFJhbmdlcy5jbGVhcigpOwotCi0gICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91
bmRzKCkpCi0gICAgICAgIGNvbXB1dGVkU2hhcGUoKS0+Z2V0SW5jbHVkZWRJbnRlcnZhbHMobV9z
aGFwZUxpbmVUb3AsIHN0ZDo6bWluKG1fbGluZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkg
LSBsaW5lVG9wKSwgbV9zZWdtZW50cyk7Ci0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zm
c2V0ID0gdGhpcy0+bG9naWNhbExlZnRPZmZzZXQoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fc2VnbWVudHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dp
Y2FsTGVmdCArPSBsb2dpY2FsTGVmdE9mZnNldDsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dp
Y2FsUmlnaHQgKz0gbG9naWNhbExlZnRPZmZzZXQ7Ci0gICAgfQotICAgIHJldHVybiBtX3NlZ21l
bnRzLnNpemUoKTsKLX0KLQogYm9vbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmFkanVzdExv
Z2ljYWxMaW5lVG9wKGZsb2F0IG1pblNlZ21lbnRXaWR0aCkKIHsKICAgICBjb25zdCBFeGNsdXNp
b25TaGFwZSogc2hhcGUgPSBjb21wdXRlZFNoYXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKaW5kZXggMzBiZDk0NzU2N2Fl
ZjQ1M2Q4ODU0ZDdhM2ZkZmI5YmY1N2Y1Nzk2NC4uY2Q1MWUxNTIxNmI5MGY1MzBkZDIxODA4YmQ4
M2JlYzQ3MmNkZDc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25TaGFwZUluc2lkZUluZm8uaApAQCAtNTIsNyArNTIsOCBAQCBzdHJ1Y3QgTGluZVNlZ21l
bnRSYW5nZSB7CiB9OwogdHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5nZT4gU2VnbWVudFJh
bmdlTGlzdDsKIAotY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDogcHVibGljIEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5z
aWRlPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQmxvY2ssIEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbz4geworCitjbGFzcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNp
ZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+LCBwdWJsaWMgTWFwcGVk
SW5mbzxSZW5kZXJCbG9jaywgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZv
KGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyhyZW5kZXJlcikpOyB9CiAKQEAgLTYxLDcgKzYyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgRXhjbHVzaW9uU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSA9IHJlbmRlcmVy
LT5zdHlsZSgpLT5yZXNvbHZlZFNoYXBlSW5zaWRlKCk7CiAgICAgICAgIHJldHVybiAoc2hhcGVW
YWx1ZSAmJiBzaGFwZVZhbHVlLT50eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUp
ID8gc2hhcGVWYWx1ZS0+c2hhcGUoKSA6IDA7CiAgICAgfQotICAgIGJvb2wgbGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGluZVRvcCgpIDwgc2hhcGVMb2dp
Y2FsQm90dG9tKCkgJiYgbG9naWNhbExpbmVCb3R0b20oKSA+PSBzaGFwZUxvZ2ljYWxUb3AoKTsg
fQorCisgICAgdmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBs
aW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFCisgICAgeworICAgICAgICBt
X3NlZ21lbnRSYW5nZXMuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2x1c2lvblNoYXBlSW5m
bzo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShsaW5lVG9wLCBsaW5lSGVpZ2h0KTsKKyAgICB9CiAK
ICAgICBib29sIGhhc1NlZ21lbnRzKCkgY29uc3QKICAgICB7CkBAIC04MSwxOCArODcsMTEgQEAg
cHVibGljOgogICAgICAgICBBU1NFUlQobV9zZWdtZW50UmFuZ2VzLnNpemUoKSA8IG1fc2VnbWVu
dHMuc2l6ZSgpKTsKICAgICAgICAgcmV0dXJuICZtX3NlZ21lbnRzW21fc2VnbWVudFJhbmdlcy5z
aXplKCldOwogICAgIH0KLSAgICBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5p
dCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpOwogICAgIGJvb2wgYWRqdXN0TG9naWNh
bExpbmVUb3AoZmxvYXQgbWluU2VnbWVudFdpZHRoKTsKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxM
aW5lVG9wKCkgY29uc3QgeyByZXR1cm4gbV9zaGFwZUxpbmVUb3AgKyBsb2dpY2FsVG9wT2Zmc2V0
KCk7IH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4g
bV9zaGFwZUxpbmVUb3AgKyBtX2xpbmVIZWlnaHQgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0KIAog
cHJpdmF0ZToKLSAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oY29uc3QgUmVuZGVyQmxvY2sq
IHJlbmRlcmVyKSA6IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxl
OjpyZXNvbHZlZFNoYXBlSW5zaWRlPihyZW5kZXJlcikgeyB9Ci0KLSAgICBMYXlvdXRVbml0IG1f
c2hhcGVMaW5lVG9wOwotICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0OwotCi0gICAgU2VnbWVu
dExpc3QgbV9zZWdtZW50czsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oY29uc3QgUmVu
ZGVyQmxvY2sqIHJlbmRlcmVyKSA6IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJl
bmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlLCAmRXhjbHVzaW9uU2hhcGU6OmdldEluY2x1
ZGVkSW50ZXJ2YWxzPihyZW5kZXJlcikgeyB9CisgICAgCiAgICAgU2VnbWVudFJhbmdlTGlzdCBt
X3NlZ21lbnRSYW5nZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHAKaW5kZXggODdmYThjNmIzMDliZGZhMzdk
NWRlNmMwNTZkNzRmYWRlMjI4ODdjMi4uYjlkMmZmM2QyYjRiMjA2NWQ1YTdhYjI3ODYwMTg0MGRh
M2IxZjdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZU91dHNpZGVJbmZvLmNwcApAQCAtNDAsNyArNDAsMjcgQEAgYm9vbCBFeGNsdXNpb25T
aGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRGb3IoY29uc3QgUmVuZGVyQm94KiBib3gpCiB7CiAg
ICAgLy8gRklYTUU6IEVuYWJsZSBzaGFwZSBvdXRzaWRlIGZvciBub24tcmVjdGFuZ3VsYXIgc2hh
cGVzISAoYnVnIDk4NjY0KQogICAgIEV4Y2x1c2lvblNoYXBlVmFsdWUqIHZhbHVlID0gYm94LT5z
dHlsZSgpLT5zaGFwZU91dHNpZGUoKTsKLSAgICByZXR1cm4gdmFsdWUgJiYgKHZhbHVlLT50eXBl
KCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpICYmICh2YWx1ZS0+c2hhcGUoKS0+dHlw
ZSgpID09IEJhc2ljU2hhcGU6OkJBU0lDX1NIQVBFX1JFQ1RBTkdMRSk7CisgICAgcmV0dXJuIHZh
bHVlICYmICh2YWx1ZS0+dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKQorICAg
ICAgICAmJiAoCisgICAgICAgICAgICAodmFsdWUtPnNoYXBlKCktPnR5cGUoKSA9PSBCYXNpY1No
YXBlOjpCQVNJQ19TSEFQRV9SRUNUQU5HTEUpCisgICAgICAgICAgICB8fCAodmFsdWUtPnNoYXBl
KCktPnR5cGUoKSA9PSBCYXNpY1NoYXBlOjpCQVNJQ19TSEFQRV9QT0xZR09OKQorICAgICAgICAp
OworfQorCitib29sIEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0Zv
ckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCit7CisgICAg
aWYgKG1fbGluZVRvcCAhPSBsaW5lVG9wIHx8IG1fbGluZUhlaWdodCAhPSBsaW5lSGVpZ2h0KSB7
CisgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUo
bGluZVRvcCwgbGluZUhlaWdodCkpIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRG
b3JMaW5lID0gbV9zZWdtZW50c1swXS5sb2dpY2FsTGVmdCAtIHNoYXBlTG9naWNhbExlZnQoKTsK
KyAgICAgICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IG1fc2VnbWVudHNbbV9z
ZWdtZW50cy5zaXplKCktMV0ubG9naWNhbFJpZ2h0IC0gc2hhcGVMb2dpY2FsUmlnaHQoKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lID0g
MDsKKyAgICAgICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IDA7CisgICAgICAg
IH0KKyAgICAgICAgbV9saW5lVG9wID0gbGluZVRvcDsKKyAgICB9CisKKyAgICByZXR1cm4gbV9z
ZWdtZW50cy5zaXplKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5oCmluZGV4IGE0YjgxMjgzOGJlMzViNGJmOWNk
ZjU2YWJiYzhjZmQ1YzIwNWI1NjQuLjJlMTg4ZDhkMTQyZTY4ZWM0YTgyOTVhM2Q5NjEwZGY5N2Fl
YzAzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8uaApAQCAtMzksMTcgKzM5LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgUmVuZGVyQm94OwogCi1jbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDog
cHVibGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVP
dXRzaWRlPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQm94LCBFeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvPiB7CitjbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDogcHVibGljIEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlLCAmRXhj
bHVzaW9uU2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzPiwgcHVibGljIE1hcHBlZEluZm88UmVu
ZGVyQm94LCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgTGF5b3V0
U2l6ZSBzaGFwZUxvZ2ljYWxPZmZzZXQoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIExh
eW91dFNpemUoc2hhcGVMb2dpY2FsTGVmdCgpLCBzaGFwZUxvZ2ljYWxUb3AoKSk7Ci0gICAgfQor
ICAgIExheW91dFNpemUgc2hhcGVMb2dpY2FsT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0
U2l6ZShzaGFwZUxvZ2ljYWxMZWZ0KCksIHNoYXBlTG9naWNhbFRvcCgpKTsgfQorCisgICAgTGF5
b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoKSBjb25zdCB7IHJldHVybiBtX2xvZ2lj
YWxMZWZ0T2Zmc2V0Rm9yTGluZTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0
Rm9yTGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZTsgfQor
CisgICAgdmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5l
VG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFOwogCiAgICAgc3RhdGljIFBhc3NP
d25QdHI8RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJC
b3gqIHJlbmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRXhjbHVzaW9uU2hhcGVPdXRzaWRl
SW5mbyhyZW5kZXJlcikpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNFbmFibGVkRm9yKGNvbnN0IFJl
bmRlckJveCopOwogcHJpdmF0ZToKLSAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKGNvbnN0
IFJlbmRlckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJl
bmRlclN0eWxlOjpzaGFwZU91dHNpZGU+KHJlbmRlcmVyKSB7IH0KKyAgICBFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvKGNvbnN0IFJlbmRlckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJ
bmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZFeGNsdXNpb25TaGFw
ZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHM+KHJlbmRlcmVyKSB7IH0KKworICAgIExheW91dFVuaXQg
bV9sb2dpY2FsTGVmdE9mZnNldEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xvZ2ljYWxSaWdo
dE9mZnNldEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xpbmVUb3A7CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBmYzY0MDM5MzVjOGYwMzRj
ZTc4Y2QwNDQ0ZDgwY2QwYjcwZTkzMzNiLi4yZWQzODQ0OTM4MjE4YjUzYWNjMzM0NTViMzA1YjZl
MGFlYzgzMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAg
LTQyNjEsNiArNDI2MSw4IEBAIGlubGluZSB2b2lkIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFs
U2VhcmNoQWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lCiAgICAgICAgIGlmICht
X2hlaWdodFJlbWFpbmluZykKICAgICAgICAgICAgICptX2hlaWdodFJlbWFpbmluZyA9IG1fcmVu
ZGVyZXItPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChyKSAtIG1fbG93VmFsdWU7CiAgICAgfQorCisg
ICAgbV9sYXN0ID0gcjsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4dEluZGVudE9m
ZnNldCgpIGNvbnN0CkBAIC00MzAyLDYgKzQzMDQsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9j
azo6bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0
VW4KIAogICAgICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6
RmxvYXRMZWZ0PiBhZGFwdGVyKHRoaXMsIHJvdW5kVG9JbnQobG9naWNhbFRvcCksIHJvdW5kVG9J
bnQobG9naWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQpLCBsZWZ0LCBoZWlnaHRSZW1haW5pbmcpOwog
ICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBz
V2l0aEFkYXB0ZXIoYWRhcHRlcik7CisKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAg
ICAgIGlmIChhZGFwdGVyLmxhc3RGbG9hdCgpKSB7CisgICAgICAgICAgICBpZiAoRXhjbHVzaW9u
U2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gYWRhcHRlci5sYXN0RmxvYXQoKS0+cmVu
ZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAg
c2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2ljYWxUb3AsIGxvZ2ljYWxI
ZWlnaHQpOworICAgICAgICAgICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsUmln
aHRPZmZzZXRGb3JMaW5lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgogICAg
IH0KIAogICAgIGlmIChhcHBseVRleHRJbmRlbnQgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERp
cmVjdGlvbigpKQpAQCAtNDM1MCw2ICs0MzYxLDE2IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6
OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRV
CiAgICAgICAgIExheW91dFVuaXQgcmlnaHRGbG9hdE9mZnNldCA9IGZpeGVkT2Zmc2V0OwogICAg
ICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdo
dD4gYWRhcHRlcih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2lj
YWxUb3AgKyBsb2dpY2FsSGVpZ2h0KSwgcmlnaHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5n
KTsKICAgICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVy
bGFwc1dpdGhBZGFwdGVyKGFkYXB0ZXIpOworCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQor
ICAgICAgICBpZiAoY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFz
dEZsb2F0KCkpIHsKKyAgICAgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBz
aGFwZU91dHNpZGUgPSBsYXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lk
ZUluZm8oKSkgeworICAgICAgICAgICAgICAgIHNoYXBlT3V0c2lkZS0+Y29tcHV0ZVNlZ21lbnRz
Rm9yTGluZShsb2dpY2FsVG9wIC0gbGFzdEZsb2F0LT55KCksIGxvZ2ljYWxIZWlnaHQpOworICAg
ICAgICAgICAgICAgIHJpZ2h0RmxvYXRPZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsTGVm
dE9mZnNldEZvckxpbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisKICAg
ICAgICAgcmlnaHQgPSBtaW4ocmlnaHQsIHJpZ2h0RmxvYXRPZmZzZXQpOwogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggZWYwMzM0YzJjNzQwMTAw
NmMwMGYxY2YyMWI3NWQ4OTQxMzAzYTQ3Zi4uNTZmZTU2NWQ2MWVhOGQ0ZDMwMmQ4NDg1ZWE0MmRi
ZGE4MmNjY2ExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTEx
MzEsNiArMTEzMSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICwgbV9oaWdoVmFsdWUoaGln
aFZhbHVlKQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgICAgICAgICAsIG1f
aGVpZ2h0UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKKyAgICAgICAgICAgICwgbV9sYXN0KDAp
CiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAgICAKQEAgLTExMzgsMTIgKzExMzksMTUgQEAg
cHJvdGVjdGVkOgogICAgICAgICBpbmxpbmUgaW50IGhpZ2hWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1faGlnaFZhbHVlOyB9CiAgICAgICAgIHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVy
dmFsVHlwZSYpIGNvbnN0OwogCisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0Rmxv
YXQoKSBjb25zdCB7IHJldHVybiBtX2xhc3Q7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGNv
bnN0IFJlbmRlckJsb2NrKiBtX3JlbmRlcmVyOwogICAgICAgICBpbnQgbV9sb3dWYWx1ZTsKICAg
ICAgICAgaW50IG1faGlnaFZhbHVlOwogICAgICAgICBMYXlvdXRVbml0JiBtX29mZnNldDsKICAg
ICAgICAgTGF5b3V0VW5pdCogbV9oZWlnaHRSZW1haW5pbmc7CisgICAgICAgIG11dGFibGUgY29u
c3QgRmxvYXRpbmdPYmplY3QqIG1fbGFzdDsKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9h
dGluZ09iamVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKaW5kZXggOWUxOWE2OWI1NjQ3ZWExNzZjNTAzZGRlYWRmZTk3Zjg4
YzU2OTJkOS4uZmZjNGJlMzIzYzIxNjg3Nzc2Zjc2YmQ5OWU4MDZjMmViNzVhZDZmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAK
QEAgLTE3NSwxMyArMTc1LDI5IEBAIGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxh
YmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgaWYgKGhl
aWdodCA8IG1fYmxvY2stPmxvZ2ljYWxUb3BGb3JGbG9hdChuZXdGbG9hdCkgfHwgaGVpZ2h0ID49
IG1fYmxvY2stPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChuZXdGbG9hdCkpCiAgICAgICAgIHJldHVy
bjsKIAorI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICBFeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvKiBzaGFwZU91dHNpZGVJbmZvID0gbmV3RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lv
blNoYXBlT3V0c2lkZUluZm8oKTsKKyAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAg
c2hhcGVPdXRzaWRlSW5mby0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2Fs
SGVpZ2h0KCkgLSBuZXdGbG9hdC0+eSgpLCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShtX2Jsb2NrLCBt
X2lzRmlyc3RMaW5lKSk7CisjZW5kaWYKKwogICAgIGlmIChuZXdGbG9hdC0+dHlwZSgpID09IFJl
bmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0KSB7CiAgICAgICAgIGZsb2F0IG5l
d0xlZnQgPSBtX2Jsb2NrLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChuZXdGbG9hdCk7CisjaWYgRU5B
QkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAg
ICAgICAgIG5ld0xlZnQgKz0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbFJpZ2h0T2Zmc2V0Rm9y
TGluZSgpOworI2VuZGlmCisKICAgICAgICAgaWYgKG1faXNGaXJzdExpbmUgJiYgbV9ibG9jay0+
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgbmV3TGVmdCAr
PSBmbG9vclRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAgICAgIG1fbGVm
dCA9IG1heDxmbG9hdD4obV9sZWZ0LCBuZXdMZWZ0KTsKICAgICB9IGVsc2UgewogICAgICAgICBm
bG9hdCBuZXdSaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQobmV3RmxvYXQpOwor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKHNoYXBlT3V0c2lkZUluZm8p
CisgICAgICAgICAgICBuZXdSaWdodCArPSBzaGFwZU91dHNpZGVJbmZvLT5sb2dpY2FsTGVmdE9m
ZnNldEZvckxpbmUoKTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChtX2lzRmlyc3RMaW5lICYmICFt
X2Jsb2NrLT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICBu
ZXdSaWdodCAtPSBmbG9vclRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAg
ICAgIG1fcmlnaHQgPSBtaW48ZmxvYXQ+KG1fcmlnaHQsIG5ld1JpZ2h0KTsKQEAgLTI3MDQsNiAr
MjcyMCw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNl
Z21lbnRCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlCiAgICAgICAgICAgICAvLyBjaGVjayBp
ZiBpdCBmaXRzIGluIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICAgICAvLyBJZiBpdCBkb2Vz
LCBwb3NpdGlvbiBpdCBub3csIG90aGVyd2lzZSwgcG9zaXRpb24KICAgICAgICAgICAgIC8vIGl0
IGFmdGVyIG1vdmluZyB0byBuZXh0IGxpbmUgKGluIG5ld0xpbmUoKSBmdW5jKQorICAgICAgICAg
ICAgLy8gRklYTUU6IEJ1ZyAxMTAzNzI6IFByb3Blcmx5IHBvc2l0aW9uIG11bHRpcGxlIHN0YWNr
ZWQgZmxvYXRzIHdpdGggbm9uLXJlY3Rhbmd1bGFyIHNoYXBlIG91dHNpZGUuCiAgICAgICAgICAg
ICBpZiAoZmxvYXRzRml0T25MaW5lICYmIHdpZHRoLmZpdHNPbkxpbmUobV9ibG9jay0+bG9naWNh
bFdpZHRoRm9yRmxvYXQoZikpKSB7CiAgICAgICAgICAgICAgICAgbV9ibG9jay0+cG9zaXRpb25O
ZXdGbG9hdE9uTGluZShmLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lk
dGgpOwogICAgICAgICAgICAgICAgIGlmIChsQnJlYWsubV9vYmogPT0gY3VycmVudC5tX29iaikg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGVhNDUwMmFjYzdhZGNmOGQwOTllZmNlOTc1MDNmOGIyNGU1YTAwNmEuLjcwYWI1
YjVhMDJjNzBmMzg0NDdmMGMzZWJmMGFkMmYwZDU5MGQzYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMy0wMi0yOCAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAg
ICAgICBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29u
IHNoYXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTg2NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW1wbGUgdGVzdCBmb3IgZmxvYXRzIHdpdGggcG9seWdvbmFsIHNoYXBlLW91dHNpZGUuCisKKyAg
ICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRz
LXNpbXBsZS1wb2x5Z29uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBWbGFz
b3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSZWdy
ZXNzaW9uXSBTbmlwcGV0cyByZW5hbWluZyBpcyBicm9rZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhj
bHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zaW1wbGUt
cG9seWdvbi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjM2QzNTE3N2I4YTcwOTM1M2FiZWIy
NDhhM2EwNDEwNGQyMDQ4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4
Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxl
LXBvbHlnb24tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2MSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAgZm9udDogMTBweC8x
IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7
CisgICAgYmFja2dyb3VuZDogYmx1ZTsKK30KKy5mbG9hdC1sZWZ0IHsKKyAgICBoZWlnaHQ6IDEw
cHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQgeworICAgIGhlaWdodDogMTBw
eDsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisuZmxvYXQtbGVmdC12ZXJ0aWNhbCB7CisgICAgd2lk
dGg6IDEwcHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwgewor
ICAgIHdpZHRoOiAxMHB4OworICAgIGZsb2F0OiByaWdodDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODY3NiI+QnVnIDk4Njc2PC9hPiAtIFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtb3V0
c2lkZSBvbiBmbG9hdHMgZm9yIHBvbHlnb24gc2hhcGVzPC9oMT4KKyAgPGgyPlRoZSBmb2xsb3dp
bmcgdGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBzcXVhcmUgd2l0aCBibHVlIHRyaWFuZ2xlcyBpbiBv
cHBvc2l0ZSBjb3JuZXJzLjwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBzdHlsZT0id2lkdGg6IDEwMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhY
WFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+
PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xh
c3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9
IndpZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhY
WAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+
CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9
ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9
IndpZHRoOiA0MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhY
WFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9k
aXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMjBweCIg
Y2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxk
aXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhY
WFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxv
YXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogMjBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhY
WFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0
MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAg
ICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjBweCIgY2xhc3M9ImZs
b2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9Indp
ZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOTBweCIgY2xhc3M9ImZs
b2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRo
OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwv
ZGl2PgorICA8aDM+dmVydGljYWwgbHI8L2gzPgorICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRp
bmctbW9kZTogdmVydGljYWwtbHIiIGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9
ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVm
dC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWln
aHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0
OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWln
aHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVm
dC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHgiIGNsYXNzPSJm
bG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwv
ZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIw
cHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhY
WFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQt
dmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9h
dC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2Pgor
ICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA3MHB4IiBjbGFzcz0i
ZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+
CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0i
ZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgcmw8L2gzPgorICA8ZGl2
IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmwiIGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5
MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgi
IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisg
ICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+
PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgi
IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAz
MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJo
ZWlnaHQ6IDEwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxv
YXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9k
aXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4
IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVy
dGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWln
aHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmln
aHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1y
aWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJp
Z2h0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91
dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTAwYjhhM2MzNDJh
MDdkMzAyNDVjMGU3ZDhkZjE3M2I3ZTQyNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxv
YXRzLXNpbXBsZS1wb2x5Z29uLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
dHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5jb250YWluZXIgeworICAgIGZvbnQ6IDEwcHgv
MSBBaGVtLCBzYW5zLXNlcmlmOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4
OworICAgIGJhY2tncm91bmQ6IGJsdWU7Cit9CisuZmxvYXQtbGVmdCB7CisgICAgd2lkdGg6IDUw
cHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBvbHln
b24oMHB4IDBweCwgMTAwcHggMHB4LCAwcHggMTAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQor
LmZsb2F0LXJpZ2h0IHsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAg
IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbig1MHB4IDBweCwgLTUwcHggMTAwcHgsIDUw
cHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5mbG9hdC1sZWZ0LXZlcnRpY2FsLWxy
IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIC13ZWJraXQtc2hh
cGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAwcHggMTAwcHgsIDEwMHB4IDBweCk7CisgICAg
ZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwtbHIgeworICAgIHdpZHRoOiAx
MDBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5
Z29uKDBweCA1MHB4LCAxMDBweCAtNTBweCwgMTAwcHggNTBweCk7CisgICAgZmxvYXQ6IHJpZ2h0
OworfQorLmZsb2F0LWxlZnQtdmVydGljYWwtcmwgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBo
ZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDBweCAwcHgs
IDEwMHB4IDEwMHB4LCAxMDBweCAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQorLmZsb2F0LXJp
Z2h0LXZlcnRpY2FsLXJsIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4Owor
ICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggNTBweCwgMHB4IC01MHB4LCAx
MDBweCA1MHB4KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTg2NzYiPkJ1ZyA5ODY3NjwvYT4gLSBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUg
b24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlczwvaDE+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRl
c3RzIHNob3VsZCBkaXNwbGF5IGEgc3F1YXJlIHdpdGggYmx1ZSB0cmlhbmdsZXMgaW4gb3Bwb3Np
dGUgY29ybmVycy48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xh
c3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAor
ICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAor
ICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhY
WFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1yaWdodCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhY
WFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAg
WFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhY
CisgICAgWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYCisg
ICAgWFhYWFhYWFhYWAorICA8L2Rpdj4KKyAgPGgzPnZlcnRpY2FsIGxyPC9oMz4KKyAgPGRpdiBz
dHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyIiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsLWxyIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhY
WFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhY
WFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhY
WFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBjbGFzcz0iZmxvYXQtcmlnaHQt
dmVydGljYWwtbHIiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhY
WFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgK
KyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhY
WFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFgKKyAg
PC9kaXY+CisgIDxoMz52ZXJ0aWNhbCBybDwvaDM+CisgIDxkaXYgc3R5bGU9Ii13ZWJraXQtd3Jp
dGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCIgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFz
cz0iZmxvYXQtbGVmdC12ZXJ0aWNhbC1ybCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWAorICAgIFhYWFhY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWAorICAg
IFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhY
WFhYWFhYWFhYWAorICAgIDxkaXYgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsLXJsIj48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAg
WFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191027</attachid>
            <date>2013-03-01 13:40:48 -0800</date>
            <delta_ts>2013-03-01 14:36:42 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>bug-98676-20130301133659.patch</filename>
            <type>text/plain</type>
            <size>36197</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY4N2ZkN2ZkNjBkNGFm
NWNkNjI3ZTYxMjExNWU1MDZhYmM0NzEyYy4uMWEzMmQyZTczNzI1YmM4ZjFlOTlhN2RjMzQ3ZTAz
NmFlNjZlZDE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMy0wMi0yOCAgQmVt
IEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lv
bnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBm
b3IgcG9seWdvbmFsIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzLiBUaGUgYmFzaWMKKyAgICAgICAg
dGFjayB0YWtlbiBoZXJlIGlzIHRvIGtlZXAgdXNpbmcgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
c2hhcGUgdG8KKyAgICAgICAgcG9zaXRpb24gdGhlIGZsb2F0LCBidXQgdG8gY29tcHV0ZSB0aGUg
b2Zmc2V0IChjYXVzZWQgYnkgdGhlIHNoYXBlKQorICAgICAgICBmcm9tIHRoZSBib3VuZGluZyBi
b3ggZm9yIGVhY2ggbGluZSB3aGVuIGNyZWF0aW5nIGFuZCBwb3NpdGlvbmluZworICAgICAgICBv
dGhlciBpbmxpbmUgY29udGVudC4KKworICAgICAgICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y29tcHV0ZWRTaGFwZSk6IEFkZCBuZXcg
dGVtcGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0
KTogQWRkIG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjo6OmNvbXB1
dGVTZWdtZW50c0ZvckxpbmUpOiBNb3ZlIGhlcmUgZnJvbQorICAgICAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzaW5jZSBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIG5lZWRzIGl0
CisgICAgICAgICAgICBhcyB3ZWxsLiBNYWtlIHZpcnR1YWwgc2luY2UgdGhlcmUgaXMgc2xpZ2h0
bHkgZGlmZmVyZW50IGJlaGF2aW9yCisgICAgICAgICAgICBiZXR3ZWVuIGVhY2ggY2xhc3MgZXZl
biB0aG91Z2ggdGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGNvZGUgaXMKKyAgICAgICAgICAgIGNv
bW1vbi4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6fkV4Y2x1
c2lvblNoYXBlSW5mbyk6IFNpbmNlCisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5l
IGlzIHZpcnR1YWwsIHRoZSBkZXN0cnVjdG9yIG11c3QgYmUgdmlydHVhbAorICAgICAgICAgICAg
YXMgd2VsbC4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6IEFkZCBuZXcgZGF0YSBtZW1i
ZXJzIHRvIHN1cHBvcnQKKyAgICAgICAgICAgIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUuCisgICAg
ICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZUluZm86OnNoYXBlTG9naWNhbFJpZ2h0KTogRml4
IGJ1ZywgdGhlIGxvZ2ljYWwKKyAgICAgICAgICAgIHJpZ2h0IGlzIGJhc2VkIG9mZiBvZiBtYXhY
LCBub3QgeS4gKGl0J3MgYSBsb2dpY2FsIGJvdW5kaW5nIGJveCEpCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZUluZm86OmxvZ2ljYWxMaW5lVG9wKTogTW92ZWQgZnJvbQorICAgICAg
ICAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGZvciB1c2UgYnkgY29tcHV0ZVNlZ21lbnRz
Rm9yTGluZSBhbmQKKyAgICAgICAgICAgIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzLgorICAgICAg
ICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbmZvOjpsb2dpY2FsTGluZUJvdHRvbSk6IE1vdmVk
IGZyb20KKyAgICAgICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBmb3IgdXNlIGJ5IGNv
bXB1dGVTZWdtZW50c0ZvckxpbmUgYW5kCisgICAgICAgICAgICBsaW5lT3ZlcmxhcHNTaGFwZUJv
dW5kcy4KKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6bGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMpOiBNb3ZlZCBmcm9tCisgICAgICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8gZm9yIHVzZSBieSBjb21wdXRlU2VnbWVudHNGb3JMaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwOiBNb3ZlZCBjb21tb24gY29kZSBmcm9t
CisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5lIGludG8gRXhjbHVzaW9uU2hhcGVJ
bmZvLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBNb3ZlZCBzb21lIG1ldGhvZHMgdG8gRXhjbHVzaW9uU2hhcGVJbmZv
LgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVXBkYXRlIGZvciBuZXcgdGVt
cGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjpjb21weXRlU2VnbWVudHNGb3JMaW5lKTogT3ZlcnJpZGUKKyAgICAgICAgICAgIHN1cGVy
Y2xhc3MgbWV0aG9kIHRvIGNsZWFyIHRoZSBzZWdtZW50IHJhbmdlcy4gU2VnZW1lbnQgcmFuZ2Vz
CisgICAgICAgICAgICBhcmVuJ3QgdXNlZCBieSBzaGFwZSBvdXRzaWRlLCBhbmQgaGF2ZSBzb21l
IGNvbXBsZXggZGVwZW5kZW5jaWVzCisgICAgICAgICAgICB0aGF0IG1ha2UgaXQgdmVyeSBoYXJk
IHRvIHRyeSBhbmQgbW92ZSB1cCBpbnRvIEV4Y2x1c2lvblNoYXBlSW5mby4KKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogVXBkYXRlCisgICAgICAgICAgICBmb3IgbmV3IHRlbXBsYXRlIHBhcmFtZXRlci4KKyAgICAg
ICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRGb3IpOiBBZGQgcG9s
eWdvbnMgYXMgYQorICAgICAgICAgICAgc3VwcG9ydGVkIHNoYXBlLgorICAgICAgICAoV2ViQ29y
ZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZSk6IE92
ZXJyaWRlCisgICAgICAgICAgICBzdXBlcmNsYXNzIG1ldGhvZCB0byBub3QgcmVjb21wdXRlIGlm
IGl0IGlzbid0IG5lZWRlZCAodGhpcyBpc24ndAorICAgICAgICAgICAgc3RyYWlnaHRmb3dhcmQg
Zm9yIHNoYXBlIGluc2lkZSwgd2hpY2ggaXMgd2h5IGl0IGlzbid0IGNvbW1vbiksCisgICAgICAg
ICAgICBhbmQgdG8gc2F2ZSB0aGUgbGVmdCBhbmQgcmlnaHQgb2Zmc2V0cyBjYXVzZWQgYnkgdGhl
IHNoYXBlCisgICAgICAgICAgICBvdXRzaWRlLCBzaW5jZSB0aGF0J3MgYWxsIHRoYXQgaXMgbmVl
ZGVkIHRvIHByb3Blcmx5IGRvIGxheW91dCBpbgorICAgICAgICAgICAgdGhlIGNhc2Ugb2YgZmxv
YXRzLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpzaGFwZUxvZ2ljYWxP
ZmZzZXQpOiBSZWZvcm1hdCB0bworICAgICAgICAgICAgYmUgb24gYSBzaW5nbGUgbGluZSwgbGlr
ZSBtb3N0IG90aGVyIG1ldGhvZHMgb2YgaXQncyB0eXBlIGluCisgICAgICAgICAgICBXZWJLaXQg
aGVhZGVycy4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8pOiBVcGRhdGUgZm9y
IG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUpOgorICAgICAgICAgICAgQWNj
ZXNzb3IgbWV0aG9kIHRvIGdldCB0aGUgbGVmdCBvZmZzZXQgYmV0d2VlbiB0aGUgc2hhcGUgYW5k
IHRoZQorICAgICAgICAgICAgc2hhcGUncyBib3VuZGluZyBib3guCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToK
KyAgICAgICAgICAgIEFjY2Vzc29yIG1ldGhvZCB0byBnZXQgdGhlIGxlZnQgb2Zmc2V0IGJldHdl
ZW4gdGhlIHNoYXBlIGFuZCB0aGUKKyAgICAgICAgICAgIHNoYXBlJ3MgYm91bmRpbmcgYm94Lgor
ICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6RXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgZm9yIG5ldyB0ZW1wbGF0ZSBwYXJh
bWV0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ojo6Y29sbGVjdElmTmVlZGVkKTogU2F2ZSB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJl
ZCBzbyB0aGF0CisgICAgICAgICAgICB0aGUgc2hhcGUgb3V0c2lkZSBvZmZzZXQgY2FuIGJlIGFj
Y291bnRlZCBmb3IuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbExlZnRP
ZmZzZXRGb3JMaW5lKTogQWNjb3VudCBmb3IgdGhlCisgICAgICAgICAgICBzaGFwZSBvdXRzaWRl
IG9mZnNldCBvbiB0aGUgb3V0ZXJtb3N0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUpOiBBY2NvdW50IGZvciB0aGUKKyAgICAg
ICAgICAgIHNoYXBlIG91dHNpZGUgb2Zmc2V0IG9uIHRoZSBvdXRlcm1vc3QgZmxvYXQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFw
dGVyKToKKyAgICAgICAgICAgIEluaXRpYWxpemUgdGhlIGxhc3RGbG9hdCBtZW1iZXIuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6Omxh
c3RGbG9hdCk6IEdldCB0aGUKKyAgICAgICAgICAgIGxhc3QgZmxvYXQgZW5jb3VudGVyZWQuCisg
ICAgICAgIChGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcik6IEFkZCBhIHBvaW50ZXIgdG8gdGhl
IGxhc3QgZmxvYXQKKyAgICAgICAgICAgIGVuY291bnRlcmVkLiBOb3RlIHRoYXQgdGhlIHZhcmlh
YmxlIGlzIG11dGFibGUgYmVjYXVzZQorICAgICAgICAgICAgY29sbGVjdElmTmVlZGVkIGlzIGRl
Y2xhcmVkIGFzIGEgY29uc3QgbWV0aG9kIGV2ZW4gdGhvdWdoIGl0IGlzbid0CisgICAgICAgICAg
ICAoaXQgdXNlcyBsb29waG9sZXMgdG8gdXBkYXRlIG1fb2Zmc2V0IGFuZCBtX2hlaWdodFJlbWFp
bmluZykuCisgICAgICAgICAgICBJbnN0ZWFkIG9mIHRyeWluZyB0byBjb21lIHVwIHdpdGggYSBo
YWNrIHRvIHN0aWNrIHdpdGggdGhlCisgICAgICAgICAgICBsb29waG9sZXMsIEkgZGVjaWRlZCB0
byBiZSBleHBsaWNpdCBhYm91dCBpdC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6c2hyaW5rQXZhaWxh
YmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKTogVGFrZQorICAgICAgICAgICAgaW50byBhY2Nv
dW50IHRoZSBvZmZzZXQgZnJvbSBhbnkgcG9seWdvbmFsIHNoYXBlIG91dHNpZGUuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOiBB
ZGQgYSBGSVhNRQorICAgICAgICAgICAgYmVjYXVzZSB0aGUgY3VycmVudCBjb2RlIHdpbGwgbm90
IHdvcmsgcHJvcGVybHkgd2l0aCBzdGFja2VkCisgICAgICAgICAgICBmbG9hdHMgdGhhdCBoYXZl
IHBvbHlnb25hbCBzaGFwZSBvdXRzaWRlLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSZWdyZXNz
aW9uXSBTbmlwcGV0cyByZW5hbWluZyBpcyBicm9rZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwCmluZGV4IGY2Y2IwOTdiMmY3ODFjM2U3YjUz
NGMzMzBlNzllMGM4YzY2NTk4OTEuLjg0ODRkYzZkNDJkN2MxNmM1ZjgwNGIxOGYxNjZiYjI2NDBl
OWI2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUlu
Zm8uY3BwCkBAIC0zOSw4ICszOSw4IEBACiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotdGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNo
YXBlVmFsdWUqIChSZW5kZXJTdHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgotY29uc3QgRXhj
bHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlcj46
OmNvbXB1dGVkU2hhcGUoKSBjb25zdAordGVtcGxhdGU8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVz
aW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3QsIHZvaWQg
KEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9hdCwgU2VnbWVudExp
c3QmKSBjb25zdD4KK2NvbnN0IEV4Y2x1c2lvblNoYXBlKiBFeGNsdXNpb25TaGFwZUluZm88UmVu
ZGVyVHlwZSwgc2hhcGVHZXR0ZXIsIGludGVydmFsR2V0dGVyPjo6Y29tcHV0ZWRTaGFwZSgpIGNv
bnN0CiB7CiAgICAgaWYgKEV4Y2x1c2lvblNoYXBlKiBleGNsdXNpb25TaGFwZSA9IG1fc2hhcGUu
Z2V0KCkpCiAgICAgICAgIHJldHVybiBleGNsdXNpb25TaGFwZTsKQEAgLTU1LDggKzU1LDggQEAg
Y29uc3QgRXhjbHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFw
ZUdldHRlcj46OmNvbXB1dGVkU2hhcGUKICAgICByZXR1cm4gbV9zaGFwZS5nZXQoKTsKIH0KIAot
dGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJT
dHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgotTGF5b3V0VW5pdCBFeGNsdXNpb25TaGFwZUlu
Zm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QKK3Rl
bXBsYXRlPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJTdHls
ZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0LCB2b2lkIChFeGNsdXNpb25TaGFwZTo6KmludGVydmFs
R2V0dGVyKShmbG9hdCwgZmxvYXQsIFNlZ21lbnRMaXN0JikgY29uc3Q+CitMYXlvdXRVbml0IEV4
Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlciwgaW50ZXJ2YWxHZXR0ZXI+
Ojpsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BP
ZmZzZXQgPSBtX3JlbmRlcmVyLT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/
IG1fcmVuZGVyZXItPmJvcmRlckJlZm9yZSgpICsgbV9yZW5kZXJlci0+cGFkZGluZ0JlZm9yZSgp
IDogTGF5b3V0VW5pdCgpOwogICAgIC8vIENvbnRlbnQgaW4gYSBmbG93IHRocmVhZCBpcyByZWxh
dGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0aHJlYWQsIGJ1dCB0aGUgc2hhcGUgY2FsY3Vs
YXRpb24gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHJlZ2lvbi4KQEAgLTY1LDcg
KzY1LDI3IEBAIExheW91dFVuaXQgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBl
R2V0dGVyPjo6bG9naWNhbFRvcE9mZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIGxvZ2ljYWxUb3BP
ZmZzZXQ7CiB9CiAKLXRlbXBsYXRlIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9j
aywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPjsKLXRlbXBsYXRlIGNsYXNzIEV4
Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlPjsK
K3RlbXBsYXRlPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJT
dHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0LCB2b2lkIChFeGNsdXNpb25TaGFwZTo6KmludGVy
dmFsR2V0dGVyKShmbG9hdCwgZmxvYXQsIFNlZ21lbnRMaXN0JikgY29uc3Q+Citib29sIEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlciwgaW50ZXJ2YWxHZXR0ZXI+Ojpj
b21wdXRlU2VnbWVudHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5l
SGVpZ2h0KQoreworICAgIEFTU0VSVChsaW5lSGVpZ2h0ID49IDApOworICAgIG1fc2hhcGVMaW5l
VG9wID0gbGluZVRvcCAtIGxvZ2ljYWxUb3BPZmZzZXQoKTsKKyAgICBtX2xpbmVIZWlnaHQgPSBs
aW5lSGVpZ2h0OworICAgIG1fc2VnbWVudHMuY2xlYXIoKTsKKworICAgIGlmIChsaW5lT3Zlcmxh
cHNTaGFwZUJvdW5kcygpKQorICAgICAgICAoY29tcHV0ZWRTaGFwZSgpLT4qaW50ZXJ2YWxHZXR0
ZXIpKG1fc2hhcGVMaW5lVG9wLCBzdGQ6Om1pbihtX2xpbmVIZWlnaHQsIHNoYXBlTG9naWNhbEJv
dHRvbSgpIC0gbGluZVRvcCksIG1fc2VnbWVudHMpOworCisgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
TGVmdE9mZnNldCA9IHRoaXMtPmxvZ2ljYWxMZWZ0T2Zmc2V0KCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUoKTsgaSsrKSB7CisgICAgICAgIG1fc2VnbWVudHNb
aV0ubG9naWNhbExlZnQgKz0gbG9naWNhbExlZnRPZmZzZXQ7CisgICAgICAgIG1fc2VnbWVudHNb
aV0ubG9naWNhbFJpZ2h0ICs9IGxvZ2ljYWxMZWZ0T2Zmc2V0OworICAgIH0KKworICAgIHJldHVy
biBtX3NlZ21lbnRzLnNpemUoKTsKK30KKwordGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJ
bmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGUsICZFeGNs
dXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+OwordGVtcGxhdGUgY2xhc3MgRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZFeGNs
dXNpb25TaGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHM+OwogfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgKaW5kZXggYjE0MDQyMDU1NDk2
ZjMyZWUyZmI3MGRhZjYzYWQwZDEyOWIyOTNmMy4uMWU2ZWI3MzQ1NzhhODEyZjFjZDM3ZDg3NWY1
NTYwMjA4YzRiNzU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblNoYXBlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25T
aGFwZUluZm8uaApAQCAtNjQsMTEgKzY0LDExIEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotdGVt
cGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5kZXJTdHls
ZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgordGVtcGxhdGU8Y2xhc3MgUmVuZGVyVHlwZSwgRXhj
bHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3QsIHZv
aWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9hdCwgU2VnbWVu
dExpc3QmKSBjb25zdD4KIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbyB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgfkV4Y2x1c2lvblNoYXBlSW5mbygpIHsgfQor
ICAgIHZpcnR1YWwgfkV4Y2x1c2lvblNoYXBlSW5mbygpIHsgfQogCiAgICAgdm9pZCBzZXRTaGFw
ZVNpemUoTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCkK
ICAgICB7CkBAIC04NCwxMyArODQsMjAgQEAgcHVibGljOgogICAgICAgICBtX3NoYXBlTG9naWNh
bEhlaWdodCA9IGxvZ2ljYWxIZWlnaHQ7CiAgICAgfQogCisgICAgdmlydHVhbCBib29sIGNvbXB1
dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWln
aHQpOworCiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBm
bG9hdExvZ2ljYWxUb3BUb0xheW91dFVuaXQoY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxC
b3VuZGluZ0JveCgpLnkoKSkgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0KICAgICBMYXlvdXRVbml0
IHNoYXBlTG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGZsb2F0TG9naWNhbEJvdHRvbVRv
TGF5b3V0VW5pdChjb21wdXRlZFNoYXBlKCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkubWF4
WSgpKSArIGxvZ2ljYWxUb3BPZmZzZXQoKTsgfQogICAgIExheW91dFVuaXQgc2hhcGVMb2dpY2Fs
TGVmdCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRp
bmdCb3goKS54KCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9Ci0gICAgTGF5b3V0VW5pdCBzaGFw
ZUxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dp
Y2FsQm91bmRpbmdCb3goKS55KCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9CisgICAgTGF5b3V0
VW5pdCBzaGFwZUxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+
c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS5tYXhYKCkgKyBsb2dpY2FsTGVmdE9mZnNldCgpOyB9
CiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1
dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS53aWR0aCgpOyB9CiAgICAgTGF5
b3V0VW5pdCBzaGFwZUxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBjb21wdXRlZFNoYXBl
KCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkuaGVpZ2h0KCk7IH0KIAorICAgIExheW91dFVu
aXQgbG9naWNhbExpbmVUb3AoKSBjb25zdCB7IHJldHVybiBtX3NoYXBlTGluZVRvcCArIGxvZ2lj
YWxUb3BPZmZzZXQoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbExpbmVCb3R0b20oKSBjb25z
dCB7IHJldHVybiBtX3NoYXBlTGluZVRvcCArIG1fbGluZUhlaWdodCArIGxvZ2ljYWxUb3BPZmZz
ZXQoKTsgfQorCisgICAgYm9vbCBsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNvbnN0IHsgcmV0
dXJuIGxvZ2ljYWxMaW5lVG9wKCkgPCBzaGFwZUxvZ2ljYWxCb3R0b20oKSAmJiBsb2dpY2FsTGlu
ZUJvdHRvbSgpID49IHNoYXBlTG9naWNhbFRvcCgpOyB9CisKICAgICB2b2lkIGRpcnR5U2hhcGVT
aXplKCkgeyBtX3NoYXBlLmNsZWFyKCk7IH0KICAgICBjb25zdCBSZW5kZXJUeXBlKiBvd25lcigp
IGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXI7IH0KIApAQCAtMTA2LDYgKzExMywxMCBAQCBwcm90
ZWN0ZWQ6CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3Q7CiAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0
eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyU3Rh
cnQoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdTdGFydCgpIDogTGF5b3V0VW5pdCgpOyB9CiAKKyAg
ICBMYXlvdXRVbml0IG1fc2hhcGVMaW5lVG9wOworICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0
OworICAgIFNlZ21lbnRMaXN0IG1fc2VnbWVudHM7CisKIHByaXZhdGU6CiAgICAgbXV0YWJsZSBP
d25QdHI8RXhjbHVzaW9uU2hhcGU+IG1fc2hhcGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKaW5kZXggMzQ4MDE5NmI1
NTZhODdkMjM4OTM2ODAzOGZkZDgwNGI3Nzk5MDUxMC4uMWQ0ZTM4M2NmYjZhMmJhMzgwY2U2YWFi
OTFlMmRiYWI2OTQ1MDI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKQEAgLTM1LDI1ICszNSw2IEBACiAjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotYm9vbCBFeGNsdXNpb25T
aGFwZUluc2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9w
LCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCi17Ci0gICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7
Ci0gICAgbV9zaGFwZUxpbmVUb3AgPSBsaW5lVG9wIC0gbG9naWNhbFRvcE9mZnNldCgpOwotICAg
IG1fbGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7Ci0gICAgbV9zZWdtZW50cy5jbGVhcigpOwotICAg
IG1fc2VnbWVudFJhbmdlcy5jbGVhcigpOwotCi0gICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91
bmRzKCkpCi0gICAgICAgIGNvbXB1dGVkU2hhcGUoKS0+Z2V0SW5jbHVkZWRJbnRlcnZhbHMobV9z
aGFwZUxpbmVUb3AsIHN0ZDo6bWluKG1fbGluZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkg
LSBsaW5lVG9wKSwgbV9zZWdtZW50cyk7Ci0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zm
c2V0ID0gdGhpcy0+bG9naWNhbExlZnRPZmZzZXQoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fc2VnbWVudHMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dp
Y2FsTGVmdCArPSBsb2dpY2FsTGVmdE9mZnNldDsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dp
Y2FsUmlnaHQgKz0gbG9naWNhbExlZnRPZmZzZXQ7Ci0gICAgfQotICAgIHJldHVybiBtX3NlZ21l
bnRzLnNpemUoKTsKLX0KLQogYm9vbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmFkanVzdExv
Z2ljYWxMaW5lVG9wKGZsb2F0IG1pblNlZ21lbnRXaWR0aCkKIHsKICAgICBjb25zdCBFeGNsdXNp
b25TaGFwZSogc2hhcGUgPSBjb21wdXRlZFNoYXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKaW5kZXggMzBiZDk0NzU2N2Fl
ZjQ1M2Q4ODU0ZDdhM2ZkZmI5YmY1N2Y1Nzk2NC4uYmYxZDIzMzkyMGY5NjI0YjNlNDM1N2EwMDM3
ZGJmNGI1NWY5NDkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25TaGFwZUluc2lkZUluZm8uaApAQCAtNTIsNyArNTIsOCBAQCBzdHJ1Y3QgTGluZVNlZ21l
bnRSYW5nZSB7CiB9OwogdHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5nZT4gU2VnbWVudFJh
bmdlTGlzdDsKIAotY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDogcHVibGljIEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5z
aWRlPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQmxvY2ssIEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbz4geworCitjbGFzcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNp
ZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+LCBwdWJsaWMgTWFwcGVk
SW5mbzxSZW5kZXJCbG9jaywgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZv
KGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyhyZW5kZXJlcikpOyB9CiAKQEAgLTYxLDcgKzYyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgRXhjbHVzaW9uU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSA9IHJlbmRlcmVy
LT5zdHlsZSgpLT5yZXNvbHZlZFNoYXBlSW5zaWRlKCk7CiAgICAgICAgIHJldHVybiAoc2hhcGVW
YWx1ZSAmJiBzaGFwZVZhbHVlLT50eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUp
ID8gc2hhcGVWYWx1ZS0+c2hhcGUoKSA6IDA7CiAgICAgfQotICAgIGJvb2wgbGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGluZVRvcCgpIDwgc2hhcGVMb2dp
Y2FsQm90dG9tKCkgJiYgbG9naWNhbExpbmVCb3R0b20oKSA+PSBzaGFwZUxvZ2ljYWxUb3AoKTsg
fQorCisgICAgdmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBs
aW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFCisgICAgeworICAgICAgICBt
X3NlZ21lbnRSYW5nZXMuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2x1c2lvblNoYXBlSW5m
bzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlLCAmRXhjbHVz
aW9uU2hhcGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxzPjo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShs
aW5lVG9wLCBsaW5lSGVpZ2h0KTsKKyAgICB9CiAKICAgICBib29sIGhhc1NlZ21lbnRzKCkgY29u
c3QKICAgICB7CkBAIC04MSwxOCArODcsMTEgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9z
ZWdtZW50UmFuZ2VzLnNpemUoKSA8IG1fc2VnbWVudHMuc2l6ZSgpKTsKICAgICAgICAgcmV0dXJu
ICZtX3NlZ21lbnRzW21fc2VnbWVudFJhbmdlcy5zaXplKCldOwogICAgIH0KLSAgICBib29sIGNv
bXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVI
ZWlnaHQpOwogICAgIGJvb2wgYWRqdXN0TG9naWNhbExpbmVUb3AoZmxvYXQgbWluU2VnbWVudFdp
ZHRoKTsKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMaW5lVG9wKCkgY29uc3QgeyByZXR1cm4gbV9z
aGFwZUxpbmVUb3AgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0KLSAgICBMYXlvdXRVbml0IGxvZ2lj
YWxMaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9zaGFwZUxpbmVUb3AgKyBtX2xpbmVIZWln
aHQgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8oY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKSA6IEV4Y2x1c2lvblNoYXBl
SW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPihyZW5k
ZXJlcikgeyB9Ci0KLSAgICBMYXlvdXRVbml0IG1fc2hhcGVMaW5lVG9wOwotICAgIExheW91dFVu
aXQgbV9saW5lSGVpZ2h0OwotCi0gICAgU2VnbWVudExpc3QgbV9zZWdtZW50czsKKyAgICBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8oY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKSA6IEV4Y2x1
c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5z
aWRlLCAmRXhjbHVzaW9uU2hhcGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxzPihyZW5kZXJlcikgeyB9
CisgICAgCiAgICAgU2VnbWVudFJhbmdlTGlzdCBtX3NlZ21lbnRSYW5nZXM7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5m
by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5m
by5jcHAKaW5kZXggODdmYThjNmIzMDliZGZhMzdkNWRlNmMwNTZkNzRmYWRlMjI4ODdjMi4uOTFj
YWFiNDgyMGExZGJhNTVhNjU5MzcxNzJiOGFkYTJhOWY0OWJiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmNwcApAQCAt
NDAsNyArNDAsMjcgQEAgYm9vbCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRG
b3IoY29uc3QgUmVuZGVyQm94KiBib3gpCiB7CiAgICAgLy8gRklYTUU6IEVuYWJsZSBzaGFwZSBv
dXRzaWRlIGZvciBub24tcmVjdGFuZ3VsYXIgc2hhcGVzISAoYnVnIDk4NjY0KQogICAgIEV4Y2x1
c2lvblNoYXBlVmFsdWUqIHZhbHVlID0gYm94LT5zdHlsZSgpLT5zaGFwZU91dHNpZGUoKTsKLSAg
ICByZXR1cm4gdmFsdWUgJiYgKHZhbHVlLT50eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6
U0hBUEUpICYmICh2YWx1ZS0+c2hhcGUoKS0+dHlwZSgpID09IEJhc2ljU2hhcGU6OkJBU0lDX1NI
QVBFX1JFQ1RBTkdMRSk7CisgICAgcmV0dXJuIHZhbHVlICYmICh2YWx1ZS0+dHlwZSgpID09IEV4
Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKQorICAgICAgICAmJiAoCisgICAgICAgICAgICAodmFs
dWUtPnNoYXBlKCktPnR5cGUoKSA9PSBCYXNpY1NoYXBlOjpCQVNJQ19TSEFQRV9SRUNUQU5HTEUp
CisgICAgICAgICAgICB8fCAodmFsdWUtPnNoYXBlKCktPnR5cGUoKSA9PSBCYXNpY1NoYXBlOjpC
QVNJQ19TSEFQRV9QT0xZR09OKQorICAgICAgICApOworfQorCitib29sIEV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBM
YXlvdXRVbml0IGxpbmVIZWlnaHQpCit7CisgICAgaWYgKG1fbGluZVRvcCAhPSBsaW5lVG9wIHx8
IG1fbGluZUhlaWdodCAhPSBsaW5lSGVpZ2h0KSB7CisgICAgICAgIGlmIChFeGNsdXNpb25TaGFw
ZUluZm88UmVuZGVyQm94LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSwgJkV4Y2x1c2lvblNo
YXBlOjpnZXRFeGNsdWRlZEludGVydmFscz46OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRv
cCwgbGluZUhlaWdodCkpIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRGb3JMaW5l
ID0gbV9zZWdtZW50c1swXS5sb2dpY2FsTGVmdCAtIHNoYXBlTG9naWNhbExlZnQoKTsKKyAgICAg
ICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IG1fc2VnbWVudHNbbV9zZWdtZW50
cy5zaXplKCktMV0ubG9naWNhbFJpZ2h0IC0gc2hhcGVMb2dpY2FsUmlnaHQoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lID0gMDsKKyAg
ICAgICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IDA7CisgICAgICAgIH0KKyAg
ICAgICAgbV9saW5lVG9wID0gbGluZVRvcDsKKyAgICB9CisKKyAgICByZXR1cm4gbV9zZWdtZW50
cy5zaXplKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhj
bHVzaW9uU2hhcGVPdXRzaWRlSW5mby5oCmluZGV4IGE0YjgxMjgzOGJlMzViNGJmOWNkZjU2YWJi
YzhjZmQ1YzIwNWI1NjQuLjJlMTg4ZDhkMTQyZTY4ZWM0YTgyOTVhM2Q5NjEwZGY5N2FlYzAzOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0
c2lkZUluZm8uaApAQCAtMzksMTcgKzM5LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUmVuZGVyQm94OwogCi1jbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDogcHVibGlj
IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRl
PiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQm94LCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
PiB7CitjbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDogcHVibGljIEV4Y2x1c2lvblNo
YXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlLCAmRXhjbHVzaW9u
U2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQm94
LCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgTGF5b3V0U2l6ZSBz
aGFwZUxvZ2ljYWxPZmZzZXQoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIExheW91dFNp
emUoc2hhcGVMb2dpY2FsTGVmdCgpLCBzaGFwZUxvZ2ljYWxUb3AoKSk7Ci0gICAgfQorICAgIExh
eW91dFNpemUgc2hhcGVMb2dpY2FsT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZShz
aGFwZUxvZ2ljYWxMZWZ0KCksIHNoYXBlTG9naWNhbFRvcCgpKTsgfQorCisgICAgTGF5b3V0VW5p
dCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxMZWZ0
T2Zmc2V0Rm9yTGluZTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGlu
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZTsgfQorCisgICAg
dmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBM
YXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFOwogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8
RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJCb3gqIHJl
bmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyhy
ZW5kZXJlcikpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJv
eCopOwogcHJpdmF0ZToKLSAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKGNvbnN0IFJlbmRl
ckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0
eWxlOjpzaGFwZU91dHNpZGU+KHJlbmRlcmVyKSB7IH0KKyAgICBFeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvKGNvbnN0IFJlbmRlckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJbmZvPFJl
bmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0
RXhjbHVkZWRJbnRlcnZhbHM+KHJlbmRlcmVyKSB7IH0KKworICAgIExheW91dFVuaXQgbV9sb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xvZ2ljYWxSaWdodE9mZnNl
dEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xpbmVUb3A7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBmYzY0MDM5MzVjOGYwMzRjZTc4Y2Qw
NDQ0ZDgwY2QwYjcwZTkzMzNiLi4yZWQzODQ0OTM4MjE4YjUzYWNjMzM0NTViMzA1YjZlMGFlYzgz
MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQyNjEs
NiArNDI2MSw4IEBAIGlubGluZSB2b2lkIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNo
QWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lCiAgICAgICAgIGlmIChtX2hlaWdo
dFJlbWFpbmluZykKICAgICAgICAgICAgICptX2hlaWdodFJlbWFpbmluZyA9IG1fcmVuZGVyZXIt
PmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChyKSAtIG1fbG93VmFsdWU7CiAgICAgfQorCisgICAgbV9s
YXN0ID0gcjsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCgp
IGNvbnN0CkBAIC00MzAyLDYgKzQzMDQsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9n
aWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW4KIAog
ICAgICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRM
ZWZ0PiBhZGFwdGVyKHRoaXMsIHJvdW5kVG9JbnQobG9naWNhbFRvcCksIHJvdW5kVG9JbnQobG9n
aWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQpLCBsZWZ0LCBoZWlnaHRSZW1haW5pbmcpOwogICAgICAg
ICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFk
YXB0ZXIoYWRhcHRlcik7CisKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGlm
IChhZGFwdGVyLmxhc3RGbG9hdCgpKSB7CisgICAgICAgICAgICBpZiAoRXhjbHVzaW9uU2hhcGVP
dXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gYWRhcHRlci5sYXN0RmxvYXQoKS0+cmVuZGVyZXIo
KS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAgc2hhcGVP
dXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2ljYWxUb3AsIGxvZ2ljYWxIZWlnaHQp
OworICAgICAgICAgICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsUmlnaHRPZmZz
ZXRGb3JMaW5lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAog
ICAgIGlmIChhcHBseVRleHRJbmRlbnQgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQpAQCAtNDM1MCw2ICs0MzYxLDE2IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2lj
YWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVCiAgICAg
ICAgIExheW91dFVuaXQgcmlnaHRGbG9hdE9mZnNldCA9IGZpeGVkT2Zmc2V0OwogICAgICAgICBG
bG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdodD4gYWRh
cHRlcih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3Ag
KyBsb2dpY2FsSGVpZ2h0KSwgcmlnaHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5nKTsKICAg
ICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dp
dGhBZGFwdGVyKGFkYXB0ZXIpOworCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAg
ICBpZiAoY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0
KCkpIHsKKyAgICAgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91
dHNpZGUgPSBsYXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8o
KSkgeworICAgICAgICAgICAgICAgIHNoYXBlT3V0c2lkZS0+Y29tcHV0ZVNlZ21lbnRzRm9yTGlu
ZShsb2dpY2FsVG9wIC0gbGFzdEZsb2F0LT55KCksIGxvZ2ljYWxIZWlnaHQpOworICAgICAgICAg
ICAgICAgIHJpZ2h0RmxvYXRPZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsTGVmdE9mZnNl
dEZvckxpbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAg
cmlnaHQgPSBtaW4ocmlnaHQsIHJpZ2h0RmxvYXRPZmZzZXQpOwogICAgIH0KICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggZWYwMzM0YzJjNzQwMTAwNmMwMGYx
Y2YyMWI3NWQ4OTQxMzAzYTQ3Zi4uNTZmZTU2NWQ2MWVhOGQ0ZDMwMmQ4NDg1ZWE0MmRiZGE4MmNj
Y2ExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTExMzEsNiAr
MTEzMSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICwgbV9oaWdoVmFsdWUoaGlnaFZhbHVl
KQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgICAgICAgICAsIG1faGVpZ2h0
UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKKyAgICAgICAgICAgICwgbV9sYXN0KDApCiAgICAg
ICAgIHsKICAgICAgICAgfQogICAgICAgICAKQEAgLTExMzgsMTIgKzExMzksMTUgQEAgcHJvdGVj
dGVkOgogICAgICAgICBpbmxpbmUgaW50IGhpZ2hWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGln
aFZhbHVlOyB9CiAgICAgICAgIHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVydmFsVHlw
ZSYpIGNvbnN0OwogCisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQoKSBj
b25zdCB7IHJldHVybiBtX2xhc3Q7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IFJl
bmRlckJsb2NrKiBtX3JlbmRlcmVyOwogICAgICAgICBpbnQgbV9sb3dWYWx1ZTsKICAgICAgICAg
aW50IG1faGlnaFZhbHVlOwogICAgICAgICBMYXlvdXRVbml0JiBtX29mZnNldDsKICAgICAgICAg
TGF5b3V0VW5pdCogbV9oZWlnaHRSZW1haW5pbmc7CisgICAgICAgIG11dGFibGUgY29uc3QgRmxv
YXRpbmdPYmplY3QqIG1fbGFzdDsKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9hdGluZ09i
amVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKaW5kZXggOWUxOWE2OWI1NjQ3ZWExNzZjNTAzZGRlYWRmZTk3Zjg4YzU2OTJk
OS4uZmZjNGJlMzIzYzIxNjg3Nzc2Zjc2YmQ5OWU4MDZjMmViNzVhZDZmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTE3
NSwxMyArMTc1LDI5IEBAIGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lk
dGhGb3JOZXdGbG9hdElmTmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgaWYgKGhlaWdodCA8
IG1fYmxvY2stPmxvZ2ljYWxUb3BGb3JGbG9hdChuZXdGbG9hdCkgfHwgaGVpZ2h0ID49IG1fYmxv
Y2stPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChuZXdGbG9hdCkpCiAgICAgICAgIHJldHVybjsKIAor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
KiBzaGFwZU91dHNpZGVJbmZvID0gbmV3RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm8oKTsKKyAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgc2hhcGVP
dXRzaWRlSW5mby0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0
KCkgLSBuZXdGbG9hdC0+eSgpLCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShtX2Jsb2NrLCBtX2lzRmly
c3RMaW5lKSk7CisjZW5kaWYKKwogICAgIGlmIChuZXdGbG9hdC0+dHlwZSgpID09IFJlbmRlckJs
b2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0KSB7CiAgICAgICAgIGZsb2F0IG5ld0xlZnQg
PSBtX2Jsb2NrLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChuZXdGbG9hdCk7CisjaWYgRU5BQkxFKENT
U19FWENMVVNJT05TKQorICAgICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgICAg
IG5ld0xlZnQgKz0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSgp
OworI2VuZGlmCisKICAgICAgICAgaWYgKG1faXNGaXJzdExpbmUgJiYgbV9ibG9jay0+c3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgbmV3TGVmdCArPSBmbG9v
clRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAgICAgIG1fbGVmdCA9IG1h
eDxmbG9hdD4obV9sZWZ0LCBuZXdMZWZ0KTsKICAgICB9IGVsc2UgewogICAgICAgICBmbG9hdCBu
ZXdSaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQobmV3RmxvYXQpOworI2lmIEVO
QUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKHNoYXBlT3V0c2lkZUluZm8pCisgICAg
ICAgICAgICBuZXdSaWdodCArPSBzaGFwZU91dHNpZGVJbmZvLT5sb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUoKTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChtX2lzRmlyc3RMaW5lICYmICFtX2Jsb2Nr
LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICBuZXdSaWdo
dCAtPSBmbG9vclRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAgICAgIG1f
cmlnaHQgPSBtaW48ZmxvYXQ+KG1fcmlnaHQsIG5ld1JpZ2h0KTsKQEAgLTI3MDQsNiArMjcyMCw3
IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRC
cmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlCiAgICAgICAgICAgICAvLyBjaGVjayBpZiBpdCBm
aXRzIGluIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICAgICAvLyBJZiBpdCBkb2VzLCBwb3Np
dGlvbiBpdCBub3csIG90aGVyd2lzZSwgcG9zaXRpb24KICAgICAgICAgICAgIC8vIGl0IGFmdGVy
IG1vdmluZyB0byBuZXh0IGxpbmUgKGluIG5ld0xpbmUoKSBmdW5jKQorICAgICAgICAgICAgLy8g
RklYTUU6IEJ1ZyAxMTAzNzI6IFByb3Blcmx5IHBvc2l0aW9uIG11bHRpcGxlIHN0YWNrZWQgZmxv
YXRzIHdpdGggbm9uLXJlY3Rhbmd1bGFyIHNoYXBlIG91dHNpZGUuCiAgICAgICAgICAgICBpZiAo
ZmxvYXRzRml0T25MaW5lICYmIHdpZHRoLmZpdHNPbkxpbmUobV9ibG9jay0+bG9naWNhbFdpZHRo
Rm9yRmxvYXQoZikpKSB7CiAgICAgICAgICAgICAgICAgbV9ibG9jay0+cG9zaXRpb25OZXdGbG9h
dE9uTGluZShmLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lkdGgpOwog
ICAgICAgICAgICAgICAgIGlmIChsQnJlYWsubV9vYmogPT0gY3VycmVudC5tX29iaikgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGVhNDUwMmFjYzdhZGNmOGQwOTllZmNlOTc1MDNmOGIyNGU1YTAwNmEuLjcwYWI1YjVhMDJj
NzBmMzg0NDdmMGMzZWJmMGFkMmYwZDU5MGQzYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0wMi0yOCAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBb
Q1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1wbGUg
dGVzdCBmb3IgZmxvYXRzIHdpdGggcG9seWdvbmFsIHNoYXBlLW91dHNpZGUuCisKKyAgICAgICAg
KiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
eGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBs
ZS1wb2x5Z29uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBWbGFzb3YgIDx2
c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSZWdyZXNzaW9u
XSBTbmlwcGV0cyByZW5hbWluZyBpcyBicm9rZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMt
c2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9u
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zaW1wbGUtcG9seWdv
bi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjM2QzNTE3N2I4YTcwOTM1M2FiZWIyNDhhM2Ew
NDEwNGQyMDQ4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lv
bnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHln
b24tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAgZm9udDogMTBweC8xIEFoZW0s
IHNhbnMtc2VyaWY7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAg
YmFja2dyb3VuZDogYmx1ZTsKK30KKy5mbG9hdC1sZWZ0IHsKKyAgICBoZWlnaHQ6IDEwcHg7Cisg
ICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQgeworICAgIGhlaWdodDogMTBweDsKKyAg
ICBmbG9hdDogcmlnaHQ7Cit9CisuZmxvYXQtbGVmdC12ZXJ0aWNhbCB7CisgICAgd2lkdGg6IDEw
cHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwgeworICAgIHdp
ZHRoOiAxMHB4OworICAgIGZsb2F0OiByaWdodDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODY3NiI+QnVnIDk4Njc2PC9hPiAtIFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtb3V0c2lkZSBv
biBmbG9hdHMgZm9yIHBvbHlnb24gc2hhcGVzPC9oMT4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVz
dHMgc2hvdWxkIGRpc3BsYXkgYSBzcXVhcmUgd2l0aCBibHVlIHRyaWFuZ2xlcyBpbiBvcHBvc2l0
ZSBjb3JuZXJzLjwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0id2lkdGg6IDEwMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhY
WAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+
CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xhc3M9ImZs
b2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRo
OiA3MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWAorICAg
IDxkaXYgc3R5bGU9IndpZHRoOiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9ImZsb2F0
LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRo
OiA0MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWAor
ICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+Cisg
ICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMjBweCIgY2xhc3M9
ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5
bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhY
WFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxvYXQtcmln
aHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0
aDogMjBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhY
WFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0MHB4IiBj
bGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjBweCIgY2xhc3M9ImZsb2F0LXJp
Z2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA3
MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOTBweCIgY2xhc3M9ImZsb2F0LXJp
Z2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBw
eCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2Pgor
ICA8aDM+dmVydGljYWwgbHI8L2gzPgorICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtbHIiIGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdo
dDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0
aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgw
cHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4
IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQw
cHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0
aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWln
aHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2Pgor
ICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNs
YXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhY
CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGlj
YWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0
OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1yaWdo
dC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA3MHB4IiBjbGFzcz0iZmxvYXQt
cmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQt
cmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYCisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgcmw8L2gzPgorICA8ZGl2IHN0eWxl
PSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmwiIGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBj
bGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgiIGNsYXNz
PSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisgICAgPGRp
diBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+
CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNz
PSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBj
bGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2Fs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6
IDEwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxvYXQtcmln
aHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+Cisg
ICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFz
cz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisg
ICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwi
PjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUw
cHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVy
dGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0
OiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12
ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0
OiA5MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMtc2ltcGxlLXBvbHlnb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTAwYjhhM2MzNDJhMDdkMzAy
NDVjMGU3ZDhkZjE3M2I3ZTQyNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNp
bXBsZS1wb2x5Z29uLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7
Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5jb250YWluZXIgeworICAgIGZvbnQ6IDEwcHgvMSBBaGVt
LCBzYW5zLXNlcmlmOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAg
IGJhY2tncm91bmQ6IGJsdWU7Cit9CisuZmxvYXQtbGVmdCB7CisgICAgd2lkdGg6IDUwcHg7Cisg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMHB4
IDBweCwgMTAwcHggMHB4LCAwcHggMTAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQorLmZsb2F0
LXJpZ2h0IHsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbig1MHB4IDBweCwgLTUwcHggMTAwcHgsIDUwcHggMTAw
cHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5mbG9hdC1sZWZ0LXZlcnRpY2FsLWxyIHsKKyAg
ICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIC13ZWJraXQtc2hhcGUtb3V0
c2lkZTogcG9seWdvbigwcHggMHB4LCAwcHggMTAwcHgsIDEwMHB4IDBweCk7CisgICAgZmxvYXQ6
IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwtbHIgeworICAgIHdpZHRoOiAxMDBweDsK
KyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDBw
eCA1MHB4LCAxMDBweCAtNTBweCwgMTAwcHggNTBweCk7CisgICAgZmxvYXQ6IHJpZ2h0OworfQor
LmZsb2F0LWxlZnQtdmVydGljYWwtcmwgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6
IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDBweCAwcHgsIDEwMHB4
IDEwMHB4LCAxMDBweCAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQorLmZsb2F0LXJpZ2h0LXZl
cnRpY2FsLXJsIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIC13
ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggNTBweCwgMHB4IC01MHB4LCAxMDBweCA1
MHB4KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
IDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2
NzYiPkJ1ZyA5ODY3NjwvYT4gLSBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxv
YXRzIGZvciBwb2x5Z29uIHNoYXBlczwvaDE+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNo
b3VsZCBkaXNwbGF5IGEgc3F1YXJlIHdpdGggYmx1ZSB0cmlhbmdsZXMgaW4gb3Bwb3NpdGUgY29y
bmVycy48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImZs
b2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhY
WAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IGNsYXNzPSJmbG9hdC1yaWdodCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhYWAor
ICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhY
WFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYCisgICAg
WFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYCisgICAgWFhY
WFhYWFhYWAorICA8L2Rpdj4KKyAgPGgzPnZlcnRpY2FsIGxyPC9oMz4KKyAgPGRpdiBzdHlsZT0i
LXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyIiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsLWxyIj48L2Rpdj4KKyAgICBYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhY
CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhY
WFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAg
ICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGlj
YWwtbHIiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhY
WFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICBY
WFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFgKKyAg
ICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFgKKyAgPC9kaXY+
CisgIDxoMz52ZXJ0aWNhbCBybDwvaDM+CisgIDxkaXYgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1t
b2RlOiB2ZXJ0aWNhbC1ybCIgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZmxv
YXQtbGVmdC12ZXJ0aWNhbC1ybCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWAorICAgIFhYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhY
WFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhY
WFhYWAorICAgIDxkaXYgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsLXJsIj48L2Rpdj4KKyAg
ICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhY
WFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYCisg
ICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYCisg
ICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191038</attachid>
            <date>2013-03-01 14:36:44 -0800</date>
            <delta_ts>2013-03-04 21:20:13 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>bug-98676-20130301143255.patch</filename>
            <type>text/plain</type>
            <size>36380</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmEzOTNkNDllNDEyN2M4
ZjE4YTlmYWM2ODA4YzYzOTMyZjVkODYwNC4uY2UwZmQxMjg0NTUwN2RiMjAxYTMxZDQzNzQyNjE1
OWRkMDc1ZTc5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMy0wMi0yOCAgQmVt
IEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lv
bnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBm
b3IgcG9seWdvbmFsIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzLiBUaGUgYmFzaWMKKyAgICAgICAg
dGFjayB0YWtlbiBoZXJlIGlzIHRvIGtlZXAgdXNpbmcgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
c2hhcGUgdG8KKyAgICAgICAgcG9zaXRpb24gdGhlIGZsb2F0LCBidXQgdG8gY29tcHV0ZSB0aGUg
b2Zmc2V0IChjYXVzZWQgYnkgdGhlIHNoYXBlKQorICAgICAgICBmcm9tIHRoZSBib3VuZGluZyBi
b3ggZm9yIGVhY2ggbGluZSB3aGVuIGNyZWF0aW5nIGFuZCBwb3NpdGlvbmluZworICAgICAgICBv
dGhlciBpbmxpbmUgY29udGVudC4KKworICAgICAgICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y29tcHV0ZWRTaGFwZSk6IEFkZCBuZXcg
dGVtcGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0
KTogQWRkIG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjo6OmNvbXB1
dGVTZWdtZW50c0ZvckxpbmUpOiBNb3ZlIGhlcmUgZnJvbQorICAgICAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzaW5jZSBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIG5lZWRzIGl0
CisgICAgICAgICAgICBhcyB3ZWxsLiBNYWtlIHZpcnR1YWwgc2luY2UgdGhlcmUgaXMgc2xpZ2h0
bHkgZGlmZmVyZW50IGJlaGF2aW9yCisgICAgICAgICAgICBiZXR3ZWVuIGVhY2ggY2xhc3MgZXZl
biB0aG91Z2ggdGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGNvZGUgaXMKKyAgICAgICAgICAgIGNv
bW1vbi4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6fkV4Y2x1
c2lvblNoYXBlSW5mbyk6IFNpbmNlCisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5l
IGlzIHZpcnR1YWwsIHRoZSBkZXN0cnVjdG9yIG11c3QgYmUgdmlydHVhbAorICAgICAgICAgICAg
YXMgd2VsbC4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6IEFkZCBuZXcgZGF0YSBtZW1i
ZXJzIHRvIHN1cHBvcnQKKyAgICAgICAgICAgIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUuCisgICAg
ICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZUluZm86OnNoYXBlTG9naWNhbFJpZ2h0KTogRml4
IGJ1ZywgdGhlIGxvZ2ljYWwKKyAgICAgICAgICAgIHJpZ2h0IGlzIGJhc2VkIG9mZiBvZiBtYXhY
LCBub3QgeS4gKGl0J3MgYSBsb2dpY2FsIGJvdW5kaW5nIGJveCEpCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZUluZm86OmxvZ2ljYWxMaW5lVG9wKTogTW92ZWQgZnJvbQorICAgICAg
ICAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGZvciB1c2UgYnkgY29tcHV0ZVNlZ21lbnRz
Rm9yTGluZSBhbmQKKyAgICAgICAgICAgIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzLgorICAgICAg
ICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbmZvOjpsb2dpY2FsTGluZUJvdHRvbSk6IE1vdmVk
IGZyb20KKyAgICAgICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBmb3IgdXNlIGJ5IGNv
bXB1dGVTZWdtZW50c0ZvckxpbmUgYW5kCisgICAgICAgICAgICBsaW5lT3ZlcmxhcHNTaGFwZUJv
dW5kcy4KKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6bGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMpOiBNb3ZlZCBmcm9tCisgICAgICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8gZm9yIHVzZSBieSBjb21wdXRlU2VnbWVudHNGb3JMaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwOiBNb3ZlZCBjb21tb24gY29kZSBmcm9t
CisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5lIGludG8gRXhjbHVzaW9uU2hhcGVJ
bmZvLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBNb3ZlZCBzb21lIG1ldGhvZHMgdG8gRXhjbHVzaW9uU2hhcGVJbmZv
LgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVXBkYXRlIGZvciBuZXcgdGVt
cGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjpjb21weXRlU2VnbWVudHNGb3JMaW5lKTogT3ZlcnJpZGUKKyAgICAgICAgICAgIHN1cGVy
Y2xhc3MgbWV0aG9kIHRvIGNsZWFyIHRoZSBzZWdtZW50IHJhbmdlcy4gU2VnZW1lbnQgcmFuZ2Vz
CisgICAgICAgICAgICBhcmVuJ3QgdXNlZCBieSBzaGFwZSBvdXRzaWRlLCBhbmQgaGF2ZSBzb21l
IGNvbXBsZXggZGVwZW5kZW5jaWVzCisgICAgICAgICAgICB0aGF0IG1ha2UgaXQgdmVyeSBoYXJk
IHRvIHRyeSBhbmQgbW92ZSB1cCBpbnRvIEV4Y2x1c2lvblNoYXBlSW5mby4KKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogVXBkYXRlCisgICAgICAgICAgICBmb3IgbmV3IHRlbXBsYXRlIHBhcmFtZXRlci4KKyAgICAg
ICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRGb3IpOiBBZGQgcG9s
eWdvbnMgYXMgYQorICAgICAgICAgICAgc3VwcG9ydGVkIHNoYXBlLgorICAgICAgICAoV2ViQ29y
ZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZSk6IE92
ZXJyaWRlCisgICAgICAgICAgICBzdXBlcmNsYXNzIG1ldGhvZCB0byBub3QgcmVjb21wdXRlIGlm
IGl0IGlzbid0IG5lZWRlZCAodGhpcyBpc24ndAorICAgICAgICAgICAgc3RyYWlnaHRmb3dhcmQg
Zm9yIHNoYXBlIGluc2lkZSwgd2hpY2ggaXMgd2h5IGl0IGlzbid0IGNvbW1vbiksCisgICAgICAg
ICAgICBhbmQgdG8gc2F2ZSB0aGUgbGVmdCBhbmQgcmlnaHQgb2Zmc2V0cyBjYXVzZWQgYnkgdGhl
IHNoYXBlCisgICAgICAgICAgICBvdXRzaWRlLCBzaW5jZSB0aGF0J3MgYWxsIHRoYXQgaXMgbmVl
ZGVkIHRvIHByb3Blcmx5IGRvIGxheW91dCBpbgorICAgICAgICAgICAgdGhlIGNhc2Ugb2YgZmxv
YXRzLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpzaGFwZUxvZ2ljYWxP
ZmZzZXQpOiBSZWZvcm1hdCB0bworICAgICAgICAgICAgYmUgb24gYSBzaW5nbGUgbGluZSwgbGlr
ZSBtb3N0IG90aGVyIG1ldGhvZHMgb2YgaXQncyB0eXBlIGluCisgICAgICAgICAgICBXZWJLaXQg
aGVhZGVycy4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8pOiBVcGRhdGUgZm9y
IG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUpOgorICAgICAgICAgICAgQWNj
ZXNzb3IgbWV0aG9kIHRvIGdldCB0aGUgbGVmdCBvZmZzZXQgYmV0d2VlbiB0aGUgc2hhcGUgYW5k
IHRoZQorICAgICAgICAgICAgc2hhcGUncyBib3VuZGluZyBib3guCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToK
KyAgICAgICAgICAgIEFjY2Vzc29yIG1ldGhvZCB0byBnZXQgdGhlIGxlZnQgb2Zmc2V0IGJldHdl
ZW4gdGhlIHNoYXBlIGFuZCB0aGUKKyAgICAgICAgICAgIHNoYXBlJ3MgYm91bmRpbmcgYm94Lgor
ICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6RXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgZm9yIG5ldyB0ZW1wbGF0ZSBwYXJh
bWV0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ojo6Y29sbGVjdElmTmVlZGVkKTogU2F2ZSB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJl
ZCBzbyB0aGF0CisgICAgICAgICAgICB0aGUgc2hhcGUgb3V0c2lkZSBvZmZzZXQgY2FuIGJlIGFj
Y291bnRlZCBmb3IuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbExlZnRP
ZmZzZXRGb3JMaW5lKTogQWNjb3VudCBmb3IgdGhlCisgICAgICAgICAgICBzaGFwZSBvdXRzaWRl
IG9mZnNldCBvbiB0aGUgb3V0ZXJtb3N0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUpOiBBY2NvdW50IGZvciB0aGUKKyAgICAg
ICAgICAgIHNoYXBlIG91dHNpZGUgb2Zmc2V0IG9uIHRoZSBvdXRlcm1vc3QgZmxvYXQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFw
dGVyKToKKyAgICAgICAgICAgIEluaXRpYWxpemUgdGhlIGxhc3RGbG9hdCBtZW1iZXIuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6Omxh
c3RGbG9hdCk6IEdldCB0aGUKKyAgICAgICAgICAgIGxhc3QgZmxvYXQgZW5jb3VudGVyZWQuCisg
ICAgICAgIChGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcik6IEFkZCBhIHBvaW50ZXIgdG8gdGhl
IGxhc3QgZmxvYXQKKyAgICAgICAgICAgIGVuY291bnRlcmVkLiBOb3RlIHRoYXQgdGhlIHZhcmlh
YmxlIGlzIG11dGFibGUgYmVjYXVzZQorICAgICAgICAgICAgY29sbGVjdElmTmVlZGVkIGlzIGRl
Y2xhcmVkIGFzIGEgY29uc3QgbWV0aG9kIGV2ZW4gdGhvdWdoIGl0IGlzbid0CisgICAgICAgICAg
ICAoaXQgdXNlcyBsb29waG9sZXMgdG8gdXBkYXRlIG1fb2Zmc2V0IGFuZCBtX2hlaWdodFJlbWFp
bmluZykuCisgICAgICAgICAgICBJbnN0ZWFkIG9mIHRyeWluZyB0byBjb21lIHVwIHdpdGggYSBo
YWNrIHRvIHN0aWNrIHdpdGggdGhlCisgICAgICAgICAgICBsb29waG9sZXMsIEkgZGVjaWRlZCB0
byBiZSBleHBsaWNpdCBhYm91dCBpdC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6c2hyaW5rQXZhaWxh
YmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKTogVGFrZQorICAgICAgICAgICAgaW50byBhY2Nv
dW50IHRoZSBvZmZzZXQgZnJvbSBhbnkgcG9seWdvbmFsIHNoYXBlIG91dHNpZGUuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOiBB
ZGQgYSBGSVhNRQorICAgICAgICAgICAgYmVjYXVzZSB0aGUgY3VycmVudCBjb2RlIHdpbGwgbm90
IHdvcmsgcHJvcGVybHkgd2l0aCBzdGFja2VkCisgICAgICAgICAgICBmbG9hdHMgdGhhdCBoYXZl
IHBvbHlnb25hbCBzaGFwZSBvdXRzaWRlLgorCiAyMDEzLTAzLTAxICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaW4tbWVtb3J5IGJsb2JzIHdvcmsg
aW4gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lv
blNoYXBlSW5mby5jcHAKaW5kZXggZjZjYjA5N2IyZjc4MWMzZTdiNTM0YzMzMGU3OWUwYzhjNjY1
OTg5MS4uODQ4NGRjNmQ0MmQ3YzE2YzVmODA0YjE4ZjE2NmJiMjY0MGU5YjY4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAKQEAgLTM5LDgg
KzM5LDggQEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci10ZW1wbGF0ZSA8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRl
clN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3Q+Ci1jb25zdCBFeGNsdXNpb25TaGFwZSogRXhj
bHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBlR2V0dGVyPjo6Y29tcHV0ZWRTaGFwZSgp
IGNvbnN0Cit0ZW1wbGF0ZTxjbGFzcyBSZW5kZXJUeXBlLCBFeGNsdXNpb25TaGFwZVZhbHVlKiAo
UmVuZGVyU3R5bGU6OipzaGFwZUdldHRlcikoKSBjb25zdCwgdm9pZCAoRXhjbHVzaW9uU2hhcGU6
OippbnRlcnZhbEdldHRlcikoZmxvYXQsIGZsb2F0LCBTZWdtZW50TGlzdCYpIGNvbnN0PgorY29u
c3QgRXhjbHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdl
dHRlciwgaW50ZXJ2YWxHZXR0ZXI+Ojpjb21wdXRlZFNoYXBlKCkgY29uc3QKIHsKICAgICBpZiAo
RXhjbHVzaW9uU2hhcGUqIGV4Y2x1c2lvblNoYXBlID0gbV9zaGFwZS5nZXQoKSkKICAgICAgICAg
cmV0dXJuIGV4Y2x1c2lvblNoYXBlOwpAQCAtNTUsOCArNTUsOCBAQCBjb25zdCBFeGNsdXNpb25T
aGFwZSogRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBlR2V0dGVyPjo6Y29tcHV0
ZWRTaGFwZQogICAgIHJldHVybiBtX3NoYXBlLmdldCgpOwogfQogCi10ZW1wbGF0ZSA8Y2xhc3Mg
UmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0
ZXIpKCkgY29uc3Q+Ci1MYXlvdXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBz
aGFwZUdldHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdAordGVtcGxhdGU8Y2xhc3MgUmVu
ZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIp
KCkgY29uc3QsIHZvaWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBm
bG9hdCwgU2VnbWVudExpc3QmKSBjb25zdD4KK0xheW91dFVuaXQgRXhjbHVzaW9uU2hhcGVJbmZv
PFJlbmRlclR5cGUsIHNoYXBlR2V0dGVyLCBpbnRlcnZhbEdldHRlcj46OmxvZ2ljYWxUb3BPZmZz
ZXQoKSBjb25zdAogewogICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCA9IG1fcmVuZGVy
ZXItPnN0eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9y
ZGVyQmVmb3JlKCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7
CiAgICAgLy8gQ29udGVudCBpbiBhIGZsb3cgdGhyZWFkIGlzIHJlbGF0aXZlIHRvIHRoZSBiZWdp
bm5pbmcgb2YgdGhlIHRocmVhZCwgYnV0IHRoZSBzaGFwZSBjYWxjdWxhdGlvbiBzaG91bGQgYmUg
cmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcmVnaW9uLgpAQCAtNjUsNyArNjUsMjcgQEAgTGF5b3V0
VW5pdCBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2Fs
VG9wT2Zmc2V0KCkgY29uc3QKICAgICByZXR1cm4gbG9naWNhbFRvcE9mZnNldDsKIH0KIAotdGVt
cGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6
OnJlc29sdmVkU2hhcGVJbnNpZGU+OwotdGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZv
PFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGU+OwordGVtcGxhdGU8Y2xhc3Mg
UmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0
ZXIpKCkgY29uc3QsIHZvaWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0
LCBmbG9hdCwgU2VnbWVudExpc3QmKSBjb25zdD4KK2Jvb2wgRXhjbHVzaW9uU2hhcGVJbmZvPFJl
bmRlclR5cGUsIHNoYXBlR2V0dGVyLCBpbnRlcnZhbEdldHRlcj46OmNvbXB1dGVTZWdtZW50c0Zv
ckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCit7CisgICAg
QVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7CisgICAgbV9zaGFwZUxpbmVUb3AgPSBsaW5lVG9wIC0g
bG9naWNhbFRvcE9mZnNldCgpOworICAgIG1fbGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7CisgICAg
bV9zZWdtZW50cy5jbGVhcigpOworCisgICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkp
CisgICAgICAgIChjb21wdXRlZFNoYXBlKCktPippbnRlcnZhbEdldHRlcikobV9zaGFwZUxpbmVU
b3AsIHN0ZDo6bWluKG1fbGluZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkgLSBsaW5lVG9w
KSwgbV9zZWdtZW50cyk7CisKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0ID0gdGhp
cy0+bG9naWNhbExlZnRPZmZzZXQoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc2Vn
bWVudHMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsTGVmdCAr
PSBsb2dpY2FsTGVmdE9mZnNldDsKKyAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsUmlnaHQg
Kz0gbG9naWNhbExlZnRPZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJuIG1fc2VnbWVudHMuc2l6
ZSgpOworfQorCit0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ss
ICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZSwgJkV4Y2x1c2lvblNoYXBlOjpnZXRJ
bmNsdWRlZEludGVydmFscz47Cit0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVu
ZGVyQm94LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSwgJkV4Y2x1c2lvblNoYXBlOjpnZXRF
eGNsdWRlZEludGVydmFscz47CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9FeGNsdXNpb25TaGFwZUluZm8uaAppbmRleCBmMTNlZTg1NTU5Y2UyM2I3ODgwZmQ5YzhiYTNl
ODQ5NzRjYTk0MzBiLi43ZmMxYmVmMWQ3YzZkMDc4ZTQ4NmY4YmVkNTk4YzI3NTZkNGYwODVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCkBAIC02
NCwxMSArNjQsMTEgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgUmVu
ZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIp
KCkgY29uc3Q+Cit0ZW1wbGF0ZTxjbGFzcyBSZW5kZXJUeXBlLCBFeGNsdXNpb25TaGFwZVZhbHVl
KiAoUmVuZGVyU3R5bGU6OipzaGFwZUdldHRlcikoKSBjb25zdCwgdm9pZCAoRXhjbHVzaW9uU2hh
cGU6OippbnRlcnZhbEdldHRlcikoZmxvYXQsIGZsb2F0LCBTZWdtZW50TGlzdCYpIGNvbnN0Pgog
Y2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICB+RXhjbHVzaW9uU2hhcGVJbmZvKCkgeyB9CisgICAgdmlydHVhbCB+RXhj
bHVzaW9uU2hhcGVJbmZvKCkgeyB9CiAKICAgICB2b2lkIHNldFNoYXBlU2l6ZShMYXlvdXRVbml0
IGxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KQogICAgIHsKQEAgLTg0LDEz
ICs4NCwyMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2hhcGVMb2dpY2FsSGVpZ2h0ID0gbG9naWNh
bEhlaWdodDsKICAgICB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZVNlZ21lbnRzRm9yTGlu
ZShMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCk7CisKICAgICBMYXlv
dXRVbml0IHNoYXBlTG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIGZsb2F0TG9naWNhbFRvcFRv
TGF5b3V0VW5pdChjb21wdXRlZFNoYXBlKCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkueSgp
KSArIGxvZ2ljYWxUb3BPZmZzZXQoKTsgfQogICAgIExheW91dFVuaXQgc2hhcGVMb2dpY2FsQm90
dG9tKCkgY29uc3QgeyByZXR1cm4gZmxvYXRMb2dpY2FsQm90dG9tVG9MYXlvdXRVbml0KGNvbXB1
dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS5tYXhZKCkpICsgbG9naWNhbFRv
cE9mZnNldCgpOyB9CiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxMZWZ0KCkgY29uc3QgeyBy
ZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpLngoKSArIGxv
Z2ljYWxMZWZ0T2Zmc2V0KCk7IH0KLSAgICBMYXlvdXRVbml0IHNoYXBlTG9naWNhbFJpZ2h0KCkg
Y29uc3QgeyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgp
LnkoKSArIGxvZ2ljYWxMZWZ0T2Zmc2V0KCk7IH0KKyAgICBMYXlvdXRVbml0IHNoYXBlTG9naWNh
bFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3Vu
ZGluZ0JveCgpLm1heFgoKSArIGxvZ2ljYWxMZWZ0T2Zmc2V0KCk7IH0KICAgICBMYXlvdXRVbml0
IHNoYXBlTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFw
ZUxvZ2ljYWxCb3VuZGluZ0JveCgpLndpZHRoKCk7IH0KICAgICBMYXlvdXRVbml0IHNoYXBlTG9n
aWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2Fs
Qm91bmRpbmdCb3goKS5oZWlnaHQoKTsgfQogCisgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGluZVRv
cCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hhcGVMaW5lVG9wICsgbG9naWNhbFRvcE9mZnNldCgpOyB9
CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGluZUJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hh
cGVMaW5lVG9wICsgbV9saW5lSGVpZ2h0ICsgbG9naWNhbFRvcE9mZnNldCgpOyB9CisKKyAgICBi
b29sIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExpbmVU
b3AoKSA8IHNoYXBlTG9naWNhbEJvdHRvbSgpICYmIGxvZ2ljYWxMaW5lQm90dG9tKCkgPj0gc2hh
cGVMb2dpY2FsVG9wKCk7IH0KKwogICAgIHZvaWQgZGlydHlTaGFwZVNpemUoKSB7IG1fc2hhcGUu
Y2xlYXIoKTsgfQogICAgIGJvb2wgc2hhcGVTaXplRGlydHkoKSB7IHJldHVybiAhbV9zaGFwZS5n
ZXQoKTsgfQogICAgIGNvbnN0IFJlbmRlclR5cGUqIG93bmVyKCkgY29uc3QgeyByZXR1cm4gbV9y
ZW5kZXJlcjsgfQpAQCAtMTA3LDYgKzExNCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgTGF5b3V0VW5p
dCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygpID09
IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyU3RhcnQoKSArIG1fcmVuZGVyZXItPnBh
ZGRpbmdTdGFydCgpIDogTGF5b3V0VW5pdCgpOyB9CiAKKyAgICBMYXlvdXRVbml0IG1fc2hhcGVM
aW5lVG9wOworICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0OworICAgIFNlZ21lbnRMaXN0IG1f
c2VnbWVudHM7CisKIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPd25QdHI8RXhjbHVzaW9uU2hhcGU+
IG1fc2hhcGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZUluc2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mby5jcHAKaW5kZXggMzQ4MDE5NmI1NTZhODdkMjM4OTM2ODAzOGZkZDgw
NGI3Nzk5MDUxMC4uMWQ0ZTM4M2NmYjZhMmJhMzgwY2U2YWFiOTFlMmRiYWI2OTQ1MDI0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mby5jcHAKQEAgLTM1LDI1ICszNSw2IEBACiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotYm9vbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmNvbXB1
dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWln
aHQpCi17Ci0gICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7Ci0gICAgbV9zaGFwZUxpbmVUb3Ag
PSBsaW5lVG9wIC0gbG9naWNhbFRvcE9mZnNldCgpOwotICAgIG1fbGluZUhlaWdodCA9IGxpbmVI
ZWlnaHQ7Ci0gICAgbV9zZWdtZW50cy5jbGVhcigpOwotICAgIG1fc2VnbWVudFJhbmdlcy5jbGVh
cigpOwotCi0gICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkpCi0gICAgICAgIGNvbXB1
dGVkU2hhcGUoKS0+Z2V0SW5jbHVkZWRJbnRlcnZhbHMobV9zaGFwZUxpbmVUb3AsIHN0ZDo6bWlu
KG1fbGluZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkgLSBsaW5lVG9wKSwgbV9zZWdtZW50
cyk7Ci0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0ID0gdGhpcy0+bG9naWNhbExl
ZnRPZmZzZXQoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc2VnbWVudHMuc2l6ZSgp
OyBpKyspIHsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVm
dE9mZnNldDsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsUmlnaHQgKz0gbG9naWNhbExl
ZnRPZmZzZXQ7Ci0gICAgfQotICAgIHJldHVybiBtX3NlZ21lbnRzLnNpemUoKTsKLX0KLQogYm9v
bCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmFkanVzdExvZ2ljYWxMaW5lVG9wKGZsb2F0IG1p
blNlZ21lbnRXaWR0aCkKIHsKICAgICBjb25zdCBFeGNsdXNpb25TaGFwZSogc2hhcGUgPSBjb21w
dXRlZFNoYXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLmgKaW5kZXggYWQ4NjhlNTM0N2I0MzVmNmVmOGNjNDg5NzQwNDg5YjA5
ZjkwYjY4Zi4uNjBmZWM0Yzg1ZjJjZWIzMmJhNTM1YmQzNGRjMTkyYWNmOGRkNGQ2YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8u
aApAQCAtNTIsNyArNTIsOCBAQCBzdHJ1Y3QgTGluZVNlZ21lbnRSYW5nZSB7CiB9OwogdHlwZWRl
ZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5nZT4gU2VnbWVudFJhbmdlTGlzdDsKIAotY2xhc3MgRXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvIDogcHVibGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJC
bG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPiwgcHVibGljIE1hcHBlZElu
Zm88UmVuZGVyQmxvY2ssIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4geworCitjbGFzcyBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJs
b2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGUsICZFeGNsdXNpb25TaGFwZTo6
Z2V0SW5jbHVkZWRJbnRlcnZhbHM+LCBwdWJsaWMgTWFwcGVkSW5mbzxSZW5kZXJCbG9jaywgRXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZvKGNvbnN0IFJlbmRlckJsb2NrKiBy
ZW5kZXJlcikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhy
ZW5kZXJlcikpOyB9CiAKQEAgLTYxLDcgKzYyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgRXhjbHVz
aW9uU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLT5yZXNvbHZlZFNo
YXBlSW5zaWRlKCk7CiAgICAgICAgIHJldHVybiAoc2hhcGVWYWx1ZSAmJiBzaGFwZVZhbHVlLT50
eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpID8gc2hhcGVWYWx1ZS0+c2hhcGUo
KSA6IDA7CiAgICAgfQotICAgIGJvb2wgbGluZU92ZXJsYXBzU2hhcGVCb3VuZHMoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsTGluZVRvcCgpIDwgc2hhcGVMb2dpY2FsQm90dG9tKCkgJiYgbG9naWNh
bExpbmVCb3R0b20oKSA+PSBzaGFwZUxvZ2ljYWxUb3AoKTsgfQorCisgICAgdmlydHVhbCBib29s
IGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxp
bmVIZWlnaHQpIE9WRVJSSURFCisgICAgeworICAgICAgICBtX3NlZ21lbnRSYW5nZXMuY2xlYXIo
KTsKKyAgICAgICAgcmV0dXJuIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRl
clN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlLCAmRXhjbHVzaW9uU2hhcGU6OmdldEluY2x1ZGVk
SW50ZXJ2YWxzPjo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShsaW5lVG9wLCBsaW5lSGVpZ2h0KTsK
KyAgICB9CiAKICAgICBib29sIGhhc1NlZ21lbnRzKCkgY29uc3QKICAgICB7CkBAIC04MSwyNCAr
ODcsMTcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9zZWdtZW50UmFuZ2VzLnNpemUoKSA8
IG1fc2VnbWVudHMuc2l6ZSgpKTsKICAgICAgICAgcmV0dXJuICZtX3NlZ21lbnRzW21fc2VnbWVu
dFJhbmdlcy5zaXplKCldOwogICAgIH0KLSAgICBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUo
TGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpOwogICAgIGJvb2wgYWRq
dXN0TG9naWNhbExpbmVUb3AoZmxvYXQgbWluU2VnbWVudFdpZHRoKTsKLSAgICBMYXlvdXRVbml0
IGxvZ2ljYWxMaW5lVG9wKCkgY29uc3QgeyByZXR1cm4gbV9zaGFwZUxpbmVUb3AgKyBsb2dpY2Fs
VG9wT2Zmc2V0KCk7IH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMaW5lQm90dG9tKCkgY29uc3Qg
eyByZXR1cm4gbV9zaGFwZUxpbmVUb3AgKyBtX2xpbmVIZWlnaHQgKyBsb2dpY2FsVG9wT2Zmc2V0
KCk7IH0KIAogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoYm9vbCB2YWx1ZSkgeyBtX25lZWRzTGF5
b3V0ID0gdmFsdWU7IH0KICAgICBib29sIG5lZWRzTGF5b3V0KCkgeyByZXR1cm4gbV9uZWVkc0xh
eW91dDsgfQogCiBwcml2YXRlOgogICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhjb25zdCBS
ZW5kZXJCbG9jayogcmVuZGVyZXIpCi0gICAgOiBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxv
Y2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gKHJlbmRlcmVyKQorICAgIDog
RXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hh
cGVJbnNpZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+IChyZW5kZXJl
cikKICAgICAsIG1fbmVlZHNMYXlvdXQoZmFsc2UpCiAgICAgeyB9CiAKLSAgICBMYXlvdXRVbml0
IG1fc2hhcGVMaW5lVG9wOwotICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0OwotCi0gICAgU2Vn
bWVudExpc3QgbV9zZWdtZW50czsKICAgICBTZWdtZW50UmFuZ2VMaXN0IG1fc2VnbWVudFJhbmdl
czsKICAgICBib29sIG1fbmVlZHNMYXlvdXQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwCmluZGV4IDg3ZmE4YzZi
MzA5YmRmYTM3ZDVkZTZjMDU2ZDc0ZmFkZTIyODg3YzIuLmRlZjcwMGQwY2EzOTJlYzI4YTk1YTVk
ZDY5NThiNTdhMjA5OGM3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHAKQEAgLTQwLDcgKzQwLDI3IEBAIGJvb2wg
RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6aXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJveCog
Ym94KQogewogICAgIC8vIEZJWE1FOiBFbmFibGUgc2hhcGUgb3V0c2lkZSBmb3Igbm9uLXJlY3Rh
bmd1bGFyIHNoYXBlcyEgKGJ1ZyA5ODY2NCkKICAgICBFeGNsdXNpb25TaGFwZVZhbHVlKiB2YWx1
ZSA9IGJveC0+c3R5bGUoKS0+c2hhcGVPdXRzaWRlKCk7Ci0gICAgcmV0dXJuIHZhbHVlICYmICh2
YWx1ZS0+dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKSAmJiAodmFsdWUtPnNo
YXBlKCktPnR5cGUoKSA9PSBCYXNpY1NoYXBlOjpCQVNJQ19TSEFQRV9SRUNUQU5HTEUpOworICAg
IHJldHVybiB2YWx1ZSAmJiAodmFsdWUtPnR5cGUoKSA9PSBFeGNsdXNpb25TaGFwZVZhbHVlOjpT
SEFQRSkKKyAgICAgICAgJiYgKAorICAgICAgICAgICAgKHZhbHVlLT5zaGFwZSgpLT50eXBlKCkg
PT0gQmFzaWNTaGFwZTo6QkFTSUNfU0hBUEVfUkVDVEFOR0xFKQorICAgICAgICAgICAgfHwgKHZh
bHVlLT5zaGFwZSgpLT50eXBlKCkgPT0gQmFzaWNTaGFwZTo6QkFTSUNfU0hBUEVfUE9MWUdPTikK
KyAgICAgICAgKTsKK30KKworYm9vbCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpjb21wdXRl
U2VnbWVudHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0
KQoreworICAgIGlmIChzaGFwZVNpemVEaXJ0eSgpIHx8IG1fbGluZVRvcCAhPSBsaW5lVG9wIHx8
IG1fbGluZUhlaWdodCAhPSBsaW5lSGVpZ2h0KSB7CisgICAgICAgIGlmIChFeGNsdXNpb25TaGFw
ZUluZm88UmVuZGVyQm94LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSwgJkV4Y2x1c2lvblNo
YXBlOjpnZXRFeGNsdWRlZEludGVydmFscz46OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRv
cCwgbGluZUhlaWdodCkpIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRGb3JMaW5l
ID0gbV9zZWdtZW50c1swXS5sb2dpY2FsTGVmdCAtIHNoYXBlTG9naWNhbExlZnQoKTsKKyAgICAg
ICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IG1fc2VnbWVudHNbbV9zZWdtZW50
cy5zaXplKCktMV0ubG9naWNhbFJpZ2h0IC0gc2hhcGVMb2dpY2FsUmlnaHQoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIG1fbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lID0gMDsKKyAg
ICAgICAgICAgIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSA9IDA7CisgICAgICAgIH0KKyAg
ICAgICAgbV9saW5lVG9wID0gbGluZVRvcDsKKyAgICB9CisKKyAgICByZXR1cm4gbV9zZWdtZW50
cy5zaXplKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhj
bHVzaW9uU2hhcGVPdXRzaWRlSW5mby5oCmluZGV4IGE0YjgxMjgzOGJlMzViNGJmOWNkZjU2YWJi
YzhjZmQ1YzIwNWI1NjQuLjJlMTg4ZDhkMTQyZTY4ZWM0YTgyOTVhM2Q5NjEwZGY5N2FlYzAzOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0
c2lkZUluZm8uaApAQCAtMzksMTcgKzM5LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUmVuZGVyQm94OwogCi1jbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDogcHVibGlj
IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRl
PiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQm94LCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
PiB7CitjbGFzcyBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIDogcHVibGljIEV4Y2x1c2lvblNo
YXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlLCAmRXhjbHVzaW9u
U2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQm94
LCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgTGF5b3V0U2l6ZSBz
aGFwZUxvZ2ljYWxPZmZzZXQoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIExheW91dFNp
emUoc2hhcGVMb2dpY2FsTGVmdCgpLCBzaGFwZUxvZ2ljYWxUb3AoKSk7Ci0gICAgfQorICAgIExh
eW91dFNpemUgc2hhcGVMb2dpY2FsT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZShz
aGFwZUxvZ2ljYWxMZWZ0KCksIHNoYXBlTG9naWNhbFRvcCgpKTsgfQorCisgICAgTGF5b3V0VW5p
dCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxMZWZ0
T2Zmc2V0Rm9yTGluZTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGlu
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZTsgfQorCisgICAg
dmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBM
YXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFOwogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8
RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJCb3gqIHJl
bmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyhy
ZW5kZXJlcikpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJv
eCopOwogcHJpdmF0ZToKLSAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKGNvbnN0IFJlbmRl
ckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0
eWxlOjpzaGFwZU91dHNpZGU+KHJlbmRlcmVyKSB7IH0KKyAgICBFeGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvKGNvbnN0IFJlbmRlckJveCogcmVuZGVyZXIpIDogRXhjbHVzaW9uU2hhcGVJbmZvPFJl
bmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0
RXhjbHVkZWRJbnRlcnZhbHM+KHJlbmRlcmVyKSB7IH0KKworICAgIExheW91dFVuaXQgbV9sb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xvZ2ljYWxSaWdodE9mZnNl
dEZvckxpbmU7CisgICAgTGF5b3V0VW5pdCBtX2xpbmVUb3A7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAxM2E5N2UzNjFiZGQ0ZjlmNjI0MGRm
NTZkOWM3YTMzYmQxNTEwNzljLi4zYzBkOWVjNzNjNzlkYWMxNmZmMzM0NDg1ZDk0N2I5OTU3YTkw
OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQyNzgs
NiArNDI3OCw4IEBAIGlubGluZSB2b2lkIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNo
QWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lCiAgICAgICAgIGlmIChtX2hlaWdo
dFJlbWFpbmluZykKICAgICAgICAgICAgICptX2hlaWdodFJlbWFpbmluZyA9IG1fcmVuZGVyZXIt
PmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChyKSAtIG1fbG93VmFsdWU7CiAgICAgfQorCisgICAgbV9s
YXN0ID0gcjsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCgp
IGNvbnN0CkBAIC00MzE5LDYgKzQzMjEsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9n
aWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW4KIAog
ICAgICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRM
ZWZ0PiBhZGFwdGVyKHRoaXMsIHJvdW5kVG9JbnQobG9naWNhbFRvcCksIHJvdW5kVG9JbnQobG9n
aWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQpLCBsZWZ0LCBoZWlnaHRSZW1haW5pbmcpOwogICAgICAg
ICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFk
YXB0ZXIoYWRhcHRlcik7CisKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGlm
IChhZGFwdGVyLmxhc3RGbG9hdCgpKSB7CisgICAgICAgICAgICBpZiAoRXhjbHVzaW9uU2hhcGVP
dXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gYWRhcHRlci5sYXN0RmxvYXQoKS0+cmVuZGVyZXIo
KS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAgc2hhcGVP
dXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2ljYWxUb3AsIGxvZ2ljYWxIZWlnaHQp
OworICAgICAgICAgICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsUmlnaHRPZmZz
ZXRGb3JMaW5lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAog
ICAgIGlmIChhcHBseVRleHRJbmRlbnQgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQpAQCAtNDM2Nyw2ICs0Mzc4LDE2IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2lj
YWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVCiAgICAg
ICAgIExheW91dFVuaXQgcmlnaHRGbG9hdE9mZnNldCA9IGZpeGVkT2Zmc2V0OwogICAgICAgICBG
bG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdodD4gYWRh
cHRlcih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3Ag
KyBsb2dpY2FsSGVpZ2h0KSwgcmlnaHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5nKTsKICAg
ICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dp
dGhBZGFwdGVyKGFkYXB0ZXIpOworCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAg
ICBpZiAoY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0
KCkpIHsKKyAgICAgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91
dHNpZGUgPSBsYXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8o
KSkgeworICAgICAgICAgICAgICAgIHNoYXBlT3V0c2lkZS0+Y29tcHV0ZVNlZ21lbnRzRm9yTGlu
ZShsb2dpY2FsVG9wIC0gbGFzdEZsb2F0LT55KCksIGxvZ2ljYWxIZWlnaHQpOworICAgICAgICAg
ICAgICAgIHJpZ2h0RmxvYXRPZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sb2dpY2FsTGVmdE9mZnNl
dEZvckxpbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAg
cmlnaHQgPSBtaW4ocmlnaHQsIHJpZ2h0RmxvYXRPZmZzZXQpOwogICAgIH0KICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNDhjMjFmMzk4NDZmOWQ3MzUwNjUw
MGU5ZDJiZGMyYTk5ZjM3NzYxNS4uMmY3ODRiMmE2M2NjOGRkNTkxNTg5M2IyMGEzZWEwY2I4NjJh
YjI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTExMzIsNiAr
MTEzMiw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICwgbV9oaWdoVmFsdWUoaGlnaFZhbHVl
KQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgICAgICAgICAsIG1faGVpZ2h0
UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKKyAgICAgICAgICAgICwgbV9sYXN0KDApCiAgICAg
ICAgIHsKICAgICAgICAgfQogICAgICAgICAKQEAgLTExMzksMTIgKzExNDAsMTUgQEAgcHJvdGVj
dGVkOgogICAgICAgICBpbmxpbmUgaW50IGhpZ2hWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGln
aFZhbHVlOyB9CiAgICAgICAgIHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVydmFsVHlw
ZSYpIGNvbnN0OwogCisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQoKSBj
b25zdCB7IHJldHVybiBtX2xhc3Q7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IFJl
bmRlckJsb2NrKiBtX3JlbmRlcmVyOwogICAgICAgICBpbnQgbV9sb3dWYWx1ZTsKICAgICAgICAg
aW50IG1faGlnaFZhbHVlOwogICAgICAgICBMYXlvdXRVbml0JiBtX29mZnNldDsKICAgICAgICAg
TGF5b3V0VW5pdCogbV9oZWlnaHRSZW1haW5pbmc7CisgICAgICAgIG11dGFibGUgY29uc3QgRmxv
YXRpbmdPYmplY3QqIG1fbGFzdDsKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9hdGluZ09i
amVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKaW5kZXggMjEyMDg5OWRmYWQ2YjEwYzMyZTkzMmE0MzM5Y2MzMTZmMjdjY2Rh
ZC4uODI5YzY1MTQxNzFjMzY1MDUxNzA1NDQyNzdiYzkwYjI2MmJhNzY1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTE3
NSwxMyArMTc1LDI5IEBAIGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lk
dGhGb3JOZXdGbG9hdElmTmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgaWYgKGhlaWdodCA8
IG1fYmxvY2stPmxvZ2ljYWxUb3BGb3JGbG9hdChuZXdGbG9hdCkgfHwgaGVpZ2h0ID49IG1fYmxv
Y2stPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChuZXdGbG9hdCkpCiAgICAgICAgIHJldHVybjsKIAor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
KiBzaGFwZU91dHNpZGVJbmZvID0gbmV3RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm8oKTsKKyAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgc2hhcGVP
dXRzaWRlSW5mby0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0
KCkgLSBuZXdGbG9hdC0+eSgpLCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShtX2Jsb2NrLCBtX2lzRmly
c3RMaW5lKSk7CisjZW5kaWYKKwogICAgIGlmIChuZXdGbG9hdC0+dHlwZSgpID09IFJlbmRlckJs
b2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0KSB7CiAgICAgICAgIGZsb2F0IG5ld0xlZnQg
PSBtX2Jsb2NrLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChuZXdGbG9hdCk7CisjaWYgRU5BQkxFKENT
U19FWENMVVNJT05TKQorICAgICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgICAg
IG5ld0xlZnQgKz0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSgp
OworI2VuZGlmCisKICAgICAgICAgaWYgKG1faXNGaXJzdExpbmUgJiYgbV9ibG9jay0+c3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgbmV3TGVmdCArPSBmbG9v
clRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAgICAgIG1fbGVmdCA9IG1h
eDxmbG9hdD4obV9sZWZ0LCBuZXdMZWZ0KTsKICAgICB9IGVsc2UgewogICAgICAgICBmbG9hdCBu
ZXdSaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQobmV3RmxvYXQpOworI2lmIEVO
QUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKHNoYXBlT3V0c2lkZUluZm8pCisgICAg
ICAgICAgICBuZXdSaWdodCArPSBzaGFwZU91dHNpZGVJbmZvLT5sb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUoKTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChtX2lzRmlyc3RMaW5lICYmICFtX2Jsb2Nr
LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICBuZXdSaWdo
dCAtPSBmbG9vclRvSW50KG1fYmxvY2stPnRleHRJbmRlbnRPZmZzZXQoKSk7CiAgICAgICAgIG1f
cmlnaHQgPSBtaW48ZmxvYXQ+KG1fcmlnaHQsIG5ld1JpZ2h0KTsKQEAgLTI3MTEsNiArMjcyNyw3
IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRC
cmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlCiAgICAgICAgICAgICAvLyBjaGVjayBpZiBpdCBm
aXRzIGluIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICAgICAvLyBJZiBpdCBkb2VzLCBwb3Np
dGlvbiBpdCBub3csIG90aGVyd2lzZSwgcG9zaXRpb24KICAgICAgICAgICAgIC8vIGl0IGFmdGVy
IG1vdmluZyB0byBuZXh0IGxpbmUgKGluIG5ld0xpbmUoKSBmdW5jKQorICAgICAgICAgICAgLy8g
RklYTUU6IEJ1ZyAxMTAzNzI6IFByb3Blcmx5IHBvc2l0aW9uIG11bHRpcGxlIHN0YWNrZWQgZmxv
YXRzIHdpdGggbm9uLXJlY3Rhbmd1bGFyIHNoYXBlIG91dHNpZGUuCiAgICAgICAgICAgICBpZiAo
ZmxvYXRzRml0T25MaW5lICYmIHdpZHRoLmZpdHNPbkxpbmUobV9ibG9jay0+bG9naWNhbFdpZHRo
Rm9yRmxvYXQoZikpKSB7CiAgICAgICAgICAgICAgICAgbV9ibG9jay0+cG9zaXRpb25OZXdGbG9h
dE9uTGluZShmLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBsaW5lSW5mbywgd2lkdGgpOwog
ICAgICAgICAgICAgICAgIGlmIChsQnJlYWsubV9vYmogPT0gY3VycmVudC5tX29iaikgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGU5NjZhMDg5ZTMyZWYxOThiYWYyNTg2YTU1NmNhOTllZDA1YTY5OGQuLjI0NTMyZWM0NWE3
NDljOGE0Mjc4YzZiZGE1ODlkMTU5MzExMGVlNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0wMi0yOCAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBb
Q1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1wbGUg
dGVzdCBmb3IgZmxvYXRzIHdpdGggcG9seWdvbmFsIHNoYXBlLW91dHNpZGUuCisKKyAgICAgICAg
KiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
eGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBs
ZS1wb2x5Z29uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAxICBEYXZpZCBIeWF0dCAgPGh5YXR0
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTmV3IE11bHRpY29sdW1uXSBDaGFuZ2UgaW5SZW5kZXJG
bG93VGhyZWFkIHRvIGZvbGxvdyBjb250YWluaW5nIGJsb2NrIGNoYWluCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1z
aW1wbGUtcG9seWdvbi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjM2QzNTE3N2I4YTcwOTM1
M2FiZWIyNDhhM2EwNDEwNGQyMDQ4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMt
c2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2MSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAgZm9udDog
MTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDog
MjAwcHg7CisgICAgYmFja2dyb3VuZDogYmx1ZTsKK30KKy5mbG9hdC1sZWZ0IHsKKyAgICBoZWln
aHQ6IDEwcHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQgeworICAgIGhlaWdo
dDogMTBweDsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisuZmxvYXQtbGVmdC12ZXJ0aWNhbCB7Cisg
ICAgd2lkdGg6IDEwcHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGlj
YWwgeworICAgIHdpZHRoOiAxMHB4OworICAgIGZsb2F0OiByaWdodDsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODY3NiI+QnVnIDk4Njc2PC9hPiAtIFtDU1MgRXhjbHVzaW9uc10gc2hh
cGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHBvbHlnb24gc2hhcGVzPC9oMT4KKyAgPGgyPlRoZSBm
b2xsb3dpbmcgdGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBzcXVhcmUgd2l0aCBibHVlIHRyaWFuZ2xl
cyBpbiBvcHBvc2l0ZSBjb3JuZXJzLjwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+Cisg
ICAgWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA5MHB4IiBjbGFzcz0iZmxvYXQt
bGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBw
eCIgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWAorICAgIDxkaXYg
c3R5bGU9IndpZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+
PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIg
Y2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYg
c3R5bGU9IndpZHRoOiA0MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVm
dCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDog
MjBweCIgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAor
ICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+Cisg
ICAgWFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFz
cz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJ3aWR0aDogMjBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzBweCIgY2xhc3M9ImZsb2F0
LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9Indp
ZHRoOiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhY
WFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjBweCIgY2xh
c3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5
bGU9IndpZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48
L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOTBweCIgY2xh
c3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhY
CisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgbHI8L2gzPgorICA8ZGl2IHN0eWxlPSItd2Via2l0
LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHIiIGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYg
c3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxv
YXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBY
WFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxv
YXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHgiIGNs
YXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhY
CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGlj
YWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWln
aHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQt
cmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2Pgor
ICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNz
PSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwv
ZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA3MHB4IiBj
bGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFgKKyAg
ICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+
PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBj
bGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsIj48
L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgcmw8L2gzPgor
ICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmwiIGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVp
Z2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6
IDcwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhY
WFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0
aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6
IDUwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZl
cnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVp
Z2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDEwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAg
ICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFz
cz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgK
KyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNh
bCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0
OiAzMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmln
aHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxv
YXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2Pgor
ICAgIFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJm
bG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2Pgor
ICAgIFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZs
b2F0LXJpZ2h0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTAwYjhh
M2MzNDJhMDdkMzAyNDVjMGU3ZDhkZjE3M2I3ZTQyNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNp
ZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29uLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0Vu
YWJsZWQodHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5jb250YWluZXIgeworICAgIGZvbnQ6
IDEwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6
IDIwMHB4OworICAgIGJhY2tncm91bmQ6IGJsdWU7Cit9CisuZmxvYXQtbGVmdCB7CisgICAgd2lk
dGg6IDUwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6
IHBvbHlnb24oMHB4IDBweCwgMTAwcHggMHB4LCAwcHggMTAwcHgpOworICAgIGZsb2F0OiBsZWZ0
OworfQorLmZsb2F0LXJpZ2h0IHsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDEwMHB4
OworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbig1MHB4IDBweCwgLTUwcHggMTAw
cHgsIDUwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5mbG9hdC1sZWZ0LXZlcnRp
Y2FsLWxyIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAwcHggMTAwcHgsIDEwMHB4IDBweCk7
CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwtbHIgeworICAgIHdp
ZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRl
OiBwb2x5Z29uKDBweCA1MHB4LCAxMDBweCAtNTBweCwgMTAwcHggNTBweCk7CisgICAgZmxvYXQ6
IHJpZ2h0OworfQorLmZsb2F0LWxlZnQtdmVydGljYWwtcmwgeworICAgIHdpZHRoOiAxMDBweDsK
KyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDBw
eCAwcHgsIDEwMHB4IDEwMHB4LCAxMDBweCAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQorLmZs
b2F0LXJpZ2h0LXZlcnRpY2FsLXJsIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1
MHB4OworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggNTBweCwgMHB4IC01
MHB4LCAxMDBweCA1MHB4KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTg2NzYiPkJ1ZyA5ODY3NjwvYT4gLSBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91
dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlczwvaDE+CisgIDxoMj5UaGUgZm9sbG93
aW5nIHRlc3RzIHNob3VsZCBkaXNwbGF5IGEgc3F1YXJlIHdpdGggYmx1ZSB0cmlhbmdsZXMgaW4g
b3Bwb3NpdGUgY29ybmVycy48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxk
aXYgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFgKKyAgICBYWFhYWFhY
WFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhY
WFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhY
WFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1yaWdodCI+PC9kaXY+CisgICAgWFhYWFhYWFhY
WFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhY
CisgICAgWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhY
WFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhY
WFhYCisgICAgWFhYWFhYWFhYWAorICA8L2Rpdj4KKyAgPGgzPnZlcnRpY2FsIGxyPC9oMz4KKyAg
PGRpdiBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyIiBjbGFzcz0iY29u
dGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsLWxyIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBY
WFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAg
ICBYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhY
WFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBjbGFzcz0iZmxvYXQt
cmlnaHQtdmVydGljYWwtbHIiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBY
WFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhY
WFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhY
WFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhY
WFgKKyAgPC9kaXY+CisgIDxoMz52ZXJ0aWNhbCBybDwvaDM+CisgIDxkaXYgc3R5bGU9Ii13ZWJr
aXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCIgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbC1ybCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWAor
ICAgIFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWAorICAg
IFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhY
WAorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhY
WFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsLXJs
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhY
CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYCisgICAgWFhY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191394</attachid>
            <date>2013-03-04 21:20:16 -0800</date>
            <delta_ts>2013-03-05 10:21:41 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>bug-98676-20130304211623.patch</filename>
            <type>text/plain</type>
            <size>37526</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uZjZhMWE2Njk2YzU4NDY0Y2JjMTI5NTQwNTRlNjFm
YzVlNjRlZjg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMy0wMy0wNCAgQmVt
IEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lv
bnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBm
b3IgcG9seWdvbmFsIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzLiBUaGUgYmFzaWMKKyAgICAgICAg
dGFjayB0YWtlbiBoZXJlIGlzIHRvIGtlZXAgdXNpbmcgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
c2hhcGUgdG8KKyAgICAgICAgcG9zaXRpb24gdGhlIGZsb2F0LCBidXQgdG8gY29tcHV0ZSB0aGUg
b2Zmc2V0IChjYXVzZWQgYnkgdGhlIHNoYXBlKQorICAgICAgICBmcm9tIHRoZSBib3VuZGluZyBi
b3ggZm9yIGVhY2ggbGluZSB3aGVuIGNyZWF0aW5nIGFuZCBwb3NpdGlvbmluZworICAgICAgICBv
dGhlciBpbmxpbmUgY29udGVudC4KKworICAgICAgICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y29tcHV0ZWRTaGFwZSk6IEFkZCBuZXcg
dGVtcGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0
KTogQWRkIG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjo6OmNvbXB1
dGVTZWdtZW50c0ZvckxpbmUpOiBNb3ZlIGhlcmUgZnJvbQorICAgICAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzaW5jZSBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvIG5lZWRzIGl0
CisgICAgICAgICAgICBhcyB3ZWxsLiBNYWtlIHZpcnR1YWwgc2luY2UgdGhlcmUgaXMgc2xpZ2h0
bHkgZGlmZmVyZW50IGJlaGF2aW9yCisgICAgICAgICAgICBiZXR3ZWVuIGVhY2ggY2xhc3MgZXZl
biB0aG91Z2ggdGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGNvZGUgaXMKKyAgICAgICAgICAgIGNv
bW1vbi4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6fkV4Y2x1
c2lvblNoYXBlSW5mbyk6IFNpbmNlCisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5l
IGlzIHZpcnR1YWwsIHRoZSBkZXN0cnVjdG9yIG11c3QgYmUgdmlydHVhbAorICAgICAgICAgICAg
YXMgd2VsbC4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6IEFkZCBuZXcgZGF0YSBtZW1i
ZXJzIHRvIHN1cHBvcnQKKyAgICAgICAgICAgIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUuCisgICAg
ICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZUluZm86OnNoYXBlTG9naWNhbFJpZ2h0KTogRml4
IGJ1ZywgdGhlIGxvZ2ljYWwKKyAgICAgICAgICAgIHJpZ2h0IGlzIGJhc2VkIG9mZiBvZiBtYXhY
LCBub3QgeS4gKGl0J3MgYSBsb2dpY2FsIGJvdW5kaW5nIGJveCEpCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZUluZm86OmxvZ2ljYWxMaW5lVG9wKTogTW92ZWQgZnJvbQorICAgICAg
ICAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGZvciB1c2UgYnkgY29tcHV0ZVNlZ21lbnRz
Rm9yTGluZSBhbmQKKyAgICAgICAgICAgIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzLgorICAgICAg
ICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbmZvOjpsb2dpY2FsTGluZUJvdHRvbSk6IE1vdmVk
IGZyb20KKyAgICAgICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBmb3IgdXNlIGJ5IGNv
bXB1dGVTZWdtZW50c0ZvckxpbmUgYW5kCisgICAgICAgICAgICBsaW5lT3ZlcmxhcHNTaGFwZUJv
dW5kcy4KKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5mbzo6bGluZU92ZXJsYXBz
U2hhcGVCb3VuZHMpOiBNb3ZlZCBmcm9tCisgICAgICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8gZm9yIHVzZSBieSBjb21wdXRlU2VnbWVudHNGb3JMaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwOiBNb3ZlZCBjb21tb24gY29kZSBmcm9t
CisgICAgICAgICAgICBjb21wdXRlU2VnbWVudHNGb3JMaW5lIGludG8gRXhjbHVzaW9uU2hhcGVJ
bmZvLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBNb3ZlZCBzb21lIG1ldGhvZHMgdG8gRXhjbHVzaW9uU2hhcGVJbmZv
LgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVXBkYXRlIGZvciBuZXcgdGVt
cGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjpjb21weXRlU2VnbWVudHNGb3JMaW5lKTogT3ZlcnJpZGUKKyAgICAgICAgICAgIHN1cGVy
Y2xhc3MgbWV0aG9kIHRvIGNsZWFyIHRoZSBzZWdtZW50IHJhbmdlcy4gU2VnZW1lbnQgcmFuZ2Vz
CisgICAgICAgICAgICBhcmVuJ3QgdXNlZCBieSBzaGFwZSBvdXRzaWRlLCBhbmQgaGF2ZSBzb21l
IGNvbXBsZXggZGVwZW5kZW5jaWVzCisgICAgICAgICAgICB0aGF0IG1ha2UgaXQgdmVyeSBoYXJk
IHRvIHRyeSBhbmQgbW92ZSB1cCBpbnRvIEV4Y2x1c2lvblNoYXBlSW5mby4KKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogVXBkYXRlCisgICAgICAgICAgICBmb3IgbmV3IHRlbXBsYXRlIHBhcmFtZXRlci4KKyAgICAg
ICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjppc0VuYWJsZWRGb3IpOiBBZGQgcG9s
eWdvbnMgYXMgYQorICAgICAgICAgICAgc3VwcG9ydGVkIHNoYXBlLgorICAgICAgICAoV2ViQ29y
ZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZSk6IE92
ZXJyaWRlCisgICAgICAgICAgICBzdXBlcmNsYXNzIG1ldGhvZCB0byBub3QgcmVjb21wdXRlIGlm
IGl0IGlzbid0IG5lZWRlZCAodGhpcyBpc24ndAorICAgICAgICAgICAgc3RyYWlnaHRmb3dhcmQg
Zm9yIHNoYXBlIGluc2lkZSwgd2hpY2ggaXMgd2h5IGl0IGlzbid0IGNvbW1vbiksCisgICAgICAg
ICAgICBhbmQgdG8gc2F2ZSB0aGUgbGVmdCBhbmQgcmlnaHQgb2Zmc2V0cyBjYXVzZWQgYnkgdGhl
IHNoYXBlCisgICAgICAgICAgICBvdXRzaWRlLCBzaW5jZSB0aGF0J3MgYWxsIHRoYXQgaXMgbmVl
ZGVkIHRvIHByb3Blcmx5IGRvIGxheW91dCBpbgorICAgICAgICAgICAgdGhlIGNhc2Ugb2YgZmxv
YXRzLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpzaGFwZUxvZ2ljYWxP
ZmZzZXQpOiBSZWZvcm1hdCB0bworICAgICAgICAgICAgYmUgb24gYSBzaW5nbGUgbGluZSwgbGlr
ZSBtb3N0IG90aGVyIG1ldGhvZHMgb2YgaXQncyB0eXBlIGluCisgICAgICAgICAgICBXZWJLaXQg
aGVhZGVycy4KKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8pOiBVcGRhdGUgZm9y
IG5ldyB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUpOgorICAgICAgICAgICAgQWNj
ZXNzb3IgbWV0aG9kIHRvIGdldCB0aGUgbGVmdCBvZmZzZXQgYmV0d2VlbiB0aGUgc2hhcGUgYW5k
IHRoZQorICAgICAgICAgICAgc2hhcGUncyBib3VuZGluZyBib3guCisgICAgICAgIChXZWJDb3Jl
OjpFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToK
KyAgICAgICAgICAgIEFjY2Vzc29yIG1ldGhvZCB0byBnZXQgdGhlIGxlZnQgb2Zmc2V0IGJldHdl
ZW4gdGhlIHNoYXBlIGFuZCB0aGUKKyAgICAgICAgICAgIHNoYXBlJ3MgYm91bmRpbmcgYm94Lgor
ICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbzo6RXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgZm9yIG5ldyB0ZW1wbGF0ZSBwYXJh
bWV0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ojo6Y29sbGVjdElmTmVlZGVkKTogU2F2ZSB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJl
ZCBzbyB0aGF0CisgICAgICAgICAgICB0aGUgc2hhcGUgb3V0c2lkZSBvZmZzZXQgY2FuIGJlIGFj
Y291bnRlZCBmb3IuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbExlZnRP
ZmZzZXRGb3JMaW5lKTogQWNjb3VudCBmb3IgdGhlCisgICAgICAgICAgICBzaGFwZSBvdXRzaWRl
IG9mZnNldCBvbiB0aGUgb3V0ZXJtb3N0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUpOiBBY2NvdW50IGZvciB0aGUKKyAgICAg
ICAgICAgIHNoYXBlIG91dHNpZGUgb2Zmc2V0IG9uIHRoZSBvdXRlcm1vc3QgZmxvYXQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFw
dGVyKToKKyAgICAgICAgICAgIEluaXRpYWxpemUgdGhlIGxhc3RGbG9hdCBtZW1iZXIuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6Omxh
c3RGbG9hdCk6IEdldCB0aGUKKyAgICAgICAgICAgIGxhc3QgZmxvYXQgZW5jb3VudGVyZWQuCisg
ICAgICAgIChGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcik6IEFkZCBhIHBvaW50ZXIgdG8gdGhl
IGxhc3QgZmxvYXQKKyAgICAgICAgICAgIGVuY291bnRlcmVkLiBOb3RlIHRoYXQgdGhlIHZhcmlh
YmxlIGlzIG11dGFibGUgYmVjYXVzZQorICAgICAgICAgICAgY29sbGVjdElmTmVlZGVkIGlzIGRl
Y2xhcmVkIGFzIGEgY29uc3QgbWV0aG9kIGV2ZW4gdGhvdWdoIGl0IGlzbid0CisgICAgICAgICAg
ICAoaXQgdXNlcyBsb29waG9sZXMgdG8gdXBkYXRlIG1fb2Zmc2V0IGFuZCBtX2hlaWdodFJlbWFp
bmluZykuCisgICAgICAgICAgICBJbnN0ZWFkIG9mIHRyeWluZyB0byBjb21lIHVwIHdpdGggYSBo
YWNrIHRvIHN0aWNrIHdpdGggdGhlCisgICAgICAgICAgICBsb29waG9sZXMsIEkgZGVjaWRlZCB0
byBiZSBleHBsaWNpdCBhYm91dCBpdC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6c2hyaW5rQXZhaWxh
YmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKTogVGFrZQorICAgICAgICAgICAgaW50byBhY2Nv
dW50IHRoZSBvZmZzZXQgZnJvbSBhbnkgcG9seWdvbmFsIHNoYXBlIG91dHNpZGUuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOiBB
ZGQgYSBGSVhNRQorICAgICAgICAgICAgYmVjYXVzZSB0aGUgY3VycmVudCBjb2RlIHdpbGwgbm90
IHdvcmsgcHJvcGVybHkgd2l0aCBzdGFja2VkCisgICAgICAgICAgICBmbG9hdHMgdGhhdCBoYXZl
IHBvbHlnb25hbCBzaGFwZSBvdXRzaWRlLgorCiAyMDEzLTAzLTA0ICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViU3BlZWNoOiBjaGFuZ2Ugdm9pY2VV
UkkgdG8gdm9pY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
SW5mby5jcHAKaW5kZXggZjZjYjA5N2IyZjc4MWMzZTdiNTM0YzMzMGU3OWUwYzhjNjY1OTg5MS4u
ODQ4NGRjNmQ0MmQ3YzE2YzVmODA0YjE4ZjE2NmJiMjY0MGU5YjY4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAKQEAgLTM5LDggKzM5LDgg
QEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci10ZW1w
bGF0ZSA8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxl
Ojoqc2hhcGVHZXR0ZXIpKCkgY29uc3Q+Ci1jb25zdCBFeGNsdXNpb25TaGFwZSogRXhjbHVzaW9u
U2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBlR2V0dGVyPjo6Y29tcHV0ZWRTaGFwZSgpIGNvbnN0
Cit0ZW1wbGF0ZTxjbGFzcyBSZW5kZXJUeXBlLCBFeGNsdXNpb25TaGFwZVZhbHVlKiAoUmVuZGVy
U3R5bGU6OipzaGFwZUdldHRlcikoKSBjb25zdCwgdm9pZCAoRXhjbHVzaW9uU2hhcGU6OippbnRl
cnZhbEdldHRlcikoZmxvYXQsIGZsb2F0LCBTZWdtZW50TGlzdCYpIGNvbnN0PgorY29uc3QgRXhj
bHVzaW9uU2hhcGUqIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlciwg
aW50ZXJ2YWxHZXR0ZXI+Ojpjb21wdXRlZFNoYXBlKCkgY29uc3QKIHsKICAgICBpZiAoRXhjbHVz
aW9uU2hhcGUqIGV4Y2x1c2lvblNoYXBlID0gbV9zaGFwZS5nZXQoKSkKICAgICAgICAgcmV0dXJu
IGV4Y2x1c2lvblNoYXBlOwpAQCAtNTUsOCArNTUsOCBAQCBjb25zdCBFeGNsdXNpb25TaGFwZSog
RXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBlR2V0dGVyPjo6Y29tcHV0ZWRTaGFw
ZQogICAgIHJldHVybiBtX3NoYXBlLmdldCgpOwogfQogCi10ZW1wbGF0ZSA8Y2xhc3MgUmVuZGVy
VHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkg
Y29uc3Q+Ci1MYXlvdXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdl
dHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdAordGVtcGxhdGU8Y2xhc3MgUmVuZGVyVHlw
ZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29u
c3QsIHZvaWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9hdCwg
U2VnbWVudExpc3QmKSBjb25zdD4KK0xheW91dFVuaXQgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRl
clR5cGUsIHNoYXBlR2V0dGVyLCBpbnRlcnZhbEdldHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBj
b25zdAogewogICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCA9IG1fcmVuZGVyZXItPnN0
eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVm
b3JlKCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7CiAgICAg
Ly8gQ29udGVudCBpbiBhIGZsb3cgdGhyZWFkIGlzIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcg
b2YgdGhlIHRocmVhZCwgYnV0IHRoZSBzaGFwZSBjYWxjdWxhdGlvbiBzaG91bGQgYmUgcmVsYXRp
dmUgdG8gdGhlIGN1cnJlbnQgcmVnaW9uLgpAQCAtNjUsNyArNjUsMjcgQEAgTGF5b3V0VW5pdCBF
eGNsdXNpb25TaGFwZUluZm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2FsVG9wT2Zm
c2V0KCkgY29uc3QKICAgICByZXR1cm4gbG9naWNhbFRvcE9mZnNldDsKIH0KIAotdGVtcGxhdGUg
Y2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29s
dmVkU2hhcGVJbnNpZGU+OwotdGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRl
ckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGU+OwordGVtcGxhdGU8Y2xhc3MgUmVuZGVy
VHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkg
Y29uc3QsIHZvaWQgKEV4Y2x1c2lvblNoYXBlOjoqaW50ZXJ2YWxHZXR0ZXIpKGZsb2F0LCBmbG9h
dCwgU2VnbWVudExpc3QmKSBjb25zdD4KK2Jvb2wgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5
cGUsIHNoYXBlR2V0dGVyLCBpbnRlcnZhbEdldHRlcj46OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUo
TGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCit7CisgICAgQVNTRVJU
KGxpbmVIZWlnaHQgPj0gMCk7CisgICAgbV9zaGFwZUxpbmVUb3AgPSBsaW5lVG9wIC0gbG9naWNh
bFRvcE9mZnNldCgpOworICAgIG1fbGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7CisgICAgbV9zZWdt
ZW50cy5jbGVhcigpOworCisgICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkpCisgICAg
ICAgIChjb21wdXRlZFNoYXBlKCktPippbnRlcnZhbEdldHRlcikobV9zaGFwZUxpbmVUb3AsIHN0
ZDo6bWluKG1fbGluZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkgLSBsaW5lVG9wKSwgbV9z
ZWdtZW50cyk7CisKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0ID0gdGhpcy0+bG9n
aWNhbExlZnRPZmZzZXQoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc2VnbWVudHMu
c2l6ZSgpOyBpKyspIHsKKyAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsTGVmdCArPSBsb2dp
Y2FsTGVmdE9mZnNldDsKKyAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsUmlnaHQgKz0gbG9n
aWNhbExlZnRPZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJuIG1fc2VnbWVudHMuc2l6ZSgpOwor
fQorCit0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5k
ZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZSwgJkV4Y2x1c2lvblNoYXBlOjpnZXRJbmNsdWRl
ZEludGVydmFscz47Cit0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQm94
LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSwgJkV4Y2x1c2lvblNoYXBlOjpnZXRFeGNsdWRl
ZEludGVydmFscz47CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25TaGFwZUluZm8uaAppbmRleCBmMTNlZTg1NTU5Y2UyM2I3ODgwZmQ5YzhiYTNlODQ5NzRj
YTk0MzBiLi43ZmMxYmVmMWQ3YzZkMDc4ZTQ4NmY4YmVkNTk4YzI3NTZkNGYwODVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCkBAIC02NCwxMSAr
NjQsMTEgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgUmVuZGVyVHlw
ZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29u
c3Q+Cit0ZW1wbGF0ZTxjbGFzcyBSZW5kZXJUeXBlLCBFeGNsdXNpb25TaGFwZVZhbHVlKiAoUmVu
ZGVyU3R5bGU6OipzaGFwZUdldHRlcikoKSBjb25zdCwgdm9pZCAoRXhjbHVzaW9uU2hhcGU6Oipp
bnRlcnZhbEdldHRlcikoZmxvYXQsIGZsb2F0LCBTZWdtZW50TGlzdCYpIGNvbnN0PgogY2xhc3Mg
RXhjbHVzaW9uU2hhcGVJbmZvIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICB+RXhjbHVzaW9uU2hhcGVJbmZvKCkgeyB9CisgICAgdmlydHVhbCB+RXhjbHVzaW9u
U2hhcGVJbmZvKCkgeyB9CiAKICAgICB2b2lkIHNldFNoYXBlU2l6ZShMYXlvdXRVbml0IGxvZ2lj
YWxXaWR0aCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KQogICAgIHsKQEAgLTg0LDEzICs4NCwy
MCBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2hhcGVMb2dpY2FsSGVpZ2h0ID0gbG9naWNhbEhlaWdo
dDsKICAgICB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZVNlZ21lbnRzRm9yTGluZShMYXlv
dXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCk7CisKICAgICBMYXlvdXRVbml0
IHNoYXBlTG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIGZsb2F0TG9naWNhbFRvcFRvTGF5b3V0
VW5pdChjb21wdXRlZFNoYXBlKCktPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkueSgpKSArIGxv
Z2ljYWxUb3BPZmZzZXQoKTsgfQogICAgIExheW91dFVuaXQgc2hhcGVMb2dpY2FsQm90dG9tKCkg
Y29uc3QgeyByZXR1cm4gZmxvYXRMb2dpY2FsQm90dG9tVG9MYXlvdXRVbml0KGNvbXB1dGVkU2hh
cGUoKS0+c2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKS5tYXhZKCkpICsgbG9naWNhbFRvcE9mZnNl
dCgpOyB9CiAgICAgTGF5b3V0VW5pdCBzaGFwZUxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4g
Y29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpLngoKSArIGxvZ2ljYWxM
ZWZ0T2Zmc2V0KCk7IH0KLSAgICBMYXlvdXRVbml0IHNoYXBlTG9naWNhbFJpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpLnkoKSAr
IGxvZ2ljYWxMZWZ0T2Zmc2V0KCk7IH0KKyAgICBMYXlvdXRVbml0IHNoYXBlTG9naWNhbFJpZ2h0
KCkgY29uc3QgeyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2ljYWxCb3VuZGluZ0Jv
eCgpLm1heFgoKSArIGxvZ2ljYWxMZWZ0T2Zmc2V0KCk7IH0KICAgICBMYXlvdXRVbml0IHNoYXBl
TG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLT5zaGFwZUxvZ2lj
YWxCb3VuZGluZ0JveCgpLndpZHRoKCk7IH0KICAgICBMYXlvdXRVbml0IHNoYXBlTG9naWNhbEhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVkU2hhcGUoKS0+c2hhcGVMb2dpY2FsQm91bmRp
bmdCb3goKS5oZWlnaHQoKTsgfQogCisgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGluZVRvcCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2hhcGVMaW5lVG9wICsgbG9naWNhbFRvcE9mZnNldCgpOyB9CisgICAg
TGF5b3V0VW5pdCBsb2dpY2FsTGluZUJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hhcGVMaW5l
VG9wICsgbV9saW5lSGVpZ2h0ICsgbG9naWNhbFRvcE9mZnNldCgpOyB9CisKKyAgICBib29sIGxp
bmVPdmVybGFwc1NoYXBlQm91bmRzKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExpbmVUb3AoKSA8
IHNoYXBlTG9naWNhbEJvdHRvbSgpICYmIGxvZ2ljYWxMaW5lQm90dG9tKCkgPj0gc2hhcGVMb2dp
Y2FsVG9wKCk7IH0KKwogICAgIHZvaWQgZGlydHlTaGFwZVNpemUoKSB7IG1fc2hhcGUuY2xlYXIo
KTsgfQogICAgIGJvb2wgc2hhcGVTaXplRGlydHkoKSB7IHJldHVybiAhbV9zaGFwZS5nZXQoKTsg
fQogICAgIGNvbnN0IFJlbmRlclR5cGUqIG93bmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJl
cjsgfQpAQCAtMTA3LDYgKzExNCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgTGF5b3V0VW5pdCBsb2dp
Y2FsVG9wT2Zmc2V0KCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygpID09IENPTlRF
TlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyU3RhcnQoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdT
dGFydCgpIDogTGF5b3V0VW5pdCgpOyB9CiAKKyAgICBMYXlvdXRVbml0IG1fc2hhcGVMaW5lVG9w
OworICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0OworICAgIFNlZ21lbnRMaXN0IG1fc2VnbWVu
dHM7CisKIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPd25QdHI8RXhjbHVzaW9uU2hhcGU+IG1fc2hh
cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mby5jcHAKaW5kZXggMzQ4MDE5NmI1NTZhODdkMjM4OTM2ODAzOGZkZDgwNGI3Nzk5
MDUxMC4uMWQ0ZTM4M2NmYjZhMmJhMzgwY2U2YWFiOTFlMmRiYWI2OTQ1MDI0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5j
cHAKQEAgLTM1LDI1ICszNSw2IEBACiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotYm9vbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmNvbXB1dGVTZWdt
ZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCi17
Ci0gICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7Ci0gICAgbV9zaGFwZUxpbmVUb3AgPSBsaW5l
VG9wIC0gbG9naWNhbFRvcE9mZnNldCgpOwotICAgIG1fbGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7
Ci0gICAgbV9zZWdtZW50cy5jbGVhcigpOwotICAgIG1fc2VnbWVudFJhbmdlcy5jbGVhcigpOwot
Ci0gICAgaWYgKGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkpCi0gICAgICAgIGNvbXB1dGVkU2hh
cGUoKS0+Z2V0SW5jbHVkZWRJbnRlcnZhbHMobV9zaGFwZUxpbmVUb3AsIHN0ZDo6bWluKG1fbGlu
ZUhlaWdodCwgc2hhcGVMb2dpY2FsQm90dG9tKCkgLSBsaW5lVG9wKSwgbV9zZWdtZW50cyk7Ci0K
LSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0ID0gdGhpcy0+bG9naWNhbExlZnRPZmZz
ZXQoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc2VnbWVudHMuc2l6ZSgpOyBpKysp
IHsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE9mZnNl
dDsKLSAgICAgICAgbV9zZWdtZW50c1tpXS5sb2dpY2FsUmlnaHQgKz0gbG9naWNhbExlZnRPZmZz
ZXQ7Ci0gICAgfQotICAgIHJldHVybiBtX3NlZ21lbnRzLnNpemUoKTsKLX0KLQogYm9vbCBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm86OmFkanVzdExvZ2ljYWxMaW5lVG9wKGZsb2F0IG1pblNlZ21l
bnRXaWR0aCkKIHsKICAgICBjb25zdCBFeGNsdXNpb25TaGFwZSogc2hhcGUgPSBjb21wdXRlZFNo
YXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvLmgKaW5kZXggYWQ4NjhlNTM0N2I0MzVmNmVmOGNjNDg5NzQwNDg5YjA5ZjkwYjY4
Zi4uNjBmZWM0Yzg1ZjJjZWIzMmJhNTM1YmQzNGRjMTkyYWNmOGRkNGQ2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaApAQCAt
NTIsNyArNTIsOCBAQCBzdHJ1Y3QgTGluZVNlZ21lbnRSYW5nZSB7CiB9OwogdHlwZWRlZiBWZWN0
b3I8TGluZVNlZ21lbnRSYW5nZT4gU2VnbWVudFJhbmdlTGlzdDsKIAotY2xhc3MgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvIDogcHVibGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywg
JlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPiwgcHVibGljIE1hcHBlZEluZm88UmVu
ZGVyQmxvY2ssIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4geworCitjbGFzcyBFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAm
UmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0SW5j
bHVkZWRJbnRlcnZhbHM+LCBwdWJsaWMgTWFwcGVkSW5mbzxSZW5kZXJCbG9jaywgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZvKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJl
cikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhyZW5kZXJl
cikpOyB9CiAKQEAgLTYxLDcgKzYyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgRXhjbHVzaW9uU2hh
cGVWYWx1ZSogc2hhcGVWYWx1ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLT5yZXNvbHZlZFNoYXBlSW5z
aWRlKCk7CiAgICAgICAgIHJldHVybiAoc2hhcGVWYWx1ZSAmJiBzaGFwZVZhbHVlLT50eXBlKCkg
PT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpID8gc2hhcGVWYWx1ZS0+c2hhcGUoKSA6IDA7
CiAgICAgfQotICAgIGJvb2wgbGluZU92ZXJsYXBzU2hhcGVCb3VuZHMoKSBjb25zdCB7IHJldHVy
biBsb2dpY2FsTGluZVRvcCgpIDwgc2hhcGVMb2dpY2FsQm90dG9tKCkgJiYgbG9naWNhbExpbmVC
b3R0b20oKSA+PSBzaGFwZUxvZ2ljYWxUb3AoKTsgfQorCisgICAgdmlydHVhbCBib29sIGNvbXB1
dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWln
aHQpIE9WRVJSSURFCisgICAgeworICAgICAgICBtX3NlZ21lbnRSYW5nZXMuY2xlYXIoKTsKKyAg
ICAgICAgcmV0dXJuIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxl
OjpyZXNvbHZlZFNoYXBlSW5zaWRlLCAmRXhjbHVzaW9uU2hhcGU6OmdldEluY2x1ZGVkSW50ZXJ2
YWxzPjo6Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShsaW5lVG9wLCBsaW5lSGVpZ2h0KTsKKyAgICB9
CiAKICAgICBib29sIGhhc1NlZ21lbnRzKCkgY29uc3QKICAgICB7CkBAIC04MSwyNCArODcsMTcg
QEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9zZWdtZW50UmFuZ2VzLnNpemUoKSA8IG1fc2Vn
bWVudHMuc2l6ZSgpKTsKICAgICAgICAgcmV0dXJuICZtX3NlZ21lbnRzW21fc2VnbWVudFJhbmdl
cy5zaXplKCldOwogICAgIH0KLSAgICBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0
VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpOwogICAgIGJvb2wgYWRqdXN0TG9n
aWNhbExpbmVUb3AoZmxvYXQgbWluU2VnbWVudFdpZHRoKTsKLSAgICBMYXlvdXRVbml0IGxvZ2lj
YWxMaW5lVG9wKCkgY29uc3QgeyByZXR1cm4gbV9zaGFwZUxpbmVUb3AgKyBsb2dpY2FsVG9wT2Zm
c2V0KCk7IH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMaW5lQm90dG9tKCkgY29uc3QgeyByZXR1
cm4gbV9zaGFwZUxpbmVUb3AgKyBtX2xpbmVIZWlnaHQgKyBsb2dpY2FsVG9wT2Zmc2V0KCk7IH0K
IAogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoYm9vbCB2YWx1ZSkgeyBtX25lZWRzTGF5b3V0ID0g
dmFsdWU7IH0KICAgICBib29sIG5lZWRzTGF5b3V0KCkgeyByZXR1cm4gbV9uZWVkc0xheW91dDsg
fQogCiBwcml2YXRlOgogICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhjb25zdCBSZW5kZXJC
bG9jayogcmVuZGVyZXIpCi0gICAgOiBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZS
ZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gKHJlbmRlcmVyKQorICAgIDogRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNp
ZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHM+IChyZW5kZXJlcikKICAg
ICAsIG1fbmVlZHNMYXlvdXQoZmFsc2UpCiAgICAgeyB9CiAKLSAgICBMYXlvdXRVbml0IG1fc2hh
cGVMaW5lVG9wOwotICAgIExheW91dFVuaXQgbV9saW5lSGVpZ2h0OwotCi0gICAgU2VnbWVudExp
c3QgbV9zZWdtZW50czsKICAgICBTZWdtZW50UmFuZ2VMaXN0IG1fc2VnbWVudFJhbmdlczsKICAg
ICBib29sIG1fbmVlZHNMYXlvdXQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwCmluZGV4IDg3ZmE4YzZiMzA5YmRm
YTM3ZDVkZTZjMDU2ZDc0ZmFkZTIyODg3YzIuLmNiMTVkZjI5YWZlZjIzYWMzZmEyYThiMWU1Mjg4
ZjgzYTczMGU3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZU91dHNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhj
bHVzaW9uU2hhcGVPdXRzaWRlSW5mby5jcHAKQEAgLTQwLDcgKzQwLDI3IEBAIGJvb2wgRXhjbHVz
aW9uU2hhcGVPdXRzaWRlSW5mbzo6aXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJveCogYm94KQog
ewogICAgIC8vIEZJWE1FOiBFbmFibGUgc2hhcGUgb3V0c2lkZSBmb3Igbm9uLXJlY3Rhbmd1bGFy
IHNoYXBlcyEgKGJ1ZyA5ODY2NCkKICAgICBFeGNsdXNpb25TaGFwZVZhbHVlKiB2YWx1ZSA9IGJv
eC0+c3R5bGUoKS0+c2hhcGVPdXRzaWRlKCk7Ci0gICAgcmV0dXJuIHZhbHVlICYmICh2YWx1ZS0+
dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKSAmJiAodmFsdWUtPnNoYXBlKCkt
PnR5cGUoKSA9PSBCYXNpY1NoYXBlOjpCQVNJQ19TSEFQRV9SRUNUQU5HTEUpOworICAgIHJldHVy
biB2YWx1ZSAmJiAodmFsdWUtPnR5cGUoKSA9PSBFeGNsdXNpb25TaGFwZVZhbHVlOjpTSEFQRSkK
KyAgICAgICAgJiYgKAorICAgICAgICAgICAgKHZhbHVlLT5zaGFwZSgpLT50eXBlKCkgPT0gQmFz
aWNTaGFwZTo6QkFTSUNfU0hBUEVfUkVDVEFOR0xFKQorICAgICAgICAgICAgfHwgKHZhbHVlLT5z
aGFwZSgpLT50eXBlKCkgPT0gQmFzaWNTaGFwZTo6QkFTSUNfU0hBUEVfUE9MWUdPTikKKyAgICAg
ICAgKTsKK30KKworYm9vbCBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvOjpjb21wdXRlU2VnbWVu
dHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KQorewor
ICAgIGlmIChzaGFwZVNpemVEaXJ0eSgpIHx8IG1fbGluZVRvcCAhPSBsaW5lVG9wIHx8IG1fbGlu
ZUhlaWdodCAhPSBsaW5lSGVpZ2h0KSB7CisgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZUluZm88
UmVuZGVyQm94LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZSwgJkV4Y2x1c2lvblNoYXBlOjpn
ZXRFeGNsdWRlZEludGVydmFscz46OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwgbGlu
ZUhlaWdodCkpIHsKKyAgICAgICAgICAgIG1fbGVmdFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVs
dGEgPSBtX3NlZ21lbnRzWzBdLmxvZ2ljYWxMZWZ0IC0gc2hhcGVMb2dpY2FsTGVmdCgpOworICAg
ICAgICAgICAgbV9yaWdodFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEgPSBtX3NlZ21lbnRz
W21fc2VnbWVudHMuc2l6ZSgpLTFdLmxvZ2ljYWxSaWdodCAtIHNoYXBlTG9naWNhbFJpZ2h0KCk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2xlZnRTZWdtZW50U2hhcGVCb3VuZGlu
Z0JveERlbHRhID0gMDsKKyAgICAgICAgICAgIG1fcmlnaHRTZWdtZW50U2hhcGVCb3VuZGluZ0Jv
eERlbHRhID0gMDsKKyAgICAgICAgfQorICAgICAgICBtX2xpbmVUb3AgPSBsaW5lVG9wOworICAg
IH0KKworICAgIHJldHVybiBtX3NlZ21lbnRzLnNpemUoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvLmgKaW5kZXgg
YTRiODEyODM4YmUzNWI0YmY5Y2RmNTZhYmJjOGNmZDVjMjA1YjU2NC4uZjU0M2Q1NmFhOWY3ZWIx
Mzk0ODAxOGI1MWY4ZmY1NjRhY2E3ZjE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mby5oCkBAIC0zOSwxNyArMzksMjMgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJCb3g7CiAKLWNsYXNzIEV4Y2x1c2lv
blNoYXBlT3V0c2lkZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwg
JlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGU+LCBwdWJsaWMgTWFwcGVkSW5mbzxSZW5kZXJCb3gs
IEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8+IHsKK2NsYXNzIEV4Y2x1c2lvblNoYXBlT3V0c2lk
ZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxl
OjpzaGFwZU91dHNpZGUsICZFeGNsdXNpb25TaGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHM+LCBw
dWJsaWMgTWFwcGVkSW5mbzxSZW5kZXJCb3gsIEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8+IHsK
IHB1YmxpYzoKLSAgICBMYXlvdXRTaXplIHNoYXBlTG9naWNhbE9mZnNldCgpIGNvbnN0Ci0gICAg
ewotICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZShzaGFwZUxvZ2ljYWxMZWZ0KCksIHNoYXBlTG9n
aWNhbFRvcCgpKTsKLSAgICB9CisgICAgTGF5b3V0U2l6ZSBzaGFwZUxvZ2ljYWxPZmZzZXQoKSBj
b25zdCB7IHJldHVybiBMYXlvdXRTaXplKHNoYXBlTG9naWNhbExlZnQoKSwgc2hhcGVMb2dpY2Fs
VG9wKCkpOyB9CisKKyAgICBMYXlvdXRVbml0IGxlZnRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERl
bHRhKCkgY29uc3QgeyByZXR1cm4gbV9sZWZ0U2VnbWVudFNoYXBlQm91bmRpbmdCb3hEZWx0YTsg
fQorICAgIExheW91dFVuaXQgcmlnaHRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERlbHRhKCkgY29u
c3QgeyByZXR1cm4gbV9yaWdodFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGE7IH0KKworICAg
IHZpcnR1YWwgYm9vbCBjb21wdXRlU2VnbWVudHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwg
TGF5b3V0VW5pdCBsaW5lSGVpZ2h0KSBPVkVSUklERTsKIAogICAgIHN0YXRpYyBQYXNzT3duUHRy
PEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8+IGNyZWF0ZUluZm8oY29uc3QgUmVuZGVyQm94KiBy
ZW5kZXJlcikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8o
cmVuZGVyZXIpKTsgfQogICAgIHN0YXRpYyBib29sIGlzRW5hYmxlZEZvcihjb25zdCBSZW5kZXJC
b3gqKTsKIHByaXZhdGU6Ci0gICAgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyhjb25zdCBSZW5k
ZXJCb3gqIHJlbmRlcmVyKSA6IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJT
dHlsZTo6c2hhcGVPdXRzaWRlPihyZW5kZXJlcikgeyB9CisgICAgRXhjbHVzaW9uU2hhcGVPdXRz
aWRlSW5mbyhjb25zdCBSZW5kZXJCb3gqIHJlbmRlcmVyKSA6IEV4Y2x1c2lvblNoYXBlSW5mbzxS
ZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlLCAmRXhjbHVzaW9uU2hhcGU6Omdl
dEV4Y2x1ZGVkSW50ZXJ2YWxzPihyZW5kZXJlcikgeyB9CisKKyAgICBMYXlvdXRVbml0IG1fbGVm
dFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGE7CisgICAgTGF5b3V0VW5pdCBtX3JpZ2h0U2Vn
bWVudFNoYXBlQm91bmRpbmdCb3hEZWx0YTsKKyAgICBMYXlvdXRVbml0IG1fbGluZVRvcDsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDEzYTk3
ZTM2MWJkZDRmOWY2MjQwZGY1NmQ5YzdhMzNiZDE1MTA3OWMuLjIwNTdjMDc1NjA4ZmIzY2Q3ZTAw
ZDNiYmY0MmI5ZTY0NzUyZjgyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtNDI3OCw2ICs0Mjc4LDEwIEBAIGlubGluZSB2b2lkIFJlbmRlckJsb2NrOjpG
bG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lCiAg
ICAgICAgIGlmIChtX2hlaWdodFJlbWFpbmluZykKICAgICAgICAgICAgICptX2hlaWdodFJlbWFp
bmluZyA9IG1fcmVuZGVyZXItPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChyKSAtIG1fbG93VmFsdWU7
CiAgICAgfQorCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgIG1fbGFzdCA9IHI7Cisj
ZW5kaWYKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCgpIGNv
bnN0CkBAIC00MzE5LDYgKzQzMjMsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNh
bExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW4KIAogICAg
ICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0
PiBhZGFwdGVyKHRoaXMsIHJvdW5kVG9JbnQobG9naWNhbFRvcCksIHJvdW5kVG9JbnQobG9naWNh
bFRvcCArIGxvZ2ljYWxIZWlnaHQpLCBsZWZ0LCBoZWlnaHRSZW1haW5pbmcpOwogICAgICAgICBt
X2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFkYXB0
ZXIoYWRhcHRlcik7CisKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGlmIChj
b25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0ID0gYWRhcHRlci5sYXN0RmxvYXQoKSkgewor
ICAgICAgICAgICAgaWYgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lkZSA9
IGxhc3RGbG9hdC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7Cisg
ICAgICAgICAgICAgICAgc2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2lj
YWxUb3AgLSBsb2dpY2FsVG9wRm9yRmxvYXQobGFzdEZsb2F0KSwgbG9naWNhbEhlaWdodCk7Cisg
ICAgICAgICAgICAgICAgbGVmdCArPSBzaGFwZU91dHNpZGUtPnJpZ2h0U2VnbWVudFNoYXBlQm91
bmRpbmdCb3hEZWx0YSgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYKICAgICB9
CiAKICAgICBpZiAoYXBwbHlUZXh0SW5kZW50ICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkKQEAgLTQzNjcsNiArNDM4MCwxNiBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjps
b2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VQog
ICAgICAgICBMYXlvdXRVbml0IHJpZ2h0RmxvYXRPZmZzZXQgPSBmaXhlZE9mZnNldDsKICAgICAg
ICAgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQ+
IGFkYXB0ZXIodGhpcywgcm91bmRUb0ludChsb2dpY2FsVG9wKSwgcm91bmRUb0ludChsb2dpY2Fs
VG9wICsgbG9naWNhbEhlaWdodCksIHJpZ2h0RmxvYXRPZmZzZXQsIGhlaWdodFJlbWFpbmluZyk7
CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRGbG9hdHNUcmVlKCkuYWxsT3Zlcmxh
cHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKKworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAg
ICAgICAgaWYgKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVyLmxhc3RG
bG9hdCgpKSB7CisgICAgICAgICAgICBpZiAoRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyogc2hh
cGVPdXRzaWRlID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJ
bmZvKCkpIHsKKyAgICAgICAgICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0Zv
ckxpbmUobG9naWNhbFRvcCAtIGxvZ2ljYWxUb3BGb3JGbG9hdChsYXN0RmxvYXQpLCBsb2dpY2Fs
SGVpZ2h0KTsKKyAgICAgICAgICAgICAgICByaWdodEZsb2F0T2Zmc2V0ICs9IHNoYXBlT3V0c2lk
ZS0+bGVmdFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorI2VuZGlmCisKICAgICAgICAgcmlnaHQgPSBtaW4ocmlnaHQsIHJpZ2h0RmxvYXRP
ZmZzZXQpOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
aW5kZXggNDhjMjFmMzk4NDZmOWQ3MzUwNjUwMGU5ZDJiZGMyYTk5ZjM3NzYxNS4uNjA1Yzg1NTVk
OGVjN2E5ZTNmODA0ZmUxYjIwYWU4NjFlNDQ3OWI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKQEAgLTExMzIsNiArMTEzMiw5IEBAIHByb3RlY3RlZDoKICAgICAgICAg
ICAgICwgbV9oaWdoVmFsdWUoaGlnaFZhbHVlKQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZz
ZXQpCiAgICAgICAgICAgICAsIG1faGVpZ2h0UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKKyNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgICAgICAsIG1fbGFzdCgwKQorI2VuZGlm
CiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAgICAKQEAgLTExMzksMTIgKzExNDIsMzAgQEAg
cHJvdGVjdGVkOgogICAgICAgICBpbmxpbmUgaW50IGhpZ2hWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1faGlnaFZhbHVlOyB9CiAgICAgICAgIHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVy
dmFsVHlwZSYpIGNvbnN0OwogCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICAv
LyBXaGVuIGNvbXB1dGluZyB0aGUgb2Zmc2V0IGNhdXNlZCBieSB0aGUgZmxvYXRzIG9uIGEgZ2l2
ZW4gbGluZSwgaWYKKyAgICAgICAgLy8gdGhlIG91dGVybW9zdCBmbG9hdCBvbiB0aGF0IGxpbmUg
aGFzIGEgc2hhcGUtb3V0c2lkZSwgdGhlIGlubGluZQorICAgICAgICAvLyBjb250ZW50IHRoYXQg
YnV0dHMgdXAgYWdhaW5zdCB0aGF0IGZsb2F0IG11c3QgYmUgcG9zaXRpb25lZCB1c2luZworICAg
ICAgICAvLyB0aGUgY29udG91cnMgb2YgdGhlIHNoYXBlLCBub3QgdGhlIHNoYXBlJ3MgYm91bmRp
bmcgYm94LiBXZSBzYXZlIHRoZQorICAgICAgICAvLyBsYXN0IGZsb2F0IGVuY291bnRlcmVkIHNv
IHRoYXQgdGhlIG9mZnNldCBjYW4gYmUgY29tcHV0ZWQgY29ycmVjdGx5CisgICAgICAgIC8vIGJ5
IHRoZSBjb2RlIHVzaW5nIHRoaXMgYWRhcHRlci4KKyAgICAgICAgY29uc3QgRmxvYXRpbmdPYmpl
Y3QqIGxhc3RGbG9hdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdDsgfQorI2VuZGlmCisKICAgICBw
cml2YXRlOgogICAgICAgICBjb25zdCBSZW5kZXJCbG9jayogbV9yZW5kZXJlcjsKICAgICAgICAg
aW50IG1fbG93VmFsdWU7CiAgICAgICAgIGludCBtX2hpZ2hWYWx1ZTsKICAgICAgICAgTGF5b3V0
VW5pdCYgbV9vZmZzZXQ7CiAgICAgICAgIExheW91dFVuaXQqIG1faGVpZ2h0UmVtYWluaW5nOwor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgLy8gVGhpcyBtZW1iZXIgdmFyaWFi
bGUgaXMgbXV0YWJsZSBiZWNhdXNlIHRoZSBjb2xsZWN0SWZOZWVkZWQgbWV0aG9kCisgICAgICAg
IC8vIGlzIGRlY2xhcmVkIGFzIGNvbnN0LCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IGFjdHVhbGx5
IHJlc3BlY3QgdGhhdAorICAgICAgICAvLyBjb250cmFjdC4gSXQgbW9kaWZpZXMgb3RoZXIgbWVt
YmVyIHZhcmlhYmxlcyB2aWEgbG9vcGhvbGVzIGluIHRoZQorICAgICAgICAvLyBjb25zdCBiZWhh
dmlvci4gSW5zdGVhZCBvZiB1c2luZyBsb29waG9sZXMsIEkgZGVjaWRlZCBpdCB3YXMgYmV0dGVy
CisgICAgICAgIC8vIHRvIG1ha2UgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIG1vZGlmaWVkIGluIGEg
Y29uc3QgbWV0aG9kIGV4cGxpY2l0LgorICAgICAgICBtdXRhYmxlIGNvbnN0IEZsb2F0aW5nT2Jq
ZWN0KiBtX2xhc3Q7CisjZW5kaWYKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9hdGluZ09i
amVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKaW5kZXggMjEyMDg5OWRmYWQ2YjEwYzMyZTkzMmE0MzM5Y2MzMTZmMjdjY2Rh
ZC4uODk1MTUzNTY2ZGNmMDZiMmM1ZTJiOTJhNmVjNTIzNDMwMTJlZjJlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTE3
NSwxMyArMTc1LDI5IEBAIGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lk
dGhGb3JOZXdGbG9hdElmTmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgaWYgKGhlaWdodCA8
IG1fYmxvY2stPmxvZ2ljYWxUb3BGb3JGbG9hdChuZXdGbG9hdCkgfHwgaGVpZ2h0ID49IG1fYmxv
Y2stPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdChuZXdGbG9hdCkpCiAgICAgICAgIHJldHVybjsKIAor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
KiBzaGFwZU91dHNpZGVJbmZvID0gbmV3RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm8oKTsKKyAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgc2hhcGVP
dXRzaWRlSW5mby0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0
KCkgLSBtX2Jsb2NrLT5sb2dpY2FsVG9wRm9yRmxvYXQobmV3RmxvYXQpLCBsb2dpY2FsSGVpZ2h0
Rm9yTGluZShtX2Jsb2NrLCBtX2lzRmlyc3RMaW5lKSk7CisjZW5kaWYKKwogICAgIGlmIChuZXdG
bG9hdC0+dHlwZSgpID09IFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0KSB7
CiAgICAgICAgIGZsb2F0IG5ld0xlZnQgPSBtX2Jsb2NrLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChu
ZXdGbG9hdCk7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBpZiAoc2hhcGVP
dXRzaWRlSW5mbykKKyAgICAgICAgICAgIG5ld0xlZnQgKz0gc2hhcGVPdXRzaWRlSW5mby0+cmln
aHRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERlbHRhKCk7CisjZW5kaWYKKwogICAgICAgICBpZiAo
bV9pc0ZpcnN0TGluZSAmJiBtX2Jsb2NrLT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCiAgICAgICAgICAgICBuZXdMZWZ0ICs9IGZsb29yVG9JbnQobV9ibG9jay0+dGV4dEluZGVu
dE9mZnNldCgpKTsKICAgICAgICAgbV9sZWZ0ID0gbWF4PGZsb2F0PihtX2xlZnQsIG5ld0xlZnQp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZsb2F0IG5ld1JpZ2h0ID0gbV9ibG9jay0+bG9naWNh
bExlZnRGb3JGbG9hdChuZXdGbG9hdCk7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAg
ICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgICAgIG5ld1JpZ2h0ICs9IHNoYXBl
T3V0c2lkZUluZm8tPmxlZnRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERlbHRhKCk7CisjZW5kaWYK
KwogICAgICAgICBpZiAobV9pc0ZpcnN0TGluZSAmJiAhbV9ibG9jay0+c3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgbmV3UmlnaHQgLT0gZmxvb3JUb0ludCht
X2Jsb2NrLT50ZXh0SW5kZW50T2Zmc2V0KCkpOwogICAgICAgICBtX3JpZ2h0ID0gbWluPGZsb2F0
PihtX3JpZ2h0LCBuZXdSaWdodCk7CkBAIC0yNzExLDYgKzI3MjcsNyBAQCBJbmxpbmVJdGVyYXRv
ciBSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWsoSW5saW5lQmlkaVJl
c29sdmVyJiByZQogICAgICAgICAgICAgLy8gY2hlY2sgaWYgaXQgZml0cyBpbiB0aGUgY3VycmVu
dCBsaW5lLgogICAgICAgICAgICAgLy8gSWYgaXQgZG9lcywgcG9zaXRpb24gaXQgbm93LCBvdGhl
cndpc2UsIHBvc2l0aW9uCiAgICAgICAgICAgICAvLyBpdCBhZnRlciBtb3ZpbmcgdG8gbmV4dCBs
aW5lIChpbiBuZXdMaW5lKCkgZnVuYykKKyAgICAgICAgICAgIC8vIEZJWE1FOiBCdWcgMTEwMzcy
OiBQcm9wZXJseSBwb3NpdGlvbiBtdWx0aXBsZSBzdGFja2VkIGZsb2F0cyB3aXRoIG5vbi1yZWN0
YW5ndWxhciBzaGFwZSBvdXRzaWRlLgogICAgICAgICAgICAgaWYgKGZsb2F0c0ZpdE9uTGluZSAm
JiB3aWR0aC5maXRzT25MaW5lKG1fYmxvY2stPmxvZ2ljYWxXaWR0aEZvckZsb2F0KGYpKSkgewog
ICAgICAgICAgICAgICAgIG1fYmxvY2stPnBvc2l0aW9uTmV3RmxvYXRPbkxpbmUoZiwgbGFzdEZs
b2F0RnJvbVByZXZpb3VzTGluZSwgbGluZUluZm8sIHdpZHRoKTsKICAgICAgICAgICAgICAgICBp
ZiAobEJyZWFrLm1fb2JqID09IGN1cnJlbnQubV9vYmopIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYjZjOTcwYTU5OGM0
MWFlZjJiNmRkZjAwZGViZTJiNWEzNzFlOThjLi5lYThmZDI5MjBhMTRiYWFkNDJjNTU0MTkzYzdi
YTJjZTkyY2IwY2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMjggIEJlbSBKb25l
cy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBFeGNsdXNpb25zXSBz
aGFwZS1vdXRzaWRlIG9uIGZsb2F0cyBmb3IgcG9seWdvbiBzaGFwZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Njc2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxlIHRlc3QgZm9yIGZsb2F0cyB3
aXRoIHBvbHlnb25hbCBzaGFwZS1vdXRzaWRlLgorCisgICAgICAgICogZmFzdC9leGNsdXNpb25z
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29u
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zaW1wbGUtcG9seWdvbi5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYlNwZWVjaDogY2hhbmdlIHZvaWNlVVJJIHRvIHZvaWNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1zaW1wbGUtcG9seWdvbi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjM2QzNTE3N2I4
YTcwOTM1M2FiZWIyNDhhM2EwNDEwNGQyMDQ4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMtc2ltcGxlLXBvbHlnb24tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2MSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAg
Zm9udDogMTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhl
aWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZDogYmx1ZTsKK30KKy5mbG9hdC1sZWZ0IHsKKyAg
ICBoZWlnaHQ6IDEwcHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQgeworICAg
IGhlaWdodDogMTBweDsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisuZmxvYXQtbGVmdC12ZXJ0aWNh
bCB7CisgICAgd2lkdGg6IDEwcHg7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQt
dmVydGljYWwgeworICAgIHdpZHRoOiAxMHB4OworICAgIGZsb2F0OiByaWdodDsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODY3NiI+QnVnIDk4Njc2PC9hPiAtIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHBvbHlnb24gc2hhcGVzPC9oMT4KKyAgPGgy
PlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBzcXVhcmUgd2l0aCBibHVlIHRy
aWFuZ2xlcyBpbiBvcHBvc2l0ZSBjb3JuZXJzLjwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9k
aXY+CisgICAgWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA5MHB4IiBjbGFzcz0i
ZmxvYXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0
aDogODBweCIgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWAorICAg
IDxkaXYgc3R5bGU9IndpZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiA2MHB4IiBjbGFzcz0iZmxvYXQt
bGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDog
NTBweCIgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWAorICAg
IDxkaXYgc3R5bGU9IndpZHRoOiA0MHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMHB4IiBjbGFzcz0iZmxv
YXQtbGVmdCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3
aWR0aDogMjBweCIgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhY
WFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4IiBjbGFzcz0iZmxvYXQtbGVmdCI+PC9k
aXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMHB4
IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogMjBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAg
ICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzBweCIgY2xhc3M9
ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgc3R5
bGU9IndpZHRoOiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhYWFhYWFhY
WFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0
Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjBw
eCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWAorICAgIDxk
aXYgc3R5bGU9IndpZHRoOiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweCIgY2xhc3M9ImZsb2F0LXJp
Z2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOTBw
eCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWAorICAgIDxkaXYg
c3R5bGU9IndpZHRoOiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYCisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgbHI8L2gzPgorICA8ZGl2IHN0eWxlPSIt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHIiIGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48
L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFz
cz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDcwcHgiIGNsYXNzPSJm
bG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBz
dHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+Cisg
ICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJm
bG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4K
KyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFz
cz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAg
ICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48
L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEw
cHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhY
WFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQt
dmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0i
ZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwv
ZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgi
IGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhY
CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGlj
YWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA3
MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhY
WFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0
aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA5
MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhY
CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRp
Y2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2PgorICA8aDM+dmVydGljYWwgcmw8
L2gzPgorICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmwiIGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiIGNsYXNzPSJm
bG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgPGRpdiBzdHls
ZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJo
ZWlnaHQ6IDcwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFzcz0iZmxvYXQtbGVm
dC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJo
ZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwcHgiIGNsYXNzPSJmbG9hdC1s
ZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHls
ZT0iaGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbCI+PC9kaXY+CisgICAg
WFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJm
bG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHgiIGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsIj48L2Rp
dj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMHB4
IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhY
WFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12
ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiAzMHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhY
WFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MHB4IiBjbGFzcz0iZmxv
YXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2
IHN0eWxlPSJoZWlnaHQ6IDUwcHgiIGNsYXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+
CisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MHB4IiBjbGFz
cz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA3MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwv
ZGl2PgorICAgIFhYWFhYWFhYWFhYWFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDgwcHgiIGNs
YXNzPSJmbG9hdC1yaWdodC12ZXJ0aWNhbCI+PC9kaXY+CisgICAgWFhYWFhYWFhYWFhYCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA5MHB4IiBjbGFzcz0iZmxvYXQtcmlnaHQtdmVydGljYWwiPjwv
ZGl2PgorICAgIFhYWFhYWFhYWFhYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweCIgY2xh
c3M9ImZsb2F0LXJpZ2h0LXZlcnRpY2FsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNp
b25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5
Z29uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXBvbHlnb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OTAwYjhhM2MzNDJhMDdkMzAyNDVjMGU3ZDhkZjE3M2I3ZTQyNGY2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtZmxvYXRzLXNpbXBsZS1wb2x5Z29uLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVz
aW9uc0VuYWJsZWQodHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5jb250YWluZXIgeworICAg
IGZvbnQ6IDEwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBo
ZWlnaHQ6IDIwMHB4OworICAgIGJhY2tncm91bmQ6IGJsdWU7Cit9CisuZmxvYXQtbGVmdCB7Cisg
ICAgd2lkdGg6IDUwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAtd2Via2l0LXNoYXBlLW91
dHNpZGU6IHBvbHlnb24oMHB4IDBweCwgMTAwcHggMHB4LCAwcHggMTAwcHgpOworICAgIGZsb2F0
OiBsZWZ0OworfQorLmZsb2F0LXJpZ2h0IHsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6
IDEwMHB4OworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbig1MHB4IDBweCwgLTUw
cHggMTAwcHgsIDUwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5mbG9hdC1sZWZ0
LXZlcnRpY2FsLWxyIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAg
IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAwcHggMTAwcHgsIDEwMHB4
IDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisuZmxvYXQtcmlnaHQtdmVydGljYWwtbHIgewor
ICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBwb2x5Z29uKDBweCA1MHB4LCAxMDBweCAtNTBweCwgMTAwcHggNTBweCk7CisgICAg
ZmxvYXQ6IHJpZ2h0OworfQorLmZsb2F0LWxlZnQtdmVydGljYWwtcmwgeworICAgIHdpZHRoOiAx
MDBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5
Z29uKDBweCAwcHgsIDEwMHB4IDEwMHB4LCAxMDBweCAwcHgpOworICAgIGZsb2F0OiBsZWZ0Owor
fQorLmZsb2F0LXJpZ2h0LXZlcnRpY2FsLXJsIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVp
Z2h0OiA1MHB4OworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggNTBweCwg
MHB4IC01MHB4LCAxMDBweCA1MHB4KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTg2NzYiPkJ1ZyA5ODY3NjwvYT4gLSBbQ1NTIEV4Y2x1c2lvbnNdIHNo
YXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciBwb2x5Z29uIHNoYXBlczwvaDE+CisgIDxoMj5UaGUg
Zm9sbG93aW5nIHRlc3RzIHNob3VsZCBkaXNwbGF5IGEgc3F1YXJlIHdpdGggYmx1ZSB0cmlhbmds
ZXMgaW4gb3Bwb3NpdGUgY29ybmVycy48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgY2xhc3M9ImZsb2F0LWxlZnQiPjwvZGl2PgorICAgIFhYWFhYWFhYWFgKKyAgICBY
WFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFgKKyAgICBYWFhY
WFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFgKKyAg
ICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhY
WFhYWFhYWFhYWFgKKyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1yaWdodCI+PC9kaXY+CisgICAgWFhY
WFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhY
WFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWAorICA8L2Rpdj4KKyAgPGgzPnZlcnRpY2FsIGxyPC9o
Mz4KKyAgPGRpdiBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyIiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJmbG9hdC1sZWZ0LXZlcnRpY2FsLWxyIj48
L2Rpdj4KKyAgICBYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgK
KyAgICBYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhY
WFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhY
WFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgPGRpdiBjbGFzcz0i
ZmxvYXQtcmlnaHQtdmVydGljYWwtbHIiPjwvZGl2PgorICAgIFhYWFhYWFhYWFhYWFhYWFhYWFgK
KyAgICBYWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYWAorICAgIFhYWFhY
WFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWAorICAg
IFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWAorICAgIFhY
WFhYWFhYWFgKKyAgPC9kaXY+CisgIDxoMz52ZXJ0aWNhbCBybDwvaDM+CisgIDxkaXYgc3R5bGU9
Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCIgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBjbGFzcz0iZmxvYXQtbGVmdC12ZXJ0aWNhbC1ybCI+PC9kaXY+CisgICAgWFhYWFhY
WFhYWAorICAgIFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhY
WAorICAgIFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhY
WFhYWFhYWAorICAgIFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFhYCisg
ICAgWFhYWFhYWFhYWFhYWFhYWFhYWAorICAgIDxkaXYgY2xhc3M9ImZsb2F0LXJpZ2h0LXZlcnRp
Y2FsLXJsIj48L2Rpdj4KKyAgICBYWFhYWFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhY
WFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYWFhYCisgICAg
WFhYWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYWFhYCisg
ICAgWFhYWFhYWFhYWFhYCisgICAgWFhYWFhYWFhYWFgKKyAgICBYWFhYWFhYWFhYCisgIDwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>