<?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>204978</bug_id>
          
          <creation_ts>2019-12-06 23:37:45 -0800</creation_ts>
          <short_desc>Unique origin&apos;s window must get its own event loop</short_desc>
          <delta_ts>2019-12-07 16:42:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>
          
          <blocked>204492</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1596520</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-06 23:37:45 -0800</bug_when>
    <thetext>Right now, they share the same event loop, this is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596549</commentid>
    <comment_count>1</comment_count>
      <attachid>385092</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-07 03:31:29 -0800</bug_when>
    <thetext>Created attachment 385092
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596565</commentid>
    <comment_count>2</comment_count>
      <attachid>385092</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-12-07 06:26:55 -0800</bug_when>
    <thetext>Comment on attachment 385092
Fixes the bug

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

&gt; Source/WebCore/dom/WindowEventLoop.cpp:55
&gt; +        return String();

Could just say 
return { };

&gt; Source/WebCore/dom/WindowEventLoop.cpp:63
&gt; +        return create(String());

Similarly
return create({ });</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596638</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-07 16:35:20 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 385092 [details]
&gt; Fixes the bug
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385092&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/WindowEventLoop.cpp:55
&gt; &gt; +        return String();
&gt; 
&gt; Could just say 
&gt; return { };

Fixed.

&gt; &gt; Source/WebCore/dom/WindowEventLoop.cpp:63
&gt; &gt; +        return create(String());
&gt; 
&gt; Similarly
&gt; return create({ });

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596639</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-07 16:35:28 -0800</bug_when>
    <thetext>Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596640</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-07 16:41:05 -0800</bug_when>
    <thetext>Committed r253265: &lt;https://trac.webkit.org/changeset/253265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596641</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-07 16:42:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/57731204&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385092</attachid>
            <date>2019-12-07 03:31:29 -0800</date>
            <delta_ts>2019-12-07 06:21:45 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-204978-20191207033128.patch</filename>
            <type>text/plain</type>
            <size>23381</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzI0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE5LTEyLTA3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVuaXF1ZSBvcmlnaW4ncyB3aW5k
b3cgbXVzdCBnZXQgaXRzIG93biBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBidWcgdGhhdCB1bmlx
dWUgb3JpZ2luIGRvY3VtZW50cyBhbmQgZG9jdW1lbnRzIG9mIHRoZSBzYW1lIHJlZ2lzdHJhYmxl
IGRvbWFpbnMKKyAgICAgICAgd2l0aCBkaWZmZXJlbnQgc2NoZW1lcyAvIHByb3RvY29scyB3ZXJl
IHNoYXJpbmcgdGhlIHNhbWUgZXZlbnQgbG9vcC4gTm90ZSB0aGF0IHdlIGNvbnRpbnVlIHRvIHNo
YXJlCisgICAgICAgIHRoZSBldmVudCBsb29wIGFjcm9zcyBmaWxlIFVSSSBkb2N1bWVudHMuCisK
KyAgICAgICAgV2Ugbm93IHVzZSB0aGUgYWdlbnQgY2x1c3RlciBrZXkgdG8gbG9va2luZyB1cCB0
aGUgZXZlbnQgbG9vcCB0byBiZXR0ZXIgbWF0Y2ggdGhlIEhUTUw1IHNwZWM6CisgICAgICAgIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNvYnRh
aW4tYWdlbnQtY2x1c3Rlci1rZXkKKworICAgICAgICBUZXN0czogZmFzdC9ldmVudGxvb3AvZGF0
YS11cmktZG9jdW1lbnQtaGFzLWl0cy1vd24tZXZlbnQtbG9vcC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmlsZS11cmkuaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9ldmVudGxvb3AvZG9jdW1lbnRzLXdpdGgtZGlm
ZmVyZW50LXByb3RvY29scy1kby1ub3Qtc2hhcmUtZXZlbnQtbG9vcC5odG1sCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV2ZW50TG9v
cCk6CisgICAgICAgICogZG9tL0V2ZW50TG9vcC5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRM
b29wVGFza0dyb3VwOjpoYXNTYW1lRXZlbnRMb29wQXMpOiBBZGRlZCBmb3IgdGVzdGluZyBwdXJw
b3Nlcy4KKyAgICAgICAgKiBkb20vV2luZG93RXZlbnRMb29wLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFnZW50Q2x1c3RlcktleU9yTnVsbElmVW5pcXVlKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpXaW5kb3dFdmVudExvb3A6OmV2ZW50TG9vcEZvclNlY3VyaXR5T3JpZ2luKTogUmVwbGFj
ZWQgZW5zdXJlRm9yUmVnaXN0cmFibGVEb21haW4uCisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dF
dmVudExvb3A6OmNyZWF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2luZG93RXZlbnRM
b29wOjpXaW5kb3dFdmVudExvb3ApOgorICAgICAgICAoV2ViQ29yZTo6V2luZG93RXZlbnRMb29w
Ojp+V2luZG93RXZlbnRMb29wKToKKyAgICAgICAgKiBkb20vV2luZG93RXZlbnRMb29wLmg6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpoYXNTYW1lRXZlbnRMb29wQXMpOiBBZGRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKwogMjAxOS0xMi0wNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KIAogICAgICAgICBtYWNDYXRhbHlzdDogUkVHUkVTU0lPTiAocjI1MTMyMCk6IFdlYktpdC1u
YXRpdmUgbWVkaWEgY29udHJvbHMgZG8gbm90IHJlc3BvbmQgdG8gaG92ZXIgb3IgY2xpY2sKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjUzMTQyKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjI2Myw3ICs2MjYzLDgg
QEAgRXZlbnRMb29wVGFza0dyb3VwJiBEb2N1bWVudDo6ZXZlbnRMb29wKAogewogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAgICAgaWYgKFVOTElLRUxZKCFtX2RvY3VtZW50VGFza0dyb3Vw
KSkgewotICAgICAgICBtX2V2ZW50TG9vcCA9IFdpbmRvd0V2ZW50TG9vcDo6ZW5zdXJlRm9yUmVn
aXN0cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21haW4geyBzZWN1cml0eU9yaWdpbigpLmRhdGEo
KSB9KTsKKyAgICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
d2ViYXBwYXBpcy5odG1sI29idGFpbi1hZ2VudC1jbHVzdGVyLWtleQorICAgICAgICBtX2V2ZW50
TG9vcCA9IFdpbmRvd0V2ZW50TG9vcDo6ZXZlbnRMb29wRm9yU2VjdXJpdHlPcmlnaW4oc2VjdXJp
dHlPcmlnaW4oKSk7CiAgICAgICAgIG1fZG9jdW1lbnRUYXNrR3JvdXAgPSBtYWtlVW5pcXVlPEV2
ZW50TG9vcFRhc2tHcm91cD4oKm1fZXZlbnRMb29wKTsKICAgICAgICAgaWYgKGFjdGl2ZURPTU9i
amVjdHNBcmVTdG9wcGVkKCkpCiAgICAgICAgICAgICBtX2RvY3VtZW50VGFza0dyb3VwLT5zdG9w
QW5kRGlzY2FyZEFsbFRhc2tzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMb29w
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TG9vcC5oCShyZXZpc2lv
biAyNTMxNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMb29wLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNSw2ICsxMDUsMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKKyAgICBib29s
IGhhc1NhbWVFdmVudExvb3BBcyhFdmVudExvb3BUYXNrR3JvdXAmIG90aGVyR3JvdXApCisgICAg
eworICAgICAgICBBU1NFUlQobV9ldmVudExvb3ApOworICAgICAgICByZXR1cm4gbV9ldmVudExv
b3AgPT0gb3RoZXJHcm91cC5tX2V2ZW50TG9vcDsKKyAgICB9CisKICAgICBib29sIG1hdGNoZXNU
YXNrKEV2ZW50TG9vcFRhc2smIHRhc2spIGNvbnN0CiAgICAgewogICAgICAgICBhdXRvKiBncm91
cCA9IHRhc2suZ3JvdXAoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9XaW5kb3dFdmVudExv
b3AuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9XaW5kb3dFdmVudExvb3Au
Y3BwCShyZXZpc2lvbiAyNTMxNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2luZG93RXZlbnRM
b29wLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMzMgKzMyLDYxIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFdpbmRvd0V2ZW50
TG9vcCo+JiB3aW5kb3dFdmVudExvb3BNYXAoKQorc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBXaW5k
b3dFdmVudExvb3AqPiYgd2luZG93RXZlbnRMb29wTWFwKCkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8UmVn
aXN0cmFibGVEb21haW4sIFdpbmRvd0V2ZW50TG9vcCo+PiBtYXA7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBXaW5kb3dFdmVudExvb3AqPj4gbWFwOwogICAgIHJl
dHVybiBtYXAuZ2V0KCk7CiB9CiAKLVJlZjxXaW5kb3dFdmVudExvb3A+IFdpbmRvd0V2ZW50TG9v
cDo6ZW5zdXJlRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRv
bWFpbikKK3N0YXRpYyBTdHJpbmcgYWdlbnRDbHVzdGVyS2V5T3JOdWxsSWZVbmlxdWUoY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKIHsKLSAgICBhdXRvIGFkZFJlc3VsdCA9IHdpbmRvd0V2
ZW50TG9vcE1hcCgpLmFkZChkb21haW4sIG51bGxwdHIpOworICAgIGF1dG8gY29tcHV0ZUtleSA9
IFsmXSB7CisgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L3dlYmFwcGFwaXMuaHRtbCNvYnRhaW4tYWdlbnQtY2x1c3Rlci1rZXkKKyAgICAgICAgaWYgKG9y
aWdpbi5pc1VuaXF1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIG9yaWdpbi50b1N0cmluZygpOwor
ICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiByZWdpc3RyYWJsZURvbWFpbiB7IG9yaWdpbi5kYXRh
KCkgfTsKKyAgICAgICAgaWYgKHJlZ2lzdHJhYmxlRG9tYWluLmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgIHJldHVybiBvcmlnaW4udG9TdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmco
b3JpZ2luLnByb3RvY29sKCksICI6Ly8iLCByZWdpc3RyYWJsZURvbWFpbi5zdHJpbmcoKSk7Cisg
ICAgfTsKKyAgICBhdXRvIGtleSA9IGNvbXB1dGVLZXkoKTsKKyAgICBpZiAoa2V5LmlzRW1wdHko
KSB8fCBrZXkgPT0gIm51bGwiX3MpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1
cm4ga2V5OworfQorCitSZWY8V2luZG93RXZlbnRMb29wPiBXaW5kb3dFdmVudExvb3A6OmV2ZW50
TG9vcEZvclNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBvcmlnaW4pCit7Cisg
ICAgYXV0byBrZXkgPSBhZ2VudENsdXN0ZXJLZXlPck51bGxJZlVuaXF1ZShvcmlnaW4pOworICAg
IGlmIChrZXkuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBjcmVhdGUoU3RyaW5nKCkpOworCisg
ICAgYXV0byBhZGRSZXN1bHQgPSB3aW5kb3dFdmVudExvb3BNYXAoKS5hZGQoa2V5LCBudWxscHRy
KTsKICAgICBpZiAoVU5MSUtFTFkoYWRkUmVzdWx0LmlzTmV3RW50cnkpKSB7Ci0gICAgICAgIGF1
dG8gbmV3RXZlbnRMb29wID0gYWRvcHRSZWYoKm5ldyBXaW5kb3dFdmVudExvb3AoZG9tYWluKSk7
CisgICAgICAgIGF1dG8gbmV3RXZlbnRMb29wID0gY3JlYXRlKGtleSk7CiAgICAgICAgIGFkZFJl
c3VsdC5pdGVyYXRvci0+dmFsdWUgPSBuZXdFdmVudExvb3AucHRyKCk7CiAgICAgICAgIHJldHVy
biBuZXdFdmVudExvb3A7CiAgICAgfQogICAgIHJldHVybiAqYWRkUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZTsKIH0KIAotaW5saW5lIFdpbmRvd0V2ZW50TG9vcDo6V2luZG93RXZlbnRMb29wKGNvbnN0
IFJlZ2lzdHJhYmxlRG9tYWluJiBkb21haW4pCi0gICAgOiBtX2RvbWFpbihkb21haW4pCitpbmxp
bmUgUmVmPFdpbmRvd0V2ZW50TG9vcD4gV2luZG93RXZlbnRMb29wOjpjcmVhdGUoY29uc3QgU3Ry
aW5nJiBhZ2VudENsdXN0ZXJLZXkpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2luZG93
RXZlbnRMb29wKGFnZW50Q2x1c3RlcktleSkpOworfQorCitpbmxpbmUgV2luZG93RXZlbnRMb29w
OjpXaW5kb3dFdmVudExvb3AoY29uc3QgU3RyaW5nJiBhZ2VudENsdXN0ZXJLZXkpCisgICAgOiBt
X2FnZW50Q2x1c3RlcktleShhZ2VudENsdXN0ZXJLZXkpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAm
V2luZG93RXZlbnRMb29wOjpydW4pCiB7CiB9CiAKIFdpbmRvd0V2ZW50TG9vcDo6fldpbmRvd0V2
ZW50TG9vcCgpCiB7Ci0gICAgYXV0byBkaWRSZW1vdmUgPSB3aW5kb3dFdmVudExvb3BNYXAoKS5y
ZW1vdmUobV9kb21haW4pOworICAgIGlmIChtX2FnZW50Q2x1c3RlcktleS5pc051bGwoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGF1dG8gZGlkUmVtb3ZlID0gd2luZG93RXZlbnRMb29wTWFwKCku
cmVtb3ZlKG1fYWdlbnRDbHVzdGVyS2V5KTsKICAgICBSRUxFQVNFX0FTU0VSVChkaWRSZW1vdmUp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2luZG93RXZlbnRMb29wLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1dpbmRvd0V2ZW50TG9vcC5oCShyZXZpc2lvbiAy
NTMxNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2luZG93RXZlbnRMb29wLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDkgKzI3LDkgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgotI2luY2x1ZGUgIlJlZ2lzdHJhYmxlRG9tYWluLmgi
CiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM4LDE4
ICszOCwxOSBAQCBjbGFzcyBEb2N1bWVudDsKIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCN3aW5kb3ctZXZlbnQtbG9vcAogY2xhc3MgV2lu
ZG93RXZlbnRMb29wIGZpbmFsIDogcHVibGljIEV2ZW50TG9vcCB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxXaW5kb3dFdmVudExvb3A+IGVuc3VyZUZvclJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0
IFJlZ2lzdHJhYmxlRG9tYWluJik7CisgICAgc3RhdGljIFJlZjxXaW5kb3dFdmVudExvb3A+IGV2
ZW50TG9vcEZvclNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJik7CiAKICAgICB2
aXJ0dWFsIH5XaW5kb3dFdmVudExvb3AoKTsKIAogcHJpdmF0ZToKLSAgICBXaW5kb3dFdmVudExv
b3AoY29uc3QgUmVnaXN0cmFibGVEb21haW4mKTsKKyAgICBzdGF0aWMgUmVmPFdpbmRvd0V2ZW50
TG9vcD4gY3JlYXRlKGNvbnN0IFN0cmluZyYpOworICAgIFdpbmRvd0V2ZW50TG9vcChjb25zdCBT
dHJpbmcmKTsKIAogICAgIHZvaWQgc2NoZWR1bGVUb1J1bigpIGZpbmFsOwogICAgIGJvb2wgaXND
b250ZXh0VGhyZWFkKCkgY29uc3QgZmluYWw7CiAgICAgTWljcm90YXNrUXVldWUmIG1pY3JvdGFz
a1F1ZXVlKCkgZmluYWw7CiAKLSAgICBSZWdpc3RyYWJsZURvbWFpbiBtX2RvbWFpbjsKKyAgICBT
dHJpbmcgbV9hZ2VudENsdXN0ZXJLZXk7CiAgICAgVGltZXIgbV90aW1lcjsKIH07CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1MzE0MikKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDY4
OCw2ICs0Njg4LDIyIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6cXVldWVUYXNrVG8K
ICAgICByZXR1cm4geyB9OwogfQogCitFeGNlcHRpb25Pcjxib29sPiBJbnRlcm5hbHM6Omhhc1Nh
bWVFdmVudExvb3BBcyhXaW5kb3dQcm94eSYgcHJveHkpCit7CisgICAgUmVmUHRyPFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ+IGNvbnRleHQgPSBjb250ZXh0RG9jdW1lbnQoKTsKKyAgICBpZiAoIWNv
bnRleHQgfHwgIXByb3h5LmZyYW1lKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkU3RhdGVFcnJvciB9OworCisgICAgYXV0byYgcHJveHlGcmFtZSA9ICpwcm94eS5mcmFtZSgp
OworICAgIGlmICghaXM8RnJhbWU+KHByb3h5RnJhbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IHByb3h5Q29udGV4dCA9IGRvd25j
YXN0PEZyYW1lPihwcm94eUZyYW1lKS5kb2N1bWVudCgpOworICAgIGlmICghcHJveHlDb250ZXh0
KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKworICAg
IHJldHVybiBjb250ZXh0LT5ldmVudExvb3AoKS5oYXNTYW1lRXZlbnRMb29wQXMocHJveHlDb250
ZXh0LT5ldmVudExvb3AoKSk7Cit9CisKIFZlY3RvcjxTdHJpbmc+IEludGVybmFsczo6YWNjZXNz
S2V5TW9kaWZpZXJzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8U3RyaW5nPiBhY2Nlc3NLZXlNb2Rp
ZmllclN0cmluZ3M7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9u
IDI1MzE0MikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc3OCw2ICs3NzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0VGFzayhSZWZQ
dHI8Vm9pZENhbGxiYWNrPiYmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBxdWV1ZVRhc2soU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgc291cmNlLCBSZWZQdHI8Vm9pZENh
bGxiYWNrPiYmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBxdWV1ZVRhc2tUb1F1ZXVlTWljcm90
YXNrKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiBzb3VyY2UsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+
JiYpOworICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGhhc1NhbWVFdmVudExvb3BBcyhXaW5kb3dQcm94
eSYpOworCiAgICAgdm9pZCBtYXJrQ29udGV4dEFzSW5zZWN1cmUoKTsKIAogICAgIGJvb2wgdXNp
bmdBcHBsZUludGVybmFsU0RLKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCShyZXZpc2lvbiAyNTMxNDIpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc2Niw2ICs3NjYsOCBAQCBlbnVtIENvbXBv
c2l0aW5nUG9saWN5IHsKICAgICB2b2lkIHBvc3RUYXNrKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7
CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9u
XSB2b2lkIHF1ZXVlVGFzayhET01TdHJpbmcgc291cmNlLCBWb2lkQ2FsbGJhY2sgY2FsbGJhY2sp
OwogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCBxdWV1ZVRhc2tUb1F1ZXVlTWljcm90YXNr
KERPTVN0cmluZyBzb3VyY2UsIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSBib29sZWFuIGhhc1NhbWVFdmVudExvb3BBcyhXaW5kb3dQcm94eSB3aW5kb3dQ
cm94eSk7CisKICAgICB2b2lkIG1hcmtDb250ZXh0QXNJbnNlY3VyZSgpOwogCiAgICAgdm9pZCBz
ZXRNYXhDYW52YXNQaXhlbE1lbW9yeSh1bnNpZ25lZCBsb25nIHNpemUpOwpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjUzMTQyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTktMTItMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgVW5pcXVlIG9yaWdpbidzIHdpbmRvdyBtdXN0IGdldCBpdHMgb3duIGV2
ZW50IGxvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDk3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIHRlc3RzIHRvIG1ha2Ugc3VyZSBkYXRhIFVSSSBkb2N1bWVudHMgY29udGludWUgdG8g
dXNlIHRoZSBzYW1lIGV2ZW50IGxvb3AgYnV0IGRvY3VtZW50cyBvZgorICAgICAgICB1bmlxdWUg
b3JpZ2luIGFuZCBvZiBkaWZmZXJlbnQgc2NoZW1lcyB3aWxsIHVzZSBkaXN0aW5jdCBldmVudCBs
b29wcyB1c2luZyBuZXdseSBhZGRlZCBpbnRlcm5hbHMKKyAgICAgICAgbWV0aG9kIChoYXNTYW1l
RXZlbnRMb29wQXMpLiBBbHNvIGFkZGVkIGFzc2VydGlvbnMgdG8gdGhlIGV4aXN0aW5nIHRlc3Rz
IHVzaW5nIHRoaXMgbmV3IG1ldGhvZC4KKworICAgICAgICAqIGZhc3QvZXZlbnRsb29wOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50bG9vcC9kYXRhLXVyaS1kb2N1bWVudC1oYXMtaXRzLW93
bi1ldmVudC1sb29wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudGxv
b3AvZGF0YS11cmktZG9jdW1lbnQtaGFzLWl0cy1vd24tZXZlbnQtbG9vcC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmls
ZS11cmktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50bG9vcC9xdWV1
ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmlsZS11cmkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudGxvb3AvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50bG9v
cC9yZXNvdXJjZXMvZXZlbnRsb29wLWhlbHBlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2V2ZW50bG9vcC9kb2N1bWVudHMtd2l0aC1kaWZmZXJlbnQtcHJvdG9jb2xzLWRvLW5v
dC1zaGFyZS1ldmVudC1sb29wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudGxvb3AvZG9jdW1lbnRzLXdpdGgtZGlmZmVyZW50LXByb3RvY29scy1kby1ub3Qt
c2hhcmUtZXZlbnQtbG9vcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50
bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1jcm9zcy1zaXRlLWZyYW1lcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9ldmVudGxvb3AvcXVldWUtdGFzay1hY3Jvc3MtY3Jvc3Mtc2l0
ZS1mcmFtZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50bG9vcC9xdWV1ZS10YXNr
LWFjcm9zcy1mcmFtZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRs
b29wL3F1ZXVlLXRhc2stYWNyb3NzLWZyYW1lcy5odG1sOgorCiAyMDE5LTEyLTA0ICBKYWNrIExl
ZSAgPHNoaWhjaGllaF9sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4g
UmVuZGVyTGF5b3V0U3RhdGU6OnBhZ2VMb2dpY2FsSGVpZ2h0IGNvbnN0IHZpYSBSZW5kZXJHcmlk
Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBpbnNpZGUgUmVuZGVyTWFycXVlZTo6dXBk
YXRlTWFycXVlZVBvc2l0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9kYXRh
LXVyaS1kb2N1bWVudC1oYXMtaXRzLW93bi1ldmVudC1sb29wLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9kYXRhLXVyaS1kb2N1bWVudC1oYXMt
aXRzLW93bi1ldmVudC1sb29wLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50bG9vcC9kYXRhLXVyaS1kb2N1bWVudC1oYXMtaXRzLW93bi1ldmVudC1s
b29wLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitUaGlzIHRl
c3RzIHRoYXQgZWFjaCBkYXRhIFVSSSBkb2N1bWVudCBoYXMgaXRzIG93biB1bmlxdWUgZXZlbnQg
bG9vcAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMuaGFz
U2FtZUV2ZW50TG9vcEFzKGNoaWxkRnJhbWUuY29udGVudFdpbmRvdykgaXMgZmFsc2UKK1BBU1Mg
bmVzdGVkRnJhbWVXaXRoRGF0YVVSTEhhc1NhbWVFdmVudExvb3BBc1BhcmVudCBpcyBmYWxzZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRsb29wL2RhdGEtdXJpLWRvY3VtZW50LWhhcy1pdHMtb3du
LWV2ZW50LWxvb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9v
cC9kYXRhLXVyaS1kb2N1bWVudC1oYXMtaXRzLW93bi1ldmVudC1sb29wLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudGxvb3AvZGF0YS11cmktZG9jdW1lbnQtaGFz
LWl0cy1vd24tZXZlbnQtbG9vcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24o
J1RoaXMgdGVzdHMgdGhhdCBlYWNoIGRhdGEgVVJJIGRvY3VtZW50IGhhcyBpdHMgb3duIHVuaXF1
ZSBldmVudCBsb29wJyk7CisKK2lmICghd2luZG93LmludGVybmFscykKKyAgICB0ZXN0RmFpbGVk
KCdUaGlzIHRlc3QgcmVsaWVzIG9uIHdpbmRvdy5pbnRlcm5hbHMnKTsKK2Vsc2UgeworICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgY2hpbGRGcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2hpbGRGcmFt
ZSk7CisKKyAgICBjaGlsZEZyYW1lLnNyYyA9IGBkYXRhOnRleHQvaHRtbCw8IURPQ1RZUEUgaHRt
bD4KKyAgICA8Ym9keSBvbmxvYWQ9InBhcmVudC5wb3N0TWVzc2FnZShpbnRlcm5hbHMuaGFzU2Ft
ZUV2ZW50TG9vcEFzKG5lc3RlZEZyYW1lLmNvbnRlbnRXaW5kb3cpLCAnKicpIj4KKyAgICA8aWZy
YW1lIGlkPSJuZXN0ZWRGcmFtZSIgc3JjPSJkYXRhOnRleHQvaHRtbCw8IURPQ1RZUEUgaHRtbD4i
PmA7CisKKyAgICBvbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgd2luZG93Lm5lc3Rl
ZEZyYW1lV2l0aERhdGFVUkxIYXNTYW1lRXZlbnRMb29wQXNQYXJlbnQgPSBldmVudC5kYXRhOwor
ICAgICAgICBzaG91bGRCZUZhbHNlKCdpbnRlcm5hbHMuaGFzU2FtZUV2ZW50TG9vcEFzKGNoaWxk
RnJhbWUuY29udGVudFdpbmRvdyknKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgnbmVzdGVkRnJh
bWVXaXRoRGF0YVVSTEhhc1NhbWVFdmVudExvb3BBc1BhcmVudCcpOworICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICB9Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudGxvb3Av
cXVldWUtdGFzay1hY3Jvc3MtZnJhbWVzLWluLWZpbGUtdXJpLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFt
ZXMtaW4tZmlsZS11cmktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZXZlbnRsb29wL3F1ZXVlLXRhc2stYWNyb3NzLWZyYW1lcy1pbi1maWxlLXVyaS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0cyB0aGUg
b3JkZXIgYnkgd2hpY2ggdGFza3MgYXJlIHNjaGVkdWxlZCBhY3Jvc3MgZG9jdW1lbnRzIG9mIGZp
bGUgVVJJIGRvY3VtZW50cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bG9ncy5qb2luKCIsICIpIGlzICIxLCAyLCAzLCA0LCA1LCA2IgorUEFTUyBpbnRlcm5hbHMuaGFz
U2FtZUV2ZW50TG9vcEFzKGZyYW1lMS5jb250ZW50V2luZG93KSBpcyB0cnVlCitQQVNTIGludGVy
bmFscy5oYXNTYW1lRXZlbnRMb29wQXMoZnJhbWUyLmNvbnRlbnRXaW5kb3cpIGlzIHRydWUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmls
ZS11cmkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9xdWV1
ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmlsZS11cmkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtaW4tZmls
ZS11cmkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRo
ZSBvcmRlciBieSB3aGljaCB0YXNrcyBhcmUgc2NoZWR1bGVkIGFjcm9zcyBkb2N1bWVudHMgb2Yg
ZmlsZSBVUkkgZG9jdW1lbnRzLicpOworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgdGVz
dEZhaWxlZCgnVGhpcyB0ZXN0IHJlbGllcyBvbiB3aW5kb3cuaW50ZXJuYWxzJyk7CitlbHNlIHsK
KyAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICBsb2dzID0gW107CisKKyAgICBmcmFtZTEg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGZyYW1lMSk7CisKKyAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdpZnJhbWUnKTsKKyAgICBmcmFtZTIuc3JjID0gJ3Jlc291cmNlcy9ldmVudGxvb3AtaGVscGVy
Lmh0bWwnOworICAgIGZyYW1lMi5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCk7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTIpOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGludGVybmFscy5xdWV1ZVRhc2soIkRPTU1hbmlwdWxhdGlvbiIsICgpID0+
IGxvZ3MucHVzaCgnMScpKTsKKyAgICBmcmFtZTEuY29udGVudFdpbmRvdy5pbnRlcm5hbHMucXVl
dWVUYXNrKCJET01NYW5pcHVsYXRpb24iLCAoKSA9PiBsb2dzLnB1c2goJzInKSk7CisgICAgaW50
ZXJuYWxzLnF1ZXVlVGFzaygiRE9NTWFuaXB1bGF0aW9uIiwgKCkgPT4gbG9ncy5wdXNoKCczJykp
OworICAgIGZyYW1lMi5jb250ZW50V2luZG93LmludGVybmFscy5xdWV1ZVRhc2soIkRPTU1hbmlw
dWxhdGlvbiIsICgpID0+IGxvZ3MucHVzaCgnNCcpKTsKKyAgICBmcmFtZTEuY29udGVudFdpbmRv
dy5pbnRlcm5hbHMucXVldWVUYXNrKCJET01NYW5pcHVsYXRpb24iLCAoKSA9PiBsb2dzLnB1c2go
JzUnKSk7CisgICAgaW50ZXJuYWxzLnF1ZXVlVGFzaygiRE9NTWFuaXB1bGF0aW9uIiwgKCkgPT4g
bG9ncy5wdXNoKCc2JykpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnbG9ncy5qb2luKCIsICIpJywgJzEsIDIsIDMsIDQsIDUsIDYnKTsK
KyAgICAgICAgc2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzU2FtZUV2ZW50TG9vcEFzKGZyYW1l
MS5jb250ZW50V2luZG93KScpOworICAgICAgICBzaG91bGRCZVRydWUoJ2ludGVybmFscy5oYXNT
YW1lRXZlbnRMb29wQXMoZnJhbWUyLmNvbnRlbnRXaW5kb3cpJyk7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIH0sIDEwMCk7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dGxvb3AvcmVzb3VyY2VzL2V2ZW50bG9vcC1oZWxwZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50bG9vcC9yZXNvdXJjZXMvZXZlbnRsb29wLWhlbHBlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRsb29wL3Jlc291cmNlcy9ldmVu
dGxvb3AtaGVscGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8IS0tIFRoaXMgZG9jdW1lbnQgaXMgZW1wdHkgZm9y
IG5vdyAtLT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRsb29wL2RvY3VtZW50cy13aXRoLWRpZmZlcmVudC1wcm90b2NvbHMtZG8tbm90LXNoYXJl
LWV2ZW50LWxvb3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvZXZlbnRsb29wL2RvY3VtZW50cy13aXRoLWRpZmZlcmVudC1wcm90b2NvbHMtZG8tbm90
LXNoYXJlLWV2ZW50LWxvb3AtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvZXZlbnRsb29wL2RvY3VtZW50cy13aXRoLWRpZmZlcmVudC1wcm90b2Nv
bHMtZG8tbm90LXNoYXJlLWV2ZW50LWxvb3AtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgdGhlIG9yZGVyIGJ5IHdoaWNoIHRhc2tzIGFyZSBz
Y2hlZHVsZWQgYWNyb3NzIGRvY3VtZW50cyB0aGF0IGFyZSBub3Qgc2ltaWxhciBvcmlnaW5zLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMuaGFzU2FtZUV2
ZW50TG9vcEFzKGZyYW1lMS5jb250ZW50V2luZG93KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5o
YXNTYW1lRXZlbnRMb29wQXMoZnJhbWUyLmNvbnRlbnRXaW5kb3cpIGlzIGZhbHNlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ldmVudGxvb3AvZG9jdW1lbnRzLXdpdGgtZGlmZmVyZW50LXByb3Rv
Y29scy1kby1ub3Qtc2hhcmUtZXZlbnQtbG9vcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvZXZlbnRsb29wL2RvY3VtZW50cy13aXRoLWRpZmZlcmVudC1wcm90b2Nv
bHMtZG8tbm90LXNoYXJlLWV2ZW50LWxvb3AuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50bG9vcC9kb2N1bWVudHMtd2l0aC1kaWZmZXJlbnQtcHJvdG9j
b2xzLWRvLW5vdC1zaGFyZS1ldmVudC1sb29wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitkZXNjcmlw
dGlvbignVGhpcyB0ZXN0cyB0aGUgb3JkZXIgYnkgd2hpY2ggdGFza3MgYXJlIHNjaGVkdWxlZCBh
Y3Jvc3MgZG9jdW1lbnRzIHRoYXQgYXJlIG5vdCBzaW1pbGFyIG9yaWdpbnMuJyk7CisKK2lmICgh
d2luZG93LmludGVybmFscykKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVsaWVzIG9uIHdp
bmRvdy5pbnRlcm5hbHMnKTsKK2Vsc2UgeworICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworICAg
IHdpbmRvdy5vbmxvYWQgPSBzdGFydFRlc3Q7Cit9CisKK2xvZ3MgPSBbXTsKK2Nyb3NzT3JpZ2lu
TG9ncyA9IFtdOworCithc3luYyBmdW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIHdpbmRvdy5m
cmFtZTEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmcmFtZTEuc3Jj
ID0gJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9ldmVudGxvb3AvcmVzb3VyY2VzL2V2ZW50bG9vcC1o
ZWxwZXIuaHRtbCc7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTEpOworCisg
ICAgd2luZG93LmZyYW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAg
IGZyYW1lMi5zcmMgPSAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9ldmVudGxvb3AvcmVzb3VyY2Vz
L2V2ZW50bG9vcC1oZWxwZXIuaHRtbCc7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
cmFtZTIpOworCisgICAgYXdhaXQgd2FpdEZvckxvYWQoZnJhbWUxKTsKKyAgICBhd2FpdCB3YWl0
Rm9yTG9hZChmcmFtZTIpOworCisgICAgc2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzU2FtZUV2
ZW50TG9vcEFzKGZyYW1lMS5jb250ZW50V2luZG93KScpOworICAgIHNob3VsZEJlRmFsc2UoJ2lu
dGVybmFscy5oYXNTYW1lRXZlbnRMb29wQXMoZnJhbWUyLmNvbnRlbnRXaW5kb3cpJyk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9CisKK2NvbnN0IGxvYWRlZEZyYW1lcyA9IG5ldyBNYXA7Citvbm1l
c3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICBpZiAoZXZlbnQuZGF0YS50eXBlID09ICdsb2FkJykg
eworICAgICAgICBjb25zdCByZXNvbHZlID0gbG9hZGVkRnJhbWVzLmdldChldmVudC5zb3VyY2Up
OworICAgICAgICBpZiAocmVzb2x2ZSkKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgbG9hZGVkRnJhbWVzLnNldChldmVudC5zb3VyY2UsIG51bGwpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gd2FpdEZvckxvYWQoZnJhbWUpCit7CisgICAgaWYgKGxvYWRl
ZEZyYW1lcy5oYXMoZnJhbWUuY29udGVudFdpbmRvdykpCisgICAgICAgIHJldHVybiBQcm9taXNl
LnJlc29sdmUoKTsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IGxvYWRlZEZy
YW1lcy5zZXQoZnJhbWUuY29udGVudFdpbmRvdywgcmVzb2x2ZSkpOworfQorCitzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRsb29wL3F1ZXVlLXRhc2stYWNyb3NzLWNyb3NzLXNpdGUt
ZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1jcm9zcy1zaXRlLWZyYW1lcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI1MzE0MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRsb29w
L3F1ZXVlLXRhc2stYWNyb3NzLWNyb3NzLXNpdGUtZnJhbWVzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNSw2ICs1LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEEKIAogUEFTUyBsb2dzLmpvaW4oIiwgIikgaXMgIjEsIDIsIDMsIDQsIDUiCiBQQVNT
IGNyb3NzT3JpZ2luTG9ncy5qb2luKCIsICIpIGlzICIxMCwgMTEsIDEyIgorUEFTUyBpbnRlcm5h
bHMuaGFzU2FtZUV2ZW50TG9vcEFzKGZyYW1lMS5jb250ZW50V2luZG93KSBpcyB0cnVlCitQQVNT
IGludGVybmFscy5oYXNTYW1lRXZlbnRMb29wQXMoZnJhbWUyLmNvbnRlbnRXaW5kb3cpIGlzIGZh
bHNlCitQQVNTIGludGVybmFscy5oYXNTYW1lRXZlbnRMb29wQXMoZnJhbWUzLmNvbnRlbnRXaW5k
b3cpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbWVFdmVudExvb3BBcyhmcmFtZTQuY29u
dGVudFdpbmRvdykgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudGxvb3AvcXVl
dWUtdGFzay1hY3Jvc3MtY3Jvc3Mtc2l0ZS1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1jcm9zcy1zaXRl
LWZyYW1lcy5odG1sCShyZXZpc2lvbiAyNTMxNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1jcm9zcy1zaXRlLWZyYW1lcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOCwxOSArMTgsMTkgQEAgY3Jvc3NPcmlnaW5Mb2dzID0gW107CiAKIGFz
eW5jIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7Ci0gICAgY29uc3QgZnJhbWUxID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgd2luZG93LmZyYW1lMSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJh
bWUxKTsKIAotICAgIGNvbnN0IGZyYW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFt
ZScpOworICAgIHdpbmRvdy5mcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUn
KTsKICAgICBmcmFtZTIubmFtZSA9ICdmcmFtZTInOwogICAgIGZyYW1lMi5zcmMgPSAnaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2V2ZW50bG9vcC9yZXNvdXJjZXMvZXZlbnRsb29wLWhlbHBlci5odG1s
JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lMik7CiAKLSAgICBjb25zdCBm
cmFtZTMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICB3aW5kb3cuZnJh
bWUzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgZnJhbWUzLnNyYyA9
ICdyZXNvdXJjZXMvZXZlbnRsb29wLWhlbHBlci5odG1sJzsKICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGZyYW1lMyk7CiAKLSAgICBjb25zdCBmcmFtZTQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKTsKKyAgICB3aW5kb3cuZnJhbWU0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaWZyYW1lJyk7CiAgICAgZnJhbWU0Lm5hbWUgPSAnZnJhbWU0JzsKICAgICBmcmFtZTQu
c3JjID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudGxvb3AvcmVzb3VyY2VzL2V2ZW50bG9v
cC1oZWxwZXIuaHRtbCc7CiAKQEAgLTU3LDYgKzU3LDEwIEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0
VGVzdCgpCiAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnbG9ncy5qb2luKCIsICIpJywgJzEsIDIsIDMsIDQsIDUnKTsKICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdjcm9zc09yaWdpbkxvZ3Muam9pbigiLCAiKScsICcxMCwgMTEsIDEy
Jyk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgnaW50ZXJuYWxzLmhhc1NhbWVFdmVudExvb3BBcyhm
cmFtZTEuY29udGVudFdpbmRvdyknKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgnaW50ZXJuYWxz
Lmhhc1NhbWVFdmVudExvb3BBcyhmcmFtZTIuY29udGVudFdpbmRvdyknKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzU2FtZUV2ZW50TG9vcEFzKGZyYW1lMy5jb250ZW50V2lu
ZG93KScpOworICAgICAgICBzaG91bGRCZUZhbHNlKCdpbnRlcm5hbHMuaGFzU2FtZUV2ZW50TG9v
cEFzKGZyYW1lNC5jb250ZW50V2luZG93KScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9LCAxMDApOwogfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudGxvb3AvcXVl
dWUtdGFzay1hY3Jvc3MtZnJhbWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyNTMxNDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00LDYgKzQsOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
CiAKIAogUEFTUyBsb2dzLmpvaW4oIiwgIikgaXMgIjEsIDIsIDMsIDQsIDUsIDYiCitQQVNTIGlu
dGVybmFscy5oYXNTYW1lRXZlbnRMb29wQXMoZnJhbWUxLmNvbnRlbnRXaW5kb3cpIGlzIHRydWUK
K1BBU1MgaW50ZXJuYWxzLmhhc1NhbWVFdmVudExvb3BBcyhmcmFtZTIuY29udGVudFdpbmRvdykg
aXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50bG9vcC9xdWV1ZS10YXNrLWFjcm9z
cy1mcmFtZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
bG9vcC9xdWV1ZS10YXNrLWFjcm9zcy1mcmFtZXMuaHRtbAkocmV2aXNpb24gMjUzMTQyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudGxvb3AvcXVldWUtdGFzay1hY3Jvc3MtZnJhbWVz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDggQEAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKIAogICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2xvZ3Muam9pbigiLCAiKScsICcxLCAyLCAzLCA0LCA1LCA2Jyk7CisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgnaW50ZXJuYWxzLmhhc1NhbWVFdmVudExvb3BBcyhmcmFtZTEuY29udGVudFdpbmRv
dyknKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzU2FtZUV2ZW50TG9vcEFz
KGZyYW1lMi5jb250ZW50V2luZG93KScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9
LCAxMDApOwogfQo=
</data>
<flag name="review"
          id="400935"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>