<?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>224399</bug_id>
          
          <creation_ts>2021-04-09 16:30:07 -0700</creation_ts>
          <short_desc>webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes</short_desc>
          <delta_ts>2021-04-12 14:29:31 -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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=224387</see_also>
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1748903</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-09 16:30:07 -0700</bug_when>
    <thetext>webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes (and thus OfflineAudioContexts).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749300</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 11:36:33 -0700</bug_when>
    <thetext>*** Bug 224439 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749312</commentid>
    <comment_count>2</comment_count>
      <attachid>425771</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 11:57:58 -0700</bug_when>
    <thetext>Created attachment 425771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749325</commentid>
    <comment_count>3</comment_count>
      <attachid>425774</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 12:31:34 -0700</bug_when>
    <thetext>Created attachment 425774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749368</commentid>
    <comment_count>4</comment_count>
      <attachid>425774</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-04-12 13:59:00 -0700</bug_when>
    <thetext>Comment on attachment 425774
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:33
&gt; +        Early return if lazyInitialize() gets called for au audiocontext is closed. Nothing prevents JS from

for au =&gt; after an

&gt; Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp:184
&gt; +bool AudioScheduledSourceNode::virtualHasPendingActivity() const

Not for this patch, but this function really needs a better to name to clarify that it is an addition, *not* an override.

Maybe &quot;hasAdditionalPendingActivity&quot; or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749383</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 14:28:37 -0700</bug_when>
    <thetext>Committed r275838 (236406@main): &lt;https://commits.webkit.org/236406@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749386</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-12 14:29:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/76558119&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425771</attachid>
            <date>2021-04-12 11:57:58 -0700</date>
            <delta_ts>2021-04-12 12:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224399-20210412115757.patch</filename>
            <type>text/plain</type>
            <size>19048</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRhNmQzOThmY2M5MjI5
MjYyMjc3Yjc4Zjg4YWM1YTIxMGVkNWViOC4uNzY3MzQxN2NjY2RkMjQzNDdiY2UxZTlhYzQ5MGU3
NDY4MTg1MDhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA0LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViYXVkaW8vQXVkaW9MaXN0
ZW5lci9hdWRpb2xpc3RlbmVyLXNldC1wb3NpdGlvbi5odG1sIGlzIGxlYWtpbmcgUGFubmVyTm9k
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0
ZXN0IHdhcyBsZWFraW5nIGFsbCBpdHMgbm9kZXMgYW5kIGNvbnRleHRzIGR1ZSB0byBzZXZlcmFs
IGxvZ2ljIGlzc3VlcyBpbiBvdXIgY29kZS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNl
Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGlu
ZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmluZy13aXRoLW5vZGVzLmh0bWwKKworICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6QXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6
dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaDoKKyAgICAgICAgMS4gU3RvcCB1c2luZyBhbiBB
Y3RpdmVET01PYmplY3Q6OlBlbmRpbmdBY3Rpdml0eSB0byBrZWVwIG91ciB3cmFwcGVyIGFsaXZl
IGFzIHRoaXMgd2FzIGNhdXNpbmcKKyAgICAgICAgICAgYSByZWZlcmVuY2UgY3ljbGUuIFBlbmRp
bmdBY3Rpdml0eSBrZWVwcyBhIHJlZiB0byB8dGhpc3wgYW5kIHRoaXMgaXMgcmVmJ2luZyB0aGUg
UGVuZGluZ0FjdGl2aXR5LgorICAgICAgICAgICAyIHRoaW5ncyBjb3VsZCBicmVhayB0aGUgY3lj
bGU6CisgICAgICAgICAgIC0gZmluaXNoKCkgZ2V0cyBjYWxsZWQgYnV0IHRoZSBhdWRpbyBjb250
ZXh0IG1heSBnbyBhd2F5IHdpdGhvdXQgZmluaXNoIGdldHRpbmcgY2FsbGVkLgorICAgICAgICAg
ICAtIGRpZEJlY29tZU1hcmtlZEZvckRlbGV0aW9uKCkgZ2V0cyBjYWxsZWQuIEhvd2V2ZXIsIGl0
IHdhcyBnZXR0aW5nIGNhbGxlZCBmcm9tCisgICAgICAgICAgICAgQXVkaW9Ob2RlOjptYXJrTm9k
ZUZvckRlbGV0aW9uSWZOZWNlc3NhcnkoKS4gVGhpcyBmdW5jdGlvbiB3b3VsZCBlYXJseSByZXR1
cm4gaWYgbV9ub3JtYWxSZWZDb3VudAorICAgICAgICAgICAgIGlzIG5vdCAwLiBIZXJlIG1fbm9y
bWFsUmVmQ291bnQgY291bGQgTk9UIGJlIDAsIHNpbmNlIFBlbmRpbmdBY3RpdHkgd2FzIHJlZidp
bmcgdGhlIE5vZGUuCisgICAgICAgIDIuIEluc3RlYWQgb2YgYSBQZW5kaW5nQWN0aXZpdHksIHdl
IG5vdyBvdmVycmlkZSBBY3RpdmVET01PYmplY3Q6OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHko
KSB0byBrZWVwCisgICAgICAgICAgIHRoZSB3cmFwcGVyIGFsaXZlLiBUaGUgYmVoYXZpb3IgaXMg
dGhlIHNhbWUgc2luY2UgaXRzIHJldHVybiB0cnVlIHdoZW4gdGhlIHN0YXRlIGlzIG5vdCBmaW5p
c2hlZAorICAgICAgICAgICBhbmQgdGhlIG5vZGUgaGFzIG5vdCBiZWVuIG1hcmtlZCBmb3IgZGVs
ZXRpb24uIEhvd2V2ZXIsIEkgYWRkZWQgYSBjb25kaXRpb24gdG8gbWFrZSBzdXJlIGl0IHN0YXJ0
cworICAgICAgICAgICByZXR1cm5pbmcgZmFsc2UgYXMgc29vbiBhcyB0aGUgY29udGV4dCBpcyBj
bG9zZWQuIE9uY2UgYW4gYXVkaW8gY29udGV4dCBpcyBjbG9zZWQsIGl0IHdvbid0IHN0YXJ0Cisg
ICAgICAgICAgIHJlbmRlcmluZyBhZ2FpbiBzbyB0aGVyZSBpcyBubyByZWFzb24gdG8ga2VlcCB0
aGUgd3JhcHBlciBhbGl2ZSBwYXN0IHRoaXMgcG9pbnQuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlv
Q29udGV4dDo6bGF6eUluaXRpYWxpemUpOgorICAgICAgICBFYXJseSByZXR1cm4gaWYgbGF6eUlu
aXRpYWxpemUoKSBnZXRzIGNhbGxlZCBmb3IgYXUgYXVkaW9jb250ZXh0IGlzIGNsb3NlZC4gTm90
aGluZyBwcmV2ZW50cyBKUyBmcm9tCisgICAgICAgIGNyZWF0aW5nIGFuIEF1ZGlvTm9kZSBhZnRl
ciB0aGUgQXVkaW9Db250ZXh0IGlzIGNsb3NlZC4gQ29uc3RydWN0aW5nIGFuIEF1ZGlvTm9kZSBl
bmRzIHVwIGxhenkKKyAgICAgICAgaW5pdGlhbGl6aW5nIHRoZSBhdWRpbyBjb250ZXh0LiBJbiBz
dWNoIGNhc2UsIHdlIHdvdWxkIGFscmVhZHkgZWFybHkgcmV0dXJuIGluIHJlbGVhc2UgYmVjYXVz
ZSBpZiB0aGUKKyAgICAgICAgbV9pc0F1ZGlvVGhyZWFkRmluaXNoZWQgY2hlY2suIEhvd2V2ZXIs
IHdlIHdvdWxkIGNyYXNoIGluIGRlYnVnIGJlY2F1c2Ugb2YgdGhlIG1faXNBdWRpb1RocmVhZEZp
bmlzaGVkCisgICAgICAgIEFTU0VSVCgpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9C
YXNlQXVkaW9Db250ZXh0Lmg6CisgICAgICAgIE1ha2UgY2xlYXIoKSBtZW1iZXIgZnVuY3Rpb24g
cHJvdGVjdGVkIHNvIGl0IGNhbiBnZXQgY2FsbGVkIGJ5IE9mZmxpbmVBdWRpb0NvbnRleHQgd2hl
biByZW5kZXJpbmcgaXMKKyAgICAgICAgY29tcGxldGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T2ZmbGlu
ZUF1ZGlvQ29udGV4dDo6dW5pbml0aWFsaXplKToKKyAgICAgICAgU3RvcCByZWplY3RpbmcgdGhl
IHN1c3BlbmQgcHJvbWlzZXMgd2hlbiB0aGUgT2ZmbGluZUF1ZGlvQ29udGV4dCBnZXRzIHVuaW5p
dGlhbGl6ZWQuIFByZXZpb3VzbHkgdGhpcworICAgICAgICB3b3VsZCBvbmx5IGhhcHBlbiBvbiBu
YXZpZ2F0aW9uIHNvIHdlIGRpZCBub3Qgbm90aWNlIHRoZSBpc3N1ZS4gSG93ZXZlciwgdGhlIE9m
ZmxpbmVBdWRpb0NvbnRleHQgbm93CisgICAgICAgIGdldHMgdW5pbml0aWFsaXplZCBhcyBzb29u
IGFzIGl0IGlzIGRvbmUgcmVuZGVyaW5nIGFuZCByZWplY3RpbmcgdGhvc2UgcHJvbWlzZXMgaW4g
dGhpcyBjYXNlIHdvdWxkCisgICAgICAgIHN0YXJ0IGNhdXNpbmcgdGVzdCBmYWlsdXJlcy4KKwor
ICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvQ29udGV4dDo6ZGlkRmluaXNoT2ZmbGluZVJl
bmRlcmluZyk6CisgICAgICAgIC0gU3RvcCBjbGVhcmluZyB0aGUgbV9kaWRTdGFydE9mZmxpbmVS
ZW5kZXJpbmcgZmxhZyB3aGVuIHJlbmRlcmluZyBpcyBmaW5pc2hlZC4gVGhpcyBmbGFnIGlzIGNh
bGxlZAorICAgICAgICAgIFtbcmVuZGVyaW5nIHN0YXJ0ZWRdXSBpbiB0aGUgV2ViQXVkaW8gc3Bl
Y2lmaWNhdGlvbiBbMV0uIEFzIHBlciB0aGUgc3BlY2lmaWNhdGlvbiwgaXQgZ2V0cyBzZXQgdG8g
dHJ1ZQorICAgICAgICAgIGluIHN0YXJ0UmVuZGVyaW5nKCkgYW5kIG5ldmVyIGdldHMgcmVzZXQg
dG8gZmFsc2UuIFRoaXMgbWVhbnMgdGhhdCBhbiBvZmZsaW5lIGF1ZGlvIGNvbnRleHQgY2Fubm90
CisgICAgICAgICAgc3RhcnQgcmVuZGVyaW5nIGFnYWluIG9uY2UgaXQgaXMgZG9uZSByZW5kZXJp
bmcuIEkgaGF2ZSBhZGRlZCBhIGxheW91dCB0ZXN0IGZvciB0aGlzIGJlaGF2aW9yIGNoYW5nZQor
ICAgICAgICAgIGFuZCB2ZXJpZmllZCB0aGF0IHRoaXMgdGVzdCBpcyBwYXNzaW5nIGlzIGJvdGgg
RmlyZWZveCBhbmQgQ2hyb21lLgorICAgICAgICAgIFsxXSBodHRwczovL3dlYmF1ZGlvLmdpdGh1
Yi5pby93ZWItYXVkaW8tYXBpLyNkb20tb2ZmbGluZWF1ZGlvY29udGV4dC1zdGFydHJlbmRlcmlu
ZworICAgICAgICAtIENhbGwgdW5pbml0aWFsaXplKCkgYW5kIGNsZWFyKCkgd2hlbiByZW5kZXJp
bmcgaGFzIGZpbmlzaGVkIHRvIGNsZWFyIGFzIG11Y2ggbWVtb3J5IGFzIHBvc3NpYmxlIGFzCisg
ICAgICAgICAgc29vbiBhcyB3ZSBjYW4uIFRoaXMgaXMgYWNjZXB0YWJsZSBiZWNhdXNlIGl0IGlz
IG5vIGxvbmdlciBwb3NzaWJsZSB0byBzdGFydCByZW5kZXJpbmcgYWdhaW4gb25jZQorICAgICAg
ICAgIGl0J3MgZmluaXNoZWQuIFByZXZpb3VzbHksIHVuaW5pdGlhbGl6ZSgpIC8gY2xlYXIoKSB3
b3VsZCBvbmx5IGhhcHBlbiB3aGVuIG5hdmlnYXRpbmcgYXdheSBhbmQgd2hlbgorICAgICAgICAg
IHRoZSBkb2N1bWVudCB3b3VsZCBnZXQgZGVzdHJveWVkLgorCisyMDIxLTA0LTEyICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgT2ZmbGluZUF1ZGlvQ29udGV4dCB3
aXRoIG5vZGVzIHRoYXQgY29tcGxldGVkIHJlbmRlcmluZyBkbyBub3QgZ2V0IGZyZWVkIHVudGls
IG5hdmlnYXRpbmcgYXdheQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI0NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdHM6IHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlv
Y29udGV4dC1jYW4tb25seS1yZW5kZXItb25jZS5odG1sCisgICAgICAgICAgICAgICB3ZWJhdWRp
by9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5k
ZXJpbmctd2l0aC1ub2Rlcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VB
dWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6Zmlu
aXNoZWRSZW5kZXJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlv
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9Db250ZXh0OjpkaWRG
aW5pc2hPZmZsaW5lUmVuZGVyaW5nKToKKwogMjAyMS0wNC0xMiAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV1bR1N0cmVhbWVyXSBDcmFzaCBp
biBXZWJDb3JlOjpQbGF5YmFja1BpcGVsaW5lOjphZGRTb3VyY2VCdWZmZXIgd2hlbiBzZXR0aW5n
IGR1cmF0aW9uIGFuZCBwcmVsb2FkIGlzIHNldCB0byBub25lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5j
cHAKaW5kZXggYmEwNjY2ZjQ5OGE5MDU4Nzc2NTRiYTU1ZGQ4OGU0MjUwMGVmMjU5MS4uMTljODZh
ZTdkNDc0OGFiMTBmYmFiNmE2MWExODc0OWFiZTczNDU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2Rl
LmNwcApAQCAtNTIsNyArNTIsNiBAQCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OkF1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBObwogICAgICwgQWN0
aXZlRE9NT2JqZWN0KGNvbnRleHQuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogewogICAgIHN1
c3BlbmRJZk5lZWRlZCgpOwotICAgIG1fcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rp
dml0eSgqdGhpcyk7CiB9CiAKIHZvaWQgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjp1cGRhdGVT
Y2hlZHVsaW5nSW5mbyhzaXplX3QgcXVhbnR1bUZyYW1lU2l6ZSwgQXVkaW9CdXMmIG91dHB1dEJ1
cywgc2l6ZV90JiBxdWFudHVtRnJhbWVPZmZzZXQsIHNpemVfdCYgbm9uU2lsZW50RnJhbWVzVG9Q
cm9jZXNzLCBkb3VibGUmIHN0YXJ0RnJhbWVPZmZzZXQpCkBAIC0xODIsMTEgKzE4MSw5IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6c3RvcExhdGVyKGRvdWJs
ZSB3aGVuKQogICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgQXVkaW9TY2hlZHVsZWRTb3VyY2VO
b2RlOjpkaWRCZWNvbWVNYXJrZWRGb3JEZWxldGlvbigpCitib29sIEF1ZGlvU2NoZWR1bGVkU291
cmNlTm9kZTo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJU
KGNvbnRleHQoKS5pc0dyYXBoT3duZXIoKSk7Ci0gICAgbV9wZW5kaW5nQWN0aXZpdHkgPSBudWxs
cHRyOwotICAgIEFTU0VSVCghaGFzUGVuZGluZ0FjdGl2aXR5KCkpOworICAgIHJldHVybiBtX3Bs
YXliYWNrU3RhdGUgIT0gRklOSVNIRURfU1RBVEUgJiYgIWlzTWFya2VkRm9yRGVsZXRpb24oKSAm
JiAhY29udGV4dCgpLmlzQ2xvc2VkKCk7CiB9CiAKIHZvaWQgQXVkaW9TY2hlZHVsZWRTb3VyY2VO
b2RlOjpmaW5pc2goKQpAQCAtMjAwLDEyICsxOTcsNyBAQCB2b2lkIEF1ZGlvU2NoZWR1bGVkU291
cmNlTm9kZTo6ZmluaXNoKCkKICAgICAvLyBIZWFwIGFsbG9jYXRpb25zIGFyZSBmb3JiaWRkZW4g
b24gdGhlIGF1ZGlvIHRocmVhZCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyBzbyB3ZSBuZWVkIHRv
CiAgICAgLy8gZXhwbGljaXRseSBhbGxvdyB0aGUgZm9sbG93aW5nIGFsbG9jYXRpb24ocykuCiAg
ICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBkaXNhYmxl
TWFsbG9jUmVzdHJpY3Rpb25zOwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gewotICAgICAgICBhdXRvIHJlbGVhc2UgPSBtYWtlU2Nv
cGVFeGl0KFsmXSAoKSB7Ci0gICAgICAgICAgICBBdWRpb0NvbnRleHQ6OkF1dG9Mb2NrZXIgbG9j
a2VyKGNvbnRleHQoKSk7Ci0gICAgICAgICAgICBtX3BlbmRpbmdBY3Rpdml0eSA9IG51bGxwdHI7
Ci0gICAgICAgICAgICBBU1NFUlQoIWhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKLSAgICAgICAgfSk7
CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBwZW5kaW5nQWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0aGlzKV0gewogICAg
ICAgICBpZiAoY29udGV4dCgpLmlzU3RvcHBlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB0aGlzLT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVk
RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxl
ZFNvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlLmgKaW5kZXggYTc1YzUzNWI4NmU2ZmViZjBjNjRhMDVlZjNkNmMyYjk1
YmUyNjliZi4uNTVjNjIxYjkwOWM4YzJlNTZiMGU4MDYzZDc0NTRhYjU5MGU3OGZkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJj
ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZS5oCkBAIC01OCw4ICs1OCw2IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBzdGFydExhdGVyKGRvdWJsZSB3aGVuKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
dG9wTGF0ZXIoZG91YmxlIHdoZW4pOwogCi0gICAgdm9pZCBkaWRCZWNvbWVNYXJrZWRGb3JEZWxl
dGlvbigpIG92ZXJyaWRlOwotCiAgICAgdW5zaWduZWQgc2hvcnQgcGxheWJhY2tTdGF0ZSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkIHNob3J0PihtX3BsYXliYWNrU3RhdGUp
OyB9CiAgICAgYm9vbCBpc1BsYXlpbmdPclNjaGVkdWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGxh
eWJhY2tTdGF0ZSA9PSBQTEFZSU5HX1NUQVRFIHx8IG1fcGxheWJhY2tTdGF0ZSA9PSBTQ0hFRFVM
RURfU1RBVEU7IH0KICAgICBib29sIGhhc0ZpbmlzaGVkKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5
YmFja1N0YXRlID09IEZJTklTSEVEX1NUQVRFOyB9CkBAIC03OSwxMSArNzcsMTIgQEAgcHJvdGVj
dGVkOgogICAgIC8vIENhbGxlZCB3aGVuIHdlIGhhdmUgbm8gbW9yZSBzb3VuZCB0byBwbGF5IG9y
IHRoZSBub3RlT2ZmKCkgdGltZSBoYXMgYmVlbiByZWFjaGVkLgogICAgIHZpcnR1YWwgdm9pZCBm
aW5pc2goKTsKIAorICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZp
bmFsOworCiAgICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIFBsYXliYWNrU3RhdGUgbV9wbGF5YmFja1N0YXRlIHsgVU5T
Q0hFRFVMRURfU1RBVEUgfTsKIAotICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8QXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlPj4gbV9wZW5kaW5nQWN0aXZpdHk7CiAgICAgLy8gbV9zdGFydFRpbWUg
aXMgdGhlIHRpbWUgdG8gc3RhcnQgcGxheWluZyBiYXNlZCBvbiB0aGUgY29udGV4dCdzIHRpbWVs
aW5lICgwIG9yIGEgdGltZSBsZXNzIHRoYW4gdGhlIGNvbnRleHQncyBjdXJyZW50IHRpbWUgbWVh
bnMgIm5vdyIpLgogICAgIGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAgfTsgLy8gaW4gc2Vjb25kcwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0LmNwcAppbmRleCBjNDJhM2JhYmQzMGY4NDNiNGNlNDM3MmRlNjM0NDZlYzZkOTAxNDM2Li4y
Njc3NTQwZTQzMjU4YjRmMThhMGQ0MWM1MmRiYzk0MmM2ZjEyZTVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKQEAgLTIw
Miw3ICsyMDIsNyBAQCBib29sIEJhc2VBdWRpb0NvbnRleHQ6OmlzQ29udGV4dEFsaXZlKHVpbnQ2
NF90IGNvbnRleHRJRCkKIAogdm9pZCBCYXNlQXVkaW9Db250ZXh0OjpsYXp5SW5pdGlhbGl6ZSgp
CiB7Ci0gICAgaWYgKGlzU3RvcHBlZCgpKQorICAgIGlmIChpc1N0b3BwZWQoKSB8fCBpc0Nsb3Nl
ZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9pc0luaXRpYWxpemVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAppbmRl
eCBlYjIxMDEzZTdmYTI5ZWEwMGU3MTEzZWI5MTVjMDQ3Njg1ZTg5NmNhLi41OGJkY2U5ZGM2ZWFi
NTEyNTg2ZWYxM2U3NjEwMWJlYWYxZTUyMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaApAQCAtMzE2LDEwICszMTYsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRTdGF0ZShTdGF0ZSk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmluaXNoT2ZmbGluZVJlbmRlcmluZyhFeGNlcHRpb25PcjxSZWY8QXVkaW9CdWZmZXI+PiYm
KSB7IH0KLQotcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyKCk7CiAKK3ByaXZhdGU6CiAgICAgdm9p
ZCBzY2hlZHVsZU5vZGVEZWxldGlvbigpOwogICAgIHZvaWQgd29ya2xldElzUmVhZHkoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9D
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlv
Q29udGV4dC5jcHAKaW5kZXggZTQ0MDFkN2IxNmNhNjM1MDQ1MWI2NGE1YWZmMDRiODY0YWVmYjdi
My4uNGUwNmJkMWE4OGEzZWU1ZjgzZTliMzFmNGY4Nzg3YWNlYWY4NTljYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJK
U0F1ZGlvQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNs
dWRlIDx3dGYvU2NvcGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03MywyMCArNzQs
NyBAQCB2b2lkIE9mZmxpbmVBdWRpb0NvbnRleHQ6OnVuaW5pdGlhbGl6ZSgpCiB7CiAgICAgQmFz
ZUF1ZGlvQ29udGV4dDo6dW5pbml0aWFsaXplKCk7CiAKLSAgICBWZWN0b3I8UmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4+IHByb21pc2VzVG9SZWplY3Q7Ci0KLSAgICB7Ci0gICAgICAgIEF1dG9Mb2Nr
ZXIgbG9ja2VyKCp0aGlzKTsKLSAgICAgICAgcHJvbWlzZXNUb1JlamVjdC5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KG1fc3VzcGVuZFJlcXVlc3RzLnNpemUoKSk7Ci0gICAgICAgIGZvciAoYXV0byYg
cHJvbWlzZSA6IG1fc3VzcGVuZFJlcXVlc3RzLnZhbHVlcygpKQotICAgICAgICAgICAgcHJvbWlz
ZXNUb1JlamVjdC51bmNoZWNrZWRBcHBlbmQocHJvbWlzZSk7Ci0gICAgICAgIG1fc3VzcGVuZFJl
cXVlc3RzLmNsZWFyKCk7Ci0gICAgfQotCi0gICAgaWYgKG1fcGVuZGluZ09mZmxpbmVSZW5kZXJp
bmdQcm9taXNlKQotICAgICAgICBwcm9taXNlc1RvUmVqZWN0LmFwcGVuZChzdGQ6OmV4Y2hhbmdl
KG1fcGVuZGluZ09mZmxpbmVSZW5kZXJpbmdQcm9taXNlLCBudWxscHRyKSk7Ci0KLSAgICBmb3Ig
KGF1dG8mIHByb21pc2UgOiBwcm9taXNlc1RvUmVqZWN0KQorICAgIGlmIChhdXRvIHByb21pc2Ug
PSBzdGQ6OmV4Y2hhbmdlKG1fcGVuZGluZ09mZmxpbmVSZW5kZXJpbmdQcm9taXNlLCBudWxscHRy
KSkKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiQ29udGV4dCBpcyBnb2luZyBhd2F5Il9zIH0pOwogfQogCkBAIC0yMTAsNyArMTk4LDEwIEBA
IHZvaWQgT2ZmbGluZUF1ZGlvQ29udGV4dDo6ZGlkU3VzcGVuZFJlbmRlcmluZyhzaXplX3QgZnJh
bWUpCiAKIHZvaWQgT2ZmbGluZUF1ZGlvQ29udGV4dDo6ZGlkRmluaXNoT2ZmbGluZVJlbmRlcmlu
ZyhFeGNlcHRpb25PcjxSZWY8QXVkaW9CdWZmZXI+PiYmIHJlc3VsdCkKIHsKLSAgICBtX2RpZFN0
YXJ0T2ZmbGluZVJlbmRlcmluZyA9IGZhbHNlOworICAgIGF1dG8gZmluaXNoZWRSZW5kZXJpbmdT
Y29wZSA9IFdURjo6bWFrZVNjb3BlRXhpdChbdGhpc10geworICAgICAgICB1bmluaXRpYWxpemUo
KTsKKyAgICAgICAgY2xlYXIoKTsKKyAgICB9KTsKIAogICAgIGlmICghbV9wZW5kaW5nT2ZmbGlu
ZVJlbmRlcmluZ1Byb21pc2UpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNDdjYmZjZWRmMzZi
MWZjMDZmZDZlOWFjNmI3YTkwZDI1YTBhYWFjLi4xOGM0OGU3MDY3YmNlNGVhY2ZkNWQ0YjNiMmZj
NDc4MTZiMjBmZTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMTIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICB3ZWJhdWRpby9BdWRpb0xpc3RlbmVy
L2F1ZGlvbGlzdGVuZXItc2V0LXBvc2l0aW9uLmh0bWwgaXMgbGVha2luZyBQYW5uZXJOb2Rlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0Mzk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91
dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4
dC9vZmZsaW5lYXVkaW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVk
aW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVy
LXJlbmRlcmluZy13aXRoLW5vZGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
YXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LWxlYWstYWZ0ZXIt
cmVuZGVyaW5nLXdpdGgtbm9kZXMuaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1Mgd2syIF0gd2VicnRj
L2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLWNyZWF0aW5nLW9mZmVyLmh0bWwgaXMgYSBmbGFrZXkg
dGV4dCBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyMDNkYzYyOTky
NmMwYjFjMjJhODkwODcwM2I4ZTY1MDA1NDliNDRjLi4zMDE0NGQ4ZTNjYjRkZGNkNjljOTY3ZDM4
ZmU4NjhkNTAyM2ViMjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wNC0xMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIHdlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIvYXVkaW9saXN0ZW5lci1zZXQtcG9zaXRpb24u
aHRtbCBpcyBsZWFraW5nIFBhbm5lck5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQzOTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIGV4aXN0aW5nIFdQVCB0ZXN0LiBJdCBpcyBz
dGlsbCBwYXNzaW5nIGJ1dCB0aGUgZXhjZXB0aW9uIG1lc3NhZ2UgaXMgZGlmZmVyZW50LgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1
ZGlvY29udGV4dC1pbnRlcmZhY2UvYXVkaW9jb250ZXh0LXN1c3BlbmQtcmVzdW1lLWV4cGVjdGVk
LnR4dDoKKwogMjAyMS0wNC0xMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVkdWNlIGNvbXBpbGUgdGltZSBhbmQgYmluYXJ5IHNpemUgY29zdCBvZiBlbmFibGlu
ZyBwcm9wZXIgQ1NTU3R5bGVEZWNsYXJhdGlvbiBwcm9wZXJ0eSBhY2Nlc3MgYmVoYXZpb3IKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
YXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9hdWRpb2NvbnRl
eHQtc3VzcGVuZC1yZXN1bWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRl
eHQtaW50ZXJmYWNlL2F1ZGlvY29udGV4dC1zdXNwZW5kLXJlc3VtZS1leHBlY3RlZC50eHQKaW5k
ZXggZWI5MjMyNmZkYjg0OWNiYmMxMmFhZjNiYmY1MDQ5NDhkODAzZjBhMS4uZTA0MGY1ODNhZjhl
ZmI3MDMyN2ZkYTE4NDIxODMxYjEwODQyMzhhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1h
dWRpb2NvbnRleHQtaW50ZXJmYWNlL2F1ZGlvY29udGV4dC1zdXNwZW5kLXJlc3VtZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL2F1ZGlvY29u
dGV4dC1zdXNwZW5kLXJlc3VtZS1leHBlY3RlZC50eHQKQEAgLTIyLDcgKzIyLDcgQEAgUEFTUyA+
IFt0ZXN0LWFmdGVyLWNsb3NlXSBUZXN0IHN0YXRlIGFmdGVyIGNvbnRleHQgY2xvc2VkCiBQQVNT
ICAgcDMgPSBvZmZsaW5lQ29udGV4dC5zdGFydFJlbmRlcmluZygpIGRpZCBub3QgdGhyb3cgYW4g
ZXhjZXB0aW9uLgogUEFTUyAgIEFmdGVyIGNsb3NlLCBvZmZsaW5lQ29udGV4dC5zdGF0ZSBpcyBl
cXVhbCB0byBjbG9zZWQuCiBQQVNTICAgb2ZmbGluZUNvbnRleHQuc3VzcGVuZCgpIHJlamVjdGVk
IGNvcnJlY3RseSB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTICAg
b2ZmbGluZUNvbnRleHQucmVzdW1lKCkgcmVqZWN0ZWQgY29ycmVjdGx5IHdpdGggSW52YWxpZFN0
YXRlRXJyb3I6IENhbm5vdCByZXN1bWUgYW4gb2ZmbGluZSBhdWRpbyBjb250ZXh0IHRoYXQgaGFz
IG5vdCBzdGFydGVkLgorUEFTUyAgIG9mZmxpbmVDb250ZXh0LnJlc3VtZSgpIHJlamVjdGVkIGNv
cnJlY3RseSB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBDYW5ub3QgcmVzdW1lIGFuIG9mZmxpbmUg
YXVkaW8gY29udGV4dCB0aGF0IGlzIGNsb3NlZC4KIFBBU1MgPCBbdGVzdC1hZnRlci1jbG9zZV0g
QWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgNCBhc3NlcnRpb25zKQogUEFTUyA+IFtyZXN1
bWUtcnVubmluZy1jb250ZXh0XSBUZXN0IHJlc3VtaW5nIGEgcnVubmluZyBjb250ZXh0CiBQQVNT
ICAgQ3JlYXRlIG9ubGluZSBjb250ZXh0IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5l
YXVkaW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4t
b25seS1yZW5kZXItb25jZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODdmOTZiYzM4N2Q1YzBi
ZDZhYTI4MjA4NzRiNGM1Y2Y2YWY2NjI3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4tb25s
eS1yZW5kZXItb25jZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorT2ZmbGluZUF1ZGlv
Q29udGV4dCBjYW4gb25seSBiZSBzdGFydGVkIG9uY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIE9mZmxpbmVBdWRpb0NvbnRleHQgdGhyZXcgZXhjZXB0aW9uIHdoZW4g
dHJ5aW5nIHRvIHN0YXJ0IGl0IGFnYWluOiBJbnZhbGlkU3RhdGVFcnJvcjogUmVuZGVyaW5nIHdh
cyBhbHJlYWR5IHN0YXJ0ZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVk
aW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtY2FuLW9ubHktcmVuZGVyLW9uY2UuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29u
dGV4dC1jYW4tb25seS1yZW5kZXItb25jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4ODc0ZjZmNmRjNTIz
ZmJhZTQ5YTdmOTI0YWYyZjgxNmM3YmUyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtY2FuLW9u
bHktcmVuZGVyLW9uY2UuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJPZmZsaW5lQXVkaW9Db250ZXh0IGNhbiBv
bmx5IGJlIHN0YXJ0ZWQgb25jZS4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitsZXQgY29u
dGV4dCA9IG5ldyBPZmZsaW5lQXVkaW9Db250ZXh0KDIsIDEsIDQ0MTAwKTsKK2NvbnRleHQuc3Rh
cnRSZW5kZXJpbmcoKS50aGVuKCgpID0+IHsKKyAgICBjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCku
dGhlbigoKSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIk9mZmxpbmVBdWRpb0NvbnRleHQgZGlk
IG5vdCB0aHJvdyB3aGVuIHRyeWluZyB0byBzdGFydCBpdCBhZ2FpbiIpOworICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICB9LCAoZSkgPT4geworICAgICAgICB0ZXN0UGFzc2VkKCJPZmZsaW5l
QXVkaW9Db250ZXh0IHRocmV3IGV4Y2VwdGlvbiB3aGVuIHRyeWluZyB0byBzdGFydCBpdCBhZ2Fp
bjogIiArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKK30pOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJp
bmctd2l0aC1ub2Rlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5l
QXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0
aC1ub2Rlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZhODk2NTc5Mjc0YmYzY2VkYTZkNDVj
YWM2NDFhMDFlM2UwODQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRl
cmluZy13aXRoLW5vZGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitNYWtlcyBzdXJl
IHRoYXQgdGhlIE9mZmxpbmVBdWRpb0NvbnRleHQgb2JqZWN0cyBhcmUgbm90IGxlYWtpbmcgYWZ0
ZXIgcmVuZGVyaW5nIHdpdGggbm9kZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGRpZEdDQXRMZWFzdE9uZUNvbnRleHQoKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LWxlYWst
YWZ0ZXItcmVuZGVyaW5nLXdpdGgtbm9kZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL09m
ZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmlu
Zy13aXRoLW5vZGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA0ZmI3OWY0NDAzMWI2MDhkMzAxNDFkMTJm
NTMwOTJmZjk2YzA5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL09m
ZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmlu
Zy13aXRoLW5vZGVzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYXVkaW9jb250ZXh0LWxlYWstdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2VzIHN1cmUgdGhhdCB0aGUg
T2ZmbGluZUF1ZGlvQ29udGV4dCBvYmplY3RzIGFyZSBub3QgbGVha2luZyBhZnRlciByZW5kZXJp
bmcgd2l0aCBub2Rlcy4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitjb25zdCBpbnN0YW5j
ZXNUb0NyZWF0ZSA9IDEwMDsKK2xldCByZW5kZXJpbmdQcm9taXNlcyA9IFtdOworZm9yIChsZXQg
aSA9IDA7IGkgPCBpbnN0YW5jZXNUb0NyZWF0ZTsgaSsrKSB7CisgICAgbGV0IGNvbnRleHQgPSBu
ZXcgT2ZmbGluZUF1ZGlvQ29udGV4dCgyLCAxLCA0NDEwMCk7CisgICAgdHJhY2tDb250ZXh0Rm9y
TGVha3MoY29udGV4dCk7CisgICAgbGV0IHNyYyA9IG5ldyBDb25zdGFudFNvdXJjZU5vZGUoY29u
dGV4dCwge29mZnNldDogMX0pOworICAgIGxldCBwYW5uZXIgPSBuZXcgUGFubmVyTm9kZShjb250
ZXh0KTsKKyAgICBzcmMuY29ubmVjdChwYW5uZXIpLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlv
bik7CisgICAgcmVuZGVyaW5nUHJvbWlzZXMucHVzaChjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCkp
OworfQorUHJvbWlzZS5hbGwocmVuZGVyaW5nUHJvbWlzZXMpLnRoZW4oKHZhbHVlcykgPT4gewor
ICAgIGdjQW5kQ2hlY2tGb3JDb250ZXh0TGVha3MoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425774</attachid>
            <date>2021-04-12 12:31:34 -0700</date>
            <delta_ts>2021-04-12 13:59:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224399-20210412123134.patch</filename>
            <type>text/plain</type>
            <size>19565</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRhNmQzOThmY2M5MjI5
MjYyMjc3Yjc4Zjg4YWM1YTIxMGVkNWViOC4uOWNmZjJkOThkOWZkM2YzYmNiMDlhYTQ2MmRjNDA5
NjM5MGRhNGY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA0LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViYXVkaW8vQXVkaW9MaXN0
ZW5lci9hdWRpb2xpc3RlbmVyLXNldC1wb3NpdGlvbi5odG1sIGlzIGxlYWtpbmcgUGFubmVyTm9k
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0
ZXN0IHdhcyBsZWFraW5nIGFsbCBpdHMgbm9kZXMgYW5kIGNvbnRleHRzIGR1ZSB0byBzZXZlcmFs
IGxvZ2ljIGlzc3VlcyBpbiBvdXIgY29kZS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNl
Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGlu
ZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmluZy13aXRoLW5vZGVzLmh0bWwKKworICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6QXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6
dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaDoKKyAgICAgICAgMS4gU3RvcCB1c2luZyBhbiBB
Y3RpdmVET01PYmplY3Q6OlBlbmRpbmdBY3Rpdml0eSB0byBrZWVwIG91ciB3cmFwcGVyIGFsaXZl
IGFzIHRoaXMgd2FzIGNhdXNpbmcKKyAgICAgICAgICAgYSByZWZlcmVuY2UgY3ljbGUuIFBlbmRp
bmdBY3Rpdml0eSBrZWVwcyBhIHJlZiB0byB8dGhpc3wgYW5kIHRoaXMgaXMgcmVmJ2luZyB0aGUg
UGVuZGluZ0FjdGl2aXR5LgorICAgICAgICAgICAyIHRoaW5ncyBjb3VsZCBicmVhayB0aGUgY3lj
bGU6CisgICAgICAgICAgIC0gZmluaXNoKCkgZ2V0cyBjYWxsZWQgYnV0IHRoZSBhdWRpbyBjb250
ZXh0IG1heSBnbyBhd2F5IHdpdGhvdXQgZmluaXNoIGdldHRpbmcgY2FsbGVkLgorICAgICAgICAg
ICAtIGRpZEJlY29tZU1hcmtlZEZvckRlbGV0aW9uKCkgZ2V0cyBjYWxsZWQuIEhvd2V2ZXIsIGl0
IHdhcyBnZXR0aW5nIGNhbGxlZCBmcm9tCisgICAgICAgICAgICAgQXVkaW9Ob2RlOjptYXJrTm9k
ZUZvckRlbGV0aW9uSWZOZWNlc3NhcnkoKS4gVGhpcyBmdW5jdGlvbiB3b3VsZCBlYXJseSByZXR1
cm4gaWYgbV9ub3JtYWxSZWZDb3VudAorICAgICAgICAgICAgIGlzIG5vdCAwLiBIZXJlIG1fbm9y
bWFsUmVmQ291bnQgY291bGQgTk9UIGJlIDAsIHNpbmNlIFBlbmRpbmdBY3RpdHkgd2FzIHJlZidp
bmcgdGhlIE5vZGUuCisgICAgICAgIDIuIEluc3RlYWQgb2YgYSBQZW5kaW5nQWN0aXZpdHksIHdl
IG5vdyBvdmVycmlkZSBBY3RpdmVET01PYmplY3Q6OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHko
KSB0byBrZWVwCisgICAgICAgICAgIHRoZSB3cmFwcGVyIGFsaXZlLiBUaGUgYmVoYXZpb3IgaXMg
dGhlIHNhbWUgc2luY2UgaXRzIHJldHVybiB0cnVlIHdoZW4gdGhlIHN0YXRlIGlzIG5vdCBmaW5p
c2hlZAorICAgICAgICAgICBhbmQgdGhlIG5vZGUgaGFzIG5vdCBiZWVuIG1hcmtlZCBmb3IgZGVs
ZXRpb24uIEhvd2V2ZXIsIEkgYWRkZWQgYSBjb25kaXRpb24gdG8gbWFrZSBzdXJlIGl0IHN0YXJ0
cworICAgICAgICAgICByZXR1cm5pbmcgZmFsc2UgYXMgc29vbiBhcyB0aGUgY29udGV4dCBpcyBj
bG9zZWQuIFRoZXJlIGlzIGFsc28gbm8gbmVlZCB0byBrZWVwIHRoZSBKUyB3cmFwcGVyIGFsaXZl
CisgICAgICAgICAgIGlmIHRoZXJlIGlzIG5vICdlbmRlZCcgZXZlbnQgbGlzdGVuZXIuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6bGF6eUluaXRpYWxpemUpOgorICAgICAgICBFYXJs
eSByZXR1cm4gaWYgbGF6eUluaXRpYWxpemUoKSBnZXRzIGNhbGxlZCBmb3IgYXUgYXVkaW9jb250
ZXh0IGlzIGNsb3NlZC4gTm90aGluZyBwcmV2ZW50cyBKUyBmcm9tCisgICAgICAgIGNyZWF0aW5n
IGFuIEF1ZGlvTm9kZSBhZnRlciB0aGUgQXVkaW9Db250ZXh0IGlzIGNsb3NlZC4gQ29uc3RydWN0
aW5nIGFuIEF1ZGlvTm9kZSBlbmRzIHVwIGxhenkKKyAgICAgICAgaW5pdGlhbGl6aW5nIHRoZSBh
dWRpbyBjb250ZXh0LiBJbiBzdWNoIGNhc2UsIHdlIHdvdWxkIGFscmVhZHkgZWFybHkgcmV0dXJu
IGluIHJlbGVhc2UgYmVjYXVzZSBpZiB0aGUKKyAgICAgICAgbV9pc0F1ZGlvVGhyZWFkRmluaXNo
ZWQgY2hlY2suIEhvd2V2ZXIsIHdlIHdvdWxkIGNyYXNoIGluIGRlYnVnIGJlY2F1c2Ugb2YgdGhl
IG1faXNBdWRpb1RocmVhZEZpbmlzaGVkCisgICAgICAgIEFTU0VSVCgpLgorCisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0Lmg6CisgICAgICAgIE1ha2UgY2xlYXIo
KSBtZW1iZXIgZnVuY3Rpb24gcHJvdGVjdGVkIHNvIGl0IGNhbiBnZXQgY2FsbGVkIGJ5IE9mZmxp
bmVBdWRpb0NvbnRleHQgd2hlbiByZW5kZXJpbmcgaXMKKyAgICAgICAgY29tcGxldGUuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvQ29udGV4dDo6dW5pbml0aWFsaXplKToKKyAgICAgICAg
U3RvcCByZWplY3RpbmcgdGhlIHN1c3BlbmQgcHJvbWlzZXMgd2hlbiB0aGUgT2ZmbGluZUF1ZGlv
Q29udGV4dCBnZXRzIHVuaW5pdGlhbGl6ZWQuIFByZXZpb3VzbHkgdGhpcworICAgICAgICB3b3Vs
ZCBvbmx5IGhhcHBlbiBvbiBuYXZpZ2F0aW9uIHNvIHdlIGRpZCBub3Qgbm90aWNlIHRoZSBpc3N1
ZS4gSG93ZXZlciwgdGhlIE9mZmxpbmVBdWRpb0NvbnRleHQgbm93CisgICAgICAgIGdldHMgdW5p
bml0aWFsaXplZCBhcyBzb29uIGFzIGl0IGlzIGRvbmUgcmVuZGVyaW5nIGFuZCByZWplY3Rpbmcg
dGhvc2UgcHJvbWlzZXMgaW4gdGhpcyBjYXNlIHdvdWxkCisgICAgICAgIHN0YXJ0IGNhdXNpbmcg
dGVzdCBmYWlsdXJlcy4KKworICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvQ29udGV4dDo6
ZGlkRmluaXNoT2ZmbGluZVJlbmRlcmluZyk6CisgICAgICAgIC0gU3RvcCBjbGVhcmluZyB0aGUg
bV9kaWRTdGFydE9mZmxpbmVSZW5kZXJpbmcgZmxhZyB3aGVuIHJlbmRlcmluZyBpcyBmaW5pc2hl
ZC4gVGhpcyBmbGFnIGlzIGNhbGxlZAorICAgICAgICAgIFtbcmVuZGVyaW5nIHN0YXJ0ZWRdXSBp
biB0aGUgV2ViQXVkaW8gc3BlY2lmaWNhdGlvbiBbMV0uIEFzIHBlciB0aGUgc3BlY2lmaWNhdGlv
biwgaXQgZ2V0cyBzZXQgdG8gdHJ1ZQorICAgICAgICAgIGluIHN0YXJ0UmVuZGVyaW5nKCkgYW5k
IG5ldmVyIGdldHMgcmVzZXQgdG8gZmFsc2UuIFRoaXMgbWVhbnMgdGhhdCBhbiBvZmZsaW5lIGF1
ZGlvIGNvbnRleHQgY2Fubm90CisgICAgICAgICAgc3RhcnQgcmVuZGVyaW5nIGFnYWluIG9uY2Ug
aXQgaXMgZG9uZSByZW5kZXJpbmcuIEkgaGF2ZSBhZGRlZCBhIGxheW91dCB0ZXN0IGZvciB0aGlz
IGJlaGF2aW9yIGNoYW5nZQorICAgICAgICAgIGFuZCB2ZXJpZmllZCB0aGF0IHRoaXMgdGVzdCBp
cyBwYXNzaW5nIGlzIGJvdGggRmlyZWZveCBhbmQgQ2hyb21lLgorICAgICAgICAgIFsxXSBodHRw
czovL3dlYmF1ZGlvLmdpdGh1Yi5pby93ZWItYXVkaW8tYXBpLyNkb20tb2ZmbGluZWF1ZGlvY29u
dGV4dC1zdGFydHJlbmRlcmluZworICAgICAgICAtIENhbGwgdW5pbml0aWFsaXplKCkgYW5kIGNs
ZWFyKCkgd2hlbiByZW5kZXJpbmcgaGFzIGZpbmlzaGVkIHRvIGNsZWFyIGFzIG11Y2ggbWVtb3J5
IGFzIHBvc3NpYmxlIGFzCisgICAgICAgICAgc29vbiBhcyB3ZSBjYW4uIFRoaXMgaXMgYWNjZXB0
YWJsZSBiZWNhdXNlIGl0IGlzIG5vIGxvbmdlciBwb3NzaWJsZSB0byBzdGFydCByZW5kZXJpbmcg
YWdhaW4gb25jZQorICAgICAgICAgIGl0J3MgZmluaXNoZWQuIFByZXZpb3VzbHksIHVuaW5pdGlh
bGl6ZSgpIC8gY2xlYXIoKSB3b3VsZCBvbmx5IGhhcHBlbiB3aGVuIG5hdmlnYXRpbmcgYXdheSBh
bmQgd2hlbgorICAgICAgICAgIHRoZSBkb2N1bWVudCB3b3VsZCBnZXQgZGVzdHJveWVkLgorCisy
MDIxLTA0LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgT2Zm
bGluZUF1ZGlvQ29udGV4dCB3aXRoIG5vZGVzIHRoYXQgY29tcGxldGVkIHJlbmRlcmluZyBkbyBu
b3QgZ2V0IGZyZWVkIHVudGlsIG5hdmlnYXRpbmcgYXdheQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IHdlYmF1ZGlvL09mZmxpbmVBdWRpb0Nv
bnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4tb25seS1yZW5kZXItb25jZS5odG1sCisgICAg
ICAgICAgICAgICB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRl
eHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0aC1ub2Rlcy5odG1sCisKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFz
ZUF1ZGlvQ29udGV4dDo6ZmluaXNoZWRSZW5kZXJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5l
QXVkaW9Db250ZXh0OjpkaWRGaW5pc2hPZmZsaW5lUmVuZGVyaW5nKToKKwogMjAyMS0wNC0xMiAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV1b
R1N0cmVhbWVyXSBDcmFzaCBpbiBXZWJDb3JlOjpQbGF5YmFja1BpcGVsaW5lOjphZGRTb3VyY2VC
dWZmZXIgd2hlbiBzZXR0aW5nIGR1cmF0aW9uIGFuZCBwcmVsb2FkIGlzIHNldCB0byBub25lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVk
U291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZS5jcHAKaW5kZXggYmEwNjY2ZjQ5OGE5MDU4Nzc2NTRiYTU1ZGQ4OGU0
MjUwMGVmMjU5MS4uMWE1ZGQzMWVmN2NhYzViMzExN2Y2MDdjYWY3MTE2MTQ1OWRkYWQyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNv
dXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9T
Y2hlZHVsZWRTb3VyY2VOb2RlLmNwcApAQCAtNTIsNyArNTIsNiBAQCBBdWRpb1NjaGVkdWxlZFNv
dXJjZU5vZGU6OkF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250
ZXh0LCBObwogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQuc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwotICAgIG1fcGVuZGluZ0FjdGl2aXR5
ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7CiB9CiAKIHZvaWQgQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlOjp1cGRhdGVTY2hlZHVsaW5nSW5mbyhzaXplX3QgcXVhbnR1bUZyYW1lU2l6ZSwg
QXVkaW9CdXMmIG91dHB1dEJ1cywgc2l6ZV90JiBxdWFudHVtRnJhbWVPZmZzZXQsIHNpemVfdCYg
bm9uU2lsZW50RnJhbWVzVG9Qcm9jZXNzLCBkb3VibGUmIHN0YXJ0RnJhbWVPZmZzZXQpCkBAIC0x
ODIsMTEgKzE4MSwxNCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5v
ZGU6OnN0b3BMYXRlcihkb3VibGUgd2hlbikKICAgICByZXR1cm4geyB9OwogfQogCi12b2lkIEF1
ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6ZGlkQmVjb21lTWFya2VkRm9yRGVsZXRpb24oKQorYm9v
bCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBj
b25zdAogewotICAgIEFTU0VSVChjb250ZXh0KCkuaXNHcmFwaE93bmVyKCkpOwotICAgIG1fcGVu
ZGluZ0FjdGl2aXR5ID0gbnVsbHB0cjsKLSAgICBBU1NFUlQoIWhhc1BlbmRpbmdBY3Rpdml0eSgp
KTsKKyAgICByZXR1cm4gbV9oYXNFbmRlZEV2ZW50TGlzdGVuZXIgJiYgbV9wbGF5YmFja1N0YXRl
ICE9IEZJTklTSEVEX1NUQVRFICYmICFpc01hcmtlZEZvckRlbGV0aW9uKCkgJiYgIWNvbnRleHQo
KS5pc0Nsb3NlZCgpOworfQorCit2b2lkIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6ZXZlbnRM
aXN0ZW5lcnNEaWRDaGFuZ2UoKQoreworICAgIG1faGFzRW5kZWRFdmVudExpc3RlbmVyID0gaGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQpOwogfQogCiB2b2lkIEF1ZGlv
U2NoZWR1bGVkU291cmNlTm9kZTo6ZmluaXNoKCkKQEAgLTIwMCwxMiArMjAyLDcgQEAgdm9pZCBB
dWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCgpCiAgICAgLy8gSGVhcCBhbGxvY2F0aW9u
cyBhcmUgZm9yYmlkZGVuIG9uIHRoZSBhdWRpbyB0aHJlYWQgZm9yIHBlcmZvcm1hbmNlIHJlYXNv
bnMgc28gd2UgbmVlZCB0bwogICAgIC8vIGV4cGxpY2l0bHkgYWxsb3cgdGhlIGZvbGxvd2luZyBh
bGxvY2F0aW9uKHMpLgogICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNGb3JDdXJyZW50VGhy
ZWFkU2NvcGUgZGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uczsKLSAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKLSAgICAgICAgYXV0byBy
ZWxlYXNlID0gbWFrZVNjb3BlRXhpdChbJl0gKCkgewotICAgICAgICAgICAgQXVkaW9Db250ZXh0
OjpBdXRvTG9ja2VyIGxvY2tlcihjb250ZXh0KCkpOwotICAgICAgICAgICAgbV9wZW5kaW5nQWN0
aXZpdHkgPSBudWxscHRyOwotICAgICAgICAgICAgQVNTRVJUKCFoYXNQZW5kaW5nQWN0aXZpdHko
KSk7Ci0gICAgICAgIH0pOworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0
eSgqdGhpcyldIHsKICAgICAgICAgaWYgKGNvbnRleHQoKS5pc1N0b3BwZWQoKSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgdGhpcy0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5lbmRlZEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oCmluZGV4IGE3NWM1MzViODZlNmZlYmYw
YzY0YTA1ZWYzZDZjMmI5NWJlMjY5YmYuLmU1ZWI5NDhmMmRkMmY2OTM0OTZjNWJhMDc4MzA0Y2U2
NjZjZTA3MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaApAQCAtNTgsOCArNTgsNiBAQCBwdWJsaWM6
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc3RhcnRMYXRlcihkb3VibGUgd2hlbik7CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gc3RvcExhdGVyKGRvdWJsZSB3aGVuKTsKIAotICAgIHZvaWQgZGlkQmVj
b21lTWFya2VkRm9yRGVsZXRpb24oKSBvdmVycmlkZTsKLQogICAgIHVuc2lnbmVkIHNob3J0IHBs
YXliYWNrU3RhdGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4o
bV9wbGF5YmFja1N0YXRlKTsgfQogICAgIGJvb2wgaXNQbGF5aW5nT3JTY2hlZHVsZWQoKSBjb25z
dCB7IHJldHVybiBtX3BsYXliYWNrU3RhdGUgPT0gUExBWUlOR19TVEFURSB8fCBtX3BsYXliYWNr
U3RhdGUgPT0gU0NIRURVTEVEX1NUQVRFOyB9CiAgICAgYm9vbCBoYXNGaW5pc2hlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGxheWJhY2tTdGF0ZSA9PSBGSU5JU0hFRF9TVEFURTsgfQpAQCAtNzksMTEg
Kzc3LDEzIEBAIHByb3RlY3RlZDoKICAgICAvLyBDYWxsZWQgd2hlbiB3ZSBoYXZlIG5vIG1vcmUg
c291bmQgdG8gcGxheSBvciB0aGUgbm90ZU9mZigpIHRpbWUgaGFzIGJlZW4gcmVhY2hlZC4KICAg
ICB2aXJ0dWFsIHZvaWQgZmluaXNoKCk7CiAKKyAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0
aXZpdHkoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkg
ZmluYWw7CisKICAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBmYWxzZTsgfQogCiAgICAgUGxheWJhY2tTdGF0ZSBtX3BsYXliYWNrU3RhdGUgeyBV
TlNDSEVEVUxFRF9TVEFURSB9OwogCi0gICAgUmVmUHRyPFBlbmRpbmdBY3Rpdml0eTxBdWRpb1Nj
aGVkdWxlZFNvdXJjZU5vZGU+PiBtX3BlbmRpbmdBY3Rpdml0eTsKICAgICAvLyBtX3N0YXJ0VGlt
ZSBpcyB0aGUgdGltZSB0byBzdGFydCBwbGF5aW5nIGJhc2VkIG9uIHRoZSBjb250ZXh0J3MgdGlt
ZWxpbmUgKDAgb3IgYSB0aW1lIGxlc3MgdGhhbiB0aGUgY29udGV4dCdzIGN1cnJlbnQgdGltZSBt
ZWFucyAibm93IikuCiAgICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OyAvLyBpbiBzZWNvbmRz
CiAKQEAgLTkxLDYgKzkxLDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIElmIGl0IGhhc24ndCBiZWVu
IHNldCBleHBsaWNpdGx5LCB0aGVuIHRoZSBzb3VuZCB3aWxsIG5vdCBzdG9wIHBsYXlpbmcgKGlm
IGxvb3BpbmcpIG9yIHdpbGwgc3RvcCB3aGVuIHRoZSBlbmQgb2YgdGhlIEF1ZGlvQnVmZmVyCiAg
ICAgLy8gaGFzIGJlZW4gcmVhY2hlZC4KICAgICBPcHRpb25hbDxkb3VibGU+IG1fZW5kVGltZTsg
Ly8gaW4gc2Vjb25kcworICAgIGJvb2wgbV9oYXNFbmRlZEV2ZW50TGlzdGVuZXIgeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKaW5kZXggYzQyYTNiYWJkMzBm
ODQzYjRjZTQzNzJkZTYzNDQ2ZWM2ZDkwMTQzNi4uMjY3NzU0MGU0MzI1OGI0ZjE4YTBkNDFjNTJk
YmM5NDJjNmYxMmU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9CYXNlQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCkBAIC0yMDIsNyArMjAyLDcgQEAgYm9vbCBCYXNlQXVk
aW9Db250ZXh0Ojppc0NvbnRleHRBbGl2ZSh1aW50NjRfdCBjb250ZXh0SUQpCiAKIHZvaWQgQmFz
ZUF1ZGlvQ29udGV4dDo6bGF6eUluaXRpYWxpemUoKQogewotICAgIGlmIChpc1N0b3BwZWQoKSkK
KyAgICBpZiAoaXNTdG9wcGVkKCkgfHwgaXNDbG9zZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1faXNJbml0aWFsaXplZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKaW5kZXggZWIyMTAxM2U3ZmEyOWVhMDBlNzExM2Vi
OTE1YzA0NzY4NWU4OTZjYS4uNThiZGNlOWRjNmVhYjUxMjU4NmVmMTNlNzYxMDFiZWFmMWU1MjMx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmgKQEAgLTMxNiwxMCArMzE2LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0U3Rh
dGUoU3RhdGUpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaE9mZmxpbmVSZW5kZXJpbmco
RXhjZXB0aW9uT3I8UmVmPEF1ZGlvQnVmZmVyPj4mJikgeyB9Ci0KLXByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhcigpOwogCitwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVOb2RlRGVsZXRpb24oKTsK
ICAgICB2b2lkIHdvcmtsZXRJc1JlYWR5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuY3BwCmluZGV4IGU0NDAxZDdi
MTZjYTYzNTA0NTFiNjRhNWFmZjA0Yjg2NGFlZmI3YjMuLjRlMDZiZDFhODhhM2VlNWY4M2U5YjMx
ZjRmODc4N2FjZWFmODU5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNBdWRpb0J1ZmZlci5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNzMsMjAgKzc0LDcgQEAgdm9pZCBPZmZsaW5lQXVkaW9Db250
ZXh0Ojp1bmluaXRpYWxpemUoKQogewogICAgIEJhc2VBdWRpb0NvbnRleHQ6OnVuaW5pdGlhbGl6
ZSgpOwogCi0gICAgVmVjdG9yPFJlZlB0cjxEZWZlcnJlZFByb21pc2U+PiBwcm9taXNlc1RvUmVq
ZWN0OwotCi0gICAgewotICAgICAgICBBdXRvTG9ja2VyIGxvY2tlcigqdGhpcyk7Ci0gICAgICAg
IHByb21pc2VzVG9SZWplY3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3N1c3BlbmRSZXF1ZXN0
cy5zaXplKCkpOwotICAgICAgICBmb3IgKGF1dG8mIHByb21pc2UgOiBtX3N1c3BlbmRSZXF1ZXN0
cy52YWx1ZXMoKSkKLSAgICAgICAgICAgIHByb21pc2VzVG9SZWplY3QudW5jaGVja2VkQXBwZW5k
KHByb21pc2UpOwotICAgICAgICBtX3N1c3BlbmRSZXF1ZXN0cy5jbGVhcigpOwotICAgIH0KLQot
ICAgIGlmIChtX3BlbmRpbmdPZmZsaW5lUmVuZGVyaW5nUHJvbWlzZSkKLSAgICAgICAgcHJvbWlz
ZXNUb1JlamVjdC5hcHBlbmQoc3RkOjpleGNoYW5nZShtX3BlbmRpbmdPZmZsaW5lUmVuZGVyaW5n
UHJvbWlzZSwgbnVsbHB0cikpOwotCi0gICAgZm9yIChhdXRvJiBwcm9taXNlIDogcHJvbWlzZXNU
b1JlamVjdCkKKyAgICBpZiAoYXV0byBwcm9taXNlID0gc3RkOjpleGNoYW5nZShtX3BlbmRpbmdP
ZmZsaW5lUmVuZGVyaW5nUHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHByb21pc2UtPnJlamVj
dChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkNvbnRleHQgaXMgZ29pbmcgYXdheSJf
cyB9KTsKIH0KIApAQCAtMjEwLDcgKzE5OCwxMCBAQCB2b2lkIE9mZmxpbmVBdWRpb0NvbnRleHQ6
OmRpZFN1c3BlbmRSZW5kZXJpbmcoc2l6ZV90IGZyYW1lKQogCiB2b2lkIE9mZmxpbmVBdWRpb0Nv
bnRleHQ6OmRpZEZpbmlzaE9mZmxpbmVSZW5kZXJpbmcoRXhjZXB0aW9uT3I8UmVmPEF1ZGlvQnVm
ZmVyPj4mJiByZXN1bHQpCiB7Ci0gICAgbV9kaWRTdGFydE9mZmxpbmVSZW5kZXJpbmcgPSBmYWxz
ZTsKKyAgICBhdXRvIGZpbmlzaGVkUmVuZGVyaW5nU2NvcGUgPSBXVEY6Om1ha2VTY29wZUV4aXQo
W3RoaXNdIHsKKyAgICAgICAgdW5pbml0aWFsaXplKCk7CisgICAgICAgIGNsZWFyKCk7CisgICAg
fSk7CiAKICAgICBpZiAoIW1fcGVuZGluZ09mZmxpbmVSZW5kZXJpbmdQcm9taXNlKQogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYjQ3Y2JmY2VkZjM2YjFmYzA2ZmQ2ZTlhYzZiN2E5MGQyNWEwYWFh
Yy4uMThjNDhlNzA2N2JjZTRlYWNmZDVkNGIzYjJmYzQ3ODE2YjIwZmU0NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTA0LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci9hdWRpb2xpc3RlbmVyLXNldC1wb3NpdGlv
bi5odG1sIGlzIGxlYWtpbmcgUGFubmVyTm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4t
b25seS1yZW5kZXItb25jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlv
L09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4tb25seS1yZW5kZXIt
b25jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0
L29mZmxpbmVhdWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0aC1ub2Rlcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQv
b2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmluZy13aXRoLW5vZGVzLmh0bWw6
IEFkZGVkLgorCiAyMDIxLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbIG1hY09TIHdrMiBdIHdlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1j
cmVhdGluZy1vZmZlci5odG1sIGlzIGEgZmxha2V5IHRleHQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMjAzZGM2Mjk5MjZjMGIxYzIyYTg5MDg3MDNiOGU2NTAwNTQ5
YjQ0Yy4uMzAxNDRkOGUzY2I0ZGRjZDY5Yzk2N2QzOGZlODY4ZDUwMjNlYjI3MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDQtMTIgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICB3ZWJhdWRpby9BdWRpb0xpc3Rl
bmVyL2F1ZGlvbGlzdGVuZXItc2V0LXBvc2l0aW9uLmh0bWwgaXMgbGVha2luZyBQYW5uZXJOb2Rl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0Mzk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNl
bGluZSBleGlzdGluZyBXUFQgdGVzdC4gSXQgaXMgc3RpbGwgcGFzc2luZyBidXQgdGhlIGV4Y2Vw
dGlvbiBtZXNzYWdlIGlzIGRpZmZlcmVudC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2NvbnRleHQtaW50ZXJmYWNlL2F1ZGlv
Y29udGV4dC1zdXNwZW5kLXJlc3VtZS1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDQtMTEgIFNhbSBX
ZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBjb21waWxlIHRpbWUg
YW5kIGJpbmFyeSBzaXplIGNvc3Qgb2YgZW5hYmxpbmcgcHJvcGVyIENTU1N0eWxlRGVjbGFyYXRp
b24gcHJvcGVydHkgYWNjZXNzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1
ZGlvY29udGV4dC1pbnRlcmZhY2UvYXVkaW9jb250ZXh0LXN1c3BlbmQtcmVzdW1lLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVk
aW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9hdWRpb2NvbnRleHQt
c3VzcGVuZC1yZXN1bWUtZXhwZWN0ZWQudHh0CmluZGV4IGViOTIzMjZmZGI4NDljYmJjMTJhYWYz
YmJmNTA0OTQ4ZDgwM2YwYTEuLmUwNDBmNTgzYWY4ZWZiNzAzMjdmZGExODQyMTgzMWIxMDg0MjM4
YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9jb250ZXh0LWludGVyZmFjZS9hdWRp
b2NvbnRleHQtc3VzcGVuZC1yZXN1bWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
YXVkaW9jb250ZXh0LWludGVyZmFjZS9hdWRpb2NvbnRleHQtc3VzcGVuZC1yZXN1bWUtZXhwZWN0
ZWQudHh0CkBAIC0yMiw3ICsyMiw3IEBAIFBBU1MgPiBbdGVzdC1hZnRlci1jbG9zZV0gVGVzdCBz
dGF0ZSBhZnRlciBjb250ZXh0IGNsb3NlZAogUEFTUyAgIHAzID0gb2ZmbGluZUNvbnRleHQuc3Rh
cnRSZW5kZXJpbmcoKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KIFBBU1MgICBBZnRlciBj
bG9zZSwgb2ZmbGluZUNvbnRleHQuc3RhdGUgaXMgZXF1YWwgdG8gY2xvc2VkLgogUEFTUyAgIG9m
ZmxpbmVDb250ZXh0LnN1c3BlbmQoKSByZWplY3RlZCBjb3JyZWN0bHkgd2l0aCBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyAgIG9mZmxpbmVDb250ZXh0LnJlc3VtZSgpIHJl
amVjdGVkIGNvcnJlY3RseSB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBDYW5ub3QgcmVzdW1lIGFu
IG9mZmxpbmUgYXVkaW8gY29udGV4dCB0aGF0IGhhcyBub3Qgc3RhcnRlZC4KK1BBU1MgICBvZmZs
aW5lQ29udGV4dC5yZXN1bWUoKSByZWplY3RlZCBjb3JyZWN0bHkgd2l0aCBJbnZhbGlkU3RhdGVF
cnJvcjogQ2Fubm90IHJlc3VtZSBhbiBvZmZsaW5lIGF1ZGlvIGNvbnRleHQgdGhhdCBpcyBjbG9z
ZWQuCiBQQVNTIDwgW3Rlc3QtYWZ0ZXItY2xvc2VdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRv
dGFsIDQgYXNzZXJ0aW9ucykKIFBBU1MgPiBbcmVzdW1lLXJ1bm5pbmctY29udGV4dF0gVGVzdCBy
ZXN1bWluZyBhIHJ1bm5pbmcgY29udGV4dAogUEFTUyAgIENyZWF0ZSBvbmxpbmUgY29udGV4dCBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1
ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1jYW4tb25seS1yZW5k
ZXItb25jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9D
b250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtY2FuLW9ubHktcmVuZGVyLW9uY2UtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3Zjk2YmMzODdkNWMwYmQ2YWEyODIwODc0YjRjNWNmNmFmNjYyNzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250
ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtY2FuLW9ubHktcmVuZGVyLW9uY2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK09mZmxpbmVBdWRpb0NvbnRleHQgY2FuIG9ubHkgYmUgc3RhcnRl
ZCBvbmNlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBPZmZsaW5lQXVk
aW9Db250ZXh0IHRocmV3IGV4Y2VwdGlvbiB3aGVuIHRyeWluZyB0byBzdGFydCBpdCBhZ2Fpbjog
SW52YWxpZFN0YXRlRXJyb3I6IFJlbmRlcmluZyB3YXMgYWxyZWFkeSBzdGFydGVkCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9jb250
ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZs
aW5lQXVkaW9Db250ZXh0L29mZmxpbmVhdWRpb2NvbnRleHQtY2FuLW9ubHktcmVuZGVyLW9uY2Uu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yODg3NGY2ZjZkYzUyM2ZiYWU0OWE3ZjkyNGFmMmY4MTZjN2JlMjI3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29u
dGV4dC9vZmZsaW5lYXVkaW9jb250ZXh0LWNhbi1vbmx5LXJlbmRlci1vbmNlLmh0bWwKQEAgLTAs
MCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiT2ZmbGluZUF1ZGlvQ29udGV4dCBjYW4gb25seSBiZSBzdGFydGVkIG9uY2UuIik7Citq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IGNvbnRleHQgPSBuZXcgT2ZmbGluZUF1ZGlvQ29u
dGV4dCgyLCAxLCA0NDEwMCk7Citjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCkudGhlbigoKSA9PiB7
CisgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpLnRoZW4oKCkgPT4geworICAgICAgICB0ZXN0
RmFpbGVkKCJPZmZsaW5lQXVkaW9Db250ZXh0IGRpZCBub3QgdGhyb3cgd2hlbiB0cnlpbmcgdG8g
c3RhcnQgaXQgYWdhaW4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgKGUpID0+
IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiT2ZmbGluZUF1ZGlvQ29udGV4dCB0aHJldyBleGNlcHRp
b24gd2hlbiB0cnlpbmcgdG8gc3RhcnQgaXQgYWdhaW46ICIgKyBlKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5l
YXVkaW9jb250ZXh0LWxlYWstYWZ0ZXItcmVuZGVyaW5nLXdpdGgtbm9kZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC9vZmZsaW5lYXVkaW9j
b250ZXh0LWxlYWstYWZ0ZXItcmVuZGVyaW5nLXdpdGgtbm9kZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA2YTg5NjU3OTI3NGJmM2NlZGE2ZDQ1Y2FjNjQxYTAxZTNlMDg0OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxp
bmVhdWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0aC1ub2Rlcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorTWFrZXMgc3VyZSB0aGF0IHRoZSBPZmZsaW5lQXVkaW9Db250
ZXh0IG9iamVjdHMgYXJlIG5vdCBsZWFraW5nIGFmdGVyIHJlbmRlcmluZyB3aXRoIG5vZGVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkaWRHQ0F0TGVhc3RPbmVDb250
ZXh0KCkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Nv
bnRleHQvb2ZmbGluZWF1ZGlvY29udGV4dC1sZWFrLWFmdGVyLXJlbmRlcmluZy13aXRoLW5vZGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVh
dWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0aC1ub2Rlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzZTc0ZjNhOWEzNWYxZWMyNGFmYjlmYTlhZDNhYjJiYzk5NmE0MjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0L29mZmxpbmVh
dWRpb2NvbnRleHQtbGVhay1hZnRlci1yZW5kZXJpbmctd2l0aC1ub2Rlcy5odG1sCkBAIC0wLDAg
KzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2F1ZGlvY29udGV4dC1sZWFrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJNYWtlcyBzdXJlIHRoYXQgdGhlIE9mZmxpbmVBdWRpb0NvbnRleHQgb2JqZWN0
cyBhcmUgbm90IGxlYWtpbmcgYWZ0ZXIgcmVuZGVyaW5nIHdpdGggbm9kZXMuIik7Citqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworY29uc3QgaW5zdGFuY2VzVG9DcmVhdGUgPSAxMDA7CitsZXQgcmVu
ZGVyaW5nUHJvbWlzZXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzVG9DcmVh
dGU7IGkrKykgeworICAgIGxldCBjb250ZXh0ID0gbmV3IE9mZmxpbmVBdWRpb0NvbnRleHQoMiwg
MSwgNDQxMDApOworICAgIHRyYWNrQ29udGV4dEZvckxlYWtzKGNvbnRleHQpOworICAgIGxldCBz
cmMgPSBuZXcgQ29uc3RhbnRTb3VyY2VOb2RlKGNvbnRleHQsIHtvZmZzZXQ6IDF9KTsKKyAgICBz
cmMub25lbmRlZCA9ICgpID0+IHsgfTsKKyAgICBsZXQgcGFubmVyID0gbmV3IFBhbm5lck5vZGUo
Y29udGV4dCk7CisgICAgc3JjLmNvbm5lY3QocGFubmVyKS5jb25uZWN0KGNvbnRleHQuZGVzdGlu
YXRpb24pOworICAgIHJlbmRlcmluZ1Byb21pc2VzLnB1c2goY29udGV4dC5zdGFydFJlbmRlcmlu
ZygpKTsKK30KK1Byb21pc2UuYWxsKHJlbmRlcmluZ1Byb21pc2VzKS50aGVuKCh2YWx1ZXMpID0+
IHsKKyAgICBnY0FuZENoZWNrRm9yQ29udGV4dExlYWtzKCk7Cit9KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="445830"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>