<?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>210988</bug_id>
          
          <creation_ts>2020-04-24 13:08:07 -0700</creation_ts>
          <short_desc>[Web Animations] Ensure calling Web Animations APIs override future CSS Animations style properties</short_desc>
          <delta_ts>2020-04-24 14:43:19 -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>Animations</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>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1645348</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 13:08:07 -0700</bug_when>
    <thetext>[Web Animations] Ensure calling Web Animations APIs override future CSS Animations style properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645354</commentid>
    <comment_count>1</comment_count>
      <attachid>397495</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 13:23:28 -0700</bug_when>
    <thetext>Created attachment 397495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645359</commentid>
    <comment_count>2</comment_count>
      <attachid>397495</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-04-24 13:30:49 -0700</bug_when>
    <thetext>Comment on attachment 397495
Patch

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

&gt; Source/WebCore/animation/WebAnimation.cpp:151
&gt; +void WebAnimation::setBindingsEffect(RefPtr&lt;AnimationEffect&gt;&amp;&amp; newEffect)
&gt; +{
&gt; +    setEffect(WTFMove(newEffect));
&gt; +}

Why does this need a different name for bindings? And the other two below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645361</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 13:34:16 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #2)
&gt; Comment on attachment 397495 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397495&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/WebAnimation.cpp:151
&gt; &gt; +void WebAnimation::setBindingsEffect(RefPtr&lt;AnimationEffect&gt;&amp;&amp; newEffect)
&gt; &gt; +{
&gt; &gt; +    setEffect(WTFMove(newEffect));
&gt; &gt; +}
&gt; 
&gt; Why does this need a different name for bindings? And the other two below.

Because CSSAnimation subclasses this method to apply some overrides. This needs to happen only when the effect is set via the JS API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645402</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 14:42:59 -0700</bug_when>
    <thetext>Committed r260671: &lt;https://trac.webkit.org/changeset/260671&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645403</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-24 14:43:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/62340827&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397495</attachid>
            <date>2020-04-24 13:23:28 -0700</date>
            <delta_ts>2020-04-24 13:30:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210988-20200424222327.patch</filename>
            <type>text/plain</type>
            <size>40855</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM3YmIyNTc5OTlmYWFl
NmVkYmFiMjFlM2QxNmM5YWVhM2VmYzJmNS4uMzMxYTkyOGY0ZDE4NDQ2N2JlYjE2MGNhNWQ1NjYx
Njk2MmJlY2ZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIwLTA0LTI0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFbnN1cmUgY2FsbGluZyBXZWIgQW5pbWF0aW9ucyBBUElzIG92ZXJyaWRlIGZ1dHVyZSBDU1Mg
QW5pbWF0aW9ucyBzdHlsZSBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA5ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgQ1NTIEFuaW1hdGlvbnMgTGV2ZWwgMiBzcGVjIHNwZWNp
ZmllcyBob3cgdGhlIFdlYiBBbmltYXRpb25zIEFQSXMgYW5kIHRoZSBDU1MgQW5pbWF0aW9ucyBz
dHlsZQorICAgICAgICBwcm9wZXJ0aWVzIHNob3VsZCBpbnRlcmFjdCBpbiBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWFuaW1hdGlvbnMtMi8jYW5pbWF0aW9ucy4gVGhpcyBwYXRjaAorICAg
ICAgICBpbXBsZW1lbnRzIHRoZSBzcGVjaWZpZWQgYmVoYXZpb3IgYW5kIHRoaXMgaXMgcmVmbGVj
dGVkIGJ5IHByb2dyZXNzIG9uIHRoZSByZWxldmFudCBXUFQgdGVzdHMuCisKKyAgICAgICAgVGhl
IGdpc3Qgb2YgdGhpcyBjaGFuZ2UgaXMgdGhhdCBvbmNlIGEgV2ViIEFuaW1hdGlvbnMgQVBJIGlz
IGNhbGxlZCBvbiBhbiBhbmltYXRpb24gY3JlYXRlZCB1c2luZworICAgICAgICBDU1MgQW5pbWF0
aW9ucywgYW55IGNoYW5nZXMgbWFkZSB0byByZWxhdGVkIENTUyBBbmltYXRpb25zIHN0eWxlIHBy
b3BlcnRpZXMgb24gdGhlIHRhcmdldCBlbGVtZW50CisgICAgICAgIHdpbGwgYmUgaWdub3JlZCBz
byB0aGF0IHRoZSBvdmVycmlkZXMgYXBwbGllZCB2aWEgdGhlIFdlYiBBbmltYXRpb25zIEFQSSBy
ZW1haW4gaW4gZWZmZWN0LgorCisgICAgICAgIEZvciBpbnN0YW5jZSwgY2FsbGluZyBwYXVzZSgp
IG9yIHBsYXkoKSBpbiBhIHdheSB0aGF0IGNoYW5nZXMgdGhlIHBsYXliYWNrIHN0YXRlIG9mIHRo
ZSBDU1MgQW5pbWF0aW9uCisgICAgICAgIHdpbGwgbWVhbiB0aGF0IGZ1dHVyZSBjaGFuZ2VzIHRv
IHRoZSBDU1MgYW5pbWF0aW9uLXBsYXktc3RhdGUgcHJvcGVydHkgYXJlIGlnbm9yZWQuCisKKyAg
ICAgICAgVG8gZG8gdGhpcyB3ZSBtYWtlIG1vcmUgSURMIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMg
dXNlIGRlZGljYXRlZCBtZXRob2RzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlCisgICAgICAg
IGJpbmRpbmdzIGVudHJ5LXBvaW50IGFuZCBpbnRlcm5hbCB1c2FnZSBvZiB0aGUgc2FtZSBtZXRo
b2RzIHRvIGludGVncmF0ZSB0aGUgYmVoYXZpb3Igb25seSB3aGVuIHRoZQorICAgICAgICBBUEkg
aXRzZWxmIGlzIGJlaW5nIHVzZWQuCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6Z2V0QmluZGluZ3NU
aW1pbmcgY29uc3QpOiBFbnN1cmUgd2UgZmx1c2ggc3R5bGVzIHdoZW4gYW5pbWF0aW9uLmVmZmVj
dC5nZXRUaW1pbmcoKQorICAgICAgICBpcyBjYWxsZWQuCisgICAgICAgIChXZWJDb3JlOjpBbmlt
YXRpb25FZmZlY3Q6OmdldEJpbmRpbmdzQ29tcHV0ZWRUaW1pbmcgY29uc3QpOiBFbnN1cmUgd2Ug
Zmx1c2ggc3R5bGVzIHdoZW4KKyAgICAgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRp
bWluZygpIGlzIGNhbGxlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6Ymlu
ZGluZ3NVcGRhdGVUaW1pbmcpOiBOb3RpZnkgdGhlIGFzc29jaWF0ZWQgQ1NTQW5pbWF0aW9uIG9i
amVjdCwgaWYgYW55LCB3aGVuCisgICAgICAgIGFuaW1hdGlvbi5lZmZlY3QudXBkYXRlVGltaW5n
KCkgaXMgY2FsbGVkIHN1Y2ggdGhhdCB0aGUgQ1NTQW5pbWF0aW9uIG1heSBhcHBseSB0aGUgcmVs
ZXZhbnQgb3ZlcnJpZGVzLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaDoK
KyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmlkbDoKKyAgICAgICAgKiBhbmlt
YXRpb24vQ1NTQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FuaW1hdGlvbjo6
c3luY1Byb3BlcnRpZXNXaXRoQmFja2luZ0FuaW1hdGlvbik6IE9ubHkgYXBwbHkgbmV3IHZhbHVl
cyBvZiBDU1MgQW5pbWF0aW9ucyBzdHlsZQorICAgICAgICBwcm9wZXJ0aWVzIGlmIHRoZXJlIGFy
ZSBubyBvdmVycmlkZXMgZm9yIHRoZW0gcmVzdWx0aW5nIGZyb20gY2FsbGluZyByZWxhdGVkIFdl
YiBBbmltYXRpb25zIEFQSXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NBbmltYXRpb246OmJpbmRp
bmdzUGxheSk6IE1hcmsgYW5pbWF0aW9uLXBsYXktc3RhdGUgYXMgb3ZlcnJpZGRlbiBpZiBwbGF5
KCkgaXMgY2FsbGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQW5pbWF0aW9uOjpiaW5kaW5nc1Bh
dXNlKTogTWFyayBhbmltYXRpb24tcGxheS1zdGF0ZSBhcyBvdmVycmlkZGVuIGlmIHBhdXNlKCkg
aXMgY2FsbGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQW5pbWF0aW9uOjpzZXRCaW5kaW5nc0Vm
ZmVjdCk6IE1hcmsgYWxsIGFuaW1hdGlvbiBzdHlsZSBwcm9wZXJ0aWVzLCBleGNlcHQgZm9yIGFu
aW1hdGlvbi1uYW1lCisgICAgICAgIGFuZCBhbmltYXRpb24tcGxheS1zdGF0ZSBhcyBvdmVycmlk
ZGVuIGlmIGFuaW1hdGlvbi5lZmZlY3QgaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6Q1NTQW5p
bWF0aW9uOjpzZXRCaW5kaW5nc1N0YXJ0VGltZSk6IE1hcmsgYW5pbWF0aW9uLXBsYXktc3RhdGUg
YXMgb3ZlcnJpZGRlbiBpZiBhbmltYXRpb24uc3RhcnRUaW1lCisgICAgICAgIGlzIHNldC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0FuaW1hdGlvbjo6YmluZGluZ3NSZXZlcnNlKTogTWFyayBhbmlt
YXRpb24tcGxheS1zdGF0ZSBhcyBvdmVycmlkZGVuIGlmIHJldmVyc2UoKSBpcyBjYWxsZWQuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NBbmltYXRpb246OmVmZmVjdFRpbWluZ1dhc1VwZGF0ZWRVc2lu
Z0JpbmRpbmdzKTogTWFyayBlYWNoIENTUyBwcm9wZXJ0eSBhc3NvY2lhdGVkIHdpdGggYSBrZXkK
KyAgICAgICAgZm91bmQgb24gdGhlIHRpbWluZyBvYmplY3QgcGFzc2VkIHRvIGFuaW1hdGlvbi5l
ZmZlY3QudXBkYXRlVGltaW5nKCkgYXMgb3ZlcnJpZGRlbi4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U0FuaW1hdGlvbjo6ZWZmZWN0S2V5ZnJhbWVzV2VyZVNldFVzaW5nQmluZGluZ3MpOiBNYXJrIGFu
aW1hdGlvbi10aW1pbmctZnVuY3Rpb24gYXMgb3ZlcnJpZGRlbgorICAgICAgICBpZiBhbmltYXRp
b24uZWZmZWN0LnNldEtleWZyYW1lcygpIGlzIGNhbGxlZC4KKyAgICAgICAgKiBhbmltYXRpb24v
Q1NTQW5pbWF0aW9uLmg6CisgICAgICAgICogYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlY2xhcmF0aXZlQW5pbWF0aW9uOjpiaW5kaW5nc1N0
YXJ0VGltZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6
c2V0QmluZGluZ3NTdGFydFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6RGVjbGFyYXRpdmVBbmlt
YXRpb246OnN0YXJ0VGltZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEZWNs
YXJhdGl2ZUFuaW1hdGlvbjo6c2V0U3RhcnRUaW1lKTogRGVsZXRlZC4KKyAgICAgICAgKiBhbmlt
YXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uaDoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmdldEJpbmRp
bmdzS2V5ZnJhbWVzKTogRW5zdXJlIHdlIGZsdXNoIHN0eWxlcyB3aGVuIGFuaW1hdGlvbi5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkKKyAgICAgICAgaXMgY2FsbGVkLgorICAgICAgICAoV2ViQ29yZTo6
S2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZyYW1lcyk6IE9ubHkgdXNlIHRoZSBDU1Mtb3JpZ2luYXRl
ZCBhbmltYXRpb24gcGF0aCBpZiB3ZSBkb24ndCBoYXZlIEpTLW9yaWdpbmF0ZWQKKyAgICAgICAg
a2V5ZnJhbWVzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OnNldEJpbmRpbmdz
S2V5ZnJhbWVzKTogTm90aWZ5IHRoZSBhc3NvY2lhdGVkIENTU0FuaW1hdGlvbiBvYmplY3QsIGlm
IGFueSwgd2hlbgorICAgICAgICBhbmltYXRpb24uZWZmZWN0LnNldEtleWZyYW1lcygpIGlzIGNh
bGxlZCBzdWNoIHRoYXQgdGhlIENTU0FuaW1hdGlvbiBtYXkgYXBwbHkgdGhlIHJlbGV2YW50IG92
ZXJyaWRlcy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpwcm9jZXNzS2V5ZnJh
bWVzKTogQ29ycmVjdGx5IHJldHVybiBlYXJseSBpZiBwYXJ0IG9mIHRoZSBwcm9jZXNzaW5nIHlp
ZWxkcyBhbiBleGNlcHRpb24uCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0Lmg6
CisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbDoKKyAgICAgICAgKiBhbmlt
YXRpb24vV2ViQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6
c2V0QmluZGluZ3NFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpzZXRC
aW5kaW5nc1N0YXJ0VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OmJpbmRp
bmdzUmV2ZXJzZSk6CisgICAgICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpiaW5kaW5nc0VmZmVjdCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJBbmltYXRpb246OmJpbmRpbmdzU3RhcnRUaW1lIGNvbnN0KToKKyAgICAg
ICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbDoKKwogMjAyMC0wNC0yNCAgVG9tb2tpIElt
YWkgIDxUb21va2kuSW1haUBzb255LmNvbT4KIAogICAgICAgICBbT3BlblNTTF0gSW1wbGVtZW50
IFdlYkNyeXB0byBBUElzIGZvciBITUFDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25FZmZlY3QuY3BwCmluZGV4IGRhOGE2MWMwZjFmYTdkMDJlM2U3MjExOWY1YWJmMGI0MTcz
YjllODYuLjU0MmYwNGYxYmMzNTRiODcyMDdiYzRmNmZlMzZlNDA4Yzk0Y2FkNzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCkBAIC0yNiw4ICsyNiwx
MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFuaW1hdGlvbkVmZmVjdC5oIgog
CisjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRmlsbE1vZGUuaCIKICNpbmNs
dWRlICJKU0NvbXB1dGVkRWZmZWN0VGltaW5nLmgiCisjaW5jbHVkZSAiV2ViQW5pbWF0aW9uLmgi
CiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQxLDYgKzQzLDEzIEBAIEFuaW1hdGlvbkVmZmVjdDo6fkFuaW1hdGlvbkVmZmVjdCgp
CiB7CiB9CiAKK0VmZmVjdFRpbWluZyBBbmltYXRpb25FZmZlY3Q6OmdldEJpbmRpbmdzVGltaW5n
KCkgY29uc3QKK3sKKyAgICBpZiAoaXM8RGVjbGFyYXRpdmVBbmltYXRpb24+KGFuaW1hdGlvbigp
KSkKKyAgICAgICAgZG93bmNhc3Q8RGVjbGFyYXRpdmVBbmltYXRpb24+KCphbmltYXRpb24oKSku
Zmx1c2hQZW5kaW5nU3R5bGVDaGFuZ2VzKCk7CisgICAgcmV0dXJuIGdldFRpbWluZygpOworfQor
CiBFZmZlY3RUaW1pbmcgQW5pbWF0aW9uRWZmZWN0OjpnZXRUaW1pbmcoKSBjb25zdAogewogICAg
IEVmZmVjdFRpbWluZyB0aW1pbmc7CkBAIC0xNTEsNiArMTYwLDEzIEBAIEJhc2ljRWZmZWN0VGlt
aW5nIEFuaW1hdGlvbkVmZmVjdDo6Z2V0QmFzaWNUaW1pbmcoKSBjb25zdAogICAgIHJldHVybiB7
IGxvY2FsVGltZSwgYWN0aXZlVGltZSwgbV9lbmRUaW1lLCBtX2FjdGl2ZUR1cmF0aW9uLCBwaGFz
ZSB9OwogfQogCitDb21wdXRlZEVmZmVjdFRpbWluZyBBbmltYXRpb25FZmZlY3Q6OmdldEJpbmRp
bmdzQ29tcHV0ZWRUaW1pbmcoKSBjb25zdAoreworICAgIGlmIChpczxEZWNsYXJhdGl2ZUFuaW1h
dGlvbj4oYW5pbWF0aW9uKCkpKQorICAgICAgICBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlv
bj4oKmFuaW1hdGlvbigpKS5mbHVzaFBlbmRpbmdTdHlsZUNoYW5nZXMoKTsKKyAgICByZXR1cm4g
Z2V0Q29tcHV0ZWRUaW1pbmcoKTsKK30KKwogQ29tcHV0ZWRFZmZlY3RUaW1pbmcgQW5pbWF0aW9u
RWZmZWN0OjpnZXRDb21wdXRlZFRpbWluZygpIGNvbnN0CiB7CiAgICAgLy8gVGhlIFdlYiBBbmlt
YXRpb25zIHNwZWMgaW50cm9kdWNlcyBhIG51bWJlciBvZiBhbmltYXRpb24gZWZmZWN0IHRpbWUt
cmVsYXRlZCBkZWZpbml0aW9ucyB0aGF0IHJlZmVyCkBAIC0zMzYsNiArMzUyLDE0IEBAIENvbXB1
dGVkRWZmZWN0VGltaW5nIEFuaW1hdGlvbkVmZmVjdDo6Z2V0Q29tcHV0ZWRUaW1pbmcoKSBjb25z
dAogICAgIHJldHVybiBjb21wdXRlZFRpbWluZzsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gQW5p
bWF0aW9uRWZmZWN0OjpiaW5kaW5nc1VwZGF0ZVRpbWluZyhPcHRpb25hbDxPcHRpb25hbEVmZmVj
dFRpbWluZz4gdGltaW5nKQoreworICAgIGF1dG8gcmV0VmFsID0gdXBkYXRlVGltaW5nKHRpbWlu
Zyk7CisgICAgaWYgKCFyZXRWYWwuaGFzRXhjZXB0aW9uKCkgJiYgdGltaW5nICYmIGlzPENTU0Fu
aW1hdGlvbj4oYW5pbWF0aW9uKCkpKQorICAgICAgICBkb3duY2FzdDxDU1NBbmltYXRpb24+KCph
bmltYXRpb24oKSkuZWZmZWN0VGltaW5nV2FzVXBkYXRlZFVzaW5nQmluZGluZ3MoKnRpbWluZyk7
CisgICAgcmV0dXJuIHJldFZhbDsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQW5pbWF0aW9uRWZm
ZWN0Ojp1cGRhdGVUaW1pbmcoT3B0aW9uYWw8T3B0aW9uYWxFZmZlY3RUaW1pbmc+IHRpbWluZykK
IHsKICAgICAvLyA2LjUuNC4gVXBkYXRpbmcgdGhlIHRpbWluZyBvZiBhbiBBbmltYXRpb25FZmZl
Y3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaAppbmRleCA4ZDAy
YWQwNzZkMjgzODY5MmNkN2YzYTM5ZGJiNmE1OTNhZWFiYjA2Li5iMzcxYjBlYjA0MjI2M2ZlM2Vj
NGY2YTI2MDg1Zjg1ZjM0N2NkNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1h
dGlvbkVmZmVjdC5oCkBAIC01Myw5ICs1MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJv
b2wgaXNLZXlmcmFtZUVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICBFZmZl
Y3RUaW1pbmcgZ2V0QmluZGluZ3NUaW1pbmcoKSBjb25zdDsKICAgICBFZmZlY3RUaW1pbmcgZ2V0
VGltaW5nKCkgY29uc3Q7CiAgICAgQmFzaWNFZmZlY3RUaW1pbmcgZ2V0QmFzaWNUaW1pbmcoKSBj
b25zdDsKKyAgICBDb21wdXRlZEVmZmVjdFRpbWluZyBnZXRCaW5kaW5nc0NvbXB1dGVkVGltaW5n
KCkgY29uc3Q7CiAgICAgQ29tcHV0ZWRFZmZlY3RUaW1pbmcgZ2V0Q29tcHV0ZWRUaW1pbmcoKSBj
b25zdDsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBiaW5kaW5nc1VwZGF0ZVRpbWluZyhPcHRpb25h
bDxPcHRpb25hbEVmZmVjdFRpbWluZz4pOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHVwZGF0ZVRp
bWluZyhPcHRpb25hbDxPcHRpb25hbEVmZmVjdFRpbWluZz4pOwogCiAgICAgdmlydHVhbCB2b2lk
IGFwcGx5KFJlbmRlclN0eWxlJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5p
bWF0aW9uRWZmZWN0LmlkbAppbmRleCAyZDllNjBkZmVkMDgyZDE1ODljZmU0Mzk1NDkwNWIwMDE1
NWVkZGY3Li45MTNhNWQ2YWFjODAxMjYyMzI4MTRiYTkxNzU2MDllNWNiMjg3ZTI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmlkbApAQCAtMjgsNyArMjgs
NyBAQAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEN1c3RvbVRvSlNPYmplY3QKIF0gaW50ZXJm
YWNlIEFuaW1hdGlvbkVmZmVjdCB7Ci0gICAgRWZmZWN0VGltaW5nIGdldFRpbWluZygpOwotICAg
IENvbXB1dGVkRWZmZWN0VGltaW5nIGdldENvbXB1dGVkVGltaW5nKCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHVwZGF0ZVRpbWluZyhvcHRpb25hbCBPcHRpb25hbEVmZmVjdFRpbWlu
ZyB0aW1pbmcpOworICAgIFtJbXBsZW1lbnRlZEFzPWdldEJpbmRpbmdzVGltaW5nXSBFZmZlY3RU
aW1pbmcgZ2V0VGltaW5nKCk7CisgICAgW0ltcGxlbWVudGVkQXM9Z2V0QmluZGluZ3NDb21wdXRl
ZFRpbWluZ10gQ29tcHV0ZWRFZmZlY3RUaW1pbmcgZ2V0Q29tcHV0ZWRUaW1pbmcoKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NVcGRhdGVUaW1pbmddIHZv
aWQgdXBkYXRlVGltaW5nKG9wdGlvbmFsIE9wdGlvbmFsRWZmZWN0VGltaW5nIHRpbWluZyk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uLmNwcAppbmRleCAyZDFiM2E1
MjY2MDgzYzYzYmY2MjAzYTVkNjJlOWI0ZWYxYzhjY2VmLi5mZDVlMmE4MGNhOTc4ZGZkMTZkMTA2
OTdlYjZmM2I1YTM2OWY5YzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
Q1NTQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0
aW9uLmNwcApAQCAtNjcsNjQgKzY3LDE4MCBAQCB2b2lkIENTU0FuaW1hdGlvbjo6c3luY1Byb3Bl
cnRpZXNXaXRoQmFja2luZ0FuaW1hdGlvbigpCiAKICAgICBhdXRvIHByZXZpb3VzVGltaW5nID0g
YW5pbWF0aW9uRWZmZWN0LT5nZXRDb21wdXRlZFRpbWluZygpOwogCi0gICAgc3dpdGNoIChhbmlt
YXRpb24uZmlsbE1vZGUoKSkgewotICAgIGNhc2UgQW5pbWF0aW9uRmlsbE1vZGU6Ok5vbmU6Ci0g
ICAgICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0RmlsbChGaWxsTW9kZTo6Tm9uZSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQW5pbWF0aW9uRmlsbE1vZGU6OkJhY2t3YXJkczoKLSAgICAgICAg
YW5pbWF0aW9uRWZmZWN0LT5zZXRGaWxsKEZpbGxNb2RlOjpCYWNrd2FyZHMpOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEFuaW1hdGlvbkZpbGxNb2RlOjpGb3J3YXJkczoKLSAgICAgICAgYW5p
bWF0aW9uRWZmZWN0LT5zZXRGaWxsKEZpbGxNb2RlOjpGb3J3YXJkcyk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQW5pbWF0aW9uRmlsbE1vZGU6OkJvdGg6Ci0gICAgICAgIGFuaW1hdGlvbkVm
ZmVjdC0+c2V0RmlsbChGaWxsTW9kZTo6Qm90aCk7Ci0gICAgICAgIGJyZWFrOworICAgIGlmICgh
bV9vdmVycmlkZGVuUHJvcGVydGllcy5jb250YWlucyhQcm9wZXJ0eTo6RmlsbE1vZGUpKSB7Cisg
ICAgICAgIHN3aXRjaCAoYW5pbWF0aW9uLmZpbGxNb2RlKCkpIHsKKyAgICAgICAgY2FzZSBBbmlt
YXRpb25GaWxsTW9kZTo6Tm9uZToKKyAgICAgICAgICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0Rmls
bChGaWxsTW9kZTo6Tm9uZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBbmlt
YXRpb25GaWxsTW9kZTo6QmFja3dhcmRzOgorICAgICAgICAgICAgYW5pbWF0aW9uRWZmZWN0LT5z
ZXRGaWxsKEZpbGxNb2RlOjpCYWNrd2FyZHMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgQW5pbWF0aW9uRmlsbE1vZGU6OkZvcndhcmRzOgorICAgICAgICAgICAgYW5pbWF0aW9u
RWZmZWN0LT5zZXRGaWxsKEZpbGxNb2RlOjpGb3J3YXJkcyk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6Qm90aDoKKyAgICAgICAgICAgIGFuaW1h
dGlvbkVmZmVjdC0+c2V0RmlsbChGaWxsTW9kZTo6Qm90aCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQogICAgIH0KIAotICAgIHN3aXRjaCAoYW5pbWF0aW9uLmRpcmVjdGlvbigpKSB7
Ci0gICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbk5vcm1hbDoKLSAgICAgICAg
YW5pbWF0aW9uRWZmZWN0LT5zZXREaXJlY3Rpb24oUGxheWJhY2tEaXJlY3Rpb246Ok5vcm1hbCk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQW5pbWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25B
bHRlcm5hdGU6Ci0gICAgICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0RGlyZWN0aW9uKFBsYXliYWNr
RGlyZWN0aW9uOjpBbHRlcm5hdGUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFuaW1hdGlv
bjo6QW5pbWF0aW9uRGlyZWN0aW9uUmV2ZXJzZToKLSAgICAgICAgYW5pbWF0aW9uRWZmZWN0LT5z
ZXREaXJlY3Rpb24oUGxheWJhY2tEaXJlY3Rpb246OlJldmVyc2UpOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRlUmV2ZXJzZToK
LSAgICAgICAgYW5pbWF0aW9uRWZmZWN0LT5zZXREaXJlY3Rpb24oUGxheWJhY2tEaXJlY3Rpb246
OkFsdGVybmF0ZVJldmVyc2UpOwotICAgICAgICBicmVhazsKKyAgICBpZiAoIW1fb3ZlcnJpZGRl
blByb3BlcnRpZXMuY29udGFpbnMoUHJvcGVydHk6OkRpcmVjdGlvbikpIHsKKyAgICAgICAgc3dp
dGNoIChhbmltYXRpb24uZGlyZWN0aW9uKCkpIHsKKyAgICAgICAgY2FzZSBBbmltYXRpb246OkFu
aW1hdGlvbkRpcmVjdGlvbk5vcm1hbDoKKyAgICAgICAgICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0
RGlyZWN0aW9uKFBsYXliYWNrRGlyZWN0aW9uOjpOb3JtYWwpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQW5pbWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25BbHRlcm5hdGU6Cisg
ICAgICAgICAgICBhbmltYXRpb25FZmZlY3QtPnNldERpcmVjdGlvbihQbGF5YmFja0RpcmVjdGlv
bjo6QWx0ZXJuYXRlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFuaW1hdGlv
bjo6QW5pbWF0aW9uRGlyZWN0aW9uUmV2ZXJzZToKKyAgICAgICAgICAgIGFuaW1hdGlvbkVmZmVj
dC0+c2V0RGlyZWN0aW9uKFBsYXliYWNrRGlyZWN0aW9uOjpSZXZlcnNlKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJu
YXRlUmV2ZXJzZToKKyAgICAgICAgICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0RGlyZWN0aW9uKFBs
YXliYWNrRGlyZWN0aW9uOjpBbHRlcm5hdGVSZXZlcnNlKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CiAgICAgfQogCi0gICAgYXV0byBpdGVyYXRpb25Db3VudCA9IGFuaW1hdGlvbi5p
dGVyYXRpb25Db3VudCgpOwotICAgIGFuaW1hdGlvbkVmZmVjdC0+c2V0SXRlcmF0aW9ucyhpdGVy
YXRpb25Db3VudCA9PSBBbmltYXRpb246Okl0ZXJhdGlvbkNvdW50SW5maW5pdGUgPyBzdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkgOiBpdGVyYXRpb25Db3VudCk7CisgICAg
aWYgKCFtX292ZXJyaWRkZW5Qcm9wZXJ0aWVzLmNvbnRhaW5zKFByb3BlcnR5OjpJdGVyYXRpb25D
b3VudCkpIHsKKyAgICAgICAgYXV0byBpdGVyYXRpb25Db3VudCA9IGFuaW1hdGlvbi5pdGVyYXRp
b25Db3VudCgpOworICAgICAgICBhbmltYXRpb25FZmZlY3QtPnNldEl0ZXJhdGlvbnMoaXRlcmF0
aW9uQ291bnQgPT0gQW5pbWF0aW9uOjpJdGVyYXRpb25Db3VudEluZmluaXRlID8gc3RkOjpudW1l
cmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpIDogaXRlcmF0aW9uQ291bnQpOworICAgIH0K
KworICAgIGlmICghbV9vdmVycmlkZGVuUHJvcGVydGllcy5jb250YWlucyhQcm9wZXJ0eTo6RGVs
YXkpKQorICAgICAgICBhbmltYXRpb25FZmZlY3QtPnNldERlbGF5KFNlY29uZHMoYW5pbWF0aW9u
LmRlbGF5KCkpKTsKKworICAgIGlmICghbV9vdmVycmlkZGVuUHJvcGVydGllcy5jb250YWlucyhQ
cm9wZXJ0eTo6RHVyYXRpb24pKQorICAgICAgICBhbmltYXRpb25FZmZlY3QtPnNldEl0ZXJhdGlv
bkR1cmF0aW9uKFNlY29uZHMoYW5pbWF0aW9uLmR1cmF0aW9uKCkpKTsKIAotICAgIGFuaW1hdGlv
bkVmZmVjdC0+c2V0RGVsYXkoU2Vjb25kcyhhbmltYXRpb24uZGVsYXkoKSkpOwotICAgIGFuaW1h
dGlvbkVmZmVjdC0+c2V0SXRlcmF0aW9uRHVyYXRpb24oU2Vjb25kcyhhbmltYXRpb24uZHVyYXRp
b24oKSkpOwogICAgIGFuaW1hdGlvbkVmZmVjdC0+dXBkYXRlU3RhdGljVGltaW5nUHJvcGVydGll
cygpOwogICAgIGVmZmVjdFRpbWluZ0RpZENoYW5nZShwcmV2aW91c1RpbWluZyk7CiAKICAgICAv
LyBTeW5jaHJvbml6ZSB0aGUgcGxheSBzdGF0ZQotICAgIGlmIChhbmltYXRpb24ucGxheVN0YXRl
KCkgPT0gQW5pbWF0aW9uUGxheVN0YXRlOjpQbGF5aW5nICYmIHBsYXlTdGF0ZSgpID09IFdlYkFu
aW1hdGlvbjo6UGxheVN0YXRlOjpQYXVzZWQpIHsKLSAgICAgICAgaWYgKCFtX3N0aWNreVBhdXNl
ZCkKKyAgICBpZiAoIW1fb3ZlcnJpZGRlblByb3BlcnRpZXMuY29udGFpbnMoUHJvcGVydHk6OlBs
YXlTdGF0ZSkpIHsKKyAgICAgICAgaWYgKGFuaW1hdGlvbi5wbGF5U3RhdGUoKSA9PSBBbmltYXRp
b25QbGF5U3RhdGU6OlBsYXlpbmcgJiYgcGxheVN0YXRlKCkgPT0gV2ViQW5pbWF0aW9uOjpQbGF5
U3RhdGU6OlBhdXNlZCkKICAgICAgICAgICAgIHBsYXkoKTsKLSAgICB9IGVsc2UgaWYgKGFuaW1h
dGlvbi5wbGF5U3RhdGUoKSA9PSBBbmltYXRpb25QbGF5U3RhdGU6OlBhdXNlZCAmJiBwbGF5U3Rh
dGUoKSA9PSBXZWJBbmltYXRpb246OlBsYXlTdGF0ZTo6UnVubmluZykKLSAgICAgICAgcGF1c2Uo
KTsKKyAgICAgICAgZWxzZSBpZiAoYW5pbWF0aW9uLnBsYXlTdGF0ZSgpID09IEFuaW1hdGlvblBs
YXlTdGF0ZTo6UGF1c2VkICYmIHBsYXlTdGF0ZSgpID09IFdlYkFuaW1hdGlvbjo6UGxheVN0YXRl
OjpSdW5uaW5nKQorICAgICAgICAgICAgcGF1c2UoKTsKKyAgICB9CiAKICAgICB1bnN1c3BlbmRF
ZmZlY3RJbnZhbGlkYXRpb24oKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gQ1NTQW5pbWF0aW9u
OjpiaW5kaW5nc1BsYXkoKQogewotICAgIG1fc3RpY2t5UGF1c2VkID0gZmFsc2U7Ci0gICAgcmV0
dXJuIERlY2xhcmF0aXZlQW5pbWF0aW9uOjpiaW5kaW5nc1BsYXkoKTsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFuaW1hdGlvbnMtMi8jYW5pbWF0aW9ucworCisgICAgLy8g
QWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgdG8gcGxheSgpIG9yIHBhdXNlKCkgb24gYSBDU1NBbmlt
YXRpb24sIGFueSBzdWJzZXF1ZW50IGNoYW5nZSB0byB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUg
d2lsbAorICAgIC8vIG5vIGxvbmdlciBjYXVzZSB0aGUgQ1NTQW5pbWF0aW9uIHRvIGJlIHBsYXll
ZCBvciBwYXVzZWQuCisKKyAgICBhdXRvIHJldFZhbCA9IERlY2xhcmF0aXZlQW5pbWF0aW9uOjpi
aW5kaW5nc1BsYXkoKTsKKyAgICBpZiAoIXJldFZhbC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAg
bV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6OlBsYXlTdGF0ZSk7CisgICAgcmV0
dXJuIHJldFZhbDsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gQ1NTQW5pbWF0aW9uOjpiaW5kaW5n
c1BhdXNlKCkKIHsKLSAgICBtX3N0aWNreVBhdXNlZCA9IHRydWU7Ci0gICAgcmV0dXJuIERlY2xh
cmF0aXZlQW5pbWF0aW9uOjpiaW5kaW5nc1BhdXNlKCk7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLTIvI2FuaW1hdGlvbnMKKworICAgIC8vIEFmdGVyIGEg
c3VjY2Vzc2Z1bCBjYWxsIHRvIHBsYXkoKSBvciBwYXVzZSgpIG9uIGEgQ1NTQW5pbWF0aW9uLCBh
bnkgc3Vic2VxdWVudCBjaGFuZ2UgdG8gdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIHdpbGwKKyAg
ICAvLyBubyBsb25nZXIgY2F1c2UgdGhlIENTU0FuaW1hdGlvbiB0byBiZSBwbGF5ZWQgb3IgcGF1
c2VkLgorCisgICAgYXV0byByZXRWYWwgPSBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6YmluZGluZ3NQ
YXVzZSgpOworICAgIGlmICghcmV0VmFsLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICBtX292ZXJy
aWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6UGxheVN0YXRlKTsKKyAgICByZXR1cm4gcmV0
VmFsOworfQorCit2b2lkIENTU0FuaW1hdGlvbjo6c2V0QmluZGluZ3NFZmZlY3QoUmVmUHRyPEFu
aW1hdGlvbkVmZmVjdD4mJiBuZXdFZmZlY3QpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1hbmltYXRpb25zLTIvI2FuaW1hdGlvbnMKKworICAgIC8vIEFmdGVyIHN1Y2Nl
c3NmdWxseSBzZXR0aW5nIHRoZSBlZmZlY3Qgb2YgYSBDU1NBbmltYXRpb24gdG8gbnVsbCBvciBz
b21lIEFuaW1hdGlvbkVmZmVjdCBvdGhlciB0aGFuIHRoZSBvcmlnaW5hbCBLZXlmcmFtZUVmZmVj
dCwKKyAgICAvLyBhbGwgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIGFuaW1hdGlvbiBwcm9wZXJ0aWVz
IG90aGVyIHRoYW4gYW5pbWF0aW9uLW5hbWUgb3IgYW5pbWF0aW9uLXBsYXktc3RhdGUgd2lsbCBu
b3QgYmUgcmVmbGVjdGVkIGluIHRoYXQKKyAgICAvLyBhbmltYXRpb24uIFNpbWlsYXJseSwgYW55
IGNoYW5nZSB0byBtYXRjaGluZyBAa2V5ZnJhbWVzIHJ1bGVzIHdpbGwgbm90IGJlIHJlZmxlY3Rl
ZCBpbiB0aGF0IGFuaW1hdGlvbi4gSG93ZXZlciwgaWYgdGhlIGxhc3QKKyAgICAvLyBtYXRjaGlu
ZyBAa2V5ZnJhbWVzIHJ1bGUgaXMgcmVtb3ZlZCB0aGUgYW5pbWF0aW9uIG11c3Qgc3RpbGwgYmUg
Y2FuY2VsZWQuCisKKyAgICBhdXRvKiBwcmV2aW91c0VmZmVjdCA9IGVmZmVjdCgpOworICAgIERl
Y2xhcmF0aXZlQW5pbWF0aW9uOjpzZXRCaW5kaW5nc0VmZmVjdChXVEZNb3ZlKG5ld0VmZmVjdCkp
OworICAgIGlmIChlZmZlY3QoKSAhPSBwcmV2aW91c0VmZmVjdCkgeworICAgICAgICBtX292ZXJy
aWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6RHVyYXRpb24pOworICAgICAgICBtX292ZXJy
aWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6VGltaW5nRnVuY3Rpb24pOworICAgICAgICBt
X292ZXJyaWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6SXRlcmF0aW9uQ291bnQpOworICAg
ICAgICBtX292ZXJyaWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6RGlyZWN0aW9uKTsKKyAg
ICAgICAgbV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6OkRlbGF5KTsKKyAgICAg
ICAgbV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6OkZpbGxNb2RlKTsKKyAgICB9
Cit9CisKK3ZvaWQgQ1NTQW5pbWF0aW9uOjpzZXRCaW5kaW5nc1N0YXJ0VGltZShPcHRpb25hbDxk
b3VibGU+IHN0YXJ0VGltZSkKK3sKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWFuaW1hdGlvbnMtMi8jYW5pbWF0aW9ucworCisgICAgLy8gQWZ0ZXIgYSBzdWNjZXNzZnVsIGNh
bGwgdG8gcmV2ZXJzZSgpIG9uIGEgQ1NTQW5pbWF0aW9uIG9yIGFmdGVyIHN1Y2Nlc3NmdWxseSBz
ZXR0aW5nIHRoZSBzdGFydFRpbWUgb24gYSBDU1NBbmltYXRpb24sCisgICAgLy8gaWYsIGFzIGEg
cmVzdWx0IG9mIHRoYXQgY2FsbCB0aGUgcGxheSBzdGF0ZSBvZiB0aGUgQ1NTQW5pbWF0aW9uIGNo
YW5nZXMgdG8gb3IgZnJvbSB0aGUgcGF1c2VkIHBsYXkgc3RhdGUsIGFueSBzdWJzZXF1ZW50Cisg
ICAgLy8gY2hhbmdlIHRvIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSB3aWxsIG5vIGxvbmdlciBj
YXVzZSB0aGUgQ1NTQW5pbWF0aW9uIHRvIGJlIHBsYXllZCBvciBwYXVzZWQuCisKKyAgICBhdXRv
IHByZXZpb3VzUGxheVN0YXRlID0gcGxheVN0YXRlKCk7CisgICAgRGVjbGFyYXRpdmVBbmltYXRp
b246OnNldEJpbmRpbmdzU3RhcnRUaW1lKHN0YXJ0VGltZSk7CisgICAgYXV0byBjdXJyZW50UGxh
eVN0YXRlID0gcGxheVN0YXRlKCk7CisgICAgaWYgKGN1cnJlbnRQbGF5U3RhdGUgIT0gcHJldmlv
dXNQbGF5U3RhdGUgJiYgKGN1cnJlbnRQbGF5U3RhdGUgPT0gUGxheVN0YXRlOjpQYXVzZWQgfHwg
cHJldmlvdXNQbGF5U3RhdGUgPT0gUGxheVN0YXRlOjpQYXVzZWQpKQorICAgICAgICBtX292ZXJy
aWRkZW5Qcm9wZXJ0aWVzLmFkZChQcm9wZXJ0eTo6UGxheVN0YXRlKTsKK30KKworRXhjZXB0aW9u
T3I8dm9pZD4gQ1NTQW5pbWF0aW9uOjpiaW5kaW5nc1JldmVyc2UoKQoreworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYW5pbWF0aW9ucy0yLyNhbmltYXRpb25zCisKKyAgICAv
LyBBZnRlciBhIHN1Y2Nlc3NmdWwgY2FsbCB0byByZXZlcnNlKCkgb24gYSBDU1NBbmltYXRpb24g
b3IgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNldHRpbmcgdGhlIHN0YXJ0VGltZSBvbiBhIENTU0FuaW1h
dGlvbiwKKyAgICAvLyBpZiwgYXMgYSByZXN1bHQgb2YgdGhhdCBjYWxsIHRoZSBwbGF5IHN0YXRl
IG9mIHRoZSBDU1NBbmltYXRpb24gY2hhbmdlcyB0byBvciBmcm9tIHRoZSBwYXVzZWQgcGxheSBz
dGF0ZSwgYW55IHN1YnNlcXVlbnQKKyAgICAvLyBjaGFuZ2UgdG8gdGhlIGFuaW1hdGlvbi1wbGF5
LXN0YXRlIHdpbGwgbm8gbG9uZ2VyIGNhdXNlIHRoZSBDU1NBbmltYXRpb24gdG8gYmUgcGxheWVk
IG9yIHBhdXNlZC4KKworICAgIGF1dG8gcHJldmlvdXNQbGF5U3RhdGUgPSBwbGF5U3RhdGUoKTsK
KyAgICBhdXRvIHJldFZhbCA9IERlY2xhcmF0aXZlQW5pbWF0aW9uOjpiaW5kaW5nc1JldmVyc2Uo
KTsKKyAgICBpZiAoIXJldFZhbC5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICBhdXRvIGN1cnJl
bnRQbGF5U3RhdGUgPSBwbGF5U3RhdGUoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRQbGF5U3RhdGUg
IT0gcHJldmlvdXNQbGF5U3RhdGUgJiYgKGN1cnJlbnRQbGF5U3RhdGUgPT0gUGxheVN0YXRlOjpQ
YXVzZWQgfHwgcHJldmlvdXNQbGF5U3RhdGUgPT0gUGxheVN0YXRlOjpQYXVzZWQpKQorICAgICAg
ICAgICAgbV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6OlBsYXlTdGF0ZSk7Cisg
ICAgfQorICAgIHJldHVybiByZXRWYWw7Cit9CisKK3ZvaWQgQ1NTQW5pbWF0aW9uOjplZmZlY3RU
aW1pbmdXYXNVcGRhdGVkVXNpbmdCaW5kaW5ncyhPcHRpb25hbEVmZmVjdFRpbWluZyB0aW1pbmcp
Cit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLTIvI2Fu
aW1hdGlvbnMKKworICAgIC8vIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIHRvIHVwZGF0ZVRpbWlu
ZygpIG9uIHRoZSBLZXlmcmFtZUVmZmVjdCBhc3NvY2lhdGVkIHdpdGggYSBDU1NBbmltYXRpb24s
IGZvciBlYWNoIHByb3BlcnR5CisgICAgLy8gaW5jbHVkZWQgaW4gdGhlIHRpbWluZyBwYXJhbWV0
ZXIsIGFueSBzdWJzZXF1ZW50IGNoYW5nZSB0byBhIGNvcnJlc3BvbmRpbmcgYW5pbWF0aW9uIHBy
b3BlcnR5IHdpbGwgbm90IGJlIHJlZmxlY3RlZAorICAgIC8vIGluIHRoYXQgYW5pbWF0aW9uLgor
CisgICAgaWYgKHRpbWluZy5kdXJhdGlvbikKKyAgICAgICAgbV9vdmVycmlkZGVuUHJvcGVydGll
cy5hZGQoUHJvcGVydHk6OkR1cmF0aW9uKTsKKworICAgIGlmICh0aW1pbmcuaXRlcmF0aW9ucykK
KyAgICAgICAgbV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6Okl0ZXJhdGlvbkNv
dW50KTsKKworICAgIGlmICh0aW1pbmcuZGVsYXkpCisgICAgICAgIG1fb3ZlcnJpZGRlblByb3Bl
cnRpZXMuYWRkKFByb3BlcnR5OjpEZWxheSk7CisKKyAgICBpZiAoIXRpbWluZy5lYXNpbmcuaXNO
dWxsKCkpCisgICAgICAgIG1fb3ZlcnJpZGRlblByb3BlcnRpZXMuYWRkKFByb3BlcnR5OjpUaW1p
bmdGdW5jdGlvbik7CisKKyAgICBpZiAodGltaW5nLmZpbGwpCisgICAgICAgIG1fb3ZlcnJpZGRl
blByb3BlcnRpZXMuYWRkKFByb3BlcnR5OjpGaWxsTW9kZSk7CisKKyAgICBpZiAodGltaW5nLmRp
cmVjdGlvbikKKyAgICAgICAgbV9vdmVycmlkZGVuUHJvcGVydGllcy5hZGQoUHJvcGVydHk6OkRp
cmVjdGlvbik7Cit9CisKK3ZvaWQgQ1NTQW5pbWF0aW9uOjplZmZlY3RLZXlmcmFtZXNXZXJlU2V0
VXNpbmdCaW5kaW5ncygpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1h
bmltYXRpb25zLTIvI2FuaW1hdGlvbnMKKworICAgIC8vIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxs
IHRvIHNldEtleWZyYW1lcygpIG9uIHRoZSBLZXlmcmFtZUVmZmVjdCBhc3NvY2lhdGVkIHdpdGgg
YSBDU1NBbmltYXRpb24sIGFueSBzdWJzZXF1ZW50IGNoYW5nZSB0bworICAgIC8vIG1hdGNoaW5n
IEBrZXlmcmFtZXMgcnVsZXMgb3IgdGhlIHJlc29sdmVkIHZhbHVlIG9mIHRoZSBhbmltYXRpb24t
dGltaW5nLWZ1bmN0aW9uIHByb3BlcnR5IGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQgd2lsbCBub3QK
KyAgICAvLyBiZSByZWZsZWN0ZWQgaW4gdGhhdCBhbmltYXRpb24uCisgICAgbV9vdmVycmlkZGVu
UHJvcGVydGllcy5hZGQoUHJvcGVydHk6OlRpbWluZ0Z1bmN0aW9uKTsKIH0KIAogUmVmPEFuaW1h
dGlvbkV2ZW50QmFzZT4gQ1NTQW5pbWF0aW9uOjpjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIGRvdWJsZSBlbGFwc2VkVGltZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9JZCwg
T3B0aW9uYWw8U2Vjb25kcz4gdGltZWxpbmVUaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NT
U0FuaW1hdGlvbi5oCmluZGV4IDAzNThiZWZkODFjZGE0Mjk4MDZhYzI1NzA5OTA2YjBiODQwNjgx
MzQuLmUzYmM5YTY5ODg4OGZlZjZmM2EzNmZhMWQwZWQwZjVlNWFkNjkyMzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiRGVjbGFyYXRpdmVBbmltYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYv
T3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00Myw4ICs0NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ1NTQW5pbWF0aW9uKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9u
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9uTmFtZTsgfQogCi0gICAgRXhjZXB0aW9u
T3I8dm9pZD4gYmluZGluZ3NQbGF5KCkgZmluYWw7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gYmlu
ZGluZ3NQYXVzZSgpIGZpbmFsOworICAgIHZvaWQgZWZmZWN0VGltaW5nV2FzVXBkYXRlZFVzaW5n
QmluZGluZ3MoT3B0aW9uYWxFZmZlY3RUaW1pbmcpOworICAgIHZvaWQgZWZmZWN0S2V5ZnJhbWVz
V2VyZVNldFVzaW5nQmluZGluZ3MoKTsKIAogcHJpdmF0ZToKICAgICBDU1NBbmltYXRpb24oRWxl
bWVudCYsIGNvbnN0IEFuaW1hdGlvbiYpOwpAQCAtNTIsOCArNTMsMjUgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHN5bmNQcm9wZXJ0aWVzV2l0aEJhY2tpbmdBbmltYXRpb24oKSBmaW5hbDsKICAgICBS
ZWY8QW5pbWF0aW9uRXZlbnRCYXNlPiBjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIGRvdWJsZSBlbGFwc2VkVGltZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9JZCwgT3B0aW9u
YWw8U2Vjb25kcz4gdGltZWxpbmVUaW1lKSBmaW5hbDsKIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IGJpbmRpbmdzUGxheSgpIGZpbmFsOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGF1
c2UoKSBmaW5hbDsKKyAgICB2b2lkIHNldEJpbmRpbmdzRWZmZWN0KFJlZlB0cjxBbmltYXRpb25F
ZmZlY3Q+JiYpIGZpbmFsOworICAgIHZvaWQgc2V0QmluZGluZ3NTdGFydFRpbWUoT3B0aW9uYWw8
ZG91YmxlPikgZmluYWw7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gYmluZGluZ3NSZXZlcnNlKCkg
ZmluYWw7CisKKyAgICBlbnVtIGNsYXNzIFByb3BlcnR5IDogdWludDhfdCB7CisgICAgICAgIE5h
bWUgPSAxIDw8IDAsCisgICAgICAgIER1cmF0aW9uID0gMSA8PCAxLAorICAgICAgICBUaW1pbmdG
dW5jdGlvbiA9IDEgPDwgMiwKKyAgICAgICAgSXRlcmF0aW9uQ291bnQgPSAxIDw8IDMsCisgICAg
ICAgIERpcmVjdGlvbiA9IDEgPDwgNCwKKyAgICAgICAgUGxheVN0YXRlID0gMSA8PCA1LAorICAg
ICAgICBEZWxheSA9IDEgPDwgNiwKKyAgICAgICAgRmlsbE1vZGUgPSAxIDw8IDcKKyAgICB9Owor
CiAgICAgU3RyaW5nIG1fYW5pbWF0aW9uTmFtZTsKLSAgICBib29sIG1fc3RpY2t5UGF1c2VkIHsg
ZmFsc2UgfTsKKyAgICBPcHRpb25TZXQ8UHJvcGVydHk+IG1fb3ZlcnJpZGRlblByb3BlcnRpZXM7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmNwcAppbmRleCBiNDRkMDRkNDFlYjA5MzRhMWI5
YzIxZmZiYWNlMGRmZmVjODUwMTQ4Li44MzI0ZTg0YWI0Y2EyMGMxMmIyY2ExYmFjNWY3N2IzZGU4
MGRiNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVB
bmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFu
aW1hdGlvbi5jcHAKQEAgLTEyOSwxMyArMTI5LDEzIEBAIHZvaWQgRGVjbGFyYXRpdmVBbmltYXRp
b246OnN5bmNQcm9wZXJ0aWVzV2l0aEJhY2tpbmdBbmltYXRpb24oKQogewogfQogCi1PcHRpb25h
bDxkb3VibGU+IERlY2xhcmF0aXZlQW5pbWF0aW9uOjpzdGFydFRpbWUoKSBjb25zdAorT3B0aW9u
YWw8ZG91YmxlPiBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6YmluZGluZ3NTdGFydFRpbWUoKSBjb25z
dAogewogICAgIGZsdXNoUGVuZGluZ1N0eWxlQ2hhbmdlcygpOwogICAgIHJldHVybiBXZWJBbmlt
YXRpb246OnN0YXJ0VGltZSgpOwogfQogCi12b2lkIERlY2xhcmF0aXZlQW5pbWF0aW9uOjpzZXRT
dGFydFRpbWUoT3B0aW9uYWw8ZG91YmxlPiBzdGFydFRpbWUpCit2b2lkIERlY2xhcmF0aXZlQW5p
bWF0aW9uOjpzZXRCaW5kaW5nc1N0YXJ0VGltZShPcHRpb25hbDxkb3VibGU+IHN0YXJ0VGltZSkK
IHsKICAgICBmbHVzaFBlbmRpbmdTdHlsZUNoYW5nZXMoKTsKICAgICByZXR1cm4gV2ViQW5pbWF0
aW9uOjpzZXRTdGFydFRpbWUoc3RhcnRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKaW5kZXggOThlNzhhYTI3OGUxMjdlMTQyZDMwZWQ4
YjRmNjBjODgxYmQzYzRjNS4uYWRiODY2NWNkMmNlZGY2MTVkMDMyYWFhNmZlZDkxNDcyMGYzNTlk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9u
LmgKQEAgLTUwLDggKzUwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0QmFja2luZ0FuaW1hdGlv
bihjb25zdCBBbmltYXRpb24mKTsKICAgICB2b2lkIGNhbmNlbEZyb21TdHlsZSgpOwogCi0gICAg
T3B0aW9uYWw8ZG91YmxlPiBzdGFydFRpbWUoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNldFN0
YXJ0VGltZShPcHRpb25hbDxkb3VibGU+KSBmaW5hbDsKKyAgICBPcHRpb25hbDxkb3VibGU+IGJp
bmRpbmdzU3RhcnRUaW1lKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZXRCaW5kaW5nc1N0YXJ0
VGltZShPcHRpb25hbDxkb3VibGU+KSBvdmVycmlkZTsKICAgICBPcHRpb25hbDxkb3VibGU+IGJp
bmRpbmdzQ3VycmVudFRpbWUoKSBjb25zdCBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRCaW5kaW5nc0N1cnJlbnRUaW1lKE9wdGlvbmFsPGRvdWJsZT4pIGZpbmFsOwogICAgIFdlYkFu
aW1hdGlvbjo6UGxheVN0YXRlIGJpbmRpbmdzUGxheVN0YXRlKCkgY29uc3QgZmluYWw7CkBAIC02
OSw2ICs2OSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY2FuSGF2ZUdsb2JhbFBvc2l0aW9uKCkg
ZmluYWw7CiAKKyAgICB2b2lkIGZsdXNoUGVuZGluZ1N0eWxlQ2hhbmdlcygpIGNvbnN0OworCiBw
cm90ZWN0ZWQ6CiAgICAgRGVjbGFyYXRpdmVBbmltYXRpb24oRWxlbWVudCYsIGNvbnN0IEFuaW1h
dGlvbiYpOwogCkBAIC04MSw3ICs4Myw2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2
b2lkIGRpc2Fzc29jaWF0ZUZyb21Pd25pbmdFbGVtZW50KCk7Ci0gICAgdm9pZCBmbHVzaFBlbmRp
bmdTdHlsZUNoYW5nZXMoKSBjb25zdDsKICAgICBBbmltYXRpb25FZmZlY3RQaGFzZSBwaGFzZVdp
dGhvdXRFZmZlY3QoKSBjb25zdDsKICAgICB2b2lkIGVucXVldWVET01FdmVudChjb25zdCBBdG9t
U3RyaW5nJiwgU2Vjb25kcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwCmluZGV4IGRmZjcyMDVmMDc1OWFkMDZlNjczY2Q4ZmI0ZWI3NjU4ZjVmNTc0NzQu
LmU1NGE1OTQyMzM2MThmMGNiMzZmY2E2NzVjOWZlOTA4YTkzM2JjY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNTc0LDYgKzU3NCwxMyBAQCB2
b2lkIEtleWZyYW1lRWZmZWN0Ojpjb3B5UHJvcGVydGllc0Zyb21Tb3VyY2UoUmVmPEtleWZyYW1l
RWZmZWN0PiYmIHNvdXJjZSkKICAgICBzZXRCbGVuZGluZ0tleWZyYW1lcyhrZXlmcmFtZUxpc3Qp
OwogfQogCitWZWN0b3I8U3Ryb25nPEpTT2JqZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmdldEJpbmRp
bmdzS2V5ZnJhbWVzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KQoreworICAg
IGlmIChpczxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oYW5pbWF0aW9uKCkpKQorICAgICAgICBkb3du
Y2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oKmFuaW1hdGlvbigpKS5mbHVzaFBlbmRpbmdTdHls
ZUNoYW5nZXMoKTsKKyAgICByZXR1cm4gZ2V0S2V5ZnJhbWVzKGxleGljYWxHbG9iYWxPYmplY3Qp
OworfQorCiBWZWN0b3I8U3Ryb25nPEpTT2JqZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZy
YW1lcyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCkKIHsKICAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvd2ViLWFuaW1hdGlvbnMtMS8jZG9tLWtleWZyYW1lZWZmZWN0
cmVhZG9ubHktZ2V0a2V5ZnJhbWVzCkBAIC01ODksNyArNTk2LDcgQEAgVmVjdG9yPFN0cm9uZzxK
U09iamVjdD4+IEtleWZyYW1lRWZmZWN0OjpnZXRLZXlmcmFtZXMoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG8KICAgICAvLyAyLiBMZXQga2V5ZnJhbWVzIGJlIHRoZSByZXN1bHQgb2YgYXBwbHlp
bmcgdGhlIHByb2NlZHVyZSB0byBjb21wdXRlIG1pc3Npbmcga2V5ZnJhbWUgb2Zmc2V0cyB0byB0
aGUga2V5ZnJhbWVzIGZvciB0aGlzIGtleWZyYW1lIGVmZmVjdC4KIAogICAgIC8vIDMuIEZvciBl
YWNoIGtleWZyYW1lIGluIGtleWZyYW1lcyBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0g
ICAgaWYgKGlzPERlY2xhcmF0aXZlQW5pbWF0aW9uPihhbmltYXRpb24oKSkpIHsKKyAgICBpZiAo
bV9wYXJzZWRLZXlmcmFtZXMuaXNFbXB0eSgpICYmIG1fYmxlbmRpbmdLZXlmcmFtZXNTb3VyY2Ug
IT0gQmxlbmRpbmdLZXlmcmFtZXNTb3VyY2U6OldlYkFuaW1hdGlvbikgewogICAgICAgICBhdXRv
KiB0YXJnZXQgPSBtX3RhcmdldC5nZXQoKTsKICAgICAgICAgYXV0byogcmVuZGVyZXIgPSB0aGlz
LT5yZW5kZXJlcigpOwogCkBAIC02ODMsNiArNjkwLDE0IEBAIFZlY3RvcjxTdHJvbmc8SlNPYmpl
Y3Q+PiBLZXlmcmFtZUVmZmVjdDo6Z2V0S2V5ZnJhbWVzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJhbWVF
ZmZlY3Q6OnNldEJpbmRpbmdzS2V5ZnJhbWVzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzSW5wdXQpCit7CisgICAgYXV0byBy
ZXRWYWwgPSBzZXRLZXlmcmFtZXMobGV4aWNhbEdsb2JhbE9iamVjdCwgV1RGTW92ZShrZXlmcmFt
ZXNJbnB1dCkpOworICAgIGlmICghcmV0VmFsLmhhc0V4Y2VwdGlvbigpICYmIGlzPENTU0FuaW1h
dGlvbj4oYW5pbWF0aW9uKCkpKQorICAgICAgICBkb3duY2FzdDxDU1NBbmltYXRpb24+KCphbmlt
YXRpb24oKSkuZWZmZWN0S2V5ZnJhbWVzV2VyZVNldFVzaW5nQmluZGluZ3MoKTsKKyAgICByZXR1
cm4gcmV0VmFsOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5
ZnJhbWVzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTdHJvbmc8SlNPYmpl
Y3Q+JiYga2V5ZnJhbWVzSW5wdXQpCiB7CiAgICAgYXV0byBwcm9jZXNzS2V5ZnJhbWVzUmVzdWx0
ID0gcHJvY2Vzc0tleWZyYW1lcyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGtleWZyYW1l
c0lucHV0KSk7CkBAIC03MTEsMTAgKzcyNiwxNSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFt
ZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbAog
CiAgICAgLy8gNS4gUGVyZm9ybSB0aGUgc3RlcHMgY29ycmVzcG9uZGluZyB0byB0aGUgZmlyc3Qg
bWF0Y2hpbmcgY29uZGl0aW9uIGZyb20gYmVsb3csCiAgICAgVmVjdG9yPFN0cmluZz4gdW51c2Vk
RWFzaW5nczsKLSAgICBpZiAoIW1ldGhvZC5pc1VuZGVmaW5lZCgpKQotICAgICAgICBwcm9jZXNz
SXRlcmFibGVLZXlmcmFtZXMobGV4aWNhbEdsb2JhbE9iamVjdCwgV1RGTW92ZShrZXlmcmFtZXNJ
bnB1dCksIFdURk1vdmUobWV0aG9kKSwgcGFyc2VkS2V5ZnJhbWVzKTsKLSAgICBlbHNlCi0gICAg
ICAgIHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMobGV4aWNhbEdsb2JhbE9iamVjdCwg
V1RGTW92ZShrZXlmcmFtZXNJbnB1dCksIHBhcnNlZEtleWZyYW1lcywgdW51c2VkRWFzaW5ncyk7
CisgICAgaWYgKCFtZXRob2QuaXNVbmRlZmluZWQoKSkgeworICAgICAgICBhdXRvIHJldFZhbCA9
IHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGtl
eWZyYW1lc0lucHV0KSwgV1RGTW92ZShtZXRob2QpLCBwYXJzZWRLZXlmcmFtZXMpOworICAgICAg
ICBpZiAocmV0VmFsLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHJldFZhbC5y
ZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byByZXRWYWwgPSBw
cm9jZXNzUHJvcGVydHlJbmRleGVkS2V5ZnJhbWVzKGxleGljYWxHbG9iYWxPYmplY3QsIFdURk1v
dmUoa2V5ZnJhbWVzSW5wdXQpLCBwYXJzZWRLZXlmcmFtZXMsIHVudXNlZEVhc2luZ3MpOworICAg
ICAgICBpZiAocmV0VmFsLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHJldFZh
bC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgfQogCiAgICAgLy8gNi4gSWYgcHJvY2Vzc2VkIGtl
eWZyYW1lcyBpcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0LCB0aHJvdyBhIFR5cGVFcnJv
ciBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNy4gSWYgdGhlcmUgZXhpc3QgYW55IGtl
eWZyYW1lIGluIHByb2Nlc3NlZCBrZXlmcmFtZXMgd2hvc2Uga2V5ZnJhbWUgb2Zmc2V0IGlzIG5v
bi1udWxsIGFuZCBsZXNzIHRoYW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmgKaW5kZXggZGFlMjI2YTdhZjU0YmYyNWQ5Mjg3MDY1YTM5MTQ3OWJiZWFmOGVmNS4uYzNh
NDBhZmUzNDZhMmNjMWM2NDBiMTUzNGFjNjJiYWIxMzI1ZWE3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTEwOSw3ICsxMDksOSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgU3RyaW5nIHBzZXVkb0VsZW1lbnQoKSBjb25zdDsKICAgICBFeGNlcHRpb25Pcjx2
b2lkPiBzZXRQc2V1ZG9FbGVtZW50KGNvbnN0IFN0cmluZyYpOwogCisgICAgVmVjdG9yPEpTQzo6
U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiBnZXRCaW5kaW5nc0tleWZyYW1lcyhKU0M6OkpTR2xvYmFs
T2JqZWN0Jik7CiAgICAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiBnZXRLZXlm
cmFtZXMoSlNDOjpKU0dsb2JhbE9iamVjdCYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEJp
bmRpbmdzS2V5ZnJhbWVzKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlN0cm9uZzxKU0M6OkpT
T2JqZWN0PiYmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRLZXlmcmFtZXMoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYpOwogCiAgICAgSXRlcmF0
aW9uQ29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBvc2l0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1faXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmlkbAppbmRleCBkMzQ0YmEyMDYxZTQyYmEyYjFhOGRiZDQ1ZDZi
MjkzNWRiYmM3ZTFhLi5kZGFlODk0YjIzODU5MTEwNzBmZGVmMzNmYzBhOWRjNWJhMzM4ODdkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKQEAgLTM4LDgg
KzM4LDggQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgQ1NTT01TdHJpbmc/IHBzZXVkb0VsZW1lbnQ7CiAgICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNdIGF0dHJpYnV0ZSBJ
dGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24gaXRlcmF0aW9uQ29tcG9zaXRlOwogICAgIFtFbmFi
bGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zXSBhdHRyaWJ1dGUg
Q29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
XSBzZXF1ZW5jZTxvYmplY3Q+IGdldEtleWZyYW1lcygpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
biwgQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIHNldEtleWZyYW1lcyhvYmplY3Q/IGtleWZy
YW1lcyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVtZW50ZWRBcz1nZXRCaW5k
aW5nc0tleWZyYW1lc10gc2VxdWVuY2U8b2JqZWN0PiBnZXRLZXlmcmFtZXMoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVtZW50ZWRBcz1zZXRC
aW5kaW5nc0tleWZyYW1lc10gdm9pZCBzZXRLZXlmcmFtZXMob2JqZWN0PyBrZXlmcmFtZXMpOwog
fTsKIAogZGljdGlvbmFyeSBCYXNlUHJvcGVydHlJbmRleGVkS2V5ZnJhbWUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAppbmRleCBlYjVjZDY1MzNhYzZmMjU3MjEx
ZTRmYzI5NDk2MTMzMDI5Zjg3Y2RhLi4wMDUxNjNmNDVjMDAxNzE2NDE2YjhjODI1Mzc5OTBjNTM3
YWNlZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAt
MTQ1LDYgKzE0NSwxMSBAQCB2b2lkIFdlYkFuaW1hdGlvbjo6ZWZmZWN0VGltaW5nRGlkQ2hhbmdl
KE9wdGlvbmFsPENvbXB1dGVkRWZmZWN0VGltaW5nPiBwcmV2aW91cwogICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlV2ViQW5pbWF0aW9uRWZmZWN0VGltaW5nKCp0aGlzKTsK
IH0KIAordm9pZCBXZWJBbmltYXRpb246OnNldEJpbmRpbmdzRWZmZWN0KFJlZlB0cjxBbmltYXRp
b25FZmZlY3Q+JiYgbmV3RWZmZWN0KQoreworICAgIHNldEVmZmVjdChXVEZNb3ZlKG5ld0VmZmVj
dCkpOworfQorCiB2b2lkIFdlYkFuaW1hdGlvbjo6c2V0RWZmZWN0KFJlZlB0cjxBbmltYXRpb25F
ZmZlY3Q+JiYgbmV3RWZmZWN0KQogewogICAgIC8vIDMuNC4zLiBTZXR0aW5nIHRoZSB0YXJnZXQg
ZWZmZWN0IG9mIGFuIGFuaW1hdGlvbgpAQCAtMjk3LDYgKzMwMiwxMSBAQCBPcHRpb25hbDxkb3Vi
bGU+IFdlYkFuaW1hdGlvbjo6c3RhcnRUaW1lKCkgY29uc3QKICAgICByZXR1cm4gc2Vjb25kc1Rv
V2ViQW5pbWF0aW9uc0FQSVRpbWUobV9zdGFydFRpbWUudmFsdWUoKSk7CiB9CiAKK3ZvaWQgV2Vi
QW5pbWF0aW9uOjpzZXRCaW5kaW5nc1N0YXJ0VGltZShPcHRpb25hbDxkb3VibGU+IHN0YXJ0VGlt
ZSkKK3sKKyAgICBzZXRTdGFydFRpbWUoc3RhcnRUaW1lKTsKK30KKwogdm9pZCBXZWJBbmltYXRp
b246OnNldFN0YXJ0VGltZShPcHRpb25hbDxkb3VibGU+IHN0YXJ0VGltZSkKIHsKICAgICAvLyAz
LjQuNiBUaGUgcHJvY2VkdXJlIHRvIHNldCB0aGUgc3RhcnQgdGltZSBvZiBhbmltYXRpb24sIGFu
aW1hdGlvbiwgdG8gbmV3IHN0YXJ0IHRpbWUsIGlzIGFzIGZvbGxvd3M6CkBAIC0xMDk3LDYgKzEx
MDcsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpwYXVzZSgpCiAgICAgcmV0
dXJuIHsgfTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpiaW5kaW5nc1Jl
dmVyc2UoKQoreworICAgIHJldHVybiByZXZlcnNlKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+
IFdlYkFuaW1hdGlvbjo6cmV2ZXJzZSgpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEFuaW1hdGlv
bnMsIHN0cmVhbSA8PCAiV2ViQW5pbWF0aW9uICIgPDwgdGhpcyA8PCAiIHJldmVyc2UgKGN1cnJl
bnQgdGltZSBpcyAiIDw8IGN1cnJlbnRUaW1lKCkgPDwgIikiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9XZWJBbmltYXRpb24uaAppbmRleCBkMWJkODEwOGJmYzc4Y2UzMDk3NWQ0ZWE2ZGQ3Yjc1
MzM0YTNhYTJiLi5iMmQyYjg3OTAyNzdjYWVmYjcxYzg2MzNhYjhhYmI4MDIwMzUyOTFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCkBAIC02Niw2ICs2Niw4IEBAIHB1
YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQogICAg
IHZvaWQgc2V0SWQoY29uc3QgU3RyaW5nJiBpZCkgeyBtX2lkID0gaWQ7IH0KIAorICAgIEFuaW1h
dGlvbkVmZmVjdCogYmluZGluZ3NFZmZlY3QoKSBjb25zdCB7IHJldHVybiBlZmZlY3QoKTsgfQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRCaW5kaW5nc0VmZmVjdChSZWZQdHI8QW5pbWF0aW9uRWZmZWN0
PiYmKTsKICAgICBBbmltYXRpb25FZmZlY3QqIGVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZWZm
ZWN0LmdldCgpOyB9CiAgICAgdm9pZCBzZXRFZmZlY3QoUmVmUHRyPEFuaW1hdGlvbkVmZmVjdD4m
Jik7CiAgICAgQW5pbWF0aW9uVGltZWxpbmUqIHRpbWVsaW5lKCkgY29uc3QgeyByZXR1cm4gbV90
aW1lbGluZS5nZXQoKTsgfQpAQCAtOTgsMTIgKzEwMCwxNSBAQCBwdWJsaWM6CiAgICAgRXhjZXB0
aW9uT3I8dm9pZD4gcGxheSgpOwogICAgIHZvaWQgdXBkYXRlUGxheWJhY2tSYXRlKGRvdWJsZSk7
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGF1c2UoKTsKKyAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9y
PHZvaWQ+IGJpbmRpbmdzUmV2ZXJzZSgpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJldmVyc2Uo
KTsKICAgICB2b2lkIHBlcnNpc3QoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21taXRTdHls
ZXMoKTsKIAotICAgIHZpcnR1YWwgT3B0aW9uYWw8ZG91YmxlPiBzdGFydFRpbWUoKSBjb25zdDsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0U3RhcnRUaW1lKE9wdGlvbmFsPGRvdWJsZT4pOworICAgIHZp
cnR1YWwgT3B0aW9uYWw8ZG91YmxlPiBiaW5kaW5nc1N0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJu
IHN0YXJ0VGltZSgpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldEJpbmRpbmdzU3RhcnRUaW1lKE9w
dGlvbmFsPGRvdWJsZT4pOworICAgIE9wdGlvbmFsPGRvdWJsZT4gc3RhcnRUaW1lKCkgY29uc3Q7
CisgICAgdm9pZCBzZXRTdGFydFRpbWUoT3B0aW9uYWw8ZG91YmxlPik7CiAgICAgdmlydHVhbCBP
cHRpb25hbDxkb3VibGU+IGJpbmRpbmdzQ3VycmVudFRpbWUoKSBjb25zdDsKICAgICB2aXJ0dWFs
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEJpbmRpbmdzQ3VycmVudFRpbWUoT3B0aW9uYWw8ZG91Ymxl
Pik7CiAgICAgdmlydHVhbCBQbGF5U3RhdGUgYmluZGluZ3NQbGF5U3RhdGUoKSBjb25zdCB7IHJl
dHVybiBwbGF5U3RhdGUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmlkbAppbmRleCBmMGQ4MmRmMTVlOGYyYTRlYzgzMDZiM2VhNWU4ZjE0YTE2MWFiYWZkLi4yYWZm
MmNiMmVlMzA1ZTIwZWJiZWE5NzQ1YmI3NzMwMWI0YTY3NjZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbApAQCAtNDQsOSArNDQsOSBAQCBlbnVtIEFuaW1hdGlv
blJlcGxhY2VTdGF0ZSB7CiAgICAgQ3VzdG9tVG9KU09iamVjdAogXSBpbnRlcmZhY2UgV2ViQW5p
bWF0aW9uIDogRXZlbnRUYXJnZXQgewogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7Ci0gICAg
YXR0cmlidXRlIEFuaW1hdGlvbkVmZmVjdD8gZWZmZWN0OworICAgIFtJbXBsZW1lbnRlZEFzPWJp
bmRpbmdzRWZmZWN0XSBhdHRyaWJ1dGUgQW5pbWF0aW9uRWZmZWN0PyBlZmZlY3Q7CiAgICAgW1J1
bnRpbWVDb25kaXRpb25hbGx5UmVhZFdyaXRlPVdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVz
XSBhdHRyaWJ1dGUgQW5pbWF0aW9uVGltZWxpbmU/IHRpbWVsaW5lOwotICAgIGF0dHJpYnV0ZSBk
b3VibGU/IHN0YXJ0VGltZTsKKyAgICBbSW1wbGVtZW50ZWRBcz1iaW5kaW5nc1N0YXJ0VGltZV0g
YXR0cmlidXRlIGRvdWJsZT8gc3RhcnRUaW1lOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1w
bGVtZW50ZWRBcz1iaW5kaW5nc0N1cnJlbnRUaW1lXSBhdHRyaWJ1dGUgZG91YmxlPyBjdXJyZW50
VGltZTsKICAgICBhdHRyaWJ1dGUgZG91YmxlIHBsYXliYWNrUmF0ZTsKICAgICBbSW1wbGVtZW50
ZWRBcz1iaW5kaW5nc1BsYXlTdGF0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIEFuaW1hdGlvblBsYXlT
dGF0ZSBwbGF5U3RhdGU7CkBAIC02Miw3ICs2Miw3IEBAIGVudW0gQW5pbWF0aW9uUmVwbGFjZVN0
YXRlIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NQbGF5
XSB2b2lkIHBsYXkoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Ymlu
ZGluZ3NQYXVzZV0gdm9pZCBwYXVzZSgpOwogICAgIHZvaWQgdXBkYXRlUGxheWJhY2tSYXRlKGRv
dWJsZSBwbGF5YmFja1JhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZXZlcnNl
KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUmV2ZXJz
ZV0gdm9pZCByZXZlcnNlKCk7CiAgICAgdm9pZCBwZXJzaXN0KCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGNvbW1pdFN0eWxlcygpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDU1ZGNhZmE2MzllODk4ZWJmMjI1MzQ2NmI5MzlmYjJmOGRlMDI3NGQuLjZkNWYy
NDg1YmY4ZTgzYWNhNGVkOTUwZmU5MDc5MmQ3YTRkNGIzNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTI0ICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBFbnN1cmUgY2Fs
bGluZyBXZWIgQW5pbWF0aW9ucyBBUElzIG92ZXJyaWRlIGZ1dHVyZSBDU1MgQW5pbWF0aW9ucyBz
dHlsZSBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTA5ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYXJrIGFsbCBXUFQgdGVzdHMgcmVsYXRlZCB0byBXZWIgQW5pbWF0aW9ucyBBUElz
IG92ZXJyaWRlcyBmb3IgQ1NTIEFuaW1hdGlvbnMgYXMgUEFTUywgc2F2ZSBmb3Igb25lCisgICAg
ICAgIGZhaWxpbmcgYXNzZXJ0aW9uIHdoaWNoIGlzIGNhdXNlZCBieSBBbmltYXRpb25UaW1lbGlu
ZTo6dXBkYXRlQ1NTQW5pbWF0aW9ucygpIG5vdCB1cGRhdGluZyB0aGUgYW5pbWF0aW9uCisgICAg
ICAgIHdoZW4gdGhlIHVuZGVybHlpbmcgQGtleWZyYW1lcyBydWxlIGNoYW5nZWQuIFRoaXMgaXMg
ZHVlIHRvIEFuaW1hdGlvbjo6YW5pbWF0aW9uc01hdGNoKCkgbm90IGNoZWNraW5nIG9uCisgICAg
ICAgIHRoZSBhY3R1YWwga2V5ZnJhbWVzLCB0cmFja2VkIGJ5IHdlYmtpdC5vcmcvYi8yMTA5ODku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1h
dGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZl
Y3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9L
ZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKwogMjAy
MC0wNC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSB0aGUgY3NzL2Nzcy1hbmltYXRpb25zIFdQVCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
QW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY5ZTg5MTQ2Mzc2YzQ5ZjBmOGFiN2ViZTBkZjRmYjgxOTBlODk3NjEuLjg0ZWNmMjQwNzNl
ZDY3OWRjNDBmNjk5NzU2MjE2NWNjOGM2MzI5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1hdGlv
bkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9B
bmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw3IEBACiAKLUZBSUwgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7IGR1cmF0aW9u
IH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZHVyYXRpb24gdG8gYmUgaWdub3Jl
ZCBhc3NlcnRfZXF1YWxzOiBEZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZSBl
eHBlY3RlZCA2MDAwIGJ1dCBnb3QgMAotRkFJTCBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5n
KHsgaXRlcmF0aW9ucywgZGlyZWN0aW9uIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRp
b24taXRlcmF0aW9uLWNvdW50IGFuZCBhbmltYXRpb24tZGlyZWN0aW9uIHRvIGJlIGlnbm9yZWQg
YXNzZXJ0X2VxdWFsczogRGVsYXkgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUgZXhw
ZWN0ZWQgNjAwMCBidXQgZ290IDAKLUZBSUwgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7
IGRlbGF5LCBmaWxsIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZGVsYXkgYW5k
IGFuaW1hdGlvbi1maWxsLW1vZGUgdG8gYmUgaWdub3JlZCBhc3NlcnRfZXF1YWxzOiBJdGVyYXRp
b25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4cGVjdGVkIDYgYnV0IGdvdCAx
Ci1GQUlMIEFuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoKSBkb2VzIG92ZXJyaWRlIHRvIGNo
YW5nZXMgZnJvbSBhbmltYXRpb24tKiBwcm9wZXJ0aWVzIGlmIHRoZXJlIGlzIGFuIGVycm9yIGFz
c2VydF9lcXVhbHM6IER1cmF0aW9uIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4
cGVjdGVkIDQwMDAgYnV0IGdvdCAxMDAwMDAKK1BBU1MgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRp
bWluZyh7IGR1cmF0aW9uIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZHVyYXRp
b24gdG8gYmUgaWdub3JlZCAKK1BBU1MgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7IGl0
ZXJhdGlvbnMsIGRpcmVjdGlvbiB9KSBjYXVzZXMgY2hhbmdlcyB0byB0aGUgYW5pbWF0aW9uLWl0
ZXJhdGlvbi1jb3VudCBhbmQgYW5pbWF0aW9uLWRpcmVjdGlvbiB0byBiZSBpZ25vcmVkIAorUEFT
UyBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKHsgZGVsYXksIGZpbGwgfSkgY2F1c2VzIGNo
YW5nZXMgdG8gdGhlIGFuaW1hdGlvbi1kZWxheSBhbmQgYW5pbWF0aW9uLWZpbGwtbW9kZSB0byBi
ZSBpZ25vcmVkIAorUEFTUyBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKCkgZG9lcyBvdmVy
cmlkZSB0byBjaGFuZ2VzIGZyb20gYW5pbWF0aW9uLSogcHJvcGVydGllcyBpZiB0aGVyZSBpcyBh
biBlcnJvciAKIFBBU1MgQW5pbWF0aW9uRWZmZWN0IHByb3BlcnRpZXMgdGhhdCBkbyBub3QgbWFw
IHRvIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIHdoZW4gYW5p
bWF0aW9uLSogc3R5bGUgaXMgdXBkYXRlZCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0
aW9uLWVmZmVjdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWVm
ZmVjdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGY3NWQ1YjZmYzMyMmVmMGUxMDY1NTBl
NDE1Nzg2NzA2NjFkYzgzY2MuLjI4NTVmYjA5Y2Y3MDVhNTI2ZGExNmU5ZTU4MzU3ZmE2NDcyYzUw
MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTUsNSArNSw1IEBAIFBBU1MgUmVwbGFjaW5nIGFuIGFuaW1hdGlvbidzIGVmZmVj
dCB3aXRoIGEgc2hvcnRlciBvbmUgdGhhdCBzaG91bGQgaGF2ZSBhbHJlYWR5CiBQQVNTIEEgcGxh
eS1wZW5kaW5nIGFuaW1hdGlvbidzIGVmZmVjdCB3aG9zZSBlZmZlY3QgaXMgcmVwbGFjZWQgc3Rp
bGwgZXhpdHMgdGhlIHBlbmRpbmcgc3RhdGUgCiBQQVNTIENTUyBhbmltYXRpb24gZXZlbnRzIGFy
ZSBkaXNwYXRjaGVkIGF0IHRoZSBvcmlnaW5hbCBlbGVtZW50IGV2ZW4gYWZ0ZXIgc2V0dGluZyBh
biBlZmZlY3Qgd2l0aCBhIGRpZmZlcmVudCB0YXJnZXQgZWxlbWVudCAKIFBBU1MgQWZ0ZXIgcmVw
bGFjaW5nIGEgZmluaXNoZWQgYW5pbWF0aW9uJ3MgZWZmZWN0IHdpdGggYSBsb25nZXIgb25lIGl0
IGZpcmVzIGFuIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IAotRkFJTCBSZXBsYWNpbmcgdGhlIGVmZmVj
dCBvZiBhIENTU0FuaW1hdGlvbiBjYXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIGNvcnJlc3Bv
bmRpbmcgYW5pbWF0aW9uLSogcHJvcGVydGllcyB0byBiZSBpZ25vcmVkIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygp
WzBdLmxlZnQnKQorUEFTUyBSZXBsYWNpbmcgdGhlIGVmZmVjdCBvZiBhIENTU0FuaW1hdGlvbiBj
YXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIGNvcnJlc3BvbmRpbmcgYW5pbWF0aW9uLSogcHJv
cGVydGllcyB0byBiZSBpZ25vcmVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24t
cGF1c2luZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNp
bmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBjMTg4ZGU0YjIwYWJlMjdkYzBhYjQ3OWNh
YTE0ZTdjZWQ4MGY5MWM3Li45MDUzODI0MDllZTU4Mzg4ZmM0ZTgwMDhmNGNjMThlMmRkNTAyNmU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIAotRkFJTCBwbGF5KCkgb3ZlcnJpZGVzIGFuaW1hdGlv
bi1wbGF5LXN0YXRlIGFzc2VydF9lcXVhbHM6IFNob3VsZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4g
YWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGV4cGVjdGVkICJydW5uaW5n
IiBidXQgZ290ICJwYXVzZWQiCitQQVNTIHBsYXkoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXkt
c3RhdGUgCiBQQVNTIHBsYXkoKSBkb2VzIE5PVCBvdmVycmlkZSB0aGUgYW5pbWF0aW9uLXBsYXkt
c3RhdGUgaWYgdGhlcmUgd2FzIGFuIGVycm9yIAogUEFTUyBwYXVzZSgpIG92ZXJyaWRlcyBhbmlt
YXRpb24tcGxheS1zdGF0ZSAKLUZBSUwgcmV2ZXJzZSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxh
eS1zdGF0ZSB3aGVuIGl0IHN0YXJ0cyBwbGF5aW5nIHRoZSBhbmltYXRpb24gYXNzZXJ0X2VxdWFs
czogU2hvdWxkIHN0aWxsIGJlIHJ1bm5pbmcgZXZlbiBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0
aW9uLXBsYXktc3RhdGUgZXhwZWN0ZWQgInJ1bm5pbmciIGJ1dCBnb3QgInBhdXNlZCIKK1BBU1Mg
cmV2ZXJzZSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZSB3aGVuIGl0IHN0YXJ0cyBw
bGF5aW5nIHRoZSBhbmltYXRpb24gCiBQQVNTIHJldmVyc2UoKSBkb2VzIE5PVCBvdmVycmlkZSBh
bmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIGFscmVhZHkgcnVubmluZyAK
LUZBSUwgU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG51bGwgb3ZlcnJpZGVzIGFuaW1hdGlvbi1w
bGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nIGFzc2VydF9lcXVh
bHM6IFNob3VsZCBzdGlsbCBiZSBwYXVzZWQgZXZlbiBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0
aW9uLXBsYXktc3RhdGUgZXhwZWN0ZWQgInBhdXNlZCIgYnV0IGdvdCAicnVubmluZyIKLUZBSUwg
U2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG5vbi1udWxsIG92ZXJyaWRlcyBhbmltYXRpb24tcGxh
eS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIHBhdXNlZCBhc3NlcnRfZXF1YWxzOiBTaG91bGQg
c3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBhbmltYXRpb24tcGxheS1z
dGF0ZSBleHBlY3RlZCAicnVubmluZyIgYnV0IGdvdCAicGF1c2VkIgorUEFTUyBTZXR0aW5nIHRo
ZSBzdGFydFRpbWUgdG8gbnVsbCBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUgaWYgdGhl
IGFuaW1hdGlvbiBpcyBhbHJlYWR5IHJ1bm5pbmcgCitQQVNTIFNldHRpbmcgdGhlIHN0YXJ0VGlt
ZSB0byBub24tbnVsbCBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUgaWYgdGhlIGFuaW1h
dGlvbiBpcyBwYXVzZWQgCiBQQVNTIFNldHRpbmcgdGhlIHN0YXJ0VGltZSB0byBub24tbnVsbCBk
b2VzIE5PVCBvdmVycmlkZSB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgaWYgdGhlIGFuaW1hdGlv
biBpcyBhbHJlYWR5IHJ1bm5pbmcgCiBQQVNTIFNldHRpbmcgdGhlIGN1cnJlbnQgdGltZSBjb21w
bGV0ZXMgYSBwZW5kaW5nIHBhdXNlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVj
dC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZm
ZWN0LXNldEtleWZyYW1lcy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDFmMTU4Y2JjODMy
MzZjNzRiYzQxMWIxN2E0NGQ4MWViN2NiMjE2ZDAuLjhhNWFkZDJhYzUzYmJiZDUwZTEyMzQ4ZDUz
MTQ2NmUwZWQxZjJmZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LXNldEtleWZy
YW1lcy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LXNl
dEtleWZyYW1lcy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlM
IEtleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGNhdXNlcyBzdWJzZXF1ZW50IGNoYW5nZXMg
dG8gQGtleWZyYW1lcyBydWxlcyB0byBiZSBpZ25vcmVkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdPYmplY3Qua2V5cyhhY3R1YWwpJykKLUZBSUwgS2V5ZnJhbWVFZmZl
Y3Quc2V0S2V5ZnJhbWVzKCkgY2F1c2VzIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBhbmltYXRpb24t
dGltaW5nLWZ1bmN0aW9uIHRvIGJlIGlnbm9yZWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ2FuaW1hdGlvbi5lZmZlY3QuZ2V0S2V5ZnJhbWVzKClbMF0uZWFzaW5nJykK
K1BBU1MgS2V5ZnJhbWVFZmZlY3Quc2V0S2V5ZnJhbWVzKCkgY2F1c2VzIHN1YnNlcXVlbnQgY2hh
bmdlcyB0byBAa2V5ZnJhbWVzIHJ1bGVzIHRvIGJlIGlnbm9yZWQgCitQQVNTIEtleWZyYW1lRWZm
ZWN0LnNldEtleWZyYW1lcygpIGNhdXNlcyBzdWJzZXF1ZW50IGNoYW5nZXMgdG8gYW5pbWF0aW9u
LXRpbWluZy1mdW5jdGlvbiB0byBiZSBpZ25vcmVkIAogRkFJTCBLZXlmcmFtZUVmZmVjdC5zZXRL
ZXlmcmFtZXMoKSBzaG91bGQgTk9UIGNhdXNlIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBAa2V5ZnJh
bWVzIHJ1bGVzIHRvIGJlIGlnbm9yZWQgaWYgaXQgdGhyZXcgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5rZXlzKGFjdHVhbCknKQogCg==
</data>
<flag name="review"
          id="412888"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>