<?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>184518</bug_id>
          
          <creation_ts>2018-04-11 16:33:34 -0700</creation_ts>
          <short_desc>[Web Animations] Enable seeking for hardware animations</short_desc>
          <delta_ts>2018-05-04 06:55:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1413857</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-04-11 16:33:34 -0700</bug_when>
    <thetext>[Web Animations] Enable seeking for hardware animations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413864</commentid>
    <comment_count>1</comment_count>
      <attachid>337751</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-04-11 16:53:09 -0700</bug_when>
    <thetext>Created attachment 337751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413953</commentid>
    <comment_count>2</comment_count>
      <attachid>337777</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-04-12 00:18:21 -0700</bug_when>
    <thetext>Created attachment 337777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413981</commentid>
    <comment_count>3</comment_count>
      <attachid>337777</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-04-12 04:10:05 -0700</bug_when>
    <thetext>Comment on attachment 337777
Patch

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

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2806
&gt; +            const String&amp; currAnimationName = it-&gt;key;
&gt; +            AnimationsMap::iterator animationIt = m_runningAnimations.find(currAnimationName);

Nit: Just say currentAnimationName and animationIterator

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2813
&gt; +                for (size_t i = 0; i &lt; animations.size(); ++i) {
&gt; +                    const LayerPropertyAnimation&amp; currAnimation = animations[i];

Can&apos;t this be a for (const auto&amp; currentAnimation : animations) loop?

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2950
&gt; +    RefPtr&lt;PlatformCAAnimation&gt; curAnim = layer-&gt;animationForKey(animationID);

Again, just say currentAnimation. Or at least be consistent - above is currAnimation, this is curAnim.

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2955
&gt; +    RefPtr&lt;PlatformCAAnimation&gt; newAnim = curAnim-&gt;copy();

Ditto.

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:531
&gt; +        Seconds timeOffset; // only used for pause

Nit: // Only used for pause. (uppercase O and period)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414009</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-04-12 08:14:39 -0700</bug_when>
    <thetext>Committed r230574: &lt;https://trac.webkit.org/changeset/230574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414010</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-12 08:15:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/39381530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420643</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-05-04 06:55:32 -0700</bug_when>
    <thetext>This caused https://bugs.webkit.org/show_bug.cgi?id=185299.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337751</attachid>
            <date>2018-04-11 16:53:09 -0700</date>
            <delta_ts>2018-04-12 00:18:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184518-20180412015307.patch</filename>
            <type>text/plain</type>
            <size>55481</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ0MzEzZjQ0N2U4ZDQy
MzdiMWYyN2Y5NTJkYmU1OGZkMDJlZDgwYy4uNTNjNGFjMmVkMzYyODk5ZGNiZjA5NTQyNDhkMGRl
ZmQxZmFlNDA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDE4LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFbmFibGUgc2Vla2luZyBmb3IgaGFyZHdhcmUgYW5pbWF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFyZHdhcmUgYW5pbWF0aW9ucyBoYWQg
bGFnZ2VkIGJlaGluZCBzb2Z0d2FyZSBhbmltYXRpb25zIGluIHN1cHBvcnQgYW5kIHRoaXMgcGF0
Y2ggYnJpbmcgdGhlaXIgcmVzcGVjdGl2ZSBsZXZlbAorICAgICAgICBvZiBzdXBwb3J0IGNsb3Nl
ciB0byBvbmUgYW5vdGhlci4gSW1wb3J0YW50bHksIHdlIGFkZCB0aGUgYWJpbGl0eSB0byBzZWVr
IGFuIGFuaW1hdGlvbiBhZGRlZCB0byBhIEdyYXBoaWNzTGF5ZXJDQQorICAgICAgICBzaW5jZSBt
YW55IHRlc3RzIHBhdXNlIGFuZCBzZWVrIGFuaW1hdGlvbnMgdG8gdGVzdCB0aGVpciBzdGF0ZS4g
QW5pbWF0aW9ucyBtYXkgYWxzbyBoYXZlIHRoZWlyIHBsYXliYWNrIHN0YXRlIGNoYW5nZWQKKyAg
ICAgICAgYWxvbmcgd2l0aCB0aGVpciBjdXJyZW50IHRpbWUgaW4gdGhlIHNhbWUgcnVuIGxvb3As
IHNvIHdlIG5vdyBtYWludGFpbiBhIGxpc3Qgb2YgcGVuZGluZyBwcm9jZXNzaW5nIGFjdGlvbnMg
Zm9yCisgICAgICAgIGhhcmR3YXJlIGFuaW1hdGlvbnMuCisKKyAgICAgICAgKiBhbmltYXRpb24v
RG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVsaW5l
Ojp1cGRhdGVBbmltYXRpb25TY2hlZHVsZSk6IElmIHdlIGhhdmUgYW5pbWF0aW9ucyBxdWV1ZWQg
dXAgZm9yIHVwZGF0ZXMgdG8gdGhlaXIgYWNjZWxlcmF0ZWQKKyAgICAgICAgc3RhdGUgd2UgY2Fu
IHNjaGVkdWxlIGFuaW1hdGlvbiByZXNvbHV0aW9uIGltbWVkaWF0ZWx5IHNpbmNlIHdlJ3ZlIGFs
cmVhZHkgZXN0YWJsaXNoZWQgd2UnbGwgaGF2ZSB3b3JrIHRvIGRvLgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRUaW1lbGluZTo6dXBkYXRlQW5pbWF0aW9ucyk6IEZhY3RvciB0aGUgdXBkYXRl
cyBvZiBwZW5kaW5nIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgb3V0IGluIGEgZGVkaWNhdGVkCisg
ICAgICAgIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFwcGx5
UGVuZGluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucyk6IEdvIHRocm91Z2ggYWxsIHBlbmRpbmcgYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9ucyBhbmQgdXBkYXRlCisgICAgICAgIHRoZWlyIHN0YXRlLgorICAg
ICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNldEJsZW5kaW5nS2V5ZnJhbWVzKTogVXBk
YXRlIHRoZSBtX3Nob3VsZFJ1bkFjY2VsZXJhdGVkIGZsYWcgd2hlbiBzZXR0aW5nIGJsZW5kaW5n
IGtleWZyYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmFw
cGx5KTogRW5zdXJlIHdlIGZpbmlzaCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIGlmIHRoZSBwcm9n
cmVzcyBpcyAxIG9yIG51bGwgKG5vIGxvbmdlciBhY3RpdmUpLgorICAgICAgICBzdGFydCBhY2Nl
bGVyYXRlZCBhbmltYXRpb25zIGlmIHRoZSBhbmltYXRpb24gaXMgc3RhcnRpbmcgYW5kIGFsd2F5
cyByZXNvbHZlIHN0eWxlcyBpbiBzb2Z0d2FyZSBhcyB3ZWxsIHRvIGVuc3VyZSB0aGF0CisgICAg
ICAgIGhpdCB0ZXN0aW5nIHdpbGwgd29yayBhcyBleHBlY3RlZC4KKyAgICAgICAgKFdlYkNvcmU6
OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNvbXB1dGVTaG91bGRSdW5BY2NlbGVyYXRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphbmltYXRpb25QbGF5U3Rh
dGVEaWRDaGFuZ2UpOiBDYWxsZWQgYnkgV2ViQW5pbWF0aW9uIHdoZW4gcGxheSgpIG9yIHBhdXNl
KCkgaXMgY2FsbGVkCisgICAgICAgIHdpdGggdGhlIGFwcHJvcHJpYXRlIGZsYWcuCisgICAgICAg
IChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphbmltYXRpb25EaWRTZWVrKTogQ2Fs
bGVkIGJ5IFdlYkFuaW1hdGlvbiB3aGVuIHRoZSBjdXJyZW50VGltZSBwcm9wZXJ0eSBpcyBzZXQu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphZGRQZW5kaW5nQWNj
ZWxlcmF0ZWRBY3Rpb24pOiBBZGQgdGhlIHByb3ZpZGVkIGFjdGlvbiB0byB0aGUgbGlzdCBvZiBw
ZW5kaW5nIGFjY2VsZXJhdGVkCisgICAgICAgIGFjdGlvbnMgYW5kIG5vdGlmeSB0aGUgYW5pbWF0
aW9uIHRoYXQgdGhlIGFjY2VsZXJhdGVkIHN0YXRlIG5lZWRzIGNoYW5naW5nLgorICAgICAgICAo
V2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRB
Y3Rpb25zKTogQ2FsbGVkIGJ5IERvY3VtZW50VGltZWxpbmUsIHRocm91Z2ggV2ViQW5pbWF0aW9u
LCB0byBhcHBseQorICAgICAgICBhbGwgcGVuZGluZyBhY2NlbGVyYXRlZCBhY3Rpb25zLgorICAg
ICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YmFja2luZ0FuaW1hdGlvbkZv
ckNvbXBvc2l0ZWRSZW5kZXJlciBjb25zdCk6IElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIGRlY2xh
cmF0aXZlIGFuaW1hdGlvbiwKKyAgICAgICAgd2UgYWxyZWFkeSBoYXZlIGEgYmFja2luZyBBbmlt
YXRpb24gb2JqZWN0LCBzbyB1c2UgaXQgZGlyZWN0bHkuIE90aGVyd2lzZSwgY3JlYXRlIG9uZSBh
bmQgZW5zdXJlIGl0IHJlZmxlY3RzIGFsbCB0aW1pbmcgcHJvcGVydGllcworICAgICAgICBmb3Ig
dGhlIGFuaW1hdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6
OnNob3VsZFJ1bkFjY2VsZXJhdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OktleWZy
YW1lRWZmZWN0UmVhZE9ubHk6OnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
QW5pbWF0aW9uOjpzZXRDdXJyZW50VGltZSk6IENhbGwgYW5pbWF0aW9uRGlkU2VlaygpIG9uIHRo
ZSBlZmZlY3QgdG8gZW5zdXJlIGl0cyBhY2NlbGVyYXRlZCBhbmltYXRpb24gZ2V0cyBzZWVrZWQu
CisgICAgICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OnBsYXkpOiBDYWxsIGFuaW1hdGlvblBs
YXlTdGF0ZURpZENoYW5nZSgpIG9uIHRoZSBlZmZlY3QgdG8gZW5zdXJlIGl0cyBhY2NlbGVyYXRl
ZCBhbmltYXRpb24gaXMgc3RhcnRlZCBvciByZXN1bWVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
QW5pbWF0aW9uOjpwYXVzZSk6IENhbGwgYW5pbWF0aW9uUGxheVN0YXRlRGlkQ2hhbmdlKCkgb24g
dGhlIGVmZmVjdCB0byBlbnN1cmUgaXRzIGFjY2VsZXJhdGVkIGFuaW1hdGlvbiBnZXRzIHBhdXNl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6YWNjZWxlcmF0ZWRTdGF0ZURpZENo
YW5nZSk6IAorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjphcHBseVBlbmRpbmdBY2Nl
bGVyYXRlZEFjdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjphY2NlbGVy
YXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJBbmltYXRpb246OnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OnNlZWtBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q0E6OmFkZFByb2Nlc3NpbmdBY3Rpb25Gb3JBbmltYXRpb24pOiBBZGQgYW4gQW5pbWF0aW9uUHJv
Y2Vzc2luZ0FjdGlvbiB0byB0aGUgbGlzdCBvZiBzdWNoIGFjdGlvbnMgZm9yIGEKKyAgICAgICAg
Z2l2ZW4gYW5pbWF0aW9uIG5hbWUuIEluIGNhc2Ugd2UgYWxyZWFkeSBoYXZlIGEgUmVtb3ZlIGFj
dGlvbiwgd2UgaWdub3JlIHRoZSBhY3Rpb24gc2luY2UgdGhlIGhhcmR3YXJlIGFuaW1hdGlvbiB3
aWxsIGhhdmUgYmVlbgorICAgICAgICByZW1vdmVkIGJ5IHRoZSB0aW1lIHdlIHRyeSB0byBhcHBs
eSB0aGlzIHByb2Nlc3NpbmcgYWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNBOjpwYXVzZUFuaW1hdGlvbik6IEFkZCBhIFBhdXNlIHByb2Nlc3NpbmcgYWN0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpzZWVrQW5pbWF0aW9uKTogQWRkIGEgU2Vl
ayBwcm9jZXNzaW5nIGFjdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6
cmVtb3ZlQW5pbWF0aW9uKTogQWRkIGEgUmVtb3ZlIHByb2Nlc3NpbmcgYWN0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmltYXRpb25zKTogRmlyc3QgZW5z
dXJlIHRoYXQgYWxsIGFuaW1hdGlvbnMgcGVuZGluZyBjb21taXQgYXJlIGNvbW1pdHRlZCBhbmQg
dGhlbiB1cGRhdGUKKyAgICAgICAgYWxsIGFuaW1hdGlvbnMgYmFzZWQgb24gdGhlIGFjdGlvbnMg
YWRkZWQgdGhyb3VnaCBhZGRQcm9jZXNzaW5nQWN0aW9uRm9yQW5pbWF0aW9uKCkuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNlZWtDQUFuaW1hdGlvbk9uTGF5ZXIpOiBHZW5l
cmF0ZSBhIG5ldyBhbmltYXRpb24gYmFzZWQgb24gdGhlIG5ldyBzZWVrIHRpbWUgcHJvdmlkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OkFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb246
OkFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVj
dDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6YW5pbWF0aW9u
U2Vla2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3Np
dGluZ0ZvckFuaW1hdGlvbiBjb25zdCk6IEZpeCBhbiBpc3N1ZSB3aGVyZSB3ZSB3b3VsZCBydW4g
dGhlIENTU0FuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgbG9naWMgZXZlbiB3aGVuIHRoZSBs
ZWdhY3kgYW5pbWF0aW9uIGVuZ2luZSB3YXMgZGlzYWJsZWQuCisKIDIwMTgtMDQtMTEgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltYWdlRnJhbWUgdHlwZSB1
c2VkIGJ5IG5vbi1Db2NvYSBpbWFnZSBkZWNvZGVyIHNob3VsZCBub3QgYmUgdGhlIHNhbWUgYXMg
dGhhdCB1c2VkIGJ5IEltYWdlU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uRWZmZWN0UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9BbmltYXRpb25FZmZlY3RSZWFkT25seS5oCmluZGV4IGJiNTkyZjlhNjU4NjBmZWRhYWFlNzQy
ZDBiN2FmNzk4ZGVjMTk4M2MuLmUzZTJmZTY0ZWRkNjZhMDk0ZDYzODgyOGM1YjNkNTJjMWQ3MzM5
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RS
ZWFkT25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RS
ZWFkT25seS5oCkBAIC00Niw2ICs0Niw4IEBAIHB1YmxpYzoKICAgICBDb21wdXRlZFRpbWluZ1By
b3BlcnRpZXMgZ2V0Q29tcHV0ZWRUaW1pbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoUmVu
ZGVyU3R5bGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGlvblBsYXlTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb246OlBs
YXlTdGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25EaWRTZWVrKCkgPSAwOwog
CiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlv
bi5nZXQoKTsgfQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmltYXRpb24+JiYg
YW5pbWF0aW9uKSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKaW5kZXggYmFiMTJmYjNiNTAwNTJjOTU1
YTg0MTlmNzEwMDU1N2ViODEyMmQ1OC4uNDEzNGE1OGJkNDFmZGZlZjYxMzdkMGFhYjZkYWNlNzVl
ZWE5ZjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGlt
ZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
LmNwcApAQCAtMTI3LDYgKzEyNywxMSBAQCB2b2lkIERvY3VtZW50VGltZWxpbmU6OnVwZGF0ZUFu
aW1hdGlvblNjaGVkdWxlKCkKIAogICAgIG1fbmVlZHNVcGRhdGVBbmltYXRpb25TY2hlZHVsZSA9
IGZhbHNlOwogCisgICAgaWYgKCFtX2FjY2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5n
U3RhdGVDaGFuZ2UuaXNFbXB0eSgpKSB7CisgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uUmVzb2x1
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgU2Vjb25kcyBzY2hlZHVsZURl
bGF5ID0gU2Vjb25kczo6aW5maW5pdHkoKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgYW5pbWF0
aW9uIDogYW5pbWF0aW9ucygpKSB7CkBAIC0xNzksOSArMTg0LDcgQEAgdm9pZCBEb2N1bWVudFRp
bWVsaW5lOjp1cGRhdGVBbmltYXRpb25zKCkKICAgICAgICAgbV9kb2N1bWVudC0+dXBkYXRlU3R5
bGVJZk5lZWRlZCgpOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDogbV9hY2Nl
bGVyYXRlZEFuaW1hdGlvbnNQZW5kaW5nUnVubmluZ1N0YXRlQ2hhbmdlKQotICAgICAgICBhbmlt
YXRpb24tPnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsKLSAgICBtX2FjY2VsZXJhdGVkQW5pbWF0
aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UuY2xlYXIoKTsKKyAgICBhcHBseVBlbmRpbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsKIAogICAgIC8vIFRpbWUgaGFzIGFkdmFuY2VkLCB0aGUg
dGltaW5nIG1vZGVsIHJlcXVpcmVzIGludmFsaWRhdGlvbiBub3cuCiAgICAgdGltaW5nTW9kZWxE
aWRDaGFuZ2UoKTsKQEAgLTIwOSw2ICsyMTIsMTMgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lOjph
bmltYXRpb25BY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb24mIGEK
ICAgICBtX2FjY2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UuYWRk
KCZhbmltYXRpb24pOwogfQogCit2b2lkIERvY3VtZW50VGltZWxpbmU6OmFwcGx5UGVuZGluZ0Fj
Y2VsZXJhdGVkQW5pbWF0aW9ucygpCit7CisgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBtX2Fj
Y2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UpCisgICAgICAgIGFu
aW1hdGlvbi0+YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCk7CisgICAgbV9hY2NlbGVy
YXRlZEFuaW1hdGlvbnNQZW5kaW5nUnVubmluZ1N0YXRlQ2hhbmdlLmNsZWFyKCk7Cit9CisKIGJv
b2wgRG9jdW1lbnRUaW1lbGluZTo6cnVubmluZ0FuaW1hdGlvbnNGb3JFbGVtZW50QXJlQWxsQWNj
ZWxlcmF0ZWQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIGxl
dCBhbmltYXRpb25zIHJ1biB1c2luZyBoYXJkd2FyZSBjb21wb3NpdGluZyBldmVuIGlmIGxhdGVy
IGluIHRoZSBhY3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1
bWVudFRpbWVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5oCmluZGV4IDMwY2M2ZGQ5NmUwNzZlMjU5ZTAyMjQzMDNkNDM1NWRiNWYzMmY1NTQuLjM1YTg4
ZGIwM2FmZmU4NGRkMmNjMmY5NjRiYjFlMzk2NTY3YjBjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGVkU3R5bGVGb3JSZW5kZXJl
cihSZW5kZXJFbGVtZW50JiByZW5kZXJlcik7CiAgICAgdm9pZCBhbmltYXRpb25BY2NlbGVyYXRl
ZFJ1bm5pbmdTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb24mKTsKKyAgICB2b2lkIGFwcGx5UGVu
ZGluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOwogICAgIGJvb2wgcnVubmluZ0FuaW1hdGlvbnNG
b3JFbGVtZW50QXJlQWxsQWNjZWxlcmF0ZWQoRWxlbWVudCYpOwogICAgIHZvaWQgZGV0YWNoRnJv
bURvY3VtZW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdFJlYWRPbmx5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5LmNwcAppbmRleCA1YzFmODg2YzFhZmJlNGI2NmRmZmYzYzNmYTNhZTYx
NDk3ZWUxMDhiLi5jYWU1M2RjYjUwZWNkNGI4ODY2OGRkNzhmZDRmYzNiMWRiOGIzNmI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHku
Y3BwCkBAIC02OTUsNiArNjk1LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpzZXRC
bGVuZGluZ0tleWZyYW1lcyhLZXlmcmFtZUxpc3QmIGJsZW5kaW5nS2V5ZnJhbWUKICAgICBtX2Js
ZW5kaW5nS2V5ZnJhbWVzID0gV1RGTW92ZShibGVuZGluZ0tleWZyYW1lcyk7CiAKICAgICBjb21w
dXRlU3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7CisgICAgY29tcHV0ZVNob3VsZFJ1bkFjY2VsZXJh
dGVkKCk7CiAKICAgICBjaGVja0Zvck1hdGNoaW5nVHJhbnNmb3JtRnVuY3Rpb25MaXN0cygpOwog
ICAgIGNoZWNrRm9yTWF0Y2hpbmdGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CkBAIC05MjQsMjYgKzky
NSwyMSBAQCB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmFwcGx5KFJlbmRlclN0eWxlJiB0
YXJnZXRTdHlsZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBwcm9ncmVzcyA9IGl0ZXJh
dGlvblByb2dyZXNzKCk7Ci0gICAgaWYgKCFwcm9ncmVzcykKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKG1fc3RhcnRlZEFjY2VsZXJhdGVkICYmIHByb2dyZXNzLnZhbHVlKCkgPj0gMSkgewor
ICAgIGlmIChtX3N0YXJ0ZWRBY2NlbGVyYXRlZCAmJiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLnZh
bHVlKCkgPj0gMSkpIHsKICAgICAgICAgbV9zdGFydGVkQWNjZWxlcmF0ZWQgPSBmYWxzZTsKLSAg
ICAgICAgYW5pbWF0aW9uKCktPmFjY2VsZXJhdGVkUnVubmluZ1N0YXRlRGlkQ2hhbmdlKCk7Cisg
ICAgICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRlZFN0YXRlRGlkQ2hhbmdlKCk7CiAgICAgfQog
Ci0gICAgYm9vbCBuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCA9IGZhbHNlOworICAgIGlmICghcHJv
Z3Jlc3MpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdGFydGVkICYmICFtX3N0YXJ0
ZWRBY2NlbGVyYXRlZCkgewotICAgICAgICBuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCA9IHNob3Vs
ZFJ1bkFjY2VsZXJhdGVkKCk7Ci0gICAgICAgIG1fc3RhcnRlZEFjY2VsZXJhdGVkID0gbmVlZHNU
b1N0YXJ0QWNjZWxlcmF0ZWQ7Ci0gICAgICAgIGlmIChuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCkK
LSAgICAgICAgICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5n
ZSgpOworICAgIGlmICghbV9zdGFydGVkICYmICFtX3N0YXJ0ZWRBY2NlbGVyYXRlZCAmJiBtX3No
b3VsZFJ1bkFjY2VsZXJhdGVkKSB7CisgICAgICAgIG1fc3RhcnRlZEFjY2VsZXJhdGVkID0gdHJ1
ZTsKKyAgICAgICAgYW5pbWF0aW9uKCktPmFjY2VsZXJhdGVkU3RhdGVEaWRDaGFuZ2UoKTsKICAg
ICB9CiAgICAgbV9zdGFydGVkID0gdHJ1ZTsKIAotICAgIGlmICghbmVlZHNUb1N0YXJ0QWNjZWxl
cmF0ZWQgJiYgIW1fc3RhcnRlZEFjY2VsZXJhdGVkKQotICAgICAgICBzZXRBbmltYXRlZFByb3Bl
cnRpZXNJblN0eWxlKHRhcmdldFN0eWxlLCBwcm9ncmVzcy52YWx1ZSgpKTsKKyAgICBzZXRBbmlt
YXRlZFByb3BlcnRpZXNJblN0eWxlKHRhcmdldFN0eWxlLCBwcm9ncmVzcy52YWx1ZSgpKTsKIAog
ICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jc2lkZS1lZmZlY3Rz
LXNlY3Rpb24KICAgICAvLyBGb3IgZXZlcnkgcHJvcGVydHkgdGFyZ2V0ZWQgYnkgYXQgbGVhc3Qg
b25lIGFuaW1hdGlvbiBlZmZlY3QgdGhhdCBpcyBjdXJyZW50IG9yIGluIGVmZmVjdCwgdGhlIHVz
ZXIgYWdlbnQKQEAgLTk1NywxMyArOTUzLDE1IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eTo6aW52YWxpZGF0ZSgpCiAgICAgaW52YWxpZGF0ZUVsZW1lbnQobV90YXJnZXQuZ2V0KCkpOwog
fQogCi1ib29sIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNob3VsZFJ1bkFjY2VsZXJhdGVkKCkK
K3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6Y29tcHV0ZVNob3VsZFJ1bkFjY2VsZXJhdGVk
KCkKIHsKKyAgICBtX3Nob3VsZFJ1bkFjY2VsZXJhdGVkID0gaGFzQmxlbmRpbmdLZXlmcmFtZXMo
KTsKICAgICBmb3IgKGF1dG8gY3NzUHJvcGVydHlJZCA6IG1fYmxlbmRpbmdLZXlmcmFtZXMucHJv
cGVydGllcygpKSB7Ci0gICAgICAgIGlmICghQ1NTUHJvcGVydHlBbmltYXRpb246OmFuaW1hdGlv
bk9mUHJvcGVydHlJc0FjY2VsZXJhdGVkKGNzc1Byb3BlcnR5SWQpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBpZiAoIUNTU1Byb3BlcnR5QW5pbWF0aW9uOjphbmltYXRpb25P
ZlByb3BlcnR5SXNBY2NlbGVyYXRlZChjc3NQcm9wZXJ0eUlkKSkgeworICAgICAgICAgICAgbV9z
aG91bGRSdW5BY2NlbGVyYXRlZCA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAgICAgfQotICAgIHJldHVybiBoYXNCbGVuZGluZ0tleWZyYW1lcygpOwogfQogCiB2b2lk
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmdldEFuaW1hdGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkKQEAgLTExNDMsNyArMTE0MSwyOSBAQCBUaW1p
bmdGdW5jdGlvbiogS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6dGltaW5nRnVuY3Rpb25Gb3JLZXlm
cmFtZUF0SW5kZXgoc2l6ZV90CiAgICAgcmV0dXJuIGRvd25jYXN0PERlY2xhcmF0aXZlQW5pbWF0
aW9uPihlZmZlY3RBbmltYXRpb24pLT5iYWNraW5nQW5pbWF0aW9uKCkudGltaW5nRnVuY3Rpb24o
KTsKIH0KIAotdm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpzdGFydE9yU3RvcEFjY2VsZXJh
dGVkKCkKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YW5pbWF0aW9uUGxheVN0YXRlRGlk
Q2hhbmdlKFdlYkFuaW1hdGlvbjo6UGxheVN0YXRlIHBsYXlTdGF0ZSkKK3sKKyAgICBpZiAocGxh
eVN0YXRlID09IFdlYkFuaW1hdGlvbjo6UGxheVN0YXRlOjpSdW5uaW5nKQorICAgICAgICBhZGRQ
ZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb246OlBsYXkpOworICAgIGVs
c2UgaWYgKHBsYXlTdGF0ZSA9PSBXZWJBbmltYXRpb246OlBsYXlTdGF0ZTo6UGF1c2VkKQorICAg
ICAgICBhZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb246OlBhdXNl
KTsKK307CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YW5pbWF0aW9uRGlkU2Vlaygp
Cit7CisgICAgYWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKEFjY2VsZXJhdGVkQWN0aW9uOjpT
ZWVrKTsKK30KKwordm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphZGRQZW5kaW5nQWNjZWxl
cmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb24gYWN0aW9uKQoreworICAgIGlmICghbV9zaG91
bGRSdW5BY2NlbGVyYXRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wZW5kaW5nQWNjZWxl
cmF0ZWRBY3Rpb25zLmFwcGVuZChhY3Rpb24pOworICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRl
ZFN0YXRlRGlkQ2hhbmdlKCk7Cit9CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YXBw
bHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKIHsKICAgICBhdXRvKiByZW5kZXJlciA9IHRo
aXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQ29tcG9z
aXRlZCgpKQpAQCAtMTE1MSw5ICsxMTcxLDI0IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eTo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCiAKICAgICBhdXRvKiBjb21wb3NpdGVkUmVuZGVy
ZXIgPSBkb3duY2FzdDxSZW5kZXJCb3hNb2RlbE9iamVjdD4ocmVuZGVyZXIpOwogICAgIGlmICht
X3N0YXJ0ZWRBY2NlbGVyYXRlZCkgewotICAgICAgICBhdXRvIGFuaW1hdGlvbiA9IEFuaW1hdGlv
bjo6Y3JlYXRlKCk7Ci0gICAgICAgIGFuaW1hdGlvbi0+c2V0RHVyYXRpb24odGltaW5nKCktPml0
ZXJhdGlvbkR1cmF0aW9uKCkuc2Vjb25kcygpKTsKLSAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVy
LT5zdGFydEFuaW1hdGlvbigwLCBhbmltYXRpb24ucHRyKCksIG1fYmxlbmRpbmdLZXlmcmFtZXMp
OworICAgICAgICBhdXRvIHRpbWVPZmZzZXQgPSBhbmltYXRpb24oKS0+Y3VycmVudFRpbWUoKS52
YWx1ZSgpLnNlY29uZHMoKTsKKyAgICAgICAgaWYgKHRpbWluZygpLT5kZWxheSgpIDwgMF9zKQor
ICAgICAgICAgICAgdGltZU9mZnNldCA9IC10aW1pbmcoKS0+ZGVsYXkoKS5zZWNvbmRzKCk7CisK
KyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBhY3Rpb24gOiBtX3BlbmRpbmdBY2NlbGVyYXRlZEFj
dGlvbnMpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgICBjYXNl
IEFjY2VsZXJhdGVkQWN0aW9uOjpQbGF5OgorICAgICAgICAgICAgICAgIGNvbXBvc2l0ZWRSZW5k
ZXJlci0+c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYmFja2luZ0FuaW1hdGlvbkZvckNvbXBv
c2l0ZWRSZW5kZXJlcigpLnB0cigpLCBtX2JsZW5kaW5nS2V5ZnJhbWVzKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQWNjZWxlcmF0ZWRBY3Rpb246OlBhdXNlOgor
ICAgICAgICAgICAgICAgIGNvbXBvc2l0ZWRSZW5kZXJlci0+YW5pbWF0aW9uUGF1c2VkKHRpbWVP
ZmZzZXQsIG1fYmxlbmRpbmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQWNjZWxlcmF0ZWRBY3Rpb246OlNlZWs6Cisg
ICAgICAgICAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVyLT5hbmltYXRpb25TZWVrZWQodGltZU9m
ZnNldCwgbV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRpb25OYW1lKCkpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG1fcGVuZGluZ0Fj
Y2VsZXJhdGVkQWN0aW9ucy5jbGVhcigpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGNvbXBvc2l0
ZWRSZW5kZXJlci0+YW5pbWF0aW9uRmluaXNoZWQobV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRp
b25OYW1lKCkpOwogICAgICAgICBpZiAoIW1fdGFyZ2V0LT5kb2N1bWVudCgpLnJlbmRlclRyZWVC
ZWluZ0Rlc3Ryb3llZCgpKQpAQCAtMTE2MSw2ICsxMTk2LDU1IEBAIHZvaWQgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seTo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCiAgICAgfQogfQogCitSZWY8Y29u
c3QgQW5pbWF0aW9uPiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpiYWNraW5nQW5pbWF0aW9uRm9y
Q29tcG9zaXRlZFJlbmRlcmVyKCkgY29uc3QKK3sKKyAgICBhdXRvIGVmZmVjdEFuaW1hdGlvbiA9
IGFuaW1hdGlvbigpOworICAgIGlmIChpczxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oZWZmZWN0QW5p
bWF0aW9uKSkKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PERlY2xhcmF0aXZlQW5pbWF0aW9uPihl
ZmZlY3RBbmltYXRpb24pLT5iYWNraW5nQW5pbWF0aW9uKCk7CisKKyAgICAvLyBGSVhNRTogVGhl
IGl0ZXJhdGlvblN0YXJ0IGFuZCBlbmREZWxheSBBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25s
eSBwcm9wZXJ0aWVzIGRvIG5vdCBoYXZlCisgICAgLy8gY29ycmVzcG9uZGluZyBBbmltYXRpb24g
cHJvcGVydGllcy4KKyAgICBhdXRvIGVmZmVjdFRpbWluZyA9IHRpbWluZygpOworICAgIGF1dG8g
YW5pbWF0aW9uID0gQW5pbWF0aW9uOjpjcmVhdGUoKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0
aW9uKGVmZmVjdFRpbWluZy0+aXRlcmF0aW9uRHVyYXRpb24oKS5zZWNvbmRzKCkpOworICAgIGFu
aW1hdGlvbi0+c2V0RGVsYXkoZWZmZWN0VGltaW5nLT5kZWxheSgpLnNlY29uZHMoKSk7CisgICAg
YW5pbWF0aW9uLT5zZXRJdGVyYXRpb25Db3VudChlZmZlY3RUaW1pbmctPml0ZXJhdGlvbnMoKSk7
CisgICAgYW5pbWF0aW9uLT5zZXRUaW1pbmdGdW5jdGlvbihlZmZlY3RUaW1pbmctPnRpbWluZ0Z1
bmN0aW9uKCktPmNsb25lKCkpOworCisgICAgc3dpdGNoIChlZmZlY3RUaW1pbmctPmZpbGwoKSkg
eworICAgIGNhc2UgRmlsbE1vZGU6Ok5vbmU6CisgICAgY2FzZSBGaWxsTW9kZTo6QXV0bzoKKyAg
ICAgICAgYW5pbWF0aW9uLT5zZXRGaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZU5vbmUpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEZpbGxNb2RlOjpCYWNrd2FyZHM6CisgICAgICAgIGFuaW1h
dGlvbi0+c2V0RmlsbE1vZGUoQW5pbWF0aW9uRmlsbE1vZGVCYWNrd2FyZHMpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEZpbGxNb2RlOjpGb3J3YXJkczoKKyAgICAgICAgYW5pbWF0aW9uLT5z
ZXRGaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZUZvcndhcmRzKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBGaWxsTW9kZTo6Qm90aDoKKyAgICAgICAgYW5pbWF0aW9uLT5zZXRGaWxsTW9kZShB
bmltYXRpb25GaWxsTW9kZUJvdGgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBzd2l0
Y2ggKGVmZmVjdFRpbWluZy0+ZGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIFBsYXliYWNrRGlyZWN0
aW9uOjpOb3JtYWw6CisgICAgICAgIGFuaW1hdGlvbi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6
QW5pbWF0aW9uRGlyZWN0aW9uTm9ybWFsKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQbGF5
YmFja0RpcmVjdGlvbjo6QWx0ZXJuYXRlOgorICAgICAgICBhbmltYXRpb24tPnNldERpcmVjdGlv
bihBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUGxheWJhY2tEaXJlY3Rpb246OlJldmVyc2U6CisgICAgICAgIGFuaW1hdGlv
bi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uUmV2ZXJzZSk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxheWJhY2tEaXJlY3Rpb246OkFsdGVybmF0ZVJldmVy
c2U6CisgICAgICAgIGFuaW1hdGlvbi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9u
RGlyZWN0aW9uQWx0ZXJuYXRlUmV2ZXJzZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAg
IHJldHVybiBhbmltYXRpb247Cit9CisKIFJlbmRlckVsZW1lbnQqIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHk6OnJlbmRlcmVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV90YXJnZXQgPyBtX3Rhcmdl
dC0+cmVuZGVyZXIoKSA6IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0tleWZyYW1lRWZmZWN0UmVhZE9ubHkuaAppbmRleCAxNWI0NWQ2NmJlMDljOTVlZjllOGU5MWI4
MzlkMmQxNDFmZTlmMTM0Li4xOWZhMmVlY2M5YWVlZDE1ZDVkMzI1YTY3MGQwY2ZkZDg0YTJmMjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFk
T25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRP
bmx5LmgKQEAgLTk4LDEyICs5OCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRBbmltYXRlZFN0
eWxlKHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUpOwogICAgIHZv
aWQgYXBwbHkoUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGludmFsaWRhdGUoKSBv
dmVycmlkZTsKLSAgICB2b2lkIHN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsKKyAgICB2b2lkIGFu
aW1hdGlvblBsYXlTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb246OlBsYXlTdGF0ZSkgZmluYWw7
CisgICAgdm9pZCBhbmltYXRpb25EaWRTZWVrKCkgZmluYWw7CisgICAgdm9pZCBhcHBseVBlbmRp
bmdBY2NlbGVyYXRlZEFjdGlvbnMoKTsKICAgICBib29sIGlzUnVubmluZ0FjY2VsZXJhdGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGFydGVkQWNjZWxlcmF0ZWQ7IH0KIAogICAgIFJlbmRlckVsZW1l
bnQqIHJlbmRlcmVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIGN1
cnJlbnRTdHlsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc0FjY2VsZXJhdGVkKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGFydGVkQWNjZWxlcmF0ZWQ7IH0KICAgICBib29s
IGZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fZmls
dGVyRnVuY3Rpb25MaXN0c01hdGNoOyB9CiAgICAgYm9vbCB0cmFuc2Zvcm1GdW5jdGlvbkxpc3Rz
TWF0Y2goKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3RyYW5zZm9ybUZ1bmN0aW9uTGlzdHNN
YXRjaDsgfQogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCkBAIC0xMjUsMTEgKzEyNywxNCBA
QCBwcm90ZWN0ZWQ6CiAgICAgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShDbGFzc1R5cGUsIFJlZjxB
bmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25seT4mJiwgRWxlbWVudCopOwogCiBwcml2YXRlOgor
ICAgIGVudW0gY2xhc3MgQWNjZWxlcmF0ZWRBY3Rpb24geyBQbGF5LCBQYXVzZSwgU2VlayB9Owor
ICAgIHZvaWQgYWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKEFjY2VsZXJhdGVkQWN0aW9uKTsK
ICAgICB2b2lkIHNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUoUmVuZGVyU3R5bGUmLCBkb3Vi
bGUpOwogICAgIFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbkZvcktleWZyYW1lQXRJbmRl
eChzaXplX3QpOworICAgIFJlZjxjb25zdCBBbmltYXRpb24+IGJhY2tpbmdBbmltYXRpb25Gb3JD
b21wb3NpdGVkUmVuZGVyZXIoKSBjb25zdDsKICAgICB2b2lkIGNvbXB1dGVTdGFja2luZ0NvbnRl
eHRJbXBhY3QoKTsKICAgICB2b2lkIHVwZGF0ZUJsZW5kaW5nS2V5ZnJhbWVzKCk7Ci0gICAgYm9v
bCBzaG91bGRSdW5BY2NlbGVyYXRlZCgpOworICAgIHZvaWQgY29tcHV0ZVNob3VsZFJ1bkFjY2Vs
ZXJhdGVkKCk7CiAgICAgdm9pZCBzZXRCbGVuZGluZ0tleWZyYW1lcyhLZXlmcmFtZUxpc3QmKTsK
ICAgICB2b2lkIGNoZWNrRm9yTWF0Y2hpbmdUcmFuc2Zvcm1GdW5jdGlvbkxpc3RzKCk7CiAgICAg
dm9pZCBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cygpOwpAQCAtMTM3LDYgKzE0
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQmFja2Ryb3BGaWx0ZXJG
dW5jdGlvbkxpc3RzKCk7CiAjZW5kaWYKIAorICAgIGJvb2wgbV9zaG91bGRSdW5BY2NlbGVyYXRl
ZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3RyaWdnZXJzU3RhY2tpbmdDb250ZXh0IHsgZmFsc2Ug
fTsKICAgICBib29sIG1fc3RhcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0YXJ0ZWRBY2Nl
bGVyYXRlZCB7IGZhbHNlIH07CkBAIC0xNDksNiArMTU1LDggQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8RWxlbWVudD4gbV90YXJnZXQ7CiAgICAgS2V5ZnJhbWVMaXN0IG1fYmxlbmRpbmdLZXlmcmFt
ZXM7CiAgICAgVmVjdG9yPFBhcnNlZEtleWZyYW1lPiBtX3BhcnNlZEtleWZyYW1lczsKKworICAg
IFZlY3RvcjxBY2NlbGVyYXRlZEFjdGlvbj4gbV9wZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmNwcAppbmRleCAzZGYwMTRmOTFjZDM0ZmVmMGZiNGI2MzJjNTFiZWY4Yjk0Yjdk
MWI2Li41ZGU2ZTk0ZjU5MzVlODE1ZjU5ZGJmNjBkMDg3ODYwYTNkZTM0OWIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMzgzLDYgKzM4Myw5IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6c2V0Q3VycmVudFRpbWUoc3RkOjpvcHRpb25h
bDxTZWNvbmRzPiBzZWVrVGltZSkKICAgICAvLyAzLiBSdW4gdGhlIHByb2NlZHVyZSB0byB1cGRh
dGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlvbiB3aXRoIHRoZSBk
aWQgc2VlayBmbGFnIHNldCB0byB0cnVlLCBhbmQgdGhlIHN5bmNocm9ub3VzbHkgbm90aWZ5IGZs
YWcgc2V0IHRvIGZhbHNlLgogICAgIHVwZGF0ZUZpbmlzaGVkU3RhdGUoRGlkU2Vlazo6WWVzLCBT
eW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3QpCisgICAgICAgIG1f
ZWZmZWN0LT5hbmltYXRpb25EaWRTZWVrKCk7CisKICAgICByZXR1cm4geyB9OwogfQogCkBAIC03
NzksNiArNzgyLDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpwbGF5KEF1dG9S
ZXdpbmQgYXV0b1Jld2luZCkKICAgICAvLyA5LiBSdW4gdGhlIHByb2NlZHVyZSB0byB1cGRhdGUg
YW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlvbiB3aXRoIHRoZSBkaWQg
c2VlayBmbGFnIHNldCB0byBmYWxzZSwgYW5kIHRoZSBzeW5jaHJvbm91c2x5IG5vdGlmeSBmbGFn
IHNldCB0byBmYWxzZS4KICAgICB1cGRhdGVGaW5pc2hlZFN0YXRlKERpZFNlZWs6Ok5vLCBTeW5j
aHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3QpCisgICAgICAgIG1fZWZm
ZWN0LT5hbmltYXRpb25QbGF5U3RhdGVEaWRDaGFuZ2UoUGxheVN0YXRlOjpSdW5uaW5nKTsKKwog
ICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTg3NSw2ICs4ODEsOSBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBXZWJBbmltYXRpb246OnBhdXNlKCkKICAgICAvLyA4LiBSdW4gdGhlIHByb2NlZHVyZSB0byB1
cGRhdGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlvbiB3aXRoIHRo
ZSBkaWQgc2VlayBmbGFnIHNldCB0byBmYWxzZSwgYW5kIHRoZSBzeW5jaHJvbm91c2x5IG5vdGlm
eSBmbGFnIHNldCB0byBmYWxzZS4KICAgICB1cGRhdGVGaW5pc2hlZFN0YXRlKERpZFNlZWs6Ok5v
LCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3QpCisgICAgICAg
IG1fZWZmZWN0LT5hbmltYXRpb25QbGF5U3RhdGVEaWRDaGFuZ2UoUGxheVN0YXRlOjpQYXVzZWQp
OworCiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtMTAwOCwxNiArMTAxNywxNiBAQCB2b2lkIFdl
YkFuaW1hdGlvbjo6cmVzb2x2ZShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUpCiAgICAgICAgIG1f
ZWZmZWN0LT5hcHBseSh0YXJnZXRTdHlsZSk7CiB9CiAKLXZvaWQgV2ViQW5pbWF0aW9uOjphY2Nl
bGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSgpCit2b2lkIFdlYkFuaW1hdGlvbjo6YWNjZWxl
cmF0ZWRTdGF0ZURpZENoYW5nZSgpCiB7CiAgICAgaWYgKGlzPERvY3VtZW50VGltZWxpbmU+KG1f
dGltZWxpbmUpKQogICAgICAgICBkb3duY2FzdDxEb2N1bWVudFRpbWVsaW5lPigqbV90aW1lbGlu
ZSkuYW5pbWF0aW9uQWNjZWxlcmF0ZWRSdW5uaW5nU3RhdGVEaWRDaGFuZ2UoKnRoaXMpOwogfQog
Ci12b2lkIFdlYkFuaW1hdGlvbjo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCit2b2lkIFdlYkFu
aW1hdGlvbjo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKIHsKICAgICBpZiAoaXM8
S2V5ZnJhbWVFZmZlY3RSZWFkT25seT4obV9lZmZlY3QpKQotICAgICAgICBkb3duY2FzdDxLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5PigqbV9lZmZlY3QpLnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsK
KyAgICAgICAgZG93bmNhc3Q8S2V5ZnJhbWVFZmZlY3RSZWFkT25seT4oKm1fZWZmZWN0KS5hcHBs
eVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKTsKIH0KIAogV2ViQW5pbWF0aW9uJiBXZWJBbmlt
YXRpb246OnJlYWR5UHJvbWlzZVJlc29sdmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5oCmluZGV4IGQ3OTg3MDZmN2U3MmU1YWRiMDNkMGQ1NjFhZmQzOTk5YmM3NDQzM2Eu
LjI1MzI4NGE2YmIyNGM1NmRmYjRlYWI4Mzc2YjBmNDBjOGY1NWQwZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBwdWJsaWM6CiAg
ICAgU2Vjb25kcyB0aW1lVG9OZXh0UmVxdWlyZWRUaWNrKCkgY29uc3Q7CiAgICAgdm9pZCByZXNv
bHZlKFJlbmRlclN0eWxlJik7CiAgICAgdm9pZCBlZmZlY3RUYXJnZXREaWRDaGFuZ2UoRWxlbWVu
dCogcHJldmlvdXNUYXJnZXQsIEVsZW1lbnQqIG5ld1RhcmdldCk7Ci0gICAgdm9pZCBhY2NlbGVy
YXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSgpOwotICAgIHZvaWQgc3RhcnRPclN0b3BBY2NlbGVy
YXRlZCgpOworICAgIHZvaWQgYWNjZWxlcmF0ZWRTdGF0ZURpZENoYW5nZSgpOworICAgIHZvaWQg
YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCk7CiAKICAgICB2b2lkIHRpbWluZ01vZGVs
RGlkQ2hhbmdlKCk7CiAgICAgdm9pZCBzdXNwZW5kRWZmZWN0SW52YWxpZGF0aW9uKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXgg
NzUwMDIzZjJkMjhlMWM3NmIzMzAxNTczNzhlMDE3YjA5NzIwMDE1Zi4uNTU4Y2RiMTIyYzFiMjY4
NjA2MzY2NGUyOTIxZWQ2YWNhYmY3Mzc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtNDUyLDYgKzQ1Miw3IEBAIHB1YmxpYzoK
ICAgICAvLyBUaGVzZSBtZXRob2RzIGhhbmRsZSBib3RoIHRyYW5zaXRpb25zIGFuZCBrZXlmcmFt
ZSBhbmltYXRpb25zLgogICAgIHZpcnR1YWwgYm9vbCBhZGRBbmltYXRpb24oY29uc3QgS2V5ZnJh
bWVWYWx1ZUxpc3QmLCBjb25zdCBGbG9hdFNpemUmIC8qYm94U2l6ZSovLCBjb25zdCBBbmltYXRp
b24qLCBjb25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovLCBkb3VibGUgLyp0aW1lT2Zmc2V0
Ki8pICB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwYXVzZUFuaW1hdGlvbihj
b25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovLCBkb3VibGUgLyp0aW1lT2Zmc2V0Ki8pIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzZWVrQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgLyphbmltYXRp
b25OYW1lKi8sIGRvdWJsZSAvKnRpbWVPZmZzZXQqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJl
bW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovKSB7IH0KIAogICAg
IFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNU
aW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IGFhYjU0OTVmMjQyMThmYmJmOGQ2YTYzNmUyYjk0Yjk2
NmZiMjlkZjQuLmRlMjc2MmNlZTI0OTAyZmE2MjkyMTAxMDJjYTcxZWQxMjg1NzZhOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJD
QS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmNwcApAQCAtMTAwNiw2ICsxMDA2LDE4IEBAIGJvb2wgR3JhcGhpY3NMYXllckNBOjph
bmltYXRpb25DYW5CZUFjY2VsZXJhdGVkKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNBOjphZGRQcm9jZXNz
aW5nQWN0aW9uRm9yQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgQW5pbWF0
aW9uUHJvY2Vzc2luZ0FjdGlvbiBwcm9jZXNzaW5nQWN0aW9uKQoreworICAgIGF1dG8mIHByb2Nl
c3NpbmdBY3Rpb25zID0gbV9hbmltYXRpb25zVG9Qcm9jZXNzLmVuc3VyZShhbmltYXRpb25OYW1l
LCBbXSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8QW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbj4g
eyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKworICAgIGlmICghcHJvY2Vzc2luZ0FjdGlv
bnMuaXNFbXB0eSgpICYmIHByb2Nlc3NpbmdBY3Rpb25zLmxhc3QoKS5hY3Rpb24gPT0gUmVtb3Zl
KQorICAgICAgICByZXR1cm47CisKKyAgICBwcm9jZXNzaW5nQWN0aW9ucy5hcHBlbmQocHJvY2Vz
c2luZ0FjdGlvbik7Cit9CisKIGJvb2wgR3JhcGhpY3NMYXllckNBOjphZGRBbmltYXRpb24oY29u
c3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgY29uc3QgRmxvYXRTaXplJiBib3hTaXpl
LCBjb25zdCBBbmltYXRpb24qIGFuaW0sIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91
YmxlIHRpbWVPZmZzZXQpCiB7CiAgICAgTE9HKEFuaW1hdGlvbnMsICJHcmFwaGljc0xheWVyQ0Eg
JXAgYWRkQW5pbWF0aW9uICVzIChjYW4gYmUgYWNjZWxlcmF0ZWQgJWQpIiwgdGhpcywgYW5pbWF0
aW9uTmFtZS51dGY4KCkuZGF0YSgpLCBhbmltYXRpb25DYW5CZUFjY2VsZXJhdGVkKHZhbHVlTGlz
dCwgYW5pbSkpOwpAQCAtMTA0MSwxMSArMTA1MywxOCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6
cGF1c2VBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9m
ZgogewogICAgIExPRyhBbmltYXRpb25zLCAiR3JhcGhpY3NMYXllckNBICVwIHBhdXNlQW5pbWF0
aW9uICVzIChydW5uaW5nICVkKSIsIHRoaXMsIGFuaW1hdGlvbk5hbWUudXRmOCgpLmRhdGEoKSwg
YW5pbWF0aW9uSXNSdW5uaW5nKGFuaW1hdGlvbk5hbWUpKTsKIAotICAgIGlmICghYW5pbWF0aW9u
SXNSdW5uaW5nKGFuaW1hdGlvbk5hbWUpKQotICAgICAgICByZXR1cm47CisgICAgLy8gQ2FsbCBh
ZGQgc2luY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIFJlbW92ZSBpbiB0aGVyZSwgd2UgZG9uJ3Qg
d2FudCB0byBvdmVyd3JpdGUgaXQgd2l0aCBhIFBhdXNlLgorICAgIGFkZFByb2Nlc3NpbmdBY3Rp
b25Gb3JBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7
IFBhdXNlLCBTZWNvbmRzIHsgdGltZU9mZnNldCB9IH0pOworCisgICAgbm90ZUxheWVyUHJvcGVy
dHlDaGFuZ2VkKEFuaW1hdGlvbkNoYW5nZWQpOworfQorCit2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6
c2Vla0FuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lT2Zm
c2V0KQoreworICAgIExPRyhBbmltYXRpb25zLCAiR3JhcGhpY3NMYXllckNBICVwIHNlZWtBbmlt
YXRpb24gJXMgKHJ1bm5pbmcgJWQpIiwgdGhpcywgYW5pbWF0aW9uTmFtZS51dGY4KCkuZGF0YSgp
LCBhbmltYXRpb25Jc1J1bm5pbmcoYW5pbWF0aW9uTmFtZSkpOwogCiAgICAgLy8gQ2FsbCBhZGQg
c2luY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIFJlbW92ZSBpbiB0aGVyZSwgd2UgZG9uJ3Qgd2Fu
dCB0byBvdmVyd3JpdGUgaXQgd2l0aCBhIFBhdXNlLgotICAgIG1fYW5pbWF0aW9uc1RvUHJvY2Vz
cy5hZGQoYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7IFBhdXNlLCBT
ZWNvbmRzIHsgdGltZU9mZnNldCB9IH0pOworICAgIGFkZFByb2Nlc3NpbmdBY3Rpb25Gb3JBbmlt
YXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7IFNlZWssIFNl
Y29uZHMgeyB0aW1lT2Zmc2V0IH0gfSk7CiAKICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQo
QW5pbWF0aW9uQ2hhbmdlZCk7CiB9CkBAIC0xMDU3LDcgKzEwNzYsNyBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJDQTo6cmVtb3ZlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKICAg
ICBpZiAoIWFuaW1hdGlvbklzUnVubmluZyhhbmltYXRpb25OYW1lKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9hbmltYXRpb25zVG9Qcm9jZXNzLmFkZChhbmltYXRpb25OYW1lLCBBbmltYXRp
b25Qcm9jZXNzaW5nQWN0aW9uKFJlbW92ZSkpOworICAgIGFkZFByb2Nlc3NpbmdBY3Rpb25Gb3JB
bmltYXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbihSZW1vdmUp
KTsKICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQW5pbWF0aW9uQ2hhbmdlZCk7CiB9CiAK
QEAgLTI3NjEsNDEgKzI3ODAsMTIgQEAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gR3JhcGhpY3NM
YXllckNBOjpyZXBsaWNhdGVkTGF5ZXJSb290KFJlcGxpY2FTdGF0ZSYgcmVwbGkKIAogdm9pZCBH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZUFuaW1hdGlvbnMoKQogewotICAgIGlmIChtX2FuaW1hdGlv
bnNUb1Byb2Nlc3Muc2l6ZSgpKSB7Ci0gICAgICAgIEFuaW1hdGlvbnNUb1Byb2Nlc3NNYXA6OmNv
bnN0X2l0ZXJhdG9yIGVuZCA9IG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5lbmQoKTsKLSAgICAgICAg
Zm9yIChBbmltYXRpb25zVG9Qcm9jZXNzTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fYW5pbWF0
aW9uc1RvUHJvY2Vzcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIGNv
bnN0IFN0cmluZyYgY3VyckFuaW1hdGlvbk5hbWUgPSBpdC0+a2V5OwotICAgICAgICAgICAgQW5p
bWF0aW9uc01hcDo6aXRlcmF0b3IgYW5pbWF0aW9uSXQgPSBtX3J1bm5pbmdBbmltYXRpb25zLmZp
bmQoY3VyckFuaW1hdGlvbk5hbWUpOwotICAgICAgICAgICAgaWYgKGFuaW1hdGlvbkl0ID09IG1f
cnVubmluZ0FuaW1hdGlvbnMuZW5kKCkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAg
ICAgICAgICAgIGNvbnN0IEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24mIHByb2Nlc3NpbmdJbmZv
ID0gaXQtPnZhbHVlOwotICAgICAgICAgICAgY29uc3QgVmVjdG9yPExheWVyUHJvcGVydHlBbmlt
YXRpb24+JiBhbmltYXRpb25zID0gYW5pbWF0aW9uSXQtPnZhbHVlOwotICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhbmltYXRpb25zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgY29uc3QgTGF5ZXJQcm9wZXJ0eUFuaW1hdGlvbiYgY3VyckFuaW1hdGlvbiA9IGFuaW1h
dGlvbnNbaV07Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwcm9jZXNzaW5nSW5mby5hY3Rpb24p
IHsKLSAgICAgICAgICAgICAgICBjYXNlIFJlbW92ZToKLSAgICAgICAgICAgICAgICAgICAgcmVt
b3ZlQ0FBbmltYXRpb25Gcm9tTGF5ZXIoY3VyckFuaW1hdGlvbi5tX3Byb3BlcnR5LCBjdXJyQW5p
bWF0aW9uTmFtZSwgY3VyckFuaW1hdGlvbi5tX2luZGV4LCBjdXJyQW5pbWF0aW9uLm1fc3ViSW5k
ZXgpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIFBh
dXNlOgotICAgICAgICAgICAgICAgICAgICBwYXVzZUNBQW5pbWF0aW9uT25MYXllcihjdXJyQW5p
bWF0aW9uLm1fcHJvcGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0aW9uLm1faW5k
ZXgsIGN1cnJBbmltYXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGltZU9mZnNldCk7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKHByb2Nlc3NpbmdJbmZvLmFjdGlvbiA9PSBSZW1vdmUp
Ci0gICAgICAgICAgICAgICAgbV9ydW5uaW5nQW5pbWF0aW9ucy5yZW1vdmUoY3VyckFuaW1hdGlv
bk5hbWUpOwotICAgICAgICB9Ci0gICAgCi0gICAgICAgIG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5j
bGVhcigpOwotICAgIH0KLSAgICAKICAgICBzaXplX3QgbnVtQW5pbWF0aW9uczsKICAgICBpZiAo
KG51bUFuaW1hdGlvbnMgPSBtX3VuY29taXR0ZWRBbmltYXRpb25zLnNpemUoKSkpIHsKICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1BbmltYXRpb25zOyArK2kpIHsKICAgICAgICAg
ICAgIGNvbnN0IExheWVyUHJvcGVydHlBbmltYXRpb24mIHBlbmRpbmdBbmltYXRpb24gPSBtX3Vu
Y29taXR0ZWRBbmltYXRpb25zW2ldOwogICAgICAgICAgICAgc2V0QW5pbWF0aW9uT25MYXllcigq
cGVuZGluZ0FuaW1hdGlvbi5tX2FuaW1hdGlvbiwgcGVuZGluZ0FuaW1hdGlvbi5tX3Byb3BlcnR5
LCBwZW5kaW5nQW5pbWF0aW9uLm1fbmFtZSwgcGVuZGluZ0FuaW1hdGlvbi5tX2luZGV4LCBwZW5k
aW5nQW5pbWF0aW9uLm1fc3ViSW5kZXgsIHBlbmRpbmdBbmltYXRpb24ubV90aW1lT2Zmc2V0KTsK
LSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBBbmltYXRpb25zTWFwOjppdGVyYXRvciBpdCA9
IG1fcnVubmluZ0FuaW1hdGlvbnMuZmluZChwZW5kaW5nQW5pbWF0aW9uLm1fbmFtZSk7CiAgICAg
ICAgICAgICBpZiAoaXQgPT0gbV9ydW5uaW5nQW5pbWF0aW9ucy5lbmQoKSkgewogICAgICAgICAg
ICAgICAgIFZlY3RvcjxMYXllclByb3BlcnR5QW5pbWF0aW9uPiBhbmltYXRpb25zOwpAQCAtMjgw
OCw2ICsyNzk4LDQwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmltYXRpb25zKCkK
ICAgICAgICAgfQogICAgICAgICBtX3VuY29taXR0ZWRBbmltYXRpb25zLmNsZWFyKCk7CiAgICAg
fQorCisgICAgaWYgKG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5zaXplKCkpIHsKKyAgICAgICAgQW5p
bWF0aW9uc1RvUHJvY2Vzc01hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9hbmltYXRpb25zVG9Q
cm9jZXNzLmVuZCgpOworICAgICAgICBmb3IgKEFuaW1hdGlvbnNUb1Byb2Nlc3NNYXA6OmNvbnN0
X2l0ZXJhdG9yIGl0ID0gbV9hbmltYXRpb25zVG9Qcm9jZXNzLmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgeworICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBjdXJyQW5pbWF0aW9uTmFtZSA9IGl0
LT5rZXk7CisgICAgICAgICAgICBBbmltYXRpb25zTWFwOjppdGVyYXRvciBhbmltYXRpb25JdCA9
IG1fcnVubmluZ0FuaW1hdGlvbnMuZmluZChjdXJyQW5pbWF0aW9uTmFtZSk7CisgICAgICAgICAg
ICBpZiAoYW5pbWF0aW9uSXQgPT0gbV9ydW5uaW5nQW5pbWF0aW9ucy5lbmQoKSkKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwcm9jZXNz
aW5nSW5mbyA6IGl0LT52YWx1ZSkgeworICAgICAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxMYXll
clByb3BlcnR5QW5pbWF0aW9uPiYgYW5pbWF0aW9ucyA9IGFuaW1hdGlvbkl0LT52YWx1ZTsKKyAg
ICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFuaW1hdGlvbnMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgTGF5ZXJQcm9wZXJ0eUFuaW1hdGlvbiYg
Y3VyckFuaW1hdGlvbiA9IGFuaW1hdGlvbnNbaV07CisgICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAocHJvY2Vzc2luZ0luZm8uYWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgUmVt
b3ZlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ0FBbmltYXRpb25Gcm9tTGF5ZXIo
Y3VyckFuaW1hdGlvbi5tX3Byb3BlcnR5LCBjdXJyQW5pbWF0aW9uTmFtZSwgY3VyckFuaW1hdGlv
bi5tX2luZGV4LCBjdXJyQW5pbWF0aW9uLm1fc3ViSW5kZXgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgUGF1c2U6CisgICAgICAgICAg
ICAgICAgICAgICAgICBwYXVzZUNBQW5pbWF0aW9uT25MYXllcihjdXJyQW5pbWF0aW9uLm1fcHJv
cGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0aW9uLm1faW5kZXgsIGN1cnJBbmlt
YXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGltZU9mZnNldCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBTZWVrOgorICAg
ICAgICAgICAgICAgICAgICAgICAgc2Vla0NBQW5pbWF0aW9uT25MYXllcihjdXJyQW5pbWF0aW9u
Lm1fcHJvcGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0aW9uLm1faW5kZXgsIGN1
cnJBbmltYXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGltZU9mZnNldCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzaW5nSW5mby5hY3Rpb24g
PT0gUmVtb3ZlKQorICAgICAgICAgICAgICAgICAgICBtX3J1bm5pbmdBbmltYXRpb25zLnJlbW92
ZShjdXJyQW5pbWF0aW9uTmFtZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgfQorCisgICAg
ICAgIG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5jbGVhcigpOworICAgIH0KIH0KIAogYm9vbCBHcmFw
aGljc0xheWVyQ0E6OmlzUnVubmluZ1RyYW5zZm9ybUFuaW1hdGlvbigpIGNvbnN0CkBAIC0yOTE2
LDYgKzI5NDAsMzUgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnBhdXNlQ0FBbmltYXRpb25Pbkxh
eWVyKEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSwgY29uc3QKICAgICB9CiB9CiAKK3ZvaWQg
R3JhcGhpY3NMYXllckNBOjpzZWVrQ0FBbmltYXRpb25PbkxheWVyKEFuaW1hdGVkUHJvcGVydHlJ
RCBwcm9wZXJ0eSwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQgaW5kZXgsIGludCBz
dWJJbmRleCwgU2Vjb25kcyB0aW1lT2Zmc2V0KQoreworICAgIC8vIEZJWE1FOiB0aGlzIGNhbiBi
ZSByZWZhY3RvcmVkIGEgZmFpciBiaXQgb3IgbWVyZ2VkIHdpdGggcGF1c2VDQUFuaW1hdGlvbk9u
TGF5ZXIoKSB3aXRoIGFuIG9wZXJhdGlvbiBmbGFnLgorICAgIFBsYXRmb3JtQ0FMYXllciogbGF5
ZXIgPSBhbmltYXRlZExheWVyKHByb3BlcnR5KTsKKworICAgIFN0cmluZyBhbmltYXRpb25JRCA9
IGFuaW1hdGlvbklkZW50aWZpZXIoYW5pbWF0aW9uTmFtZSwgcHJvcGVydHksIGluZGV4LCBzdWJJ
bmRleCk7CisKKyAgICBSZWZQdHI8UGxhdGZvcm1DQUFuaW1hdGlvbj4gY3VyQW5pbSA9IGxheWVy
LT5hbmltYXRpb25Gb3JLZXkoYW5pbWF0aW9uSUQpOworICAgIGlmICghY3VyQW5pbSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gQW5pbWF0aW9ucyBvbiB0aGUgbGF5ZXIgYXJlIGltbXV0YWJs
ZSwgc28gd2UgaGF2ZSB0byBjbG9uZSBhbmQgbW9kaWZ5LgorICAgIFJlZlB0cjxQbGF0Zm9ybUNB
QW5pbWF0aW9uPiBuZXdBbmltID0gY3VyQW5pbS0+Y29weSgpOworCisgICAgbmV3QW5pbS0+c2V0
VGltZU9mZnNldCh0aW1lT2Zmc2V0LnNlY29uZHMoKSk7CisKKyAgICBsYXllci0+YWRkQW5pbWF0
aW9uRm9yS2V5KGFuaW1hdGlvbklELCAqbmV3QW5pbSk7IC8vIFRoaXMgd2lsbCByZXBsYWNlIHRo
ZSBydW5uaW5nIGFuaW1hdGlvbi4KKworICAgIC8vIFBhdXNlIHRoZSBhbmltYXRpb25zIG9uIHRo
ZSBjbG9uZXMgdG9vLgorICAgIGlmIChMYXllck1hcCogbGF5ZXJDbG9uZU1hcCA9IGFuaW1hdGVk
TGF5ZXJDbG9uZXMocHJvcGVydHkpKSB7CisgICAgICAgIGZvciAoYXV0byYgY2xvbmUgOiAqbGF5
ZXJDbG9uZU1hcCkgeworICAgICAgICAgICAgLy8gU2tpcCBpbW1lZGlhdGUgcmVwbGljYXMsIHNp
bmNlIHRoZXkgbW92ZSB3aXRoIHRoZSBvcmlnaW5hbC4KKyAgICAgICAgICAgIGlmIChtX3JlcGxp
Y2FMYXllciAmJiBpc1JlcGxpY2F0ZWRSb290Q2xvbmUoY2xvbmUua2V5KSkKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGNsb25lLnZhbHVlLT5hZGRBbmltYXRpb25Gb3JL
ZXkoYW5pbWF0aW9uSUQsICpuZXdBbmltKTsKKyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBH
cmFwaGljc0xheWVyQ0E6OnJlcGFpbnRMYXllckRpcnR5UmVjdHMoKQogewogICAgIGlmIChtX25l
ZWRzRnVsbFJlcGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggYzIyZTdjNmE5MTVkNGM5NTNlNDdhZDVj
MmQ5ZGU5MmNlMGQyYzM3NC4uMWQ4Mzc3MDM3NTZkNmY5NGQzNzc5NzEwY2M5ZGI0Mjc3ZTdkNWVj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhp
Y3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBib29sIGFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYsIGNvbnN0
IEZsb2F0U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiwgY29uc3QgU3RyaW5nJiBhbmlt
YXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwYXVzZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJs
ZSB0aW1lT2Zmc2V0KSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWtBbmlt
YXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkgb3Zl
cnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVBbmltYXRpb24oY29uc3QgU3Ry
aW5nJiBhbmltYXRpb25OYW1lKSBvdmVycmlkZTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0Q29udGVudHNUb0ltYWdlKEltYWdlKikgb3ZlcnJpZGU7CkBAIC00NDMsNiArNDQ0LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldEFuaW1hdGlvbk9uTGF5ZXIoUGxhdGZvcm1DQUFuaW1hdGlv
biYsIEFuaW1hdGVkUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQg
aW5kZXgsIGludCBzdWJJbmRleCwgU2Vjb25kcyB0aW1lT2Zmc2V0KTsKICAgICBib29sIHJlbW92
ZUNBQW5pbWF0aW9uRnJvbUxheWVyKEFuaW1hdGVkUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiBh
bmltYXRpb25OYW1lLCBpbnQgaW5kZXgsIGludCBzdWJJTmRleCk7CiAgICAgdm9pZCBwYXVzZUNB
QW5pbWF0aW9uT25MYXllcihBbmltYXRlZFByb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYgYW5pbWF0
aW9uTmFtZSwgaW50IGluZGV4LCBpbnQgc3ViSW5kZXgsIFNlY29uZHMgdGltZU9mZnNldCk7Cisg
ICAgdm9pZCBzZWVrQ0FBbmltYXRpb25PbkxheWVyKEFuaW1hdGVkUHJvcGVydHlJRCwgY29uc3Qg
U3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQgaW5kZXgsIGludCBzdWJJbmRleCwgU2Vjb25kcyB0
aW1lT2Zmc2V0KTsKIAogICAgIGVudW0gTW92ZU9yQ29weSB7IE1vdmUsIENvcHkgfTsKICAgICBz
dGF0aWMgdm9pZCBtb3ZlT3JDb3B5TGF5ZXJBbmltYXRpb24oTW92ZU9yQ29weSwgY29uc3QgU3Ry
aW5nJiBhbmltYXRpb25JZGVudGlmaWVyLCBQbGF0Zm9ybUNBTGF5ZXIgKmZyb21MYXllciwgUGxh
dGZvcm1DQUxheWVyICp0b0xheWVyKTsKQEAgLTUxOCw2ICs1MjAsMTggQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgcmVwYWludExheWVyRGlydHlSZWN0cygpOwogCisgICAgZW51bSBBY3Rpb24geyBS
ZW1vdmUsIFBhdXNlLCBTZWVrIH07CisgICAgc3RydWN0IEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rp
b24geworICAgICAgICBBbmltYXRpb25Qcm9jZXNzaW5nQWN0aW9uKEFjdGlvbiBhY3Rpb24gPSBS
ZW1vdmUsIFNlY29uZHMgdGltZU9mZnNldCA9IDBfcykKKyAgICAgICAgICAgIDogYWN0aW9uKGFj
dGlvbikKKyAgICAgICAgICAgICwgdGltZU9mZnNldCh0aW1lT2Zmc2V0KQorICAgICAgICB7Cisg
ICAgICAgIH0KKyAgICAgICAgQWN0aW9uIGFjdGlvbjsKKyAgICAgICAgU2Vjb25kcyB0aW1lT2Zm
c2V0OyAvLyBvbmx5IHVzZWQgZm9yIHBhdXNlCisgICAgfTsKKyAgICB2b2lkIGFkZFByb2Nlc3Np
bmdBY3Rpb25Gb3JBbmltYXRpb24oY29uc3QgU3RyaW5nJiwgQW5pbWF0aW9uUHJvY2Vzc2luZ0Fj
dGlvbik7CisKICAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBtX2xheWVyOyAvLyBUaGUgbWFp
biBsYXllcgogICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG1fc3RydWN0dXJhbExheWVyOyAv
LyBBIGxheWVyIHVzZWQgZm9yIHN0cnVjdHVyYWwgcmVhc29ucywgbGlrZSBwcmVzZXJ2ZXMtM2Qg
b3IgcmVwbGljYS1mbGF0dGVuaW5nLiBJcyB0aGUgcGFyZW50IG9mIG1fbGF5ZXIuCiAgICAgUmVm
UHRyPFBsYXRmb3JtQ0FMYXllcj4gbV9jb250ZW50c0NsaXBwaW5nTGF5ZXI7IC8vIEEgbGF5ZXIg
dXNlZCB0byBjbGlwIGlubmVyIGNvbnRlbnQKQEAgLTU4MSwxNyArNTk1LDcgQEAgcHJpdmF0ZToK
ICAgICAvLyBVbmNvbW1pdHRlZCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucy4KICAgICBWZWN0
b3I8TGF5ZXJQcm9wZXJ0eUFuaW1hdGlvbj4gbV91bmNvbWl0dGVkQW5pbWF0aW9uczsKICAgICAK
LSAgICBlbnVtIEFjdGlvbiB7IFJlbW92ZSwgUGF1c2UgfTsKLSAgICBzdHJ1Y3QgQW5pbWF0aW9u
UHJvY2Vzc2luZ0FjdGlvbiB7Ci0gICAgICAgIEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24oQWN0
aW9uIGFjdGlvbiA9IFJlbW92ZSwgU2Vjb25kcyB0aW1lT2Zmc2V0ID0gMF9zKQotICAgICAgICAg
ICAgOiBhY3Rpb24oYWN0aW9uKQotICAgICAgICAgICAgLCB0aW1lT2Zmc2V0KHRpbWVPZmZzZXQp
Ci0gICAgICAgIHsKLSAgICAgICAgfQotICAgICAgICBBY3Rpb24gYWN0aW9uOwotICAgICAgICBT
ZWNvbmRzIHRpbWVPZmZzZXQ7IC8vIG9ubHkgdXNlZCBmb3IgcGF1c2UKLSAgICB9OwotICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmcsIEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24+IEFuaW1hdGlv
bnNUb1Byb2Nlc3NNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgVmVjdG9yPEFuaW1h
dGlvblByb2Nlc3NpbmdBY3Rpb24+PiBBbmltYXRpb25zVG9Qcm9jZXNzTWFwOwogICAgIEFuaW1h
dGlvbnNUb1Byb2Nlc3NNYXAgbV9hbmltYXRpb25zVG9Qcm9jZXNzOwogCiAgICAgLy8gTWFwIG9m
IGFuaW1hdGlvbiBuYW1lcyB0byB0aGVpciBhc3NvY2lhdGVkIGxpc3RzIG9mIHByb3BlcnR5IGFu
aW1hdGlvbnMsIHNvIHdlIGNhbiByZW1vdmUvcGF1c2UgdGhlbS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGZiYWFlOTJiNmEw
NGQ3ZTg2NzE3MGQ0MmFiYzI3YzI3MmZlMTljNmYuLjAxNGNkMTBiOGVkNDcxYmQ3NDVjZGNhMzc0
NjgwYzFhZjg3MGY5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMTk0LDYgKzE5NCwxMyBAQCB2b2lkIFJlbmRlckJveE1v
ZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmlu
ZyYgbmFtZQogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uUGF1c2VkKHRpbWVPZmZz
ZXQsIG5hbWUpOwogfQogCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjphbmltYXRpb25TZWVr
ZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICBBU1NFUlQo
aGFzTGF5ZXIoKSk7CisgICAgQVNTRVJUKGlzQ29tcG9zaXRlZCgpKTsKKyAgICBsYXllcigpLT5i
YWNraW5nKCktPmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKK30KKwogdm9pZCBS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiBuYW1l
KQogewogICAgIEFTU0VSVChoYXNMYXllcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKaW5kZXggNTMzMzgyM2UzYTZmMGE1NzFkODQwNTIx
YTVhODNiYTUwYzVjMThiMy4uY2E5Yjg4OTk4MmNhOTJmZGMzYzZmOGU4YTIwNWExZTA3MDVjZjJj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmgKQEAgLTIyOSw2ICsyMjksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHN0YXJ0QW5pbWF0aW9u
KGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBLZXlmcmFtZUxpc3Qm
IGtleWZyYW1lcyk7CiAgICAgdm9pZCBhbmltYXRpb25QYXVzZWQoZG91YmxlIHRpbWVPZmZzZXQs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CisgICAgdm9pZCBhbmltYXRpb25TZWVrZWQoZG91YmxlIHRp
bWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBhbmltYXRpb25GaW5pc2hl
ZChjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25v
dG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggN2IyNjIwYWQ3ZmY0MzE0YzAyZGYwMDFj
YTI2Y2Q5YzQ4ZTU5NjQ1Yy4uN2ZmYTYzZjY3NWE3ZTIzOGVjNmFlNjliMGQ2Y2Y3NTcwZDdmZmFk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKQEAgLTI3NzgsNiArMjc3OCwxMSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6YW5pbWF0
aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJpbmcmIGFuaW1hdAogICAgIG1f
Z3JhcGhpY3NMYXllci0+cGF1c2VBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgdGltZU9mZnNldCk7
CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphbmltYXRpb25TZWVrZWQoZG91YmxlIHRp
bWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKK3sKKyAgICBtX2dyYXBoaWNz
TGF5ZXItPnNlZWtBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgdGltZU9mZnNldCk7Cit9CisKIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIGFu
aW1hdGlvbk5hbWUpCiB7CiAgICAgbV9ncmFwaGljc0xheWVyLT5yZW1vdmVBbmltYXRpb24oYW5p
bWF0aW9uTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmgKaW5kZXggNWU1N2EzZThhZjk3YWQ0OTUzMGU5YjBkY2JlY2U4Y2FjYzg0Y2M1NC4uZDlj
MjZhNGY3N2JlNGNmNDFmOWRkY2NhY2U1MWJjMTA0YzAwZTQ5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTY3LDYgKzE2Nyw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgc3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0
IEFuaW1hdGlvbiogYW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpOwogICAgIHZv
aWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJp
bmcmIG5hbWUpOwogICAgIHZvaWQgYW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiBuYW1l
KTsKIAogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25p
Y1RpbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCmluZGV4IDlhZjJlNGQ2NzFlMmM4NzgyZTA3YzUxZTE3ZTI5YmE0MmQ1MmQ3
ZmUuLjAwYjRmZmUzZTQzYTI1Mzg3YjA1ZGRkZDMwNTNlYzk2Njk2YjBkZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC01
NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyUmVwbGljYS5oIgogI2luY2x1ZGUgIlJlbmRl
clZpZGVvLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1
ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTI0
NzcsNiArMjQ3OCw5IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nRm9yQW5pbWF0aW9uKFJlbmRlckxheWVyTW9kZWxPYmplCiAgICAgICAgIH0KICAgICB9
CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5jc3NB
bmltYXRpb25zQW5kQ1NTVHJhbnNpdGlvbnNCYWNrZWRCeVdlYkFuaW1hdGlvbnNFbmFibGVkKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGNvbnN0IEFuaW1hdGlvbkJhc2U6OlJ1bm5p
bmdTdGF0ZSBhY3RpdmVBbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvbkJhc2U6OlJ1bm5pbmcgfCBB
bmltYXRpb25CYXNlOjpQYXVzZWQ7CiAgICAgYXV0byYgYW5pbUNvbnRyb2xsZXIgPSByZW5kZXJl
ci5hbmltYXRpb24oKTsKICAgICByZXR1cm4gKGFuaW1Db250cm9sbGVyLmlzUnVubmluZ0FuaW1h
dGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENTU1Byb3BlcnR5T3BhY2l0eSwgYWN0aXZlQW5pbWF0
aW9uU3RhdGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMjJkN2VmY2JhYTkyYjZkNjIxOGYzZmUzZWNkYzI5ZjhhNzI1MTMw
MC4uN2NmOTIxN2MxZTQ5NzRiMzc1YzhmZGE1ZjIwMWEyMzRkZDQ4YjlmMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI5IEBACisyMDE4LTA0LTExICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBFbmFibGUgc2Vla2luZyBmb3IgaGFyZHdhcmUg
YW5pbWF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg0NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIGN1cnJlbnQgdGVzdCBleHBlY3RhdGlvbnMsIHNvbWUgdGVzdHMgaGF2ZSByZWdy
ZXNzZWQgYmVjYXVzZSB0aGV5IHdlcmVuJ3QgcHJvYmFibHkgcnVubmluZyB0aGVpciBoYXJkd2Fy
ZQorICAgICAgICBhbmltYXRpb25zLiBGb2xsb3d1cCBwYXRjaGVzIHdpbGwgbWFrZSB0aGVtIG9w
dCBpbnRvIENTUyBBbmltYXRpb25zIGFuZCBDU1MgVHJhbnNpdGlvbnMgYXMgV2ViIEFuaW1hdGlv
bnMgYWdhaW4uCisKKyAgICAgICAgKiBhbmltYXRpb25zLzNkL3RyYW5zZm9ybS1vcmlnaW4tdnMt
ZnVuY3Rpb25zLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9jaGFuZ2UtY29tcGxldGVkLWFu
aW1hdGlvbi10cmFuc2Zvcm0uaHRtbDoKKyAgICAgICAgKiBhbmltYXRpb25zL21pc3NpbmctdmFs
dWVzLWZpcnN0LWtleWZyYW1lLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9taXNzaW5nLXZh
bHVlcy1sYXN0LWtleWZyYW1lLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9wbGF5LXN0YXRl
LXN0YXJ0LXBhdXNlZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxl
L2FuaW1hdGluZy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2Fu
aW1hdGlvbi1vdmVybGFwLXdpdGgtY2hpbGRyZW4uaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1wb3NpdGlvbmluZy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL3Zpc2libGUtcmVjdC9hbmltYXRlZC1mcm9tLW5vbmUuaHRtbDoKKyAgICAgICAgKiBjb21w
b3NpdGluZy92aXNpYmxlLXJlY3QvYW5pbWF0ZWQuaHRtbDoKKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtaHcuaHRtbDoKKyAgICAgICAgKiBjc3MzL2Zp
bHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtbXVsdGktaHcuaHRtbDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtbXVsdGkuaHRtbDoKKyAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUuaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtc2llcnJhL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBv
bGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDQtMTEgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgV1BFIGdh
cmRlbmluZy4gVXBkYXRpbmcgZXhwZWN0YXRpb25zIGFuZCBtb3ZpbmcgYmFzZWxpbmVzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyNDc4NjYzZWRkYmQ1YWY4ZDFjYjM3M2IzNTg2
ODgwMTYxMGRkMTMzLi42OWVjOTk3OWY2NzZkYzgzODIwZjkxMzdiZDExMTgyOTEwNzdmZDNjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wNC0x
MSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5p
bWF0aW9uc10gRW5hYmxlIHNlZWtpbmcgZm9yIGhhcmR3YXJlIGFuaW1hdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDUxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRyYWNrIGEgc21hbGwgcmVn
cmVzc2lvbiBpbiB0aGUgV2ViIEFuaW1hdGlvbnMgV1BUIHRlc3RzLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24t
dHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0OgorCiAyMDE4LTA0
LTA5ICBCcmVuZGFuIE1jTG91Z2hsaW4gIDxicmVuZGFuQGJvY291cC5jb20+CiAKICAgICAgICAg
c3luYyByZW1haW5pbmcgd2ViLXBsYXRmb3JtLXRlc3RzIHRvIDk0YjMzYjU3M2EwNjlhZTUxNzAx
MDRjYTU4MWEzNTRhMzU3NjI1MzYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMv
M2QvdHJhbnNmb3JtLW9yaWdpbi12cy1mdW5jdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1h
dGlvbnMvM2QvdHJhbnNmb3JtLW9yaWdpbi12cy1mdW5jdGlvbnMuaHRtbAppbmRleCBkMDNmOWMz
Y2JhOTVhZTMzYjNkM2IyY2VkZTk1Yjg4ZWEyY2E1OGUwLi45YzNjNGQwODRiZDBiMDBkYzFkNzdm
YjQzN2IzMjI4ZWMxODE2M2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zLzNk
L3RyYW5zZm9ybS1vcmlnaW4tdnMtZnVuY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy8zZC90cmFuc2Zvcm0tb3JpZ2luLXZzLWZ1bmN0aW9ucy5odG1sCkBAIC0xLDUgKzEs
NCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgot
ICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9zdHJpY3QuZHRkIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0Fu
aW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+
CiA8aHRtbD4KICAgPGhlYWQ+CiAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYW5pbWF0aW9ucy9jaGFuZ2UtY29tcGxldGVkLWFuaW1hdGlvbi10cmFuc2Zvcm0uaHRtbCBi
L0xheW91dFRlc3RzL2FuaW1hdGlvbnMvY2hhbmdlLWNvbXBsZXRlZC1hbmltYXRpb24tdHJhbnNm
b3JtLmh0bWwKaW5kZXggZjg0MDVmZTRlM2FjZDkyN2M0YzExY2ZlMDRmMDMyOWRkZjA4MWQxNy4u
ODMwMjRiZGNkZDNkZjQyMDlmZWNmNmZkMTlmN2FhOWJmMTgxODFiZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvYW5pbWF0aW9ucy9jaGFuZ2UtY29tcGxldGVkLWFuaW1hdGlvbi10cmFuc2Zvcm0u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2NoYW5nZS1jb21wbGV0ZWQtYW5pbWF0
aW9uLXRyYW5zZm9ybS5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+Cis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNB
bmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+CiA8aHRtbD4K
IDxoZWFkPgogICAgIDxzdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMv
bWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlv
bnMvbWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbAppbmRleCA1OGE1ZjIxMzA4OWYy
MzViZmJjZWYwOWI3YWM0ZmY5MjdjZDVkODlhLi5kODc5OGQxOTk4ZWU1NzhkOTBlOGMxYmM0NmUw
NTQyMmUzM2YwMzgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3Npbmct
dmFsdWVzLWZpcnN0LWtleWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9t
aXNzaW5nLXZhbHVlcy1maXJzdC1rZXlmcmFtZS5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVDU1NBbmltYXRpb25zQW5k
Q1NTVHJhbnNpdGlvbnNCYWNrZWRCeVdlYkFuaW1hdGlvbnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJz
Y3JlZW4iPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9taXNzaW5nLXZhbHVl
cy1sYXN0LWtleWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3NpbmctdmFs
dWVzLWxhc3Qta2V5ZnJhbWUuaHRtbAppbmRleCBkMzhkNWQwM2E2YmRiNjg3YTdiODAxMTg4ODBl
ZjYzYzBjN2VkYjU3Li45YzdhOTBkYjU4YjY1MzYzYzg0MjQ3YmI4ZGRlNGQ2ODkxZWRkMWY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3NpbmctdmFsdWVzLWxhc3Qta2V5
ZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3NpbmctdmFsdWVzLWxh
c3Qta2V5ZnJhbWUuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5zaXRpb25zQmFj
a2VkQnlXZWJBbmltYXRpb25zPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdGFydC1wYXVzZWQuaHRtbCBi
L0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdGFydC1wYXVzZWQuaHRtbAppbmRl
eCA5NjZhODdiMDMwN2M3Yzk1N2UzYTQ0MmNmNGM1MDg1ZGUzYTY0NTIxLi45ZTljOTUxM2UyYjZl
ZjRiN2ZmYmJmNmE2OGU3MThhMmYwZTE1YWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmlt
YXRpb25zL3BsYXktc3RhdGUtc3RhcnQtcGF1c2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9wbGF5LXN0YXRlLXN0YXJ0LXBhdXNlZC5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFE
T0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVu
YWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10
cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxlL2FuaW1hdGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwKaW5kZXggZWQx
MjQ4NjgyYTM0NDYzMTk0NDRkZjNlODY1YjQ0YWY5ZmJlOTAzYi4uZTkyM2E4OWFlMmRiYzJmYmJi
NjFiYWYyMGUzOTE0ZjRhZGRmMTViYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURP
Q1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5zaXRpb25zQmFja2VkQnlXZWJBbmltYXRpb25zPXRy
dWUgXSAtLT4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2xheWVyLWNyZWF0aW9uL2FuaW1hdGlvbi1vdmVybGFwLXdpdGgtY2hpbGRyZW4uaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2FuaW1hdGlvbi1vdmVy
bGFwLXdpdGgtY2hpbGRyZW4uaHRtbAppbmRleCBmNTgzYjkyZDcxZjc5NzRlZmM4ODUwNjUzZmFj
NmE0ZWU3ZjU0YWI5Li40NzQ3MWExNTBkNTg3OWFiYTM4OGYxMjU3YzI1NjMxMTU2ODg0NzRmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9hbmltYXRp
b24tb3ZlcmxhcC13aXRoLWNoaWxkcmVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvbGF5ZXItY3JlYXRpb24vYW5pbWF0aW9uLW92ZXJsYXAtd2l0aC1jaGlsZHJlbi5odG1sCkBA
IC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tl
ZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+CiAKIDxodG1sPgogPGhlYWQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1wb3NpdGlvbmluZy5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctcG9zaXRpb25p
bmcuaHRtbAppbmRleCA2ZmRjYTFjM2UxNTZiZDMzN2E1MmViNzRkYmIwN2Q4MWZiNDdjZTgyLi4y
YWIyMzMyNTAyY2JhODBjZWVkNzU4NWRiNmMwMGUzZTA3YzY4ZDMyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1wb3NpdGlvbmluZy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXBvc2l0aW9uaW5n
Lmh0bWwKQEAgLTEsNSArMSw0IEBACi08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFRE
IEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgotICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0
bWw0L2xvb3NlLmR0ZCI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwg
NC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2Uu
ZHRkIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NU
cmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+CiAKIDxodG1sIGxhbmc9
ImVuIj4KIDxoZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlzaWJs
ZS1yZWN0L2FuaW1hdGVkLWZyb20tbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
dmlzaWJsZS1yZWN0L2FuaW1hdGVkLWZyb20tbm9uZS5odG1sCmluZGV4IGZjY2NlNzgzMmYwNTA3
MDkyNGYzODkxZDM1MzJiNmE2MjM1ZTk3ODEuLjJkOTQ2ZTMzNTk4NmY1ODc5NGUwMzdlMGY3Nzk4
ODUyNWZjYmYxYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2libGUt
cmVjdC9hbmltYXRlZC1mcm9tLW5vbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy92aXNpYmxlLXJlY3QvYW5pbWF0ZWQtZnJvbS1ub25lLmh0bWwKQEAgLTEsNCArMSw0IEBACi08
IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
ZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5zaXRpb25zQmFja2VkQnlXZWJBbmltYXRpb25z
PXRydWUgXSAtLT4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3Zpc2libGUtcmVjdC9hbmltYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvdmlzaWJsZS1yZWN0L2FuaW1hdGVkLmh0bWwKaW5kZXggYmZiZTMyYjY3MGM3OTM2Yzg2
NTBlZDQ4NDE3YmQyYWIxZmE2MGU2NS4uYTcyNmY5YmIwMTgzN2U3MmFhYWU5OTIxZTY3MmMxOTM2
NWM2ZTIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlzaWJsZS1yZWN0
L2FuaW1hdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlzaWJsZS1yZWN0
L2FuaW1hdGVkLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENT
U1RyYW5zaXRpb25zQmFja2VkQnlXZWJBbmltYXRpb25zPXRydWUgXSAtLT4KIAogPGh0bWw+CiA8
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0ZXItYW5pbWF0
aW9uLWZyb20tbm9uZS1ody5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1h
bmltYXRpb24tZnJvbS1ub25lLWh3Lmh0bWwKaW5kZXggODc4MDA5YWNkMzUwZTUyNDlkYTc5OThi
MDMzMjhjOGNmNmMzYTliNi4uNmQzMWIyODhiZmRiMjQ5ZGI4ZDU3OTlmYmQyZjc4ZjgyY2I0Y2Zj
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24t
ZnJvbS1ub25lLWh3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1h
bmltYXRpb24tZnJvbS1ub25lLWh3Lmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFu
c2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9m
aWx0ZXItYW5pbWF0aW9uLWZyb20tbm9uZS1tdWx0aS1ody5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLWh3Lmh0bWwKaW5kZXgg
NWQ1NWEzMGNiYjUzYTNhYWFjYTU5YjcyNmUwNzJhYTJmNWIwODVmYS4uZmNjYjM0MzIyNjcwYTli
ODMxNTY3NWEzZTk0NTYyOTVkZDQ0YjRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLWh3Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLWh3
Lmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5p
bWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIAogPGh0bWw+CiA8aGVhZD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0ZXItYW5pbWF0aW9uLWZyb20t
bm9uZS1tdWx0aS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRp
b24tZnJvbS1ub25lLW11bHRpLmh0bWwKaW5kZXggNDc1MzA1NjZiNjNlOGZiY2QwYjFlZDk3ODA5
MGIyMWRjMzkxOTRjOC4uMjE4OWIzMDBmMGIxYjA3MDlmMDMyNWY3MmIyZGFkNmI3MDg3NDZjMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJv
bS1ub25lLW11bHRpLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1h
bmltYXRpb24tZnJvbS1ub25lLW11bHRpLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NU
cmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9maWx0ZXItYW5pbWF0aW9uLWZyb20tbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLmh0bWwKaW5kZXggNjE2NGVlMjVjNmM3ZWQ1
NTg2OTdjYTliYThkMDEzOTNmYjMzNzA1ZC4uZTYwMDZjYTQzYjBlMmI0MmYxZjlkMzBkNWUyY2U5
MTFiMTk0NmIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1h
bmltYXRpb24tZnJvbS1ub25lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2Zp
bHRlci1hbmltYXRpb24tZnJvbS1ub25lLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NU
cmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1h
dGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2Fu
aW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHkt
ZXhwZWN0ZWQudHh0CmluZGV4IDdmMWMwZjU0ODI1YTk3OTY1YWJjYjdkNDgzNzRjY2MxMzExZDYy
ODguLjNlYWE4NDg3NWZmYjY1Y2U0Y2U3MzM1OTQ3ODg4YTM5YTUwMjE0NWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVz
L2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMTQwLDcgKzE0MCw3
IEBAIFBBU1MgZmlsdGVyOiBkcm9wLXNoYWRvdyBmdW5jdGlvbgogRkFJTCBmaWx0ZXI6IHBlcmNl
bnRhZ2Ugb3IgbnVtZXJpYy1zcGVjaWZpYWJsZSBmdW5jdGlvbnMgKG51bWJlciB2YWx1ZSkgYXNz
ZXJ0X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBicmlnaHRuZXNzKDAuMykgY29udHJhc3Qo
MC4zKSBncmF5c2NhbGUoMC4zKSBpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0dXJhdGUoMC4z
KSBzZXBpYSgwLjMpIGF0IDUwMG1zIGV4cGVjdGVkICJicmlnaHRuZXNzKDAuMykgY29udHJhc3Qo
MC4zKSBncmF5c2NhbGUoMC4zKSBpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0dXJhdGUoMC4z
KSBzZXBpYSgwLjMpIiBidXQgZ290ICJicmlnaHRuZXNzKDAuMzAwMDAwMDAwMDAwMDAwMDQpIGNv
bnRyYXN0KDAuMzAwMDAwMDAwMDAwMDAwMDQpIGdyYXlzY2FsZSgwLjMwMDAwMDAwMDAwMDAwMDA0
KSBpbnZlcnQoMC4zMDAwMDAwMDAwMDAwMDAwNCkgb3BhY2l0eSgwLjMwMDAwMDAwMDAwMDAwMDA0
KSBzYXR1cmF0ZSgwLjMwMDAwMDAwMDAwMDAwMDA0KSBzZXBpYSgwLjMwMDAwMDAwMDAwMDAwMDA0
KSIKIEZBSUwgZmlsdGVyOiBwZXJjZW50YWdlIG9yIG51bWVyaWMtc3BlY2lmaWFibGUgZnVuY3Rp
b25zIChwZXJjZW50YWdlIHZhbHVlKSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJl
IGJyaWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMp
IG9wYWNpdHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykgYXQgNTAwbXMgZXhwZWN0ZWQg
ImJyaWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMp
IG9wYWNpdHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykiIGJ1dCBnb3QgImJyaWdodG5l
c3MoMC4zMDAwMDAwMDAwMDAwMDAwNCkgY29udHJhc3QoMC4zMDAwMDAwMDAwMDAwMDAwNCkgZ3Jh
eXNjYWxlKDAuMzAwMDAwMDAwMDAwMDAwMDQpIGludmVydCgwLjMwMDAwMDAwMDAwMDAwMDA0KSBv
cGFjaXR5KDAuMzAwMDAwMDAwMDAwMDAwMDQpIHNhdHVyYXRlKDAuMzAwMDAwMDAwMDAwMDAwMDQp
IHNlcGlhKDAuMzAwMDAwMDAwMDAwMDAwMDQpIgogRkFJTCBmaWx0ZXI6IGludGVycG9sYXRlIGRp
ZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBmdW5jdGlvbiB3aGlj
aCBsYWN1bmEgdmFsdWUgaXMgMSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGdy
YXlzY2FsZSgwLjUpIGJyaWdodG5lc3MoMC41KSBjb250cmFzdCgwLjUpIG9wYWNpdHkoMC41KSBz
YXR1cmF0ZSgwLjUpIGF0IDUwMG1zIGV4cGVjdGVkICJncmF5c2NhbGUoMC41KSBicmlnaHRuZXNz
KDAuNSkgY29udHJhc3QoMC41KSBvcGFjaXR5KDAuNSkgc2F0dXJhdGUoMC41KSIgYnV0IGdvdCAi
Z3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMCkgY29udHJhc3QoMCkgb3BhY2l0eSgwKSBzYXR1cmF0
ZSgwKSIKLVBBU1MgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJlbnQgbGVuZ3RoIG9mIGZpbHRl
ci1mdW5jdGlvbi1saXN0IHdpdGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZhbHVlIGlzIDAgCitG
QUlMIGZpbHRlcjogaW50ZXJwb2xhdGUgZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0ZXItZnVuY3Rp
b24tbGlzdCB3aXRoIGZ1bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAwIGFzc2VydF9lcXVh
bHM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgb3BhY2l0eSgwLjUpIGdyYXlzY2FsZSgwLjUpIGludmVy
dCgwLjUpIHNlcGlhKDAuNSkgYmx1cig1cHgpIGF0IDUwMG1zIGV4cGVjdGVkICJvcGFjaXR5KDAu
NSkgZ3JheXNjYWxlKDAuNSkgaW52ZXJ0KDAuNSkgc2VwaWEoMC41KSBibHVyKDVweCkiIGJ1dCBn
b3QgIm9wYWNpdHkoMC4yNSkgZ3JheXNjYWxlKDAuNzUpIGludmVydCgwLjc1KSBzZXBpYSgwLjc1
KSBibHVyKDcuNXB4KSIKIEZBSUwgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJlbnQgbGVuZ3Ro
IG9mIGZpbHRlci1mdW5jdGlvbi1saXN0IHdpdGggZHJvcC1zaGFkb3cgZnVuY3Rpb24gYXNzZXJ0
X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBibHVyKDVweCkgZHJvcC1zaGFkb3cocmdiYSg4
NSwgMCwgMTcwLCAwLjYpIDVweCA1cHggNXB4IGF0IDUwMG1zIGV4cGVjdGVkICJibHVyKDVweCkg
ZHJvcC1zaGFkb3cocmdiYSg4NSwgMCwgMTcwLCAwLjYpIDVweCA1cHggNXB4IiBidXQgZ290ICJi
bHVyKDEwcHgpIGRyb3Atc2hhZG93KHJnYmEoMCwgMCwgMjU1LCAwLjgpIDEwcHggMTBweCAxMHB4
KSIKIFBBU1MgZmlsdGVyOiBpbnRlcnBvbGF0ZSBmcm9tIG5vbmUgCiBGQUlMIGZpbHRlcjogdXJs
IGZ1bmN0aW9uIChpbnRlcnBvYWx0ZSBhcyBkaXNjcmV0ZSkgYXNzZXJ0X2VxdWFsczogVGhlIHZh
bHVlIHNob3VsZCBiZSBibHVyKDBweCkgdXJsKCIjZjEiKSBhdCA0OTltcyBleHBlY3RlZCAiYmx1
cigwcHgpIHVybChcIiNmMVwiKSIgYnV0IGdvdCAiYmx1cig0Ljk4OTk5OTc3MTExODE2NHB4KSB1
cmwoI2YxKSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zaWVycmEvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9k
ZWwvYW5pbWF0aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zaWVycmEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVz
L2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dAppbmRleCAzNTEyYzU1MDQ5
OWY2ZDk3ODdlNmViZDYzMTVhN2ZjZGY3MDQ1ODU4Li44NzliZjYzMWU4YmIzNjE2NWQ3OTQzYzMy
NjRkNTMyYmJjZjE2NGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc2ll
cnJhL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNpZXJyYS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmlt
YXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0x
NDAsNyArMTQwLDcgQEAgUEFTUyBmaWx0ZXI6IGRyb3Atc2hhZG93IGZ1bmN0aW9uCiBGQUlMIGZp
bHRlcjogcGVyY2VudGFnZSBvciBudW1lcmljLXNwZWNpZmlhYmxlIGZ1bmN0aW9ucyAobnVtYmVy
IHZhbHVlKSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJyaWdodG5lc3MoMC4z
KSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMpIG9wYWNpdHkoMC4zKSBz
YXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykgYXQgNTAwbXMgZXhwZWN0ZWQgImJyaWdodG5lc3MoMC4z
KSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMpIG9wYWNpdHkoMC4zKSBz
YXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykiIGJ1dCBnb3QgImJyaWdodG5lc3MoMC4zMDAwMDAwMDAw
MDAwMDAwNCkgY29udHJhc3QoMC4zMDAwMDAwMDAwMDAwMDAwNCkgZ3JheXNjYWxlKDAuMzAwMDAw
MDAwMDAwMDAwMDQpIGludmVydCgwLjMwMDAwMDAwMDAwMDAwMDA0KSBvcGFjaXR5KDAuMzAwMDAw
MDAwMDAwMDAwMDQpIHNhdHVyYXRlKDAuMzAwMDAwMDAwMDAwMDAwMDQpIHNlcGlhKDAuMzAwMDAw
MDAwMDAwMDAwMDQpIgogRkFJTCBmaWx0ZXI6IHBlcmNlbnRhZ2Ugb3IgbnVtZXJpYy1zcGVjaWZp
YWJsZSBmdW5jdGlvbnMgKHBlcmNlbnRhZ2UgdmFsdWUpIGFzc2VydF9lcXVhbHM6IFRoZSB2YWx1
ZSBzaG91bGQgYmUgYnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3JheXNjYWxlKDAuMykg
aW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVyYXRlKDAuMykgc2VwaWEoMC4zKSBhdCA1MDBt
cyBleHBlY3RlZCAiYnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3JheXNjYWxlKDAuMykg
aW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVyYXRlKDAuMykgc2VwaWEoMC4zKSIgYnV0IGdv
dCAiYnJpZ2h0bmVzcygwLjMwMDAwMDAwMDAwMDAwMDA0KSBjb250cmFzdCgwLjMwMDAwMDAwMDAw
MDAwMDA0KSBncmF5c2NhbGUoMC4zMDAwMDAwMDAwMDAwMDAwNCkgaW52ZXJ0KDAuMzAwMDAwMDAw
MDAwMDAwMDQpIG9wYWNpdHkoMC4zMDAwMDAwMDAwMDAwMDAwNCkgc2F0dXJhdGUoMC4zMDAwMDAw
MDAwMDAwMDAwNCkgc2VwaWEoMC4zMDAwMDAwMDAwMDAwMDAwNCkiCiBGQUlMIGZpbHRlcjogaW50
ZXJwb2xhdGUgZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0ZXItZnVuY3Rpb24tbGlzdCB3aXRoIGZ1
bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAxIGFzc2VydF9lcXVhbHM6IFRoZSB2YWx1ZSBz
aG91bGQgYmUgZ3JheXNjYWxlKDAuNSkgYnJpZ2h0bmVzcygwLjUpIGNvbnRyYXN0KDAuNSkgb3Bh
Y2l0eSgwLjUpIHNhdHVyYXRlKDAuNSkgYXQgNTAwbXMgZXhwZWN0ZWQgImdyYXlzY2FsZSgwLjUp
IGJyaWdodG5lc3MoMC41KSBjb250cmFzdCgwLjUpIG9wYWNpdHkoMC41KSBzYXR1cmF0ZSgwLjUp
IiBidXQgZ290ICJncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygwKSBjb250cmFzdCgwKSBvcGFjaXR5
KDApIHNhdHVyYXRlKDApIgotUEFTUyBmaWx0ZXI6IGludGVycG9sYXRlIGRpZmZlcmVudCBsZW5n
dGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBmdW5jdGlvbiB3aGljaCBsYWN1bmEgdmFs
dWUgaXMgMCAKK0ZBSUwgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJlbnQgbGVuZ3RoIG9mIGZp
bHRlci1mdW5jdGlvbi1saXN0IHdpdGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZhbHVlIGlzIDAg
YXNzZXJ0X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBvcGFjaXR5KDAuNSkgZ3JheXNjYWxl
KDAuNSkgaW52ZXJ0KDAuNSkgc2VwaWEoMC41KSBibHVyKDVweCkgYXQgNTAwbXMgZXhwZWN0ZWQg
Im9wYWNpdHkoMC41KSBncmF5c2NhbGUoMC41KSBpbnZlcnQoMC41KSBzZXBpYSgwLjUpIGJsdXIo
NXB4KSIgYnV0IGdvdCAib3BhY2l0eSgwLjI1KSBncmF5c2NhbGUoMC43NSkgaW52ZXJ0KDAuNzUp
IHNlcGlhKDAuNzUpIGJsdXIoNy41cHgpIgogRkFJTCBmaWx0ZXI6IGludGVycG9sYXRlIGRpZmZl
cmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBkcm9wLXNoYWRvdyBmdW5j
dGlvbiBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJsdXIoNXB4KSBkcm9wLXNo
YWRvdyhyZ2JhKDg1LCAwLCAxNzAsIDAuNikgNXB4IDVweCA1cHggYXQgNTAwbXMgZXhwZWN0ZWQg
ImJsdXIoNXB4KSBkcm9wLXNoYWRvdyhyZ2JhKDg1LCAwLCAxNzAsIDAuNikgNXB4IDVweCA1cHgi
IGJ1dCBnb3QgImJsdXIoMTBweCkgZHJvcC1zaGFkb3cocmdiYSgwLCAwLCAyNTUsIDAuOCkgMTBw
eCAxMHB4IDEwcHgpIgogUEFTUyBmaWx0ZXI6IGludGVycG9sYXRlIGZyb20gbm9uZSAKIEZBSUwg
ZmlsdGVyOiB1cmwgZnVuY3Rpb24gKGludGVycG9hbHRlIGFzIGRpc2NyZXRlKSBhc3NlcnRfZXF1
YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJsdXIoMHB4KSB1cmwoIiNmMSIpIGF0IDQ5OW1zIGV4
cGVjdGVkICJibHVyKDBweCkgdXJsKFwiI2YxXCIpIiBidXQgZ290ICJibHVyKDQuOTg5OTk5Nzcx
MTE4MTY0cHgpIHVybCgjZjEpIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337777</attachid>
            <date>2018-04-12 00:18:21 -0700</date>
            <delta_ts>2018-04-12 04:10:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184518-20180412091819.patch</filename>
            <type>text/plain</type>
            <size>55490</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ0MzEzZjQ0N2U4ZDQy
MzdiMWYyN2Y5NTJkYmU1OGZkMDJlZDgwYy4uNTNjNGFjMmVkMzYyODk5ZGNiZjA5NTQyNDhkMGRl
ZmQxZmFlNDA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDE4LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFbmFibGUgc2Vla2luZyBmb3IgaGFyZHdhcmUgYW5pbWF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFyZHdhcmUgYW5pbWF0aW9ucyBoYWQg
bGFnZ2VkIGJlaGluZCBzb2Z0d2FyZSBhbmltYXRpb25zIGluIHN1cHBvcnQgYW5kIHRoaXMgcGF0
Y2ggYnJpbmcgdGhlaXIgcmVzcGVjdGl2ZSBsZXZlbAorICAgICAgICBvZiBzdXBwb3J0IGNsb3Nl
ciB0byBvbmUgYW5vdGhlci4gSW1wb3J0YW50bHksIHdlIGFkZCB0aGUgYWJpbGl0eSB0byBzZWVr
IGFuIGFuaW1hdGlvbiBhZGRlZCB0byBhIEdyYXBoaWNzTGF5ZXJDQQorICAgICAgICBzaW5jZSBt
YW55IHRlc3RzIHBhdXNlIGFuZCBzZWVrIGFuaW1hdGlvbnMgdG8gdGVzdCB0aGVpciBzdGF0ZS4g
QW5pbWF0aW9ucyBtYXkgYWxzbyBoYXZlIHRoZWlyIHBsYXliYWNrIHN0YXRlIGNoYW5nZWQKKyAg
ICAgICAgYWxvbmcgd2l0aCB0aGVpciBjdXJyZW50IHRpbWUgaW4gdGhlIHNhbWUgcnVuIGxvb3As
IHNvIHdlIG5vdyBtYWludGFpbiBhIGxpc3Qgb2YgcGVuZGluZyBwcm9jZXNzaW5nIGFjdGlvbnMg
Zm9yCisgICAgICAgIGhhcmR3YXJlIGFuaW1hdGlvbnMuCisKKyAgICAgICAgKiBhbmltYXRpb24v
RG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVsaW5l
Ojp1cGRhdGVBbmltYXRpb25TY2hlZHVsZSk6IElmIHdlIGhhdmUgYW5pbWF0aW9ucyBxdWV1ZWQg
dXAgZm9yIHVwZGF0ZXMgdG8gdGhlaXIgYWNjZWxlcmF0ZWQKKyAgICAgICAgc3RhdGUgd2UgY2Fu
IHNjaGVkdWxlIGFuaW1hdGlvbiByZXNvbHV0aW9uIGltbWVkaWF0ZWx5IHNpbmNlIHdlJ3ZlIGFs
cmVhZHkgZXN0YWJsaXNoZWQgd2UnbGwgaGF2ZSB3b3JrIHRvIGRvLgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRUaW1lbGluZTo6dXBkYXRlQW5pbWF0aW9ucyk6IEZhY3RvciB0aGUgdXBkYXRl
cyBvZiBwZW5kaW5nIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgb3V0IGluIGEgZGVkaWNhdGVkCisg
ICAgICAgIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFwcGx5
UGVuZGluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucyk6IEdvIHRocm91Z2ggYWxsIHBlbmRpbmcgYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9ucyBhbmQgdXBkYXRlCisgICAgICAgIHRoZWlyIHN0YXRlLgorICAg
ICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNldEJsZW5kaW5nS2V5ZnJhbWVzKTogVXBk
YXRlIHRoZSBtX3Nob3VsZFJ1bkFjY2VsZXJhdGVkIGZsYWcgd2hlbiBzZXR0aW5nIGJsZW5kaW5n
IGtleWZyYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmFw
cGx5KTogRW5zdXJlIHdlIGZpbmlzaCBhY2NlbGVyYXRlZCBhbmltYXRpb25zIGlmIHRoZSBwcm9n
cmVzcyBpcyAxIG9yIG51bGwgKG5vIGxvbmdlciBhY3RpdmUpLgorICAgICAgICBzdGFydCBhY2Nl
bGVyYXRlZCBhbmltYXRpb25zIGlmIHRoZSBhbmltYXRpb24gaXMgc3RhcnRpbmcgYW5kIGFsd2F5
cyByZXNvbHZlIHN0eWxlcyBpbiBzb2Z0d2FyZSBhcyB3ZWxsIHRvIGVuc3VyZSB0aGF0CisgICAg
ICAgIGhpdCB0ZXN0aW5nIHdpbGwgd29yayBhcyBleHBlY3RlZC4KKyAgICAgICAgKFdlYkNvcmU6
OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNvbXB1dGVTaG91bGRSdW5BY2NlbGVyYXRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphbmltYXRpb25QbGF5U3Rh
dGVEaWRDaGFuZ2UpOiBDYWxsZWQgYnkgV2ViQW5pbWF0aW9uIHdoZW4gcGxheSgpIG9yIHBhdXNl
KCkgaXMgY2FsbGVkCisgICAgICAgIHdpdGggdGhlIGFwcHJvcHJpYXRlIGZsYWcuCisgICAgICAg
IChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphbmltYXRpb25EaWRTZWVrKTogQ2Fs
bGVkIGJ5IFdlYkFuaW1hdGlvbiB3aGVuIHRoZSBjdXJyZW50VGltZSBwcm9wZXJ0eSBpcyBzZXQu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphZGRQZW5kaW5nQWNj
ZWxlcmF0ZWRBY3Rpb24pOiBBZGQgdGhlIHByb3ZpZGVkIGFjdGlvbiB0byB0aGUgbGlzdCBvZiBw
ZW5kaW5nIGFjY2VsZXJhdGVkCisgICAgICAgIGFjdGlvbnMgYW5kIG5vdGlmeSB0aGUgYW5pbWF0
aW9uIHRoYXQgdGhlIGFjY2VsZXJhdGVkIHN0YXRlIG5lZWRzIGNoYW5naW5nLgorICAgICAgICAo
V2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRB
Y3Rpb25zKTogQ2FsbGVkIGJ5IERvY3VtZW50VGltZWxpbmUsIHRocm91Z2ggV2ViQW5pbWF0aW9u
LCB0byBhcHBseQorICAgICAgICBhbGwgcGVuZGluZyBhY2NlbGVyYXRlZCBhY3Rpb25zLgorICAg
ICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YmFja2luZ0FuaW1hdGlvbkZv
ckNvbXBvc2l0ZWRSZW5kZXJlciBjb25zdCk6IElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIGRlY2xh
cmF0aXZlIGFuaW1hdGlvbiwKKyAgICAgICAgd2UgYWxyZWFkeSBoYXZlIGEgYmFja2luZyBBbmlt
YXRpb24gb2JqZWN0LCBzbyB1c2UgaXQgZGlyZWN0bHkuIE90aGVyd2lzZSwgY3JlYXRlIG9uZSBh
bmQgZW5zdXJlIGl0IHJlZmxlY3RzIGFsbCB0aW1pbmcgcHJvcGVydGllcworICAgICAgICBmb3Ig
dGhlIGFuaW1hdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6
OnNob3VsZFJ1bkFjY2VsZXJhdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OktleWZy
YW1lRWZmZWN0UmVhZE9ubHk6OnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
QW5pbWF0aW9uOjpzZXRDdXJyZW50VGltZSk6IENhbGwgYW5pbWF0aW9uRGlkU2VlaygpIG9uIHRo
ZSBlZmZlY3QgdG8gZW5zdXJlIGl0cyBhY2NlbGVyYXRlZCBhbmltYXRpb24gZ2V0cyBzZWVrZWQu
CisgICAgICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OnBsYXkpOiBDYWxsIGFuaW1hdGlvblBs
YXlTdGF0ZURpZENoYW5nZSgpIG9uIHRoZSBlZmZlY3QgdG8gZW5zdXJlIGl0cyBhY2NlbGVyYXRl
ZCBhbmltYXRpb24gaXMgc3RhcnRlZCBvciByZXN1bWVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
QW5pbWF0aW9uOjpwYXVzZSk6IENhbGwgYW5pbWF0aW9uUGxheVN0YXRlRGlkQ2hhbmdlKCkgb24g
dGhlIGVmZmVjdCB0byBlbnN1cmUgaXRzIGFjY2VsZXJhdGVkIGFuaW1hdGlvbiBnZXRzIHBhdXNl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6YWNjZWxlcmF0ZWRTdGF0ZURpZENo
YW5nZSk6IAorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjphcHBseVBlbmRpbmdBY2Nl
bGVyYXRlZEFjdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjphY2NlbGVy
YXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJBbmltYXRpb246OnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OnNlZWtBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q0E6OmFkZFByb2Nlc3NpbmdBY3Rpb25Gb3JBbmltYXRpb24pOiBBZGQgYW4gQW5pbWF0aW9uUHJv
Y2Vzc2luZ0FjdGlvbiB0byB0aGUgbGlzdCBvZiBzdWNoIGFjdGlvbnMgZm9yIGEKKyAgICAgICAg
Z2l2ZW4gYW5pbWF0aW9uIG5hbWUuIEluIGNhc2Ugd2UgYWxyZWFkeSBoYXZlIGEgUmVtb3ZlIGFj
dGlvbiwgd2UgaWdub3JlIHRoZSBhY3Rpb24gc2luY2UgdGhlIGhhcmR3YXJlIGFuaW1hdGlvbiB3
aWxsIGhhdmUgYmVlbgorICAgICAgICByZW1vdmVkIGJ5IHRoZSB0aW1lIHdlIHRyeSB0byBhcHBs
eSB0aGlzIHByb2Nlc3NpbmcgYWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNBOjpwYXVzZUFuaW1hdGlvbik6IEFkZCBhIFBhdXNlIHByb2Nlc3NpbmcgYWN0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpzZWVrQW5pbWF0aW9uKTogQWRkIGEgU2Vl
ayBwcm9jZXNzaW5nIGFjdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6
cmVtb3ZlQW5pbWF0aW9uKTogQWRkIGEgUmVtb3ZlIHByb2Nlc3NpbmcgYWN0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmltYXRpb25zKTogRmlyc3QgZW5z
dXJlIHRoYXQgYWxsIGFuaW1hdGlvbnMgcGVuZGluZyBjb21taXQgYXJlIGNvbW1pdHRlZCBhbmQg
dGhlbiB1cGRhdGUKKyAgICAgICAgYWxsIGFuaW1hdGlvbnMgYmFzZWQgb24gdGhlIGFjdGlvbnMg
YWRkZWQgdGhyb3VnaCBhZGRQcm9jZXNzaW5nQWN0aW9uRm9yQW5pbWF0aW9uKCkuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNlZWtDQUFuaW1hdGlvbk9uTGF5ZXIpOiBHZW5l
cmF0ZSBhIG5ldyBhbmltYXRpb24gYmFzZWQgb24gdGhlIG5ldyBzZWVrIHRpbWUgcHJvdmlkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OkFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb246
OkFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVj
dDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6YW5pbWF0aW9u
U2Vla2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3Np
dGluZ0ZvckFuaW1hdGlvbiBjb25zdCk6IEZpeCBhbiBpc3N1ZSB3aGVyZSB3ZSB3b3VsZCBydW4g
dGhlIENTU0FuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgbG9naWMgZXZlbiB3aGVuIHRoZSBs
ZWdhY3kgYW5pbWF0aW9uIGVuZ2luZSB3YXMgZGlzYWJsZWQuCisKIDIwMTgtMDQtMTEgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltYWdlRnJhbWUgdHlwZSB1
c2VkIGJ5IG5vbi1Db2NvYSBpbWFnZSBkZWNvZGVyIHNob3VsZCBub3QgYmUgdGhlIHNhbWUgYXMg
dGhhdCB1c2VkIGJ5IEltYWdlU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uRWZmZWN0UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9BbmltYXRpb25FZmZlY3RSZWFkT25seS5oCmluZGV4IGJiNTkyZjlhNjU4NjBmZWRhYWFlNzQy
ZDBiN2FmNzk4ZGVjMTk4M2MuLmUzZTJmZTY0ZWRkNjZhMDk0ZDYzODgyOGM1YjNkNTJjMWQ3MzM5
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RS
ZWFkT25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RS
ZWFkT25seS5oCkBAIC00Niw2ICs0Niw4IEBAIHB1YmxpYzoKICAgICBDb21wdXRlZFRpbWluZ1By
b3BlcnRpZXMgZ2V0Q29tcHV0ZWRUaW1pbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoUmVu
ZGVyU3R5bGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGlvblBsYXlTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb246OlBs
YXlTdGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25EaWRTZWVrKCkgPSAwOwog
CiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlv
bi5nZXQoKTsgfQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmltYXRpb24+JiYg
YW5pbWF0aW9uKSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKaW5kZXggYmFiMTJmYjNiNTAwNTJjOTU1
YTg0MTlmNzEwMDU1N2ViODEyMmQ1OC4uNDEzNGE1OGJkNDFmZGZlZjYxMzdkMGFhYjZkYWNlNzVl
ZWE5ZjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGlt
ZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
LmNwcApAQCAtMTI3LDYgKzEyNywxMSBAQCB2b2lkIERvY3VtZW50VGltZWxpbmU6OnVwZGF0ZUFu
aW1hdGlvblNjaGVkdWxlKCkKIAogICAgIG1fbmVlZHNVcGRhdGVBbmltYXRpb25TY2hlZHVsZSA9
IGZhbHNlOwogCisgICAgaWYgKCFtX2FjY2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5n
U3RhdGVDaGFuZ2UuaXNFbXB0eSgpKSB7CisgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uUmVzb2x1
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgU2Vjb25kcyBzY2hlZHVsZURl
bGF5ID0gU2Vjb25kczo6aW5maW5pdHkoKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgYW5pbWF0
aW9uIDogYW5pbWF0aW9ucygpKSB7CkBAIC0xNzksOSArMTg0LDcgQEAgdm9pZCBEb2N1bWVudFRp
bWVsaW5lOjp1cGRhdGVBbmltYXRpb25zKCkKICAgICAgICAgbV9kb2N1bWVudC0+dXBkYXRlU3R5
bGVJZk5lZWRlZCgpOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDogbV9hY2Nl
bGVyYXRlZEFuaW1hdGlvbnNQZW5kaW5nUnVubmluZ1N0YXRlQ2hhbmdlKQotICAgICAgICBhbmlt
YXRpb24tPnN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsKLSAgICBtX2FjY2VsZXJhdGVkQW5pbWF0
aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UuY2xlYXIoKTsKKyAgICBhcHBseVBlbmRpbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsKIAogICAgIC8vIFRpbWUgaGFzIGFkdmFuY2VkLCB0aGUg
dGltaW5nIG1vZGVsIHJlcXVpcmVzIGludmFsaWRhdGlvbiBub3cuCiAgICAgdGltaW5nTW9kZWxE
aWRDaGFuZ2UoKTsKQEAgLTIwOSw2ICsyMTIsMTMgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lOjph
bmltYXRpb25BY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb24mIGEK
ICAgICBtX2FjY2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UuYWRk
KCZhbmltYXRpb24pOwogfQogCit2b2lkIERvY3VtZW50VGltZWxpbmU6OmFwcGx5UGVuZGluZ0Fj
Y2VsZXJhdGVkQW5pbWF0aW9ucygpCit7CisgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBtX2Fj
Y2VsZXJhdGVkQW5pbWF0aW9uc1BlbmRpbmdSdW5uaW5nU3RhdGVDaGFuZ2UpCisgICAgICAgIGFu
aW1hdGlvbi0+YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCk7CisgICAgbV9hY2NlbGVy
YXRlZEFuaW1hdGlvbnNQZW5kaW5nUnVubmluZ1N0YXRlQ2hhbmdlLmNsZWFyKCk7Cit9CisKIGJv
b2wgRG9jdW1lbnRUaW1lbGluZTo6cnVubmluZ0FuaW1hdGlvbnNGb3JFbGVtZW50QXJlQWxsQWNj
ZWxlcmF0ZWQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIGxl
dCBhbmltYXRpb25zIHJ1biB1c2luZyBoYXJkd2FyZSBjb21wb3NpdGluZyBldmVuIGlmIGxhdGVy
IGluIHRoZSBhY3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1
bWVudFRpbWVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5oCmluZGV4IDMwY2M2ZGQ5NmUwNzZlMjU5ZTAyMjQzMDNkNDM1NWRiNWYzMmY1NTQuLjM1YTg4
ZGIwM2FmZmU4NGRkMmNjMmY5NjRiYjFlMzk2NTY3YjBjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGVkU3R5bGVGb3JSZW5kZXJl
cihSZW5kZXJFbGVtZW50JiByZW5kZXJlcik7CiAgICAgdm9pZCBhbmltYXRpb25BY2NlbGVyYXRl
ZFJ1bm5pbmdTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb24mKTsKKyAgICB2b2lkIGFwcGx5UGVu
ZGluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOwogICAgIGJvb2wgcnVubmluZ0FuaW1hdGlvbnNG
b3JFbGVtZW50QXJlQWxsQWNjZWxlcmF0ZWQoRWxlbWVudCYpOwogICAgIHZvaWQgZGV0YWNoRnJv
bURvY3VtZW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdFJlYWRPbmx5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5LmNwcAppbmRleCA1YzFmODg2YzFhZmJlNGI2NmRmZmYzYzNmYTNhZTYx
NDk3ZWUxMDhiLi44MThmYzE2NDhkMjMzOGUxMTMyYWQ3YjNkYzJkODA3ZGI4MGQ0YmUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHku
Y3BwCkBAIC02OTUsNiArNjk1LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpzZXRC
bGVuZGluZ0tleWZyYW1lcyhLZXlmcmFtZUxpc3QmIGJsZW5kaW5nS2V5ZnJhbWUKICAgICBtX2Js
ZW5kaW5nS2V5ZnJhbWVzID0gV1RGTW92ZShibGVuZGluZ0tleWZyYW1lcyk7CiAKICAgICBjb21w
dXRlU3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7CisgICAgY29tcHV0ZVNob3VsZFJ1bkFjY2VsZXJh
dGVkKCk7CiAKICAgICBjaGVja0Zvck1hdGNoaW5nVHJhbnNmb3JtRnVuY3Rpb25MaXN0cygpOwog
ICAgIGNoZWNrRm9yTWF0Y2hpbmdGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CkBAIC05MjQsMjYgKzky
NSwyMSBAQCB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmFwcGx5KFJlbmRlclN0eWxlJiB0
YXJnZXRTdHlsZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBwcm9ncmVzcyA9IGl0ZXJh
dGlvblByb2dyZXNzKCk7Ci0gICAgaWYgKCFwcm9ncmVzcykKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKG1fc3RhcnRlZEFjY2VsZXJhdGVkICYmIHByb2dyZXNzLnZhbHVlKCkgPj0gMSkgewor
ICAgIGlmIChtX3N0YXJ0ZWRBY2NlbGVyYXRlZCAmJiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLnZh
bHVlKCkgPj0gMSkpIHsKICAgICAgICAgbV9zdGFydGVkQWNjZWxlcmF0ZWQgPSBmYWxzZTsKLSAg
ICAgICAgYW5pbWF0aW9uKCktPmFjY2VsZXJhdGVkUnVubmluZ1N0YXRlRGlkQ2hhbmdlKCk7Cisg
ICAgICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRlZFN0YXRlRGlkQ2hhbmdlKCk7CiAgICAgfQog
Ci0gICAgYm9vbCBuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCA9IGZhbHNlOworICAgIGlmICghcHJv
Z3Jlc3MpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdGFydGVkICYmICFtX3N0YXJ0
ZWRBY2NlbGVyYXRlZCkgewotICAgICAgICBuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCA9IHNob3Vs
ZFJ1bkFjY2VsZXJhdGVkKCk7Ci0gICAgICAgIG1fc3RhcnRlZEFjY2VsZXJhdGVkID0gbmVlZHNU
b1N0YXJ0QWNjZWxlcmF0ZWQ7Ci0gICAgICAgIGlmIChuZWVkc1RvU3RhcnRBY2NlbGVyYXRlZCkK
LSAgICAgICAgICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5n
ZSgpOworICAgIGlmICghbV9zdGFydGVkICYmICFtX3N0YXJ0ZWRBY2NlbGVyYXRlZCAmJiBtX3No
b3VsZFJ1bkFjY2VsZXJhdGVkKSB7CisgICAgICAgIG1fc3RhcnRlZEFjY2VsZXJhdGVkID0gdHJ1
ZTsKKyAgICAgICAgYW5pbWF0aW9uKCktPmFjY2VsZXJhdGVkU3RhdGVEaWRDaGFuZ2UoKTsKICAg
ICB9CiAgICAgbV9zdGFydGVkID0gdHJ1ZTsKIAotICAgIGlmICghbmVlZHNUb1N0YXJ0QWNjZWxl
cmF0ZWQgJiYgIW1fc3RhcnRlZEFjY2VsZXJhdGVkKQotICAgICAgICBzZXRBbmltYXRlZFByb3Bl
cnRpZXNJblN0eWxlKHRhcmdldFN0eWxlLCBwcm9ncmVzcy52YWx1ZSgpKTsKKyAgICBzZXRBbmlt
YXRlZFByb3BlcnRpZXNJblN0eWxlKHRhcmdldFN0eWxlLCBwcm9ncmVzcy52YWx1ZSgpKTsKIAog
ICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jc2lkZS1lZmZlY3Rz
LXNlY3Rpb24KICAgICAvLyBGb3IgZXZlcnkgcHJvcGVydHkgdGFyZ2V0ZWQgYnkgYXQgbGVhc3Qg
b25lIGFuaW1hdGlvbiBlZmZlY3QgdGhhdCBpcyBjdXJyZW50IG9yIGluIGVmZmVjdCwgdGhlIHVz
ZXIgYWdlbnQKQEAgLTk1NywxMyArOTUzLDE1IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eTo6aW52YWxpZGF0ZSgpCiAgICAgaW52YWxpZGF0ZUVsZW1lbnQobV90YXJnZXQuZ2V0KCkpOwog
fQogCi1ib29sIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNob3VsZFJ1bkFjY2VsZXJhdGVkKCkK
K3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6Y29tcHV0ZVNob3VsZFJ1bkFjY2VsZXJhdGVk
KCkKIHsKKyAgICBtX3Nob3VsZFJ1bkFjY2VsZXJhdGVkID0gaGFzQmxlbmRpbmdLZXlmcmFtZXMo
KTsKICAgICBmb3IgKGF1dG8gY3NzUHJvcGVydHlJZCA6IG1fYmxlbmRpbmdLZXlmcmFtZXMucHJv
cGVydGllcygpKSB7Ci0gICAgICAgIGlmICghQ1NTUHJvcGVydHlBbmltYXRpb246OmFuaW1hdGlv
bk9mUHJvcGVydHlJc0FjY2VsZXJhdGVkKGNzc1Byb3BlcnR5SWQpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBpZiAoIUNTU1Byb3BlcnR5QW5pbWF0aW9uOjphbmltYXRpb25P
ZlByb3BlcnR5SXNBY2NlbGVyYXRlZChjc3NQcm9wZXJ0eUlkKSkgeworICAgICAgICAgICAgbV9z
aG91bGRSdW5BY2NlbGVyYXRlZCA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAgICAgfQotICAgIHJldHVybiBoYXNCbGVuZGluZ0tleWZyYW1lcygpOwogfQogCiB2b2lk
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmdldEFuaW1hdGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkKQEAgLTExNDMsNyArMTE0MSwyOSBAQCBUaW1p
bmdGdW5jdGlvbiogS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6dGltaW5nRnVuY3Rpb25Gb3JLZXlm
cmFtZUF0SW5kZXgoc2l6ZV90CiAgICAgcmV0dXJuIGRvd25jYXN0PERlY2xhcmF0aXZlQW5pbWF0
aW9uPihlZmZlY3RBbmltYXRpb24pLT5iYWNraW5nQW5pbWF0aW9uKCkudGltaW5nRnVuY3Rpb24o
KTsKIH0KIAotdm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpzdGFydE9yU3RvcEFjY2VsZXJh
dGVkKCkKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YW5pbWF0aW9uUGxheVN0YXRlRGlk
Q2hhbmdlKFdlYkFuaW1hdGlvbjo6UGxheVN0YXRlIHBsYXlTdGF0ZSkKK3sKKyAgICBpZiAocGxh
eVN0YXRlID09IFdlYkFuaW1hdGlvbjo6UGxheVN0YXRlOjpSdW5uaW5nKQorICAgICAgICBhZGRQ
ZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb246OlBsYXkpOworICAgIGVs
c2UgaWYgKHBsYXlTdGF0ZSA9PSBXZWJBbmltYXRpb246OlBsYXlTdGF0ZTo6UGF1c2VkKQorICAg
ICAgICBhZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb246OlBhdXNl
KTsKK307CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YW5pbWF0aW9uRGlkU2Vlaygp
Cit7CisgICAgYWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKEFjY2VsZXJhdGVkQWN0aW9uOjpT
ZWVrKTsKK30KKwordm9pZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjphZGRQZW5kaW5nQWNjZWxl
cmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb24gYWN0aW9uKQoreworICAgIGlmICghbV9zaG91
bGRSdW5BY2NlbGVyYXRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wZW5kaW5nQWNjZWxl
cmF0ZWRBY3Rpb25zLmFwcGVuZChhY3Rpb24pOworICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRl
ZFN0YXRlRGlkQ2hhbmdlKCk7Cit9CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6YXBw
bHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKIHsKICAgICBhdXRvKiByZW5kZXJlciA9IHRo
aXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQ29tcG9z
aXRlZCgpKQpAQCAtMTE1MSw5ICsxMTcxLDI0IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eTo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCiAKICAgICBhdXRvKiBjb21wb3NpdGVkUmVuZGVy
ZXIgPSBkb3duY2FzdDxSZW5kZXJCb3hNb2RlbE9iamVjdD4ocmVuZGVyZXIpOwogICAgIGlmICht
X3N0YXJ0ZWRBY2NlbGVyYXRlZCkgewotICAgICAgICBhdXRvIGFuaW1hdGlvbiA9IEFuaW1hdGlv
bjo6Y3JlYXRlKCk7Ci0gICAgICAgIGFuaW1hdGlvbi0+c2V0RHVyYXRpb24odGltaW5nKCktPml0
ZXJhdGlvbkR1cmF0aW9uKCkuc2Vjb25kcygpKTsKLSAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVy
LT5zdGFydEFuaW1hdGlvbigwLCBhbmltYXRpb24ucHRyKCksIG1fYmxlbmRpbmdLZXlmcmFtZXMp
OworICAgICAgICBhdXRvIHRpbWVPZmZzZXQgPSBhbmltYXRpb24oKS0+Y3VycmVudFRpbWUoKS52
YWx1ZSgpLnNlY29uZHMoKTsKKyAgICAgICAgaWYgKHRpbWluZygpLT5kZWxheSgpIDwgMF9zKQor
ICAgICAgICAgICAgdGltZU9mZnNldCA9IC10aW1pbmcoKS0+ZGVsYXkoKS5zZWNvbmRzKCk7CisK
KyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBhY3Rpb24gOiBtX3BlbmRpbmdBY2NlbGVyYXRlZEFj
dGlvbnMpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgICBjYXNl
IEFjY2VsZXJhdGVkQWN0aW9uOjpQbGF5OgorICAgICAgICAgICAgICAgIGNvbXBvc2l0ZWRSZW5k
ZXJlci0+c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYmFja2luZ0FuaW1hdGlvbkZvckNvbXBv
c2l0ZWRSZW5kZXJlcigpLnB0cigpLCBtX2JsZW5kaW5nS2V5ZnJhbWVzKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQWNjZWxlcmF0ZWRBY3Rpb246OlBhdXNlOgor
ICAgICAgICAgICAgICAgIGNvbXBvc2l0ZWRSZW5kZXJlci0+YW5pbWF0aW9uUGF1c2VkKHRpbWVP
ZmZzZXQsIG1fYmxlbmRpbmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQWNjZWxlcmF0ZWRBY3Rpb246OlNlZWs6Cisg
ICAgICAgICAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVyLT5hbmltYXRpb25TZWVrZWQodGltZU9m
ZnNldCwgbV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRpb25OYW1lKCkpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG1fcGVuZGluZ0Fj
Y2VsZXJhdGVkQWN0aW9ucy5jbGVhcigpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGNvbXBvc2l0
ZWRSZW5kZXJlci0+YW5pbWF0aW9uRmluaXNoZWQobV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRp
b25OYW1lKCkpOwogICAgICAgICBpZiAoIW1fdGFyZ2V0LT5kb2N1bWVudCgpLnJlbmRlclRyZWVC
ZWluZ0Rlc3Ryb3llZCgpKQpAQCAtMTE2MSw2ICsxMTk2LDU1IEBAIHZvaWQgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seTo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCiAgICAgfQogfQogCitSZWY8Y29u
c3QgQW5pbWF0aW9uPiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5OjpiYWNraW5nQW5pbWF0aW9uRm9y
Q29tcG9zaXRlZFJlbmRlcmVyKCkgY29uc3QKK3sKKyAgICBhdXRvIGVmZmVjdEFuaW1hdGlvbiA9
IGFuaW1hdGlvbigpOworICAgIGlmIChpczxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oZWZmZWN0QW5p
bWF0aW9uKSkKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PERlY2xhcmF0aXZlQW5pbWF0aW9uPihl
ZmZlY3RBbmltYXRpb24pLT5iYWNraW5nQW5pbWF0aW9uKCk7CisKKyAgICAvLyBGSVhNRTogVGhl
IGl0ZXJhdGlvblN0YXJ0IGFuZCBlbmREZWxheSBBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25s
eSBwcm9wZXJ0aWVzIGRvIG5vdCBoYXZlCisgICAgLy8gY29ycmVzcG9uZGluZyBBbmltYXRpb24g
cHJvcGVydGllcy4KKyAgICBhdXRvIGVmZmVjdFRpbWluZyA9IHRpbWluZygpOworICAgIGF1dG8g
YW5pbWF0aW9uID0gQW5pbWF0aW9uOjpjcmVhdGUoKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0
aW9uKGVmZmVjdFRpbWluZy0+aXRlcmF0aW9uRHVyYXRpb24oKS5zZWNvbmRzKCkpOworICAgIGFu
aW1hdGlvbi0+c2V0RGVsYXkoZWZmZWN0VGltaW5nLT5kZWxheSgpLnNlY29uZHMoKSk7CisgICAg
YW5pbWF0aW9uLT5zZXRJdGVyYXRpb25Db3VudChlZmZlY3RUaW1pbmctPml0ZXJhdGlvbnMoKSk7
CisgICAgYW5pbWF0aW9uLT5zZXRUaW1pbmdGdW5jdGlvbihlZmZlY3RUaW1pbmctPnRpbWluZ0Z1
bmN0aW9uKCktPmNsb25lKCkpOworCisgICAgc3dpdGNoIChlZmZlY3RUaW1pbmctPmZpbGwoKSkg
eworICAgIGNhc2UgRmlsbE1vZGU6Ok5vbmU6CisgICAgY2FzZSBGaWxsTW9kZTo6QXV0bzoKKyAg
ICAgICAgYW5pbWF0aW9uLT5zZXRGaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZU5vbmUpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEZpbGxNb2RlOjpCYWNrd2FyZHM6CisgICAgICAgIGFuaW1h
dGlvbi0+c2V0RmlsbE1vZGUoQW5pbWF0aW9uRmlsbE1vZGVCYWNrd2FyZHMpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEZpbGxNb2RlOjpGb3J3YXJkczoKKyAgICAgICAgYW5pbWF0aW9uLT5z
ZXRGaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZUZvcndhcmRzKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBGaWxsTW9kZTo6Qm90aDoKKyAgICAgICAgYW5pbWF0aW9uLT5zZXRGaWxsTW9kZShB
bmltYXRpb25GaWxsTW9kZUJvdGgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBzd2l0
Y2ggKGVmZmVjdFRpbWluZy0+ZGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIFBsYXliYWNrRGlyZWN0
aW9uOjpOb3JtYWw6CisgICAgICAgIGFuaW1hdGlvbi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6
QW5pbWF0aW9uRGlyZWN0aW9uTm9ybWFsKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQbGF5
YmFja0RpcmVjdGlvbjo6QWx0ZXJuYXRlOgorICAgICAgICBhbmltYXRpb24tPnNldERpcmVjdGlv
bihBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUGxheWJhY2tEaXJlY3Rpb246OlJldmVyc2U6CisgICAgICAgIGFuaW1hdGlv
bi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uUmV2ZXJzZSk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxheWJhY2tEaXJlY3Rpb246OkFsdGVybmF0ZVJldmVy
c2U6CisgICAgICAgIGFuaW1hdGlvbi0+c2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9u
RGlyZWN0aW9uQWx0ZXJuYXRlUmV2ZXJzZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAg
IHJldHVybiBXVEZNb3ZlKGFuaW1hdGlvbik7Cit9CisKIFJlbmRlckVsZW1lbnQqIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHk6OnJlbmRlcmVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV90YXJnZXQg
PyBtX3RhcmdldC0+cmVuZGVyZXIoKSA6IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkuaAppbmRleCAxNWI0NWQ2NmJlMDljOTVl
ZjllOGU5MWI4MzlkMmQxNDFmZTlmMTM0Li4xOWZhMmVlY2M5YWVlZDE1ZDVkMzI1YTY3MGQwY2Zk
ZDg0YTJmMjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5LmgKQEAgLTk4LDEyICs5OCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRB
bmltYXRlZFN0eWxlKHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUp
OwogICAgIHZvaWQgYXBwbHkoUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGludmFs
aWRhdGUoKSBvdmVycmlkZTsKLSAgICB2b2lkIHN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsKKyAg
ICB2b2lkIGFuaW1hdGlvblBsYXlTdGF0ZURpZENoYW5nZShXZWJBbmltYXRpb246OlBsYXlTdGF0
ZSkgZmluYWw7CisgICAgdm9pZCBhbmltYXRpb25EaWRTZWVrKCkgZmluYWw7CisgICAgdm9pZCBh
cHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKTsKICAgICBib29sIGlzUnVubmluZ0FjY2Vs
ZXJhdGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdGFydGVkQWNjZWxlcmF0ZWQ7IH0KIAogICAgIFJl
bmRlckVsZW1lbnQqIHJlbmRlcmVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgUmVuZGVy
U3R5bGUmIGN1cnJlbnRTdHlsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNBY2NlbGVy
YXRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc0FjY2Vs
ZXJhdGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGFydGVkQWNjZWxlcmF0ZWQ7IH0K
ICAgICBib29sIGZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fZmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoOyB9CiAgICAgYm9vbCB0cmFuc2Zvcm1GdW5j
dGlvbkxpc3RzTWF0Y2goKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3RyYW5zZm9ybUZ1bmN0
aW9uTGlzdHNNYXRjaDsgfQogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCkBAIC0xMjUsMTEg
KzEyNywxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShDbGFzc1R5
cGUsIFJlZjxBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25seT4mJiwgRWxlbWVudCopOwogCiBw
cml2YXRlOgorICAgIGVudW0gY2xhc3MgQWNjZWxlcmF0ZWRBY3Rpb24geyBQbGF5LCBQYXVzZSwg
U2VlayB9OworICAgIHZvaWQgYWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKEFjY2VsZXJhdGVk
QWN0aW9uKTsKICAgICB2b2lkIHNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUoUmVuZGVyU3R5
bGUmLCBkb3VibGUpOwogICAgIFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbkZvcktleWZy
YW1lQXRJbmRleChzaXplX3QpOworICAgIFJlZjxjb25zdCBBbmltYXRpb24+IGJhY2tpbmdBbmlt
YXRpb25Gb3JDb21wb3NpdGVkUmVuZGVyZXIoKSBjb25zdDsKICAgICB2b2lkIGNvbXB1dGVTdGFj
a2luZ0NvbnRleHRJbXBhY3QoKTsKICAgICB2b2lkIHVwZGF0ZUJsZW5kaW5nS2V5ZnJhbWVzKCk7
Ci0gICAgYm9vbCBzaG91bGRSdW5BY2NlbGVyYXRlZCgpOworICAgIHZvaWQgY29tcHV0ZVNob3Vs
ZFJ1bkFjY2VsZXJhdGVkKCk7CiAgICAgdm9pZCBzZXRCbGVuZGluZ0tleWZyYW1lcyhLZXlmcmFt
ZUxpc3QmKTsKICAgICB2b2lkIGNoZWNrRm9yTWF0Y2hpbmdUcmFuc2Zvcm1GdW5jdGlvbkxpc3Rz
KCk7CiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cygpOwpAQCAt
MTM3LDYgKzE0Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQmFja2Ry
b3BGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAjZW5kaWYKIAorICAgIGJvb2wgbV9zaG91bGRSdW5B
Y2NlbGVyYXRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3RyaWdnZXJzU3RhY2tpbmdDb250ZXh0
IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3RhcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0
YXJ0ZWRBY2NlbGVyYXRlZCB7IGZhbHNlIH07CkBAIC0xNDksNiArMTU1LDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CiAgICAgS2V5ZnJhbWVMaXN0IG1fYmxlbmRp
bmdLZXlmcmFtZXM7CiAgICAgVmVjdG9yPFBhcnNlZEtleWZyYW1lPiBtX3BhcnNlZEtleWZyYW1l
czsKKworICAgIFZlY3RvcjxBY2NlbGVyYXRlZEFjdGlvbj4gbV9wZW5kaW5nQWNjZWxlcmF0ZWRB
Y3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vV2ViQW5pbWF0aW9uLmNwcAppbmRleCAzZGYwMTRmOTFjZDM0ZmVmMGZiNGI2MzJjNTFi
ZWY4Yjk0YjdkMWI2Li41ZGU2ZTk0ZjU5MzVlODE1ZjU5ZGJmNjBkMDg3ODYwYTNkZTM0OWIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMzgzLDYgKzM4
Myw5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6c2V0Q3VycmVudFRpbWUoc3Rk
OjpvcHRpb25hbDxTZWNvbmRzPiBzZWVrVGltZSkKICAgICAvLyAzLiBSdW4gdGhlIHByb2NlZHVy
ZSB0byB1cGRhdGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlvbiB3
aXRoIHRoZSBkaWQgc2VlayBmbGFnIHNldCB0byB0cnVlLCBhbmQgdGhlIHN5bmNocm9ub3VzbHkg
bm90aWZ5IGZsYWcgc2V0IHRvIGZhbHNlLgogICAgIHVwZGF0ZUZpbmlzaGVkU3RhdGUoRGlkU2Vl
azo6WWVzLCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3QpCisg
ICAgICAgIG1fZWZmZWN0LT5hbmltYXRpb25EaWRTZWVrKCk7CisKICAgICByZXR1cm4geyB9Owog
fQogCkBAIC03NzksNiArNzgyLDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpw
bGF5KEF1dG9SZXdpbmQgYXV0b1Jld2luZCkKICAgICAvLyA5LiBSdW4gdGhlIHByb2NlZHVyZSB0
byB1cGRhdGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlvbiB3aXRo
IHRoZSBkaWQgc2VlayBmbGFnIHNldCB0byBmYWxzZSwgYW5kIHRoZSBzeW5jaHJvbm91c2x5IG5v
dGlmeSBmbGFnIHNldCB0byBmYWxzZS4KICAgICB1cGRhdGVGaW5pc2hlZFN0YXRlKERpZFNlZWs6
Ok5vLCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3QpCisgICAg
ICAgIG1fZWZmZWN0LT5hbmltYXRpb25QbGF5U3RhdGVEaWRDaGFuZ2UoUGxheVN0YXRlOjpSdW5u
aW5nKTsKKwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTg3NSw2ICs4ODEsOSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBXZWJBbmltYXRpb246OnBhdXNlKCkKICAgICAvLyA4LiBSdW4gdGhlIHByb2Nl
ZHVyZSB0byB1cGRhdGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlv
biB3aXRoIHRoZSBkaWQgc2VlayBmbGFnIHNldCB0byBmYWxzZSwgYW5kIHRoZSBzeW5jaHJvbm91
c2x5IG5vdGlmeSBmbGFnIHNldCB0byBmYWxzZS4KICAgICB1cGRhdGVGaW5pc2hlZFN0YXRlKERp
ZFNlZWs6Ok5vLCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CiAKKyAgICBpZiAobV9lZmZlY3Qp
CisgICAgICAgIG1fZWZmZWN0LT5hbmltYXRpb25QbGF5U3RhdGVEaWRDaGFuZ2UoUGxheVN0YXRl
OjpQYXVzZWQpOworCiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtMTAwOCwxNiArMTAxNywxNiBA
QCB2b2lkIFdlYkFuaW1hdGlvbjo6cmVzb2x2ZShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUpCiAg
ICAgICAgIG1fZWZmZWN0LT5hcHBseSh0YXJnZXRTdHlsZSk7CiB9CiAKLXZvaWQgV2ViQW5pbWF0
aW9uOjphY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSgpCit2b2lkIFdlYkFuaW1hdGlv
bjo6YWNjZWxlcmF0ZWRTdGF0ZURpZENoYW5nZSgpCiB7CiAgICAgaWYgKGlzPERvY3VtZW50VGlt
ZWxpbmU+KG1fdGltZWxpbmUpKQogICAgICAgICBkb3duY2FzdDxEb2N1bWVudFRpbWVsaW5lPigq
bV90aW1lbGluZSkuYW5pbWF0aW9uQWNjZWxlcmF0ZWRSdW5uaW5nU3RhdGVEaWRDaGFuZ2UoKnRo
aXMpOwogfQogCi12b2lkIFdlYkFuaW1hdGlvbjo6c3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpCit2
b2lkIFdlYkFuaW1hdGlvbjo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKIHsKICAg
ICBpZiAoaXM8S2V5ZnJhbWVFZmZlY3RSZWFkT25seT4obV9lZmZlY3QpKQotICAgICAgICBkb3du
Y2FzdDxLZXlmcmFtZUVmZmVjdFJlYWRPbmx5PigqbV9lZmZlY3QpLnN0YXJ0T3JTdG9wQWNjZWxl
cmF0ZWQoKTsKKyAgICAgICAgZG93bmNhc3Q8S2V5ZnJhbWVFZmZlY3RSZWFkT25seT4oKm1fZWZm
ZWN0KS5hcHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKTsKIH0KIAogV2ViQW5pbWF0aW9u
JiBXZWJBbmltYXRpb246OnJlYWR5UHJvbWlzZVJlc29sdmUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IGQ3OTg3MDZmN2U3MmU1YWRiMDNkMGQ1NjFhZmQzOTk5
YmM3NDQzM2EuLjI1MzI4NGE2YmIyNGM1NmRmYjRlYWI4Mzc2YjBmNDBjOGY1NWQwZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBw
dWJsaWM6CiAgICAgU2Vjb25kcyB0aW1lVG9OZXh0UmVxdWlyZWRUaWNrKCkgY29uc3Q7CiAgICAg
dm9pZCByZXNvbHZlKFJlbmRlclN0eWxlJik7CiAgICAgdm9pZCBlZmZlY3RUYXJnZXREaWRDaGFu
Z2UoRWxlbWVudCogcHJldmlvdXNUYXJnZXQsIEVsZW1lbnQqIG5ld1RhcmdldCk7Ci0gICAgdm9p
ZCBhY2NlbGVyYXRlZFJ1bm5pbmdTdGF0ZURpZENoYW5nZSgpOwotICAgIHZvaWQgc3RhcnRPclN0
b3BBY2NlbGVyYXRlZCgpOworICAgIHZvaWQgYWNjZWxlcmF0ZWRTdGF0ZURpZENoYW5nZSgpOwor
ICAgIHZvaWQgYXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCk7CiAKICAgICB2b2lkIHRp
bWluZ01vZGVsRGlkQ2hhbmdlKCk7CiAgICAgdm9pZCBzdXNwZW5kRWZmZWN0SW52YWxpZGF0aW9u
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKaW5kZXggNzUwMDIzZjJkMjhlMWM3NmIzMzAxNTczNzhlMDE3YjA5NzIwMDE1Zi4uNTU4Y2Ri
MTIyYzFiMjY4NjA2MzY2NGUyOTIxZWQ2YWNhYmY3Mzc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtNDUyLDYgKzQ1Miw3IEBA
IHB1YmxpYzoKICAgICAvLyBUaGVzZSBtZXRob2RzIGhhbmRsZSBib3RoIHRyYW5zaXRpb25zIGFu
ZCBrZXlmcmFtZSBhbmltYXRpb25zLgogICAgIHZpcnR1YWwgYm9vbCBhZGRBbmltYXRpb24oY29u
c3QgS2V5ZnJhbWVWYWx1ZUxpc3QmLCBjb25zdCBGbG9hdFNpemUmIC8qYm94U2l6ZSovLCBjb25z
dCBBbmltYXRpb24qLCBjb25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovLCBkb3VibGUgLyp0
aW1lT2Zmc2V0Ki8pICB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwYXVzZUFu
aW1hdGlvbihjb25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovLCBkb3VibGUgLyp0aW1lT2Zm
c2V0Ki8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZWVrQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYg
LyphbmltYXRpb25OYW1lKi8sIGRvdWJsZSAvKnRpbWVPZmZzZXQqLykgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovKSB7
IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhN
b25vdG9uaWNUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IGFhYjU0OTVmMjQyMThmYmJmOGQ2YTYz
NmUyYjk0Yjk2NmZiMjlkZjQuLmRlMjc2MmNlZTI0OTAyZmE2MjkyMTAxMDJjYTcxZWQxMjg1NzZh
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBo
aWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmNwcApAQCAtMTAwNiw2ICsxMDA2LDE4IEBAIGJvb2wgR3JhcGhpY3NM
YXllckNBOjphbmltYXRpb25DYW5CZUFjY2VsZXJhdGVkKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0
JiB2YWx1ZUxpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNBOjph
ZGRQcm9jZXNzaW5nQWN0aW9uRm9yQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFt
ZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiBwcm9jZXNzaW5nQWN0aW9uKQoreworICAgIGF1
dG8mIHByb2Nlc3NpbmdBY3Rpb25zID0gbV9hbmltYXRpb25zVG9Qcm9jZXNzLmVuc3VyZShhbmlt
YXRpb25OYW1lLCBbXSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8QW5pbWF0aW9uUHJvY2Vzc2lu
Z0FjdGlvbj4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKworICAgIGlmICghcHJvY2Vz
c2luZ0FjdGlvbnMuaXNFbXB0eSgpICYmIHByb2Nlc3NpbmdBY3Rpb25zLmxhc3QoKS5hY3Rpb24g
PT0gUmVtb3ZlKQorICAgICAgICByZXR1cm47CisKKyAgICBwcm9jZXNzaW5nQWN0aW9ucy5hcHBl
bmQocHJvY2Vzc2luZ0FjdGlvbik7Cit9CisKIGJvb2wgR3JhcGhpY3NMYXllckNBOjphZGRBbmlt
YXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgY29uc3QgRmxvYXRTaXpl
JiBib3hTaXplLCBjb25zdCBBbmltYXRpb24qIGFuaW0sIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9u
TmFtZSwgZG91YmxlIHRpbWVPZmZzZXQpCiB7CiAgICAgTE9HKEFuaW1hdGlvbnMsICJHcmFwaGlj
c0xheWVyQ0EgJXAgYWRkQW5pbWF0aW9uICVzIChjYW4gYmUgYWNjZWxlcmF0ZWQgJWQpIiwgdGhp
cywgYW5pbWF0aW9uTmFtZS51dGY4KCkuZGF0YSgpLCBhbmltYXRpb25DYW5CZUFjY2VsZXJhdGVk
KHZhbHVlTGlzdCwgYW5pbSkpOwpAQCAtMTA0MSwxMSArMTA1MywxOCBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJDQTo6cGF1c2VBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3Vi
bGUgdGltZU9mZgogewogICAgIExPRyhBbmltYXRpb25zLCAiR3JhcGhpY3NMYXllckNBICVwIHBh
dXNlQW5pbWF0aW9uICVzIChydW5uaW5nICVkKSIsIHRoaXMsIGFuaW1hdGlvbk5hbWUudXRmOCgp
LmRhdGEoKSwgYW5pbWF0aW9uSXNSdW5uaW5nKGFuaW1hdGlvbk5hbWUpKTsKIAotICAgIGlmICgh
YW5pbWF0aW9uSXNSdW5uaW5nKGFuaW1hdGlvbk5hbWUpKQotICAgICAgICByZXR1cm47CisgICAg
Ly8gQ2FsbCBhZGQgc2luY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIFJlbW92ZSBpbiB0aGVyZSwg
d2UgZG9uJ3Qgd2FudCB0byBvdmVyd3JpdGUgaXQgd2l0aCBhIFBhdXNlLgorICAgIGFkZFByb2Nl
c3NpbmdBY3Rpb25Gb3JBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2lu
Z0FjdGlvbiB7IFBhdXNlLCBTZWNvbmRzIHsgdGltZU9mZnNldCB9IH0pOworCisgICAgbm90ZUxh
eWVyUHJvcGVydHlDaGFuZ2VkKEFuaW1hdGlvbkNoYW5nZWQpOworfQorCit2b2lkIEdyYXBoaWNz
TGF5ZXJDQTo6c2Vla0FuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJs
ZSB0aW1lT2Zmc2V0KQoreworICAgIExPRyhBbmltYXRpb25zLCAiR3JhcGhpY3NMYXllckNBICVw
IHNlZWtBbmltYXRpb24gJXMgKHJ1bm5pbmcgJWQpIiwgdGhpcywgYW5pbWF0aW9uTmFtZS51dGY4
KCkuZGF0YSgpLCBhbmltYXRpb25Jc1J1bm5pbmcoYW5pbWF0aW9uTmFtZSkpOwogCiAgICAgLy8g
Q2FsbCBhZGQgc2luY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIFJlbW92ZSBpbiB0aGVyZSwgd2Ug
ZG9uJ3Qgd2FudCB0byBvdmVyd3JpdGUgaXQgd2l0aCBhIFBhdXNlLgotICAgIG1fYW5pbWF0aW9u
c1RvUHJvY2Vzcy5hZGQoYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7
IFBhdXNlLCBTZWNvbmRzIHsgdGltZU9mZnNldCB9IH0pOworICAgIGFkZFByb2Nlc3NpbmdBY3Rp
b25Gb3JBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7
IFNlZWssIFNlY29uZHMgeyB0aW1lT2Zmc2V0IH0gfSk7CiAKICAgICBub3RlTGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoQW5pbWF0aW9uQ2hhbmdlZCk7CiB9CkBAIC0xMDU3LDcgKzEwNzYsNyBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6cmVtb3ZlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9u
TmFtZSkKICAgICBpZiAoIWFuaW1hdGlvbklzUnVubmluZyhhbmltYXRpb25OYW1lKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgbV9hbmltYXRpb25zVG9Qcm9jZXNzLmFkZChhbmltYXRpb25OYW1l
LCBBbmltYXRpb25Qcm9jZXNzaW5nQWN0aW9uKFJlbW92ZSkpOworICAgIGFkZFByb2Nlc3NpbmdB
Y3Rpb25Gb3JBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgQW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlv
bihSZW1vdmUpKTsKICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQW5pbWF0aW9uQ2hhbmdl
ZCk7CiB9CiAKQEAgLTI3NjEsNDEgKzI3ODAsMTIgQEAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4g
R3JhcGhpY3NMYXllckNBOjpyZXBsaWNhdGVkTGF5ZXJSb290KFJlcGxpY2FTdGF0ZSYgcmVwbGkK
IAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUFuaW1hdGlvbnMoKQogewotICAgIGlmICht
X2FuaW1hdGlvbnNUb1Byb2Nlc3Muc2l6ZSgpKSB7Ci0gICAgICAgIEFuaW1hdGlvbnNUb1Byb2Nl
c3NNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5lbmQoKTsK
LSAgICAgICAgZm9yIChBbmltYXRpb25zVG9Qcm9jZXNzTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgICAgIGNvbnN0IFN0cmluZyYgY3VyckFuaW1hdGlvbk5hbWUgPSBpdC0+a2V5OwotICAgICAg
ICAgICAgQW5pbWF0aW9uc01hcDo6aXRlcmF0b3IgYW5pbWF0aW9uSXQgPSBtX3J1bm5pbmdBbmlt
YXRpb25zLmZpbmQoY3VyckFuaW1hdGlvbk5hbWUpOwotICAgICAgICAgICAgaWYgKGFuaW1hdGlv
bkl0ID09IG1fcnVubmluZ0FuaW1hdGlvbnMuZW5kKCkpCi0gICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24mIHByb2Nl
c3NpbmdJbmZvID0gaXQtPnZhbHVlOwotICAgICAgICAgICAgY29uc3QgVmVjdG9yPExheWVyUHJv
cGVydHlBbmltYXRpb24+JiBhbmltYXRpb25zID0gYW5pbWF0aW9uSXQtPnZhbHVlOwotICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhbmltYXRpb25zLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgICAgICAgICAgY29uc3QgTGF5ZXJQcm9wZXJ0eUFuaW1hdGlvbiYgY3VyckFuaW1hdGlv
biA9IGFuaW1hdGlvbnNbaV07Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwcm9jZXNzaW5nSW5m
by5hY3Rpb24pIHsKLSAgICAgICAgICAgICAgICBjYXNlIFJlbW92ZToKLSAgICAgICAgICAgICAg
ICAgICAgcmVtb3ZlQ0FBbmltYXRpb25Gcm9tTGF5ZXIoY3VyckFuaW1hdGlvbi5tX3Byb3BlcnR5
LCBjdXJyQW5pbWF0aW9uTmFtZSwgY3VyckFuaW1hdGlvbi5tX2luZGV4LCBjdXJyQW5pbWF0aW9u
Lm1fc3ViSW5kZXgpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIFBhdXNlOgotICAgICAgICAgICAgICAgICAgICBwYXVzZUNBQW5pbWF0aW9uT25MYXll
cihjdXJyQW5pbWF0aW9uLm1fcHJvcGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0
aW9uLm1faW5kZXgsIGN1cnJBbmltYXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGlt
ZU9mZnNldCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHByb2Nlc3NpbmdJbmZvLmFjdGlvbiA9
PSBSZW1vdmUpCi0gICAgICAgICAgICAgICAgbV9ydW5uaW5nQW5pbWF0aW9ucy5yZW1vdmUoY3Vy
ckFuaW1hdGlvbk5hbWUpOwotICAgICAgICB9Ci0gICAgCi0gICAgICAgIG1fYW5pbWF0aW9uc1Rv
UHJvY2Vzcy5jbGVhcigpOwotICAgIH0KLSAgICAKICAgICBzaXplX3QgbnVtQW5pbWF0aW9uczsK
ICAgICBpZiAoKG51bUFuaW1hdGlvbnMgPSBtX3VuY29taXR0ZWRBbmltYXRpb25zLnNpemUoKSkp
IHsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1BbmltYXRpb25zOyArK2kpIHsK
ICAgICAgICAgICAgIGNvbnN0IExheWVyUHJvcGVydHlBbmltYXRpb24mIHBlbmRpbmdBbmltYXRp
b24gPSBtX3VuY29taXR0ZWRBbmltYXRpb25zW2ldOwogICAgICAgICAgICAgc2V0QW5pbWF0aW9u
T25MYXllcigqcGVuZGluZ0FuaW1hdGlvbi5tX2FuaW1hdGlvbiwgcGVuZGluZ0FuaW1hdGlvbi5t
X3Byb3BlcnR5LCBwZW5kaW5nQW5pbWF0aW9uLm1fbmFtZSwgcGVuZGluZ0FuaW1hdGlvbi5tX2lu
ZGV4LCBwZW5kaW5nQW5pbWF0aW9uLm1fc3ViSW5kZXgsIHBlbmRpbmdBbmltYXRpb24ubV90aW1l
T2Zmc2V0KTsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBBbmltYXRpb25zTWFwOjppdGVy
YXRvciBpdCA9IG1fcnVubmluZ0FuaW1hdGlvbnMuZmluZChwZW5kaW5nQW5pbWF0aW9uLm1fbmFt
ZSk7CiAgICAgICAgICAgICBpZiAoaXQgPT0gbV9ydW5uaW5nQW5pbWF0aW9ucy5lbmQoKSkgewog
ICAgICAgICAgICAgICAgIFZlY3RvcjxMYXllclByb3BlcnR5QW5pbWF0aW9uPiBhbmltYXRpb25z
OwpAQCAtMjgwOCw2ICsyNzk4LDQwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmlt
YXRpb25zKCkKICAgICAgICAgfQogICAgICAgICBtX3VuY29taXR0ZWRBbmltYXRpb25zLmNsZWFy
KCk7CiAgICAgfQorCisgICAgaWYgKG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5zaXplKCkpIHsKKyAg
ICAgICAgQW5pbWF0aW9uc1RvUHJvY2Vzc01hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9hbmlt
YXRpb25zVG9Qcm9jZXNzLmVuZCgpOworICAgICAgICBmb3IgKEFuaW1hdGlvbnNUb1Byb2Nlc3NN
YXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9hbmltYXRpb25zVG9Qcm9jZXNzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgeworICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBjdXJyQW5pbWF0aW9u
TmFtZSA9IGl0LT5rZXk7CisgICAgICAgICAgICBBbmltYXRpb25zTWFwOjppdGVyYXRvciBhbmlt
YXRpb25JdCA9IG1fcnVubmluZ0FuaW1hdGlvbnMuZmluZChjdXJyQW5pbWF0aW9uTmFtZSk7Cisg
ICAgICAgICAgICBpZiAoYW5pbWF0aW9uSXQgPT0gbV9ydW5uaW5nQW5pbWF0aW9ucy5lbmQoKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRv
JiBwcm9jZXNzaW5nSW5mbyA6IGl0LT52YWx1ZSkgeworICAgICAgICAgICAgICAgIGNvbnN0IFZl
Y3RvcjxMYXllclByb3BlcnR5QW5pbWF0aW9uPiYgYW5pbWF0aW9ucyA9IGFuaW1hdGlvbkl0LT52
YWx1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFuaW1hdGlvbnMu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgTGF5ZXJQcm9wZXJ0eUFu
aW1hdGlvbiYgY3VyckFuaW1hdGlvbiA9IGFuaW1hdGlvbnNbaV07CisgICAgICAgICAgICAgICAg
ICAgIHN3aXRjaCAocHJvY2Vzc2luZ0luZm8uYWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IGNhc2UgUmVtb3ZlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ0FBbmltYXRpb25G
cm9tTGF5ZXIoY3VyckFuaW1hdGlvbi5tX3Byb3BlcnR5LCBjdXJyQW5pbWF0aW9uTmFtZSwgY3Vy
ckFuaW1hdGlvbi5tX2luZGV4LCBjdXJyQW5pbWF0aW9uLm1fc3ViSW5kZXgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgUGF1c2U6Cisg
ICAgICAgICAgICAgICAgICAgICAgICBwYXVzZUNBQW5pbWF0aW9uT25MYXllcihjdXJyQW5pbWF0
aW9uLm1fcHJvcGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0aW9uLm1faW5kZXgs
IGN1cnJBbmltYXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGltZU9mZnNldCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBT
ZWVrOgorICAgICAgICAgICAgICAgICAgICAgICAgc2Vla0NBQW5pbWF0aW9uT25MYXllcihjdXJy
QW5pbWF0aW9uLm1fcHJvcGVydHksIGN1cnJBbmltYXRpb25OYW1lLCBjdXJyQW5pbWF0aW9uLm1f
aW5kZXgsIGN1cnJBbmltYXRpb24ubV9zdWJJbmRleCwgcHJvY2Vzc2luZ0luZm8udGltZU9mZnNl
dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzaW5nSW5m
by5hY3Rpb24gPT0gUmVtb3ZlKQorICAgICAgICAgICAgICAgICAgICBtX3J1bm5pbmdBbmltYXRp
b25zLnJlbW92ZShjdXJyQW5pbWF0aW9uTmFtZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
fQorCisgICAgICAgIG1fYW5pbWF0aW9uc1RvUHJvY2Vzcy5jbGVhcigpOworICAgIH0KIH0KIAog
Ym9vbCBHcmFwaGljc0xheWVyQ0E6OmlzUnVubmluZ1RyYW5zZm9ybUFuaW1hdGlvbigpIGNvbnN0
CkBAIC0yOTE2LDYgKzI5NDAsMzUgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnBhdXNlQ0FBbmlt
YXRpb25PbkxheWVyKEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSwgY29uc3QKICAgICB9CiB9
CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNBOjpzZWVrQ0FBbmltYXRpb25PbkxheWVyKEFuaW1hdGVk
UHJvcGVydHlJRCBwcm9wZXJ0eSwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQgaW5k
ZXgsIGludCBzdWJJbmRleCwgU2Vjb25kcyB0aW1lT2Zmc2V0KQoreworICAgIC8vIEZJWE1FOiB0
aGlzIGNhbiBiZSByZWZhY3RvcmVkIGEgZmFpciBiaXQgb3IgbWVyZ2VkIHdpdGggcGF1c2VDQUFu
aW1hdGlvbk9uTGF5ZXIoKSB3aXRoIGFuIG9wZXJhdGlvbiBmbGFnLgorICAgIFBsYXRmb3JtQ0FM
YXllciogbGF5ZXIgPSBhbmltYXRlZExheWVyKHByb3BlcnR5KTsKKworICAgIFN0cmluZyBhbmlt
YXRpb25JRCA9IGFuaW1hdGlvbklkZW50aWZpZXIoYW5pbWF0aW9uTmFtZSwgcHJvcGVydHksIGlu
ZGV4LCBzdWJJbmRleCk7CisKKyAgICBSZWZQdHI8UGxhdGZvcm1DQUFuaW1hdGlvbj4gY3VyQW5p
bSA9IGxheWVyLT5hbmltYXRpb25Gb3JLZXkoYW5pbWF0aW9uSUQpOworICAgIGlmICghY3VyQW5p
bSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQW5pbWF0aW9ucyBvbiB0aGUgbGF5ZXIgYXJl
IGltbXV0YWJsZSwgc28gd2UgaGF2ZSB0byBjbG9uZSBhbmQgbW9kaWZ5LgorICAgIFJlZlB0cjxQ
bGF0Zm9ybUNBQW5pbWF0aW9uPiBuZXdBbmltID0gY3VyQW5pbS0+Y29weSgpOworCisgICAgbmV3
QW5pbS0+c2V0VGltZU9mZnNldCh0aW1lT2Zmc2V0LnNlY29uZHMoKSk7CisKKyAgICBsYXllci0+
YWRkQW5pbWF0aW9uRm9yS2V5KGFuaW1hdGlvbklELCAqbmV3QW5pbSk7IC8vIFRoaXMgd2lsbCBy
ZXBsYWNlIHRoZSBydW5uaW5nIGFuaW1hdGlvbi4KKworICAgIC8vIFBhdXNlIHRoZSBhbmltYXRp
b25zIG9uIHRoZSBjbG9uZXMgdG9vLgorICAgIGlmIChMYXllck1hcCogbGF5ZXJDbG9uZU1hcCA9
IGFuaW1hdGVkTGF5ZXJDbG9uZXMocHJvcGVydHkpKSB7CisgICAgICAgIGZvciAoYXV0byYgY2xv
bmUgOiAqbGF5ZXJDbG9uZU1hcCkgeworICAgICAgICAgICAgLy8gU2tpcCBpbW1lZGlhdGUgcmVw
bGljYXMsIHNpbmNlIHRoZXkgbW92ZSB3aXRoIHRoZSBvcmlnaW5hbC4KKyAgICAgICAgICAgIGlm
IChtX3JlcGxpY2FMYXllciAmJiBpc1JlcGxpY2F0ZWRSb290Q2xvbmUoY2xvbmUua2V5KSkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGNsb25lLnZhbHVlLT5hZGRBbmlt
YXRpb25Gb3JLZXkoYW5pbWF0aW9uSUQsICpuZXdBbmltKTsKKyAgICAgICAgfQorICAgIH0KK30K
Kwogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnJlcGFpbnRMYXllckRpcnR5UmVjdHMoKQogewogICAg
IGlmIChtX25lZWRzRnVsbFJlcGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggYzIyZTdjNmE5MTVkNGM5
NTNlNDdhZDVjMmQ5ZGU5MmNlMGQyYzM3NC4uMWQ4Mzc3MDM3NTZkNmY5NGQzNzc5NzEwY2M5ZGI0
Mjc3ZTdkNWVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlz
dCYsIGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiwgY29uc3QgU3Ry
aW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkgb3ZlcnJpZGU7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwYXVzZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5h
bWUsIGRvdWJsZSB0aW1lT2Zmc2V0KSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNlZWtBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9m
ZnNldCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVBbmltYXRpb24o
Y29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lKSBvdmVycmlkZTsKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0Q29udGVudHNUb0ltYWdlKEltYWdlKikgb3ZlcnJpZGU7CkBAIC00NDMsNiAr
NDQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldEFuaW1hdGlvbk9uTGF5ZXIoUGxhdGZvcm1D
QUFuaW1hdGlvbiYsIEFuaW1hdGVkUHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25O
YW1lLCBpbnQgaW5kZXgsIGludCBzdWJJbmRleCwgU2Vjb25kcyB0aW1lT2Zmc2V0KTsKICAgICBi
b29sIHJlbW92ZUNBQW5pbWF0aW9uRnJvbUxheWVyKEFuaW1hdGVkUHJvcGVydHlJRCwgY29uc3Qg
U3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQgaW5kZXgsIGludCBzdWJJTmRleCk7CiAgICAgdm9p
ZCBwYXVzZUNBQW5pbWF0aW9uT25MYXllcihBbmltYXRlZFByb3BlcnR5SUQsIGNvbnN0IFN0cmlu
ZyYgYW5pbWF0aW9uTmFtZSwgaW50IGluZGV4LCBpbnQgc3ViSW5kZXgsIFNlY29uZHMgdGltZU9m
ZnNldCk7CisgICAgdm9pZCBzZWVrQ0FBbmltYXRpb25PbkxheWVyKEFuaW1hdGVkUHJvcGVydHlJ
RCwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBpbnQgaW5kZXgsIGludCBzdWJJbmRleCwg
U2Vjb25kcyB0aW1lT2Zmc2V0KTsKIAogICAgIGVudW0gTW92ZU9yQ29weSB7IE1vdmUsIENvcHkg
fTsKICAgICBzdGF0aWMgdm9pZCBtb3ZlT3JDb3B5TGF5ZXJBbmltYXRpb24oTW92ZU9yQ29weSwg
Y29uc3QgU3RyaW5nJiBhbmltYXRpb25JZGVudGlmaWVyLCBQbGF0Zm9ybUNBTGF5ZXIgKmZyb21M
YXllciwgUGxhdGZvcm1DQUxheWVyICp0b0xheWVyKTsKQEAgLTUxOCw2ICs1MjAsMTggQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgcmVwYWludExheWVyRGlydHlSZWN0cygpOwogCisgICAgZW51bSBB
Y3Rpb24geyBSZW1vdmUsIFBhdXNlLCBTZWVrIH07CisgICAgc3RydWN0IEFuaW1hdGlvblByb2Nl
c3NpbmdBY3Rpb24geworICAgICAgICBBbmltYXRpb25Qcm9jZXNzaW5nQWN0aW9uKEFjdGlvbiBh
Y3Rpb24gPSBSZW1vdmUsIFNlY29uZHMgdGltZU9mZnNldCA9IDBfcykKKyAgICAgICAgICAgIDog
YWN0aW9uKGFjdGlvbikKKyAgICAgICAgICAgICwgdGltZU9mZnNldCh0aW1lT2Zmc2V0KQorICAg
ICAgICB7CisgICAgICAgIH0KKyAgICAgICAgQWN0aW9uIGFjdGlvbjsKKyAgICAgICAgU2Vjb25k
cyB0aW1lT2Zmc2V0OyAvLyBvbmx5IHVzZWQgZm9yIHBhdXNlCisgICAgfTsKKyAgICB2b2lkIGFk
ZFByb2Nlc3NpbmdBY3Rpb25Gb3JBbmltYXRpb24oY29uc3QgU3RyaW5nJiwgQW5pbWF0aW9uUHJv
Y2Vzc2luZ0FjdGlvbik7CisKICAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBtX2xheWVyOyAv
LyBUaGUgbWFpbiBsYXllcgogICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG1fc3RydWN0dXJh
bExheWVyOyAvLyBBIGxheWVyIHVzZWQgZm9yIHN0cnVjdHVyYWwgcmVhc29ucywgbGlrZSBwcmVz
ZXJ2ZXMtM2Qgb3IgcmVwbGljYS1mbGF0dGVuaW5nLiBJcyB0aGUgcGFyZW50IG9mIG1fbGF5ZXIu
CiAgICAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gbV9jb250ZW50c0NsaXBwaW5nTGF5ZXI7IC8v
IEEgbGF5ZXIgdXNlZCB0byBjbGlwIGlubmVyIGNvbnRlbnQKQEAgLTU4MSwxNyArNTk1LDcgQEAg
cHJpdmF0ZToKICAgICAvLyBVbmNvbW1pdHRlZCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucy4K
ICAgICBWZWN0b3I8TGF5ZXJQcm9wZXJ0eUFuaW1hdGlvbj4gbV91bmNvbWl0dGVkQW5pbWF0aW9u
czsKICAgICAKLSAgICBlbnVtIEFjdGlvbiB7IFJlbW92ZSwgUGF1c2UgfTsKLSAgICBzdHJ1Y3Qg
QW5pbWF0aW9uUHJvY2Vzc2luZ0FjdGlvbiB7Ci0gICAgICAgIEFuaW1hdGlvblByb2Nlc3NpbmdB
Y3Rpb24oQWN0aW9uIGFjdGlvbiA9IFJlbW92ZSwgU2Vjb25kcyB0aW1lT2Zmc2V0ID0gMF9zKQot
ICAgICAgICAgICAgOiBhY3Rpb24oYWN0aW9uKQotICAgICAgICAgICAgLCB0aW1lT2Zmc2V0KHRp
bWVPZmZzZXQpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgICAgICBBY3Rpb24gYWN0aW9uOwot
ICAgICAgICBTZWNvbmRzIHRpbWVPZmZzZXQ7IC8vIG9ubHkgdXNlZCBmb3IgcGF1c2UKLSAgICB9
OwotICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24+
IEFuaW1hdGlvbnNUb1Byb2Nlc3NNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgVmVj
dG9yPEFuaW1hdGlvblByb2Nlc3NpbmdBY3Rpb24+PiBBbmltYXRpb25zVG9Qcm9jZXNzTWFwOwog
ICAgIEFuaW1hdGlvbnNUb1Byb2Nlc3NNYXAgbV9hbmltYXRpb25zVG9Qcm9jZXNzOwogCiAgICAg
Ly8gTWFwIG9mIGFuaW1hdGlvbiBuYW1lcyB0byB0aGVpciBhc3NvY2lhdGVkIGxpc3RzIG9mIHBy
b3BlcnR5IGFuaW1hdGlvbnMsIHNvIHdlIGNhbiByZW1vdmUvcGF1c2UgdGhlbS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGZi
YWFlOTJiNmEwNGQ3ZTg2NzE3MGQ0MmFiYzI3YzI3MmZlMTljNmYuLjAxNGNkMTBiOGVkNDcxYmQ3
NDVjZGNhMzc0NjgwYzFhZjg3MGY5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMTk0LDYgKzE5NCwxMyBAQCB2b2lkIFJl
bmRlckJveE1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNv
bnN0IFN0cmluZyYgbmFtZQogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uUGF1c2Vk
KHRpbWVPZmZzZXQsIG5hbWUpOwogfQogCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojphbmlt
YXRpb25TZWVrZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAg
ICBBU1NFUlQoaGFzTGF5ZXIoKSk7CisgICAgQVNTRVJUKGlzQ29tcG9zaXRlZCgpKTsKKyAgICBs
YXllcigpLT5iYWNraW5nKCktPmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKK30K
Kwogdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3Ry
aW5nJiBuYW1lKQogewogICAgIEFTU0VSVChoYXNMYXllcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKaW5kZXggNTMzMzgyM2UzYTZmMGE1
NzFkODQwNTIxYTVhODNiYTUwYzVjMThiMy4uY2E5Yjg4OTk4MmNhOTJmZGMzYzZmOGU4YTIwNWEx
ZTA3MDVjZjJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmgKQEAgLTIyOSw2ICsyMjksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHN0YXJ0
QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBLZXlm
cmFtZUxpc3QmIGtleWZyYW1lcyk7CiAgICAgdm9pZCBhbmltYXRpb25QYXVzZWQoZG91YmxlIHRp
bWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSk7CisgICAgdm9pZCBhbmltYXRpb25TZWVrZWQo
ZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBhbmltYXRp
b25GaW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0
aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggN2IyNjIwYWQ3ZmY0MzE0
YzAyZGYwMDFjYTI2Y2Q5YzQ4ZTU5NjQ1Yy4uN2ZmYTYzZjY3NWE3ZTIzOGVjNmFlNjliMGQ2Y2Y3
NTcwZDdmZmFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKQEAgLTI3NzgsNiArMjc3OCwxMSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6YW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJpbmcmIGFuaW1h
dAogICAgIG1fZ3JhcGhpY3NMYXllci0+cGF1c2VBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgdGlt
ZU9mZnNldCk7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphbmltYXRpb25TZWVrZWQo
ZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKK3sKKyAgICBt
X2dyYXBoaWNzTGF5ZXItPnNlZWtBbmltYXRpb24oYW5pbWF0aW9uTmFtZSwgdGltZU9mZnNldCk7
Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphbmltYXRpb25GaW5pc2hlZChjb25zdCBT
dHJpbmcmIGFuaW1hdGlvbk5hbWUpCiB7CiAgICAgbV9ncmFwaGljc0xheWVyLT5yZW1vdmVBbmlt
YXRpb24oYW5pbWF0aW9uTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKaW5kZXggNWU1N2EzZThhZjk3YWQ0OTUzMGU5YjBkY2JlY2U4Y2FjYzg0
Y2M1NC4uZDljMjZhNGY3N2JlNGNmNDFmOWRkY2NhY2U1MWJjMTA0YzAwZTQ5NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTY3LDYgKzE2
Nyw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZz
ZXQsIGNvbnN0IEFuaW1hdGlvbiogYW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMp
OwogICAgIHZvaWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJp
bmcmIG5hbWUpOworICAgIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBj
b25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHZvaWQgYW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3Ry
aW5nJiBuYW1lKTsKIAogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9
IE1vbm90b25pY1RpbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDlhZjJlNGQ2NzFlMmM4NzgyZTA3YzUxZTE3ZTI5
YmE0MmQ1MmQ3ZmUuLjAwYjRmZmUzZTQzYTI1Mzg3YjA1ZGRkZDMwNTNlYzk2Njk2YjBkZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyUmVwbGljYS5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZGVvLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5o
IgogI2luY2x1ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKQEAgLTI0NzcsNiArMjQ3OCw5IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1
aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKFJlbmRlckxheWVyTW9kZWxPYmplCiAgICAgICAg
IH0KICAgICB9CiAKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5jc3NBbmltYXRpb25zQW5kQ1NTVHJhbnNpdGlvbnNCYWNrZWRCeVdlYkFuaW1hdGlvbnNF
bmFibGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGNvbnN0IEFuaW1hdGlvbkJh
c2U6OlJ1bm5pbmdTdGF0ZSBhY3RpdmVBbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlvbkJhc2U6OlJ1
bm5pbmcgfCBBbmltYXRpb25CYXNlOjpQYXVzZWQ7CiAgICAgYXV0byYgYW5pbUNvbnRyb2xsZXIg
PSByZW5kZXJlci5hbmltYXRpb24oKTsKICAgICByZXR1cm4gKGFuaW1Db250cm9sbGVyLmlzUnVu
bmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENTU1Byb3BlcnR5T3BhY2l0eSwgYWN0
aXZlQW5pbWF0aW9uU3RhdGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjJkN2VmY2JhYTkyYjZkNjIxOGYzZmUzZWNkYzI5
ZjhhNzI1MTMwMC4uN2NmOTIxN2MxZTQ5NzRiMzc1YzhmZGE1ZjIwMWEyMzRkZDQ4YjlmMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDE4LTA0LTExICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBFbmFibGUgc2Vla2luZyBmb3Ig
aGFyZHdhcmUgYW5pbWF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg0NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBkYXRlIGN1cnJlbnQgdGVzdCBleHBlY3RhdGlvbnMsIHNvbWUgdGVzdHMg
aGF2ZSByZWdyZXNzZWQgYmVjYXVzZSB0aGV5IHdlcmVuJ3QgcHJvYmFibHkgcnVubmluZyB0aGVp
ciBoYXJkd2FyZQorICAgICAgICBhbmltYXRpb25zLiBGb2xsb3d1cCBwYXRjaGVzIHdpbGwgbWFr
ZSB0aGVtIG9wdCBpbnRvIENTUyBBbmltYXRpb25zIGFuZCBDU1MgVHJhbnNpdGlvbnMgYXMgV2Vi
IEFuaW1hdGlvbnMgYWdhaW4uCisKKyAgICAgICAgKiBhbmltYXRpb25zLzNkL3RyYW5zZm9ybS1v
cmlnaW4tdnMtZnVuY3Rpb25zLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9jaGFuZ2UtY29t
cGxldGVkLWFuaW1hdGlvbi10cmFuc2Zvcm0uaHRtbDoKKyAgICAgICAgKiBhbmltYXRpb25zL21p
c3NpbmctdmFsdWVzLWZpcnN0LWtleWZyYW1lLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9t
aXNzaW5nLXZhbHVlcy1sYXN0LWtleWZyYW1lLmh0bWw6CisgICAgICAgICogYW5pbWF0aW9ucy9w
bGF5LXN0YXRlLXN0YXJ0LXBhdXNlZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2NvbnRl
bnRzLXNjYWxlL2FuaW1hdGluZy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNy
ZWF0aW9uL2FuaW1hdGlvbi1vdmVybGFwLXdpdGgtY2hpbGRyZW4uaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1wb3NpdGlvbmluZy5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3Zpc2libGUtcmVjdC9hbmltYXRlZC1mcm9tLW5vbmUuaHRtbDoKKyAgICAg
ICAgKiBjb21wb3NpdGluZy92aXNpYmxlLXJlY3QvYW5pbWF0ZWQuaHRtbDoKKyAgICAgICAgKiBj
c3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtaHcuaHRtbDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtbXVsdGktaHcuaHRtbDoK
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUtbXVsdGku
aHRtbDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZmlsdGVyLWFuaW1hdGlvbi1mcm9tLW5vbmUu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtc2llcnJhL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBl
cy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDQtMTEg
IFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgV1BFIGdhcmRlbmluZy4gVXBkYXRpbmcgZXhwZWN0YXRpb25zIGFuZCBtb3ZpbmcgYmFzZWxp
bmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyNDc4NjYzZWRkYmQ1YWY4ZDFj
YjM3M2IzNTg2ODgwMTYxMGRkMTMzLi42OWVjOTk3OWY2NzZkYzgzODIwZjkxMzdiZDExMTgyOTEw
NzdmZDNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOC0wNC0xMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAg
IFtXZWIgQW5pbWF0aW9uc10gRW5hYmxlIHNlZWtpbmcgZm9yIGhhcmR3YXJlIGFuaW1hdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDUxOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRyYWNrIGEg
c21hbGwgcmVncmVzc2lvbiBpbiB0aGUgV2ViIEFuaW1hdGlvbnMgV1BUIHRlc3RzLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9h
bmltYXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0Ogor
CiAyMDE4LTA0LTA5ICBCcmVuZGFuIE1jTG91Z2hsaW4gIDxicmVuZGFuQGJvY291cC5jb20+CiAK
ICAgICAgICAgc3luYyByZW1haW5pbmcgd2ViLXBsYXRmb3JtLXRlc3RzIHRvIDk0YjMzYjU3M2Ew
NjlhZTUxNzAxMDRjYTU4MWEzNTRhMzU3NjI1MzYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fu
aW1hdGlvbnMvM2QvdHJhbnNmb3JtLW9yaWdpbi12cy1mdW5jdGlvbnMuaHRtbCBiL0xheW91dFRl
c3RzL2FuaW1hdGlvbnMvM2QvdHJhbnNmb3JtLW9yaWdpbi12cy1mdW5jdGlvbnMuaHRtbAppbmRl
eCBkMDNmOWMzY2JhOTVhZTMzYjNkM2IyY2VkZTk1Yjg4ZWEyY2E1OGUwLi45YzNjNGQwODRiZDBi
MDBkYzFkNzdmYjQzN2IzMjI4ZWMxODE2M2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmlt
YXRpb25zLzNkL3RyYW5zZm9ybS1vcmlnaW4tdnMtZnVuY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy8zZC90cmFuc2Zvcm0tb3JpZ2luLXZzLWZ1bmN0aW9ucy5odG1sCkBA
IC0xLDUgKzEsNCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQu
MDEvL0VOIgotICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3
LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVu
YWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10
cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9jaGFuZ2UtY29tcGxldGVkLWFuaW1hdGlvbi10cmFuc2Zv
cm0uaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvY2hhbmdlLWNvbXBsZXRlZC1hbmltYXRp
b24tdHJhbnNmb3JtLmh0bWwKaW5kZXggZjg0MDVmZTRlM2FjZDkyN2M0YzExY2ZlMDRmMDMyOWRk
ZjA4MWQxNy4uODMwMjRiZGNkZDNkZjQyMDlmZWNmNmZkMTlmN2FhOWJmMTgxODFiZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9jaGFuZ2UtY29tcGxldGVkLWFuaW1hdGlvbi10
cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2NoYW5nZS1jb21wbGV0
ZWQtYW5pbWF0aW9uLXRyYW5zZm9ybS5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0
bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0Fu
aW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+
CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fu
aW1hdGlvbnMvbWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvbWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbAppbmRleCA1OGE1
ZjIxMzA4OWYyMzViZmJjZWYwOWI3YWM0ZmY5MjdjZDVkODlhLi5kODc5OGQxOTk4ZWU1NzhkOTBl
OGMxYmM0NmUwNTQyMmUzM2YwMzgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25z
L21pc3NpbmctdmFsdWVzLWZpcnN0LWtleWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9taXNzaW5nLXZhbHVlcy1maXJzdC1rZXlmcmFtZS5odG1sCkBAIC0xLDQgKzEsNCBA
QAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVDU1NBbmlt
YXRpb25zQW5kQ1NTVHJhbnNpdGlvbnNCYWNrZWRCeVdlYkFuaW1hdGlvbnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9taXNz
aW5nLXZhbHVlcy1sYXN0LWtleWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21p
c3NpbmctdmFsdWVzLWxhc3Qta2V5ZnJhbWUuaHRtbAppbmRleCBkMzhkNWQwM2E2YmRiNjg3YTdi
ODAxMTg4ODBlZjYzYzBjN2VkYjU3Li45YzdhOTBkYjU4YjY1MzYzYzg0MjQ3YmI4ZGRlNGQ2ODkx
ZWRkMWY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3NpbmctdmFsdWVz
LWxhc3Qta2V5ZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21pc3Npbmct
dmFsdWVzLWxhc3Qta2V5ZnJhbWUuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5z
aXRpb25zQmFja2VkQnlXZWJBbmltYXRpb25zPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdGFydC1wYXVz
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdGFydC1wYXVzZWQu
aHRtbAppbmRleCA5NjZhODdiMDMwN2M3Yzk1N2UzYTQ0MmNmNGM1MDg1ZGUzYTY0NTIxLi45ZTlj
OTUxM2UyYjZlZjRiN2ZmYmJmNmE2OGU3MThhMmYwZTE1YWIzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL3BsYXktc3RhdGUtc3RhcnQtcGF1c2VkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9wbGF5LXN0YXRlLXN0YXJ0LXBhdXNlZC5odG1sCkBAIC0xLDQgKzEs
NCBAQAotPCFET0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5p
bWF0aW9ucz10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxlL2FuaW1hdGluZy5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwK
aW5kZXggZWQxMjQ4NjgyYTM0NDYzMTk0NDRkZjNlODY1YjQ0YWY5ZmJlOTAzYi4uZTkyM2E4OWFl
MmRiYzJmYmJiNjFiYWYyMGUzOTE0ZjRhZGRmMTViYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvYW5pbWF0aW5nLmh0bWwKQEAgLTEsNCArMSw0
IEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5zaXRpb25zQmFja2VkQnlXZWJBbmlt
YXRpb25zPXRydWUgXSAtLT4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2FuaW1hdGlvbi1vdmVybGFwLXdpdGgtY2hp
bGRyZW4uaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2FuaW1h
dGlvbi1vdmVybGFwLXdpdGgtY2hpbGRyZW4uaHRtbAppbmRleCBmNTgzYjkyZDcxZjc5NzRlZmM4
ODUwNjUzZmFjNmE0ZWU3ZjU0YWI5Li40NzQ3MWExNTBkNTg3OWFiYTM4OGYxMjU3YzI1NjMxMTU2
ODg0NzRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlv
bi9hbmltYXRpb24tb3ZlcmxhcC13aXRoLWNoaWxkcmVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vYW5pbWF0aW9uLW92ZXJsYXAtd2l0aC1jaGlsZHJl
bi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0
aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+CiAKIDxodG1sPgogPGhlYWQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1wb3Np
dGlvbmluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
cG9zaXRpb25pbmcuaHRtbAppbmRleCA2ZmRjYTFjM2UxNTZiZDMzN2E1MmViNzRkYmIwN2Q4MWZi
NDdjZTgyLi4yYWIyMzMyNTAyY2JhODBjZWVkNzU4NWRiNmMwMGUzZTA3YzY4ZDMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1wb3NpdGlvbmlu
Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXBv
c2l0aW9uaW5nLmh0bWwKQEAgLTEsNSArMSw0IEBACi08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgotICAgImh0dHA6Ly93d3cudzMu
b3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8v
RFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRt
bDQvbG9vc2UuZHRkIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlv
bnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+CiAKIDxo
dG1sIGxhbmc9ImVuIj4KIDxoZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvdmlzaWJsZS1yZWN0L2FuaW1hdGVkLWZyb20tbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvdmlzaWJsZS1yZWN0L2FuaW1hdGVkLWZyb20tbm9uZS5odG1sCmluZGV4IGZjY2Nl
NzgzMmYwNTA3MDkyNGYzODkxZDM1MzJiNmE2MjM1ZTk3ODEuLjJkOTQ2ZTMzNTk4NmY1ODc5NGUw
MzdlMGY3Nzk4ODUyNWZjYmYxYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3Zpc2libGUtcmVjdC9hbmltYXRlZC1mcm9tLW5vbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy92aXNpYmxlLXJlY3QvYW5pbWF0ZWQtZnJvbS1ub25lLmh0bWwKQEAgLTEsNCAr
MSw0IEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlQ1NTQW5pbWF0aW9uc0FuZENTU1RyYW5zaXRpb25zQmFja2VkQnlXZWJB
bmltYXRpb25zPXRydWUgXSAtLT4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2libGUtcmVjdC9hbmltYXRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvdmlzaWJsZS1yZWN0L2FuaW1hdGVkLmh0bWwKaW5kZXggYmZiZTMyYjY3
MGM3OTM2Yzg2NTBlZDQ4NDE3YmQyYWIxZmE2MGU2NS4uYTcyNmY5YmIwMTgzN2U3MmFhYWU5OTIx
ZTY3MmMxOTM2NWM2ZTIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlz
aWJsZS1yZWN0L2FuaW1hdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlz
aWJsZS1yZWN0L2FuaW1hdGVkLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4K
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQ1NTQW5pbWF0
aW9uc0FuZENTU1RyYW5zaXRpb25zQmFja2VkQnlXZWJBbmltYXRpb25zPXRydWUgXSAtLT4KIAog
PGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0
ZXItYW5pbWF0aW9uLWZyb20tbm9uZS1ody5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLWh3Lmh0bWwKaW5kZXggODc4MDA5YWNkMzUwZTUy
NDlkYTc5OThiMDMzMjhjOGNmNmMzYTliNi4uNmQzMWIyODhiZmRiMjQ5ZGI4ZDU3OTlmYmQyZjc4
ZjgyY2I0Y2ZjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1h
bmltYXRpb24tZnJvbS1ub25lLWh3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLWh3Lmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNB
bmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9maWx0ZXItYW5pbWF0aW9uLWZyb20tbm9uZS1tdWx0aS1ody5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLWh3Lmh0
bWwKaW5kZXggNWQ1NWEzMGNiYjUzYTNhYWFjYTU5YjcyNmUwNzJhYTJmNWIwODVmYS4uZmNjYjM0
MzIyNjcwYTliODMxNTY3NWEzZTk0NTYyOTVkZDQ0YjRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLWh3Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25l
LW11bHRpLWh3Lmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tl
ZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIAogPGh0bWw+CiA8
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0ZXItYW5pbWF0
aW9uLWZyb20tbm9uZS1tdWx0aS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRl
ci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLmh0bWwKaW5kZXggNDc1MzA1NjZiNjNlOGZiY2Qw
YjFlZDk3ODA5MGIyMWRjMzkxOTRjOC4uMjE4OWIzMDBmMGIxYjA3MDlmMDMyNWY3MmIyZGFkNmI3
MDg3NDZjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1hbmlt
YXRpb24tZnJvbS1ub25lLW11bHRpLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLW11bHRpLmh0bWwKQEAgLTEsNCArMSw0IEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlv
bnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9maWx0ZXItYW5pbWF0aW9uLWZyb20tbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLmh0bWwKaW5kZXggNjE2NGVl
MjVjNmM3ZWQ1NTg2OTdjYTliYThkMDEzOTNmYjMzNzA1ZC4uZTYwMDZjYTQzYjBlMmI0MmYxZjlk
MzBkNWUyY2U5MTFiMTk0NmIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2ZpbHRlci1hbmltYXRpb24tZnJvbS1ub25lLmh0bWwKQEAgLTEsNCArMSw0IEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUNTU0FuaW1hdGlv
bnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2ViQW5pbWF0aW9ucz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIAogPGh0bWw+CiA8aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1v
ZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmlt
YXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXIt
cHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDdmMWMwZjU0ODI1YTk3OTY1YWJjYjdkNDgzNzRj
Y2MxMzExZDYyODguLjNlYWE4NDg3NWZmYjY1Y2U0Y2U3MzM1OTQ3ODg4YTM5YTUwMjE0NWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9u
LXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0
aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMTQw
LDcgKzE0MCw3IEBAIFBBU1MgZmlsdGVyOiBkcm9wLXNoYWRvdyBmdW5jdGlvbgogRkFJTCBmaWx0
ZXI6IHBlcmNlbnRhZ2Ugb3IgbnVtZXJpYy1zcGVjaWZpYWJsZSBmdW5jdGlvbnMgKG51bWJlciB2
YWx1ZSkgYXNzZXJ0X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBicmlnaHRuZXNzKDAuMykg
Y29udHJhc3QoMC4zKSBncmF5c2NhbGUoMC4zKSBpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0
dXJhdGUoMC4zKSBzZXBpYSgwLjMpIGF0IDUwMG1zIGV4cGVjdGVkICJicmlnaHRuZXNzKDAuMykg
Y29udHJhc3QoMC4zKSBncmF5c2NhbGUoMC4zKSBpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0
dXJhdGUoMC4zKSBzZXBpYSgwLjMpIiBidXQgZ290ICJicmlnaHRuZXNzKDAuMzAwMDAwMDAwMDAw
MDAwMDQpIGNvbnRyYXN0KDAuMzAwMDAwMDAwMDAwMDAwMDQpIGdyYXlzY2FsZSgwLjMwMDAwMDAw
MDAwMDAwMDA0KSBpbnZlcnQoMC4zMDAwMDAwMDAwMDAwMDAwNCkgb3BhY2l0eSgwLjMwMDAwMDAw
MDAwMDAwMDA0KSBzYXR1cmF0ZSgwLjMwMDAwMDAwMDAwMDAwMDA0KSBzZXBpYSgwLjMwMDAwMDAw
MDAwMDAwMDA0KSIKIEZBSUwgZmlsdGVyOiBwZXJjZW50YWdlIG9yIG51bWVyaWMtc3BlY2lmaWFi
bGUgZnVuY3Rpb25zIChwZXJjZW50YWdlIHZhbHVlKSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUg
c2hvdWxkIGJlIGJyaWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGlu
dmVydCgwLjMpIG9wYWNpdHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykgYXQgNTAwbXMg
ZXhwZWN0ZWQgImJyaWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGlu
dmVydCgwLjMpIG9wYWNpdHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykiIGJ1dCBnb3Qg
ImJyaWdodG5lc3MoMC4zMDAwMDAwMDAwMDAwMDAwNCkgY29udHJhc3QoMC4zMDAwMDAwMDAwMDAw
MDAwNCkgZ3JheXNjYWxlKDAuMzAwMDAwMDAwMDAwMDAwMDQpIGludmVydCgwLjMwMDAwMDAwMDAw
MDAwMDA0KSBvcGFjaXR5KDAuMzAwMDAwMDAwMDAwMDAwMDQpIHNhdHVyYXRlKDAuMzAwMDAwMDAw
MDAwMDAwMDQpIHNlcGlhKDAuMzAwMDAwMDAwMDAwMDAwMDQpIgogRkFJTCBmaWx0ZXI6IGludGVy
cG9sYXRlIGRpZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBmdW5j
dGlvbiB3aGljaCBsYWN1bmEgdmFsdWUgaXMgMSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hv
dWxkIGJlIGdyYXlzY2FsZSgwLjUpIGJyaWdodG5lc3MoMC41KSBjb250cmFzdCgwLjUpIG9wYWNp
dHkoMC41KSBzYXR1cmF0ZSgwLjUpIGF0IDUwMG1zIGV4cGVjdGVkICJncmF5c2NhbGUoMC41KSBi
cmlnaHRuZXNzKDAuNSkgY29udHJhc3QoMC41KSBvcGFjaXR5KDAuNSkgc2F0dXJhdGUoMC41KSIg
YnV0IGdvdCAiZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMCkgY29udHJhc3QoMCkgb3BhY2l0eSgw
KSBzYXR1cmF0ZSgwKSIKLVBBU1MgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJlbnQgbGVuZ3Ro
IG9mIGZpbHRlci1mdW5jdGlvbi1saXN0IHdpdGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZhbHVl
IGlzIDAgCitGQUlMIGZpbHRlcjogaW50ZXJwb2xhdGUgZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0
ZXItZnVuY3Rpb24tbGlzdCB3aXRoIGZ1bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAwIGFz
c2VydF9lcXVhbHM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgb3BhY2l0eSgwLjUpIGdyYXlzY2FsZSgw
LjUpIGludmVydCgwLjUpIHNlcGlhKDAuNSkgYmx1cig1cHgpIGF0IDUwMG1zIGV4cGVjdGVkICJv
cGFjaXR5KDAuNSkgZ3JheXNjYWxlKDAuNSkgaW52ZXJ0KDAuNSkgc2VwaWEoMC41KSBibHVyKDVw
eCkiIGJ1dCBnb3QgIm9wYWNpdHkoMC4yNSkgZ3JheXNjYWxlKDAuNzUpIGludmVydCgwLjc1KSBz
ZXBpYSgwLjc1KSBibHVyKDcuNXB4KSIKIEZBSUwgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJl
bnQgbGVuZ3RoIG9mIGZpbHRlci1mdW5jdGlvbi1saXN0IHdpdGggZHJvcC1zaGFkb3cgZnVuY3Rp
b24gYXNzZXJ0X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBibHVyKDVweCkgZHJvcC1zaGFk
b3cocmdiYSg4NSwgMCwgMTcwLCAwLjYpIDVweCA1cHggNXB4IGF0IDUwMG1zIGV4cGVjdGVkICJi
bHVyKDVweCkgZHJvcC1zaGFkb3cocmdiYSg4NSwgMCwgMTcwLCAwLjYpIDVweCA1cHggNXB4IiBi
dXQgZ290ICJibHVyKDEwcHgpIGRyb3Atc2hhZG93KHJnYmEoMCwgMCwgMjU1LCAwLjgpIDEwcHgg
MTBweCAxMHB4KSIKIFBBU1MgZmlsdGVyOiBpbnRlcnBvbGF0ZSBmcm9tIG5vbmUgCiBGQUlMIGZp
bHRlcjogdXJsIGZ1bmN0aW9uIChpbnRlcnBvYWx0ZSBhcyBkaXNjcmV0ZSkgYXNzZXJ0X2VxdWFs
czogVGhlIHZhbHVlIHNob3VsZCBiZSBibHVyKDBweCkgdXJsKCIjZjEiKSBhdCA0OTltcyBleHBl
Y3RlZCAiYmx1cigwcHgpIHVybChcIiNmMVwiKSIgYnV0IGdvdCAiYmx1cig0Ljk4OTk5OTc3MTEx
ODE2NHB4KSB1cmwoI2YxKSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1z
aWVycmEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zaWVycmEvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0
aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dAppbmRleCAz
NTEyYzU1MDQ5OWY2ZDk3ODdlNmViZDYzMTVhN2ZjZGY3MDQ1ODU4Li44NzliZjYzMWU4YmIzNjE2
NWQ3OTQzYzMyNjRkNTMyYmJjZjE2NGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtc2llcnJhL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNpZXJyYS9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1t
b2RlbC9hbmltYXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQu
dHh0CkBAIC0xNDAsNyArMTQwLDcgQEAgUEFTUyBmaWx0ZXI6IGRyb3Atc2hhZG93IGZ1bmN0aW9u
CiBGQUlMIGZpbHRlcjogcGVyY2VudGFnZSBvciBudW1lcmljLXNwZWNpZmlhYmxlIGZ1bmN0aW9u
cyAobnVtYmVyIHZhbHVlKSBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJyaWdo
dG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMpIG9wYWNp
dHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykgYXQgNTAwbXMgZXhwZWN0ZWQgImJyaWdo
dG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpIGludmVydCgwLjMpIG9wYWNp
dHkoMC4zKSBzYXR1cmF0ZSgwLjMpIHNlcGlhKDAuMykiIGJ1dCBnb3QgImJyaWdodG5lc3MoMC4z
MDAwMDAwMDAwMDAwMDAwNCkgY29udHJhc3QoMC4zMDAwMDAwMDAwMDAwMDAwNCkgZ3JheXNjYWxl
KDAuMzAwMDAwMDAwMDAwMDAwMDQpIGludmVydCgwLjMwMDAwMDAwMDAwMDAwMDA0KSBvcGFjaXR5
KDAuMzAwMDAwMDAwMDAwMDAwMDQpIHNhdHVyYXRlKDAuMzAwMDAwMDAwMDAwMDAwMDQpIHNlcGlh
KDAuMzAwMDAwMDAwMDAwMDAwMDQpIgogRkFJTCBmaWx0ZXI6IHBlcmNlbnRhZ2Ugb3IgbnVtZXJp
Yy1zcGVjaWZpYWJsZSBmdW5jdGlvbnMgKHBlcmNlbnRhZ2UgdmFsdWUpIGFzc2VydF9lcXVhbHM6
IFRoZSB2YWx1ZSBzaG91bGQgYmUgYnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3JheXNj
YWxlKDAuMykgaW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVyYXRlKDAuMykgc2VwaWEoMC4z
KSBhdCA1MDBtcyBleHBlY3RlZCAiYnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3JheXNj
YWxlKDAuMykgaW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVyYXRlKDAuMykgc2VwaWEoMC4z
KSIgYnV0IGdvdCAiYnJpZ2h0bmVzcygwLjMwMDAwMDAwMDAwMDAwMDA0KSBjb250cmFzdCgwLjMw
MDAwMDAwMDAwMDAwMDA0KSBncmF5c2NhbGUoMC4zMDAwMDAwMDAwMDAwMDAwNCkgaW52ZXJ0KDAu
MzAwMDAwMDAwMDAwMDAwMDQpIG9wYWNpdHkoMC4zMDAwMDAwMDAwMDAwMDAwNCkgc2F0dXJhdGUo
MC4zMDAwMDAwMDAwMDAwMDAwNCkgc2VwaWEoMC4zMDAwMDAwMDAwMDAwMDAwNCkiCiBGQUlMIGZp
bHRlcjogaW50ZXJwb2xhdGUgZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0ZXItZnVuY3Rpb24tbGlz
dCB3aXRoIGZ1bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAxIGFzc2VydF9lcXVhbHM6IFRo
ZSB2YWx1ZSBzaG91bGQgYmUgZ3JheXNjYWxlKDAuNSkgYnJpZ2h0bmVzcygwLjUpIGNvbnRyYXN0
KDAuNSkgb3BhY2l0eSgwLjUpIHNhdHVyYXRlKDAuNSkgYXQgNTAwbXMgZXhwZWN0ZWQgImdyYXlz
Y2FsZSgwLjUpIGJyaWdodG5lc3MoMC41KSBjb250cmFzdCgwLjUpIG9wYWNpdHkoMC41KSBzYXR1
cmF0ZSgwLjUpIiBidXQgZ290ICJncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygwKSBjb250cmFzdCgw
KSBvcGFjaXR5KDApIHNhdHVyYXRlKDApIgotUEFTUyBmaWx0ZXI6IGludGVycG9sYXRlIGRpZmZl
cmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBmdW5jdGlvbiB3aGljaCBs
YWN1bmEgdmFsdWUgaXMgMCAKK0ZBSUwgZmlsdGVyOiBpbnRlcnBvbGF0ZSBkaWZmZXJlbnQgbGVu
Z3RoIG9mIGZpbHRlci1mdW5jdGlvbi1saXN0IHdpdGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZh
bHVlIGlzIDAgYXNzZXJ0X2VxdWFsczogVGhlIHZhbHVlIHNob3VsZCBiZSBvcGFjaXR5KDAuNSkg
Z3JheXNjYWxlKDAuNSkgaW52ZXJ0KDAuNSkgc2VwaWEoMC41KSBibHVyKDVweCkgYXQgNTAwbXMg
ZXhwZWN0ZWQgIm9wYWNpdHkoMC41KSBncmF5c2NhbGUoMC41KSBpbnZlcnQoMC41KSBzZXBpYSgw
LjUpIGJsdXIoNXB4KSIgYnV0IGdvdCAib3BhY2l0eSgwLjI1KSBncmF5c2NhbGUoMC43NSkgaW52
ZXJ0KDAuNzUpIHNlcGlhKDAuNzUpIGJsdXIoNy41cHgpIgogRkFJTCBmaWx0ZXI6IGludGVycG9s
YXRlIGRpZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3Qgd2l0aCBkcm9wLXNo
YWRvdyBmdW5jdGlvbiBhc3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJsdXIoNXB4
KSBkcm9wLXNoYWRvdyhyZ2JhKDg1LCAwLCAxNzAsIDAuNikgNXB4IDVweCA1cHggYXQgNTAwbXMg
ZXhwZWN0ZWQgImJsdXIoNXB4KSBkcm9wLXNoYWRvdyhyZ2JhKDg1LCAwLCAxNzAsIDAuNikgNXB4
IDVweCA1cHgiIGJ1dCBnb3QgImJsdXIoMTBweCkgZHJvcC1zaGFkb3cocmdiYSgwLCAwLCAyNTUs
IDAuOCkgMTBweCAxMHB4IDEwcHgpIgogUEFTUyBmaWx0ZXI6IGludGVycG9sYXRlIGZyb20gbm9u
ZSAKIEZBSUwgZmlsdGVyOiB1cmwgZnVuY3Rpb24gKGludGVycG9hbHRlIGFzIGRpc2NyZXRlKSBh
c3NlcnRfZXF1YWxzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIGJsdXIoMHB4KSB1cmwoIiNmMSIpIGF0
IDQ5OW1zIGV4cGVjdGVkICJibHVyKDBweCkgdXJsKFwiI2YxXCIpIiBidXQgZ290ICJibHVyKDQu
OTg5OTk5NzcxMTE4MTY0cHgpIHVybCgjZjEpIgo=
</data>
<flag name="review"
          id="356131"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>