<?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>141786</bug_id>
          
          <creation_ts>2015-02-18 18:28:44 -0800</creation_ts>
          <short_desc>Analysis task pages are unusable</short_desc>
          <delta_ts>2015-02-19 13:45:18 -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>WebKit Website</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138516</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1070308</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-18 18:28:44 -0800</bug_when>
    <thetext>The UI is too crappy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070309</commentid>
    <comment_count>1</comment_count>
      <attachid>246869</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-18 18:38:46 -0800</bug_when>
    <thetext>Created attachment 246869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070311</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-18 18:41:54 -0800</bug_when>
    <thetext>Committed r180333: &lt;http://trac.webkit.org/changeset/180333&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246869</attachid>
            <date>2015-02-18 18:38:46 -0800</date>
            <delta_ts>2015-02-18 18:40:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141786-20150218183839.patch</filename>
            <type>text/plain</type>
            <size>48038</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTgwMzMxKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEwMiBAQAorMjAxNS0wMi0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
KworICAgICAgICBBbmFseXNpcyB0YXNrIHBhZ2VzIGFyZSB1bnVzYWJsZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxNzg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBmb2xs
b3dpbmcgaW1wcm92ZW1lbnRzIHRvIGFuYWx5c2lzIHRhc2sgcGFnZXM6CisgICAgICAgIDEuIE1h
a2luZyB0aGUgbWFpbiBjaGFydCBpbnRlcmFjdGl2ZS4gVGhpcyBjaGFuZ2UgcmVxdWlyZWQgdGhl
IHVzZSBvZiBBcHAuUGFuZSBhcyB3ZWxsIGFzIG1vdmluZyB0aGUgY29kZSB0bworICAgICAgICBj
b21wdXRlIHRoZSBkYXRhIGZvciB0aGUgZGV0YWlscyBwYW5lIGZyb20gUGFuZUNvbnRyb2xsZXIu
CisgICAgICAgIDIuIE1vdmluZyB0aGUgZm9ybSB0byBhZGQgYSBuZXcgdGVzdCBncm91cCB0byB0
aGUgdG9wIG9mIHRlc3QgZ3JvdXBzIGluc3RlYWQgb2YgdGhlIGJvdHRvbSBvZiB0aGVtLgorICAg
ICAgICAzLiBHcm91cGluZyB0aGUgYnVpbGQgcmVxdWVzdHMgaW4gZWFjaCB0ZXN0IGdyb3VwIGJ5
IHJvb3Qgc2V0cyBpbnN0ZWFkIG9mIHRoZSBvcmRlciBieSB3aGljaCB0aGV5IHdlcmUgcmFuLgor
ICAgICAgICBUaGlzIGNoYW5nZSByZXF1aXJlZCB0aGUgY3JlYXRpb24gb2YgQXBwLlRlc3RHcm91
cFBhbmUgYXMgd2VsbCBhcyBpdHMgbWV0aG9kcy4KKyAgICAgICAgNC4gU2hvdyBhIGJveCBwbG90
IGZvciBlYWNoIHJvb3Qgc2V0IGNvbmZpZ3VyYXRpb24gYXMgd2VsbCBhcyBlYWNoIGJ1aWxkIHJl
cXVlc3QuIFRoaXMgY2hhbmdlIHJlcXVpcmVkCisgICAgICAgIEFwcC5Cb3hQbG90Q29tcG9uZW50
LgorICAgICAgICA1LiBTaG93IHJldmlzaW9ucyBvZiBlYWNoIHJlcG9zaXRvcnkgKGUuZy4gV2Vi
S2l0KSBmb3IgZWFjaCByb290IHNldCBhbmQgYnVpbGQgcmVxdWVzdC4KKworICAgICAgICAqIHB1
YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwOgorICAgICAgICAobWFpbik6IFVwZGF0ZSBwZXIg
dGhlIHJlbmFtZSBvZiBCdWlsZFJlcXVlc3RzRmV0Y2hlcjo6cm9vdF9zZXRzIHRvIEJ1aWxkUmVx
dWVzdHNGZXRjaGVyOjpyb290X3NldHNfYnlfaWQuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3Rl
c3QtZ3JvdXBzLnBocDoKKyAgICAgICAgKG1haW4pOiBJbmNsdWRlIHJvb3Qgc2V0cyBhbmQgcm9v
dHMgaW4gdGhlIHJlc3BvbnNlLgorICAgICAgICAoZm9ybWF0X3Rlc3RfZ3JvdXApOgorCisgICAg
ICAgICogcHVibGljL2luY2x1ZGUvYnVpbGQtcmVxdWVzdHMtZmV0Y2hlci5waHA6CisgICAgICAg
IChCdWlsZFJlcXVlc3RzRmV0Y2hlcjo6cm9vdF9zZXRzX2J5X2lkKTogUmVuYW1lZCBmcm9tIHJv
b3Rfc2V0cy4KKyAgICAgICAgKEJ1aWxkUmVxdWVzdHNGZXRjaGVyOjpyb290X3NldHMpOiBBZGRl
ZC4KKyAgICAgICAgKEJ1aWxkUmVxdWVzdHNGZXRjaGVyOjpyb290cyk6IEFkZGVkLgorICAgICAg
ICAoQnVpbGRSZXF1ZXN0c0ZldGNoZXI6OmZldGNoX3Jvb3RzX2Zvcl9zZXQpOiBUYWtlcyBhIGJv
b2xlYW4gYXJndW1lbnQgJHJlc29sdmVfaWRzLiBUaGlzIGZsYWcgaXMgb25seSBzZXQgdG8KKyAg
ICAgICAgdHJ1ZSBpbiAvYXBpL2J1aWxkLXJlcXVlc3RzLyAoYXMgZG9uZSBwcmlvciB0byB0aGlz
IHBhdGNoKSB0byB1c2UgcmVwb3NpdG9yeSBuYW1lcyBhcyBpZGVudGlmaWVycyBzaW5jZQorICAg
ICAgICB0b29scy9zeW5jLXdpdGgtYnVpbGRib3QucHkgY2FuJ3QgY29udmVydCByZXBvc2l0b3J5
IG5hbWVzIHRvIHRoZWlyIGlkcy4KKworICAgICAgICAqIHB1YmxpYy92Mi9hbmFseXNpcy5qczoK
KyAgICAgICAgKEFwcC5Sb290KTogQWRkZWQuCisgICAgICAgIChBcHAuUm9vdFNldCk6IEFkZGVk
LgorICAgICAgICAoQXBwLlJvb3RTZXQucmV2aXNpb25Gb3JSZXBvc2l0b3J5KTogQWRkZWQuCisg
ICAgICAgIChBcHAuVGVzdEdyb3VwLnJvb3RTZXRzKTogRGVsZXRlZCB0aGUgY29kZSB0byBjb21w
dXRlIHJvb3Qgc2V0IGlkcyBmcm9tIGJ1aWxkIHJlcXVlc3RzIG5vdyB0aGF0IHRoZSBKU09OCisg
ICAgICAgIHJlc3BvbnNlIGF0IC9hcGkvdGVzdC1ncm91cHMgd2lsbCBpbmNsdWRlIHRoZW0uCisg
ICAgICAgIChBcHAuQnVpbGRSZXF1ZXN0KTogRGl0dG8uIEFsc28gZGVsZXRlZCAnY29uZmlnTGV0
dGVyJyBwcm9wZXJ0eSwgd2hpY2ggaGFzIGJlZW4gbW92ZWQgdG8gYSBwcm94eSBjcmVhdGVkIGJ5
CisgICAgICAgIF9jcmVhdGVDb25maWd1cmF0aW9uU3VtbWFyeS4KKyAgICAgICAgKEFwcC5CdWls
ZFJlcXVlc3Quc3RhdHVzTGFiZWwpOiBVc2UgJ0NvbXBsZXRlZCcgYXMgdGhlIGh1bWFuIHJlYWRh
YmxlIGxhYmVsIGZvciAnY29tcGxldGVkJyBzdGF0dXMuCisgICAgICAgIChBcHAuQnVpbGRSZXF1
ZXN0LmFnZ3JlZ2F0ZVN0YXR1c2VzKTogQWRkZWQuIEdlbmVyYXRlcyBhIGh1bWFuIHJlYWRhYmxl
IHN0YXR1cyBmb3IgYSBzZXQgb2YgYnVpbGQgcmVxdWVzdHMuCisKKyAgICAgICAgKiBwdWJsaWMv
djIvYXBwLmNzczogVXBkYXRlZCBzdHlsZSBydWxlcyBmb3IgYW5hbHlzaXMgdGFzayBwYWdlcy4K
KworICAgICAgICAqIHB1YmxpYy92Mi9hcHAuanM6CisgICAgICAgIChBcHAuUGFuZSk6IFRoaXMg
Y2xhc3MgaXMgbm93IHVzZWQgaW4gYW5hbHlzaXMgdGFzayBwYWdlcyB0byBtYWtlIHRoZSBtYWlu
IGNoYXJ0IGludGVyYWN0aXZlLgorICAgICAgICAoQXBwLlBhbmUuX3VwZGF0ZURldGFpbHMpOiBN
b3ZlZCBmcm9tIEFwcC5QYW5lQ29udHJvbGxlci4KKworICAgICAgICAoQXBwLlBhbmVDb250cm9s
bGVyLl91cGRhdGVDYW5BbmFseXplKTogVXBkYXRlZCB0aGUgY29kZSBwZXIgdGhlIG1vdmUgb2Yg
c2VsZWN0ZWRQb2ludHMuCisKKyAgICAgICAgKEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyKTog
QWRkZWQgJ2RldGFpbHMnLgorICAgICAgICAoQXBwLkFuYWx5c2lzVGFza0NvbnRyb2xsZXIuX3Rh
c2tVcGRhdGVkKToKKyAgICAgICAgKEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyLnBhbmVEb21h
aW4pOlJlbmFtZWQgZnJvbSBfZmV0Y2hlZFJ1bnMuCisgICAgICAgIChBcHAuQW5hbHlzaXNUYXNr
Q29udHJvbGxlci51cGRhdGVUZXN0R3JvdXBQYW5lcyk6IEFkZGVkLiBDcmVhdGVzIEFwcC5UZXN0
R3JvdXBQYW5lIGZvciBlYWNoIHRlc3QgZ3JvdXAuCisgICAgICAgIChBcHAuQW5hbHlzaXNUYXNr
Q29udHJvbGxlci5hY3Rpb25zLnRvZ2dsZVNob3dSZXF1ZXN0TGlzdCk6IEFkZGVkLgorCisgICAg
ICAgIChBcHAuVGVzdEdyb3VwUGFuZSk6IEFkZGVkLgorICAgICAgICAoQXBwLlRlc3RHcm91cFBh
bmUuX3BvcHVsYXRlKTogQWRkZWQuIEdyb3VwIGJ1aWxkIHJlcXVlc3RzIGJ5IHJvb3Qgc2V0cyBh
bmQgY3JlYXRlIGEgc3VtbWFyeSBmb3IgZWFjaCBncm91cC4KKyAgICAgICAgKEFwcC5UZXN0R3Jv
dXBQYW5lLl9jb21wdXRlUmVwb3NpdG9yeUxpc3QpOiBBZGRlZC4gUmV0dXJucyBhIHNvcnRlZCBs
aXN0IG9mIHJlcG9zaXRvcmllcyB3aGljaCBpcyB0aGUgdW5pb24KKyAgICAgICAgb2YgYWxsIHJl
cG9zaXRvcmllcyBhcHBlYXJpbmcgaW4gcm9vdCBzZXRzIGFuZCBidWlsZHMgYXNzb2NpYXRlZCB3
aXRoIEEvQiB0ZXN0aW5nIHJlc3VsdHMuCisgICAgICAgIChBcHAuVGVzdEdyb3VwUGFuZS5fZ3Jv
dXBSZXF1ZXN0c0J5Q29uZmlndXJhdGlvbnMpOiBBZGRlZC4gR3JvdXBzIGJ1aWxkIHJlcXVlc3Rz
IGJ5IHJvb3Qgc2V0cy4KKyAgICAgICAgKEFwcC5UZXN0R3JvdXBQYW5lLl9jcmVhdGVDb25maWd1
cmF0aW9uU3VtbWFyeSk6IEFkZGVkLiBDcmVhdGVzIGEgc3VtbWFyeSBmb3IgYSBncm91cCBvZiBi
dWlsZCByZXF1ZXN0cyB0aGF0CisgICAgICAgIHVzZSB0aGUgc2FtZSByb290IHNldC4gV2Ugc3Rh
cnQgYnkgd3JhcHBpbmcgInJhdyIgYnVpbGQgcmVxdWVzdHMgaW4gYSBwcm94eSB3aXRoIGZvcm1h
dHRlZCB2YWx1ZXMsCisgICAgICAgIGJ1aWxkIG51bWJlcnMsIGV0Yy4uLiBvYnRhaW5lZCBmcm9t
IHRoZSBmZXRjaGVkIGNoYXJ0IGRhdGEuIFRoZSBsaXN0IG9mIHJldmlzaW9ucyBzaG93biBpbiB0
aGUgZ3JvdXAgc3VtbWFyeQorICAgICAgICBpcyBhIHVuaW9uIG9mIHJldmlzaW9ucyBpbiB0aGUg
cm9vdCBzZXQgYW5kIHRoZSBmaXJzdCBidWlsZCByZXF1ZXN0IGluIHRoZSBncm91cC4gV2UgbnVs
bC1vdXQgcmV2aXNpb24gaW5mbworICAgICAgICBmb3IgYSBidWlsZCByZXF1ZXN0IGlmIGl0IGlz
IGlkZW50aWNhbCB0byB0aGUgb25lIGluIHRoZSBzdW1tYXJ5LiBUaGUgcmFuZ2Ugb2YgdmFsdWVz
IGlzIGV4cGFuZGVkIGFzIG5lZWRlZAorICAgICAgICBieSB0aGUgdmFsdWVzIGluIHRoZSBncm91
cCBhcyB3ZWxsIGFzIDk1JSBwZXJjZW50aWxlIGNvbmZpZGVuY2UgaW50ZXJ2YWwuCisKKyAgICAg
ICAgKEFwcC5Cb3hQbG90Q29tcG9uZW50KTogQWRkZWQuIENvbnRyb2xzIGEgYm94IHBsb3Qgc2hv
d24gZm9yIGVhY2ggdGVzdCBncm91cCBzdW1tYXJ5IGFuZCBidWlsZCByZXF1ZXN0LgorICAgICAg
ICAoQXBwLkJveFBsb3RDb21wb25lbnQuZGlkSW5zZXJ0RWxlbWVudCk6IEFkZGVkLiBJbnNlcnRz
IGEgU1ZHIGVsZW1lbnQgYXMgd2VsbCBhcyB0d28gaW5kaWNhdG9yIHJlY3RzIHRvIHNob3cKKyAg
ICAgICAgdGhlIG1lYW4gYW5kIHRoZSBjb25maWRlbmNlIGludGVydmFsLgorICAgICAgICAoQXBw
LkJveFBsb3RDb21wb25lbnQuX3VwZGF0ZUJhcnMpOiBBZGRlZC4gVXBkYXRlcyB0aGUgZGltZW5z
aW9ucyBvZiB0aGUgaW5kaWNhdG9yIHJlY3RzLgorICAgICAgICAoQXBwLkJveFBsb3RDb21wb25l
bnQudmFsdWVDaGFuZ2VkKTogQWRkZWQuIENvbXB1dGVzIHRoZSByZWxhdGl2ZSBkaW1lbnNpb25z
IG9mIHRoZSBpbmRpY2F0b3IgcmVjdHMgYW5kCisgICAgICAgIGNhbGxzIF91cGRhdGVCYXJzIHRv
IHVwZGF0ZSB0aGUgcmVjdHMuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvY2hhcnQtcGFuZS5jc3M6
IEFkZGVkIHNvbWUgc3R5bGUgcnVsZXMgdG8gYmUgdXNlZCBpbiB0aGUgZGV0YWlscyBwYW5lIGlu
IGFuYWx5c2lzIHRhc2sgcGFnZXMuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvZGF0YS5qczoKKyAg
ICAgICAgKE1lYXN1cmVtZW50LnByb3RvdHlwZS5mb3JtYXR0ZWRSZXZpc2lvbnMpOgorICAgICAg
ICAoTWVhc3VyZW1lbnQuZm9ybWF0UmV2aXNpb25SYW5nZSk6IFJlbmFtZWQgZnJvbSBNZWFzdXJl
bWVudC5wcm90b3R5cGUuX2Zvcm1hdFJldmlzaW9uUmFuZ2Ugc28gdGhhdCBpdCBjYW4gYmUKKyAg
ICAgICAgY2FsbGVkIGluIF9jcmVhdGVDb25maWd1cmF0aW9uU3VtbWFyeS4KKworICAgICAgICAq
IHB1YmxpYy92Mi9pbmRleC5odG1sOiBVcGRhdGVkIHRoZSB0ZW1wbGF0ZXMgZm9yIGFuYWx5c2lz
IHRhc2sgcGFnZXMuIE1vdmVkIHRoZSBmb3JtIHRvIGNyZWF0ZSBhIG5ldyB0ZXN0CisgICAgICAg
IGdyb3VwIGFib3ZlIGFsbCB0ZXN0IGdyb3VwcywgYW5kIHJlcGxhY2VkIHRoZSBsaXN0IG9mIGRh
dGEgcG9pbnRzIGJ5ICJkZXRhaWxzIiBwYW5lIHVzZWQgaW4gdGhlIGNoYXJ0cyBwYWdlLgorICAg
ICAgICBBbHNvIG1hZGUgdGhlIGZldGNoaW5nIG9mIGNoYXJ0RGF0YSBubyBsb25nZXIgYmxvY2sg
c2hvd2luZyBvZiB0ZXN0IGdyb3Vwcy4KKworICAgICAgICAqIHB1YmxpYy92Mi9pbnRlcmFjdGl2
ZS1jaGFydC5qczoKKyAgICAgICAgKEFwcC5JbnRlcmFjdGl2ZUNoYXJ0Q29tcG9uZW50Ll91cGRh
dGVEb21haW4pOiBBZGRlZCBhbiBlYXJseSBleGl0IHRvIGZpeCBhIG5ld2x5IHJldmVhbGVkIHJh
Y2UgY29uZGl0aW9uLgorICAgICAgICAoQXBwLkludGVyYWN0aXZlQ2hhcnRDb21wb25lbnQuX2Rv
bWFpbkNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKEFwcC5JbnRlcmFjdGl2ZUNoYXJ0Q29tcG9u
ZW50Ll91cGRhdGVTZWxlY3Rpb25Ub29sYmFyKTogTWFkZSBpdCByZXNwZWN0ICd6b29tYWJsZScg
Ym9vbGVhbiBwcm9wZXJ0eS4KKworICAgICAgICAqIHB1YmxpYy92Mi9qcy9zdGF0aXN0aWNzLmpz
OgorICAgICAgICAoU3RhdGlzdGljcy5taW4pOiBBZGRlZC4KKyAgICAgICAgKFN0YXRpc3RpY3Mu
bWF4KTogQWRkZWQuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvbWFuaWZlc3QuanM6CisgICAgICAg
IChBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljKTogQWRkZWQgZm9y
bWF0V2l0aERlbHRhQW5kVW5pdCB0byBiZSB1c2VkIGluIF9jcmVhdGVDb25maWd1cmF0aW9uU3Vt
bWFyeS4KKwogMjAxNS0wMi0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBCdWlsZCBVUkwgb24gbmV3IHBlcmYgZGFzaGJvYXJkIGRvZXNuJ3QgcmVzb2x2ZSAk
YnVpbGRlck5hbWUKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1
aWxkLXJlcXVlc3RzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAJKHJldmlzaW9uIDE4MDA5MikKKysrIFdlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCBmdW5jdGlvbiBtYWluKCRwYXRoLCAkcG9zdF9kYXRh
KSB7CiAKICAgICBleGl0X3dpdGhfc3VjY2VzcyhhcnJheSgKICAgICAgICAgJ2J1aWxkUmVxdWVz
dHMnID0+ICRyZXF1ZXN0c19mZXRjaGVyLT5yZXN1bHRzX3dpdGhfcmVzb2x2ZWRfaWRzKCksCi0g
ICAgICAgICdyb290U2V0cycgPT4gJHJlcXVlc3RzX2ZldGNoZXItPnJvb3Rfc2V0cygpLAorICAg
ICAgICAncm9vdFNldHMnID0+ICRyZXF1ZXN0c19mZXRjaGVyLT5yb290X3NldHNfYnlfaWQoKSwK
ICAgICAgICAgJ3VwZGF0ZXMnID0+ICR1cGRhdGVzLAogICAgICkpOwogfQpJbmRleDogV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvdGVzdC1ncm91cHMucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3Rlc3QtZ3JvdXBzLnBocAko
cmV2aXNpb24gMTgwMDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkv
dGVzdC1ncm91cHMucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTYgQEAgZnVuY3Rp
b24gbWFpbigkcGF0aCkgewogICAgICAgICAkZ3JvdXBfYnlfaWRbJGdyb3VwWydpZCddXSA9ICYk
Z3JvdXA7CiAKICAgICAkYnVpbGRfcmVxdWVzdHMgPSAkYnVpbGRfcmVxdWVzdHNfZmV0Y2hlci0+
cmVzdWx0cygpOwotICAgIGZvcmVhY2ggKCRidWlsZF9yZXF1ZXN0cyBhcyAkcmVxdWVzdCkKLSAg
ICAgICAgYXJyYXlfcHVzaCgkZ3JvdXBfYnlfaWRbJHJlcXVlc3RbJ3Rlc3RHcm91cCddXVsnYnVp
bGRSZXF1ZXN0cyddLCAkcmVxdWVzdFsnaWQnXSk7CisgICAgZm9yZWFjaCAoJGJ1aWxkX3JlcXVl
c3RzIGFzICRyZXF1ZXN0KSB7CisgICAgICAgICRyZXF1ZXN0X2dyb3VwID0gJiRncm91cF9ieV9p
ZFskcmVxdWVzdFsndGVzdEdyb3VwJ11dOworICAgICAgICBhcnJheV9wdXNoKCRyZXF1ZXN0X2dy
b3VwWydidWlsZFJlcXVlc3RzJ10sICRyZXF1ZXN0WydpZCddKTsKKyAgICAgICAgYXJyYXlfcHVz
aCgkcmVxdWVzdF9ncm91cFsncm9vdFNldHMnXSwgJHJlcXVlc3RbJ3Jvb3RTZXQnXSk7CisgICAg
fQogCi0gICAgZXhpdF93aXRoX3N1Y2Nlc3MoYXJyYXkoJ3Rlc3RHcm91cHMnID0+ICR0ZXN0X2dy
b3VwcywgJ2J1aWxkUmVxdWVzdHMnID0+ICRidWlsZF9yZXF1ZXN0cykpOworICAgIGV4aXRfd2l0
aF9zdWNjZXNzKGFycmF5KCd0ZXN0R3JvdXBzJyA9PiAkdGVzdF9ncm91cHMsCisgICAgICAgICdi
dWlsZFJlcXVlc3RzJyA9PiAkYnVpbGRfcmVxdWVzdHMsCisgICAgICAgICdyb290U2V0cycgPT4g
JGJ1aWxkX3JlcXVlc3RzX2ZldGNoZXItPnJvb3Rfc2V0cygpLAorICAgICAgICAncm9vdHMnID0+
ICRidWlsZF9yZXF1ZXN0c19mZXRjaGVyLT5yb290cygpKSk7CiB9CiAKIGZ1bmN0aW9uIGZvcm1h
dF90ZXN0X2dyb3VwKCRncm91cF9yb3cpIHsKQEAgLTUzLDYgKzU5LDcgQEAgZnVuY3Rpb24gZm9y
bWF0X3Rlc3RfZ3JvdXAoJGdyb3VwX3JvdykgewogICAgICAgICAnYXV0aG9yJyA9PiAkZ3JvdXBf
cm93Wyd0ZXN0Z3JvdXBfYXV0aG9yJ10sCiAgICAgICAgICdjcmVhdGVkQXQnID0+IHN0cnRvdGlt
ZSgkZ3JvdXBfcm93Wyd0ZXN0Z3JvdXBfY3JlYXRlZF9hdCddKSAqIDEwMDAsCiAgICAgICAgICdi
dWlsZFJlcXVlc3RzJyA9PiBhcnJheSgpLAorICAgICAgICAncm9vdFNldHMnID0+IGFycmF5KCks
CiAgICAgKTsKIH0KIApJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNs
dWRlL2J1aWxkLXJlcXVlc3RzLWZldGNoZXIucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9idWlsZC1yZXF1ZXN0cy1mZXRjaGVyLnBocAko
cmV2aXNpb24gMTgwMDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNs
dWRlL2J1aWxkLXJlcXVlc3RzLWZldGNoZXIucGhwCSh3b3JraW5nIGNvcHkpCkBAIC02LDYgKzYs
OCBAQCBjbGFzcyBCdWlsZFJlcXVlc3RzRmV0Y2hlciB7CiAgICAgZnVuY3Rpb24gX19jb25zdHJ1
Y3QoJGRiKSB7CiAgICAgICAgICR0aGlzLT5kYiA9ICRkYjsKICAgICAgICAgJHRoaXMtPnJvd3Mg
PSBudWxsOworICAgICAgICAkdGhpcy0+cm9vdF9zZXRzID0gYXJyYXkoKTsKKyAgICAgICAgJHRo
aXMtPnJvb3RzID0gYXJyYXkoKTsKICAgICAgICAgJHRoaXMtPnJvb3Rfc2V0c19ieV9pZCA9IGFy
cmF5KCk7CiAgICAgfQogCkBAIC01MCw3ICs1Miw3IEBAIGNsYXNzIEJ1aWxkUmVxdWVzdHNGZXRj
aGVyIHsKICAgICAgICAgICAgICRyb290X3NldF9pZCA9ICRyb3dbJ3JlcXVlc3Rfcm9vdF9zZXQn
XTsKIAogICAgICAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRyb290X3NldF9pZCwgJHRo
aXMtPnJvb3Rfc2V0c19ieV9pZCkpCi0gICAgICAgICAgICAgICAgJHRoaXMtPnJvb3Rfc2V0c19i
eV9pZFskcm9vdF9zZXRfaWRdID0gJHRoaXMtPmZldGNoX3Jvb3RzX2Zvcl9zZXQoJHJvb3Rfc2V0
X2lkKTsKKyAgICAgICAgICAgICAgICAkdGhpcy0+cm9vdF9zZXRzX2J5X2lkWyRyb290X3NldF9p
ZF0gPSAkdGhpcy0+ZmV0Y2hfcm9vdHNfZm9yX3NldCgkcm9vdF9zZXRfaWQsICRyZXNvbHZlX2lk
cyk7CiAKICAgICAgICAgICAgIGFycmF5X3B1c2goJHJlcXVlc3RzLCBhcnJheSgKICAgICAgICAg
ICAgICAgICAnaWQnID0+ICRyb3dbJ3JlcXVlc3RfaWQnXSwKQEAgLTY5LDE4ICs3MSwzNCBAQCBj
bGFzcyBCdWlsZFJlcXVlc3RzRmV0Y2hlciB7CiAgICAgICAgIHJldHVybiAkcmVxdWVzdHM7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gcm9vdF9zZXRzKCkgeworICAgIGZ1bmN0aW9uIHJvb3Rfc2V0
c19ieV9pZCgpIHsKICAgICAgICAgcmV0dXJuICR0aGlzLT5yb290X3NldHNfYnlfaWQ7CiAgICAg
fQogCi0gICAgcHJpdmF0ZSBmdW5jdGlvbiBmZXRjaF9yb290c19mb3Jfc2V0KCRyb290X3NldF9p
ZCkgeworICAgIGZ1bmN0aW9uIHJvb3Rfc2V0cygpIHsKKyAgICAgICAgcmV0dXJuICR0aGlzLT5y
b290X3NldHM7CisgICAgfQorCisgICAgZnVuY3Rpb24gcm9vdHMoKSB7CisgICAgICAgIHJldHVy
biAkdGhpcy0+cm9vdHM7CisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jdGlvbiBmZXRjaF9yb290
c19mb3Jfc2V0KCRyb290X3NldF9pZCwgJHJlc29sdmVfaWRzKSB7CiAgICAgICAgICRyb290X3Jv
d3MgPSAkdGhpcy0+ZGItPnF1ZXJ5X2FuZF9mZXRjaF9hbGwoJ1NFTEVDVCAqCiAgICAgICAgICAg
ICBGUk9NIHJvb3RzLCBjb21taXRzIExFRlQgT1VURVIgSk9JTiByZXBvc2l0b3JpZXMgT04gY29t
bWl0X3JlcG9zaXRvcnkgPSByZXBvc2l0b3J5X2lkCiAgICAgICAgICAgICBXSEVSRSByb290X2Nv
bW1pdCA9IGNvbW1pdF9pZCBBTkQgcm9vdF9zZXQgPSAkMScsIGFycmF5KCRyb290X3NldF9pZCkp
OwogCiAgICAgICAgICRyb290cyA9IGFycmF5KCk7Ci0gICAgICAgIGZvcmVhY2ggKCRyb290X3Jv
d3MgYXMgJHJvdykKLSAgICAgICAgICAgICRyb290c1skcm93WydyZXBvc2l0b3J5X25hbWUnXV0g
PSAkcm93Wydjb21taXRfcmV2aXNpb24nXTsKKyAgICAgICAgJHJvb3RfaWRzID0gYXJyYXkoKTsK
KyAgICAgICAgZm9yZWFjaCAoJHJvb3Rfcm93cyBhcyAkcm93KSB7CisgICAgICAgICAgICAkcmVw
b3NpdG9yeSA9ICRyb3dbJ3JlcG9zaXRvcnlfaWQnXTsKKyAgICAgICAgICAgICRyZXZpc2lvbiA9
ICRyb3dbJ2NvbW1pdF9yZXZpc2lvbiddOworICAgICAgICAgICAgJHJvb3RfaWQgPSAkcm9vdF9z
ZXRfaWQgLiAnLScgLiAkcmVwb3NpdG9yeTsKKyAgICAgICAgICAgIGFycmF5X3B1c2goJHJvb3Rf
aWRzLCAkcm9vdF9pZCk7CisgICAgICAgICAgICBhcnJheV9wdXNoKCR0aGlzLT5yb290cywgYXJy
YXkoJ2lkJyA9PiAkcm9vdF9pZCwgJ3JlcG9zaXRvcnknID0+ICRyZXBvc2l0b3J5LCAncmV2aXNp
b24nID0+ICRyZXZpc2lvbikpOworICAgICAgICAgICAgJHJvb3RzWyRyZXNvbHZlX2lkcyA/ICRy
b3dbJ3JlcG9zaXRvcnlfbmFtZSddIDogJHJvd1sncmVwb3NpdG9yeV9pZCddXSA9ICRyZXZpc2lv
bjsKKyAgICAgICAgfQorICAgICAgICBhcnJheV9wdXNoKCR0aGlzLT5yb290X3NldHMsIGFycmF5
KCdpZCcgPT4gJHJvb3Rfc2V0X2lkLCAncm9vdHMnID0+ICRyb290X2lkcykpOwogCiAgICAgICAg
IHJldHVybiAkcm9vdHM7CiAgICAgfQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1
YmxpYy92Mi9hbmFseXNpcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YyL2FuYWx5c2lzLmpzCShyZXZpc2lvbiAxODAwOTIpCisrKyBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FuYWx5c2lzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02
NSwyMSArNjUsMjggQEAgQXBwLkJ1Z0FkYXB0ZXIgPSBEUy5SRVNUQWRhcHRlci5leHRlbmQoewog
ICAgIH0KIH0pOwogCitBcHAuUm9vdCA9IEFwcC5Nb2RlbC5leHRlbmQoeworICAgIHJlcG9zaXRv
cnk6IERTLmJlbG9uZ3NUbygncmVwb3NpdG9yeScpLAorICAgIHJldmlzaW9uOiBEUy5hdHRyKCdz
dHJpbmcnKSwKK30pOworCitBcHAuUm9vdFNldCA9IEFwcC5Nb2RlbC5leHRlbmQoeworICAgIHJv
b3RzOiBEUy5oYXNNYW55KCdyb290cycpLAorICAgIHJldmlzaW9uRm9yUmVwb3NpdG9yeTogZnVu
Y3Rpb24gKHJlcG9zaXRvcnkpCisgICAgeworICAgICAgICB2YXIgcm9vdCA9IHRoaXMuZ2V0KCdy
b290cycpLmZpbmRCeSgncmVwb3NpdG9yeScsIHJlcG9zaXRvcnkpOworICAgICAgICBpZiAoIXJv
b3QpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgcmV0dXJuIHJvb3QuZ2V0KCdy
ZXZpc2lvbicpOworICAgIH0KK30pOworCiBBcHAuVGVzdEdyb3VwID0gQXBwLk5hbWVMYWJlbE1v
ZGVsLmV4dGVuZCh7CiAgICAgdGFzazogRFMuYmVsb25nc1RvKCdhbmFseXNpc1Rhc2snKSwKICAg
ICBhdXRob3I6IERTLmF0dHIoJ3N0cmluZycpLAogICAgIGNyZWF0ZWRBdDogRFMuYXR0cignZGF0
ZScpLAogICAgIGJ1aWxkUmVxdWVzdHM6IERTLmhhc01hbnkoJ2J1aWxkUmVxdWVzdHMnKSwKLSAg
ICByb290U2V0czogZnVuY3Rpb24gKCkKLSAgICB7Ci0gICAgICAgIHZhciByb290U2V0SWRzID0g
W107Ci0gICAgICAgIHRoaXMuZ2V0KCdidWlsZFJlcXVlc3RzJykuZm9yRWFjaChmdW5jdGlvbiAo
cmVxdWVzdCkgewotICAgICAgICAgICAgdmFyIHJvb3RTZXQgPSByZXF1ZXN0LmdldCgncm9vdFNl
dCcpOwotICAgICAgICAgICAgaWYgKCFyb290U2V0SWRzLmNvbnRhaW5zKHJvb3RTZXQpKQotICAg
ICAgICAgICAgICAgIHJvb3RTZXRJZHMucHVzaChyb290U2V0KTsKLSAgICAgICAgfSk7Ci0gICAg
ICAgIHJldHVybiByb290U2V0SWRzOwotICAgIH0ucHJvcGVydHkoJ2J1aWxkUmVxdWVzdHMnKSwK
KyAgICByb290U2V0czogRFMuaGFzTWFueSgncm9vdFNldHMnKSwKICAgICBfZmV0Y2hDaGFydERh
dGE6IGZ1bmN0aW9uICgpCiAgICAgewogICAgICAgICB2YXIgdGFzayA9IHRoaXMuZ2V0KCd0YXNr
Jyk7CkBAIC0xNDQsMTMgKzE1MSw3IEBAIEFwcC5CdWlsZFJlcXVlc3QgPSBBcHAuTW9kZWwuZXh0
ZW5kKHsKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLmdldCgnb3JkZXInKSArIDE7CiAgICAg
fS5wcm9wZXJ0eSgnb3JkZXInKSwKLSAgICByb290U2V0OiBEUy5hdHRyKCdudW1iZXInKSwKLSAg
ICBjb25maWdMZXR0ZXI6IGZ1bmN0aW9uICgpCi0gICAgewotICAgICAgICB2YXIgcm9vdFNldHMg
PSB0aGlzLmdldCgndGVzdEdyb3VwJykuZ2V0KCdyb290U2V0cycpOwotICAgICAgICB2YXIgaW5k
ZXggPSByb290U2V0cy5pbmRleE9mKHRoaXMuZ2V0KCdyb290U2V0JykpOwotICAgICAgICByZXR1
cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGluZGV4KTsKLSAgICB9
LnByb3BlcnR5KCd0ZXN0R3JvdXAnLCAndGVzdEdyb3VwLnJvb3RTZXRzJyksCisgICAgcm9vdFNl
dDogRFMuYmVsb25nc1RvKCdyb290U2V0JyksCiAgICAgc3RhdHVzOiBEUy5hdHRyKCdzdHJpbmcn
KSwKICAgICBzdGF0dXNMYWJlbDogZnVuY3Rpb24gKCkKICAgICB7CkBAIC0xNjQsMjQgKzE2NSwz
MyBAQCBBcHAuQnVpbGRSZXF1ZXN0ID0gQXBwLk1vZGVsLmV4dGVuZCh7CiAgICAgICAgIGNhc2Ug
J2ZhaWxlZCc6CiAgICAgICAgICAgICByZXR1cm4gJ0ZhaWxlZCc7CiAgICAgICAgIGNhc2UgJ2Nv
bXBsZXRlZCc6Ci0gICAgICAgICAgICByZXR1cm4gJ0ZpbmlzaGVkJzsKKyAgICAgICAgICAgIHJl
dHVybiAnQ29tcGxldGVkJzsKICAgICAgICAgfQogICAgIH0ucHJvcGVydHkoJ3N0YXR1cycpLAog
ICAgIHVybDogRFMuYXR0cignc3RyaW5nJyksCiAgICAgYnVpbGQ6IERTLmF0dHIoJ251bWJlcicp
LAotICAgIF9mZXRjaE1lYW46IGZ1bmN0aW9uICgpCi0gICAgewotICAgICAgICB2YXIgdGVzdEdy
b3VwID0gdGhpcy5nZXQoJ3Rlc3RHcm91cCcpOwotICAgICAgICBpZiAoIXRlc3RHcm91cCkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFyIGNoYXJ0RGF0YSA9IHRlc3RHcm91cC5nZXQo
J2NoYXJ0RGF0YScpOwotICAgICAgICBpZiAoIWNoYXJ0RGF0YSkKLSAgICAgICAgICAgIHJldHVy
bjsKLQotICAgICAgICB2YXIgcG9pbnQgPSBjaGFydERhdGEuY3VycmVudC5maW5kUG9pbnRCeUJ1
aWxkKHRoaXMuZ2V0KCdidWlsZCcpKTsKLSAgICAgICAgaWYgKCFwb2ludCkKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgdGhpcy5zZXQoJ21lYW4nLCBjaGFydERhdGEuZm9ybWF0dGVyKHBv
aW50LnZhbHVlKSArIChjaGFydERhdGEudW5pdCA/ICcgJyArIGNoYXJ0RGF0YS51bml0IDogJycp
KTsKLSAgICAgICAgdGhpcy5zZXQoJ2J1aWxkTnVtYmVyJywgcG9pbnQubWVhc3VyZW1lbnQuYnVp
bGROdW1iZXIoKSk7Ci0gICAgfS5vYnNlcnZlcygnYnVpbGQnLCAndGVzdEdyb3VwJywgJ3Rlc3RH
cm91cC5jaGFydERhdGEnKS5vbignaW5pdCcpLAogfSk7CisKK0FwcC5CdWlsZFJlcXVlc3QuYWdn
cmVnYXRlU3RhdHVzZXMgPSBmdW5jdGlvbiAocmVxdWVzdHMpCit7CisgICAgdmFyIGNvbXBsZXRl
Q291bnQgPSAwOworICAgIHZhciBmYWlsdXJlQ291bnQgPSAwOworICAgIHJlcXVlc3RzLmZvckVh
Y2goZnVuY3Rpb24gKHJlcXVlc3QpIHsKKyAgICAgICAgc3dpdGNoIChyZXF1ZXN0LmdldCgnc3Rh
dHVzJykpIHsKKyAgICAgICAgY2FzZSAnZmFpbGVkJzoKKyAgICAgICAgICAgIGZhaWx1cmVDb3Vu
dCsrOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6CisgICAg
ICAgICAgICBjb21wbGV0ZUNvdW50Kys7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgIH0pOworICAgIGlmIChjb21wbGV0ZUNvdW50ID09IHJlcXVlc3RzLmxlbmd0aCkKKyAgICAg
ICAgcmV0dXJuICdEb25lJzsKKyAgICBpZiAoZmFpbHVyZUNvdW50ID09IHJlcXVlc3RzLmxlbmd0
aCkKKyAgICAgICAgcmV0dXJuICdBbGwgZmFpbGVkJzsKKyAgICB2YXIgc3RhdHVzID0gY29tcGxl
dGVDb3VudCArICcgb3V0IG9mICcgKyByZXF1ZXN0cy5sZW5ndGggKyAnIGNvbXBsZXRlZCc7Cisg
ICAgaWYgKGZhaWx1cmVDb3VudCkKKyAgICAgICAgc3RhdHVzICs9ICcsICcgKyBmYWlsdXJlQ291
bnQgKyAnIGZhaWxlZCc7CisgICAgcmV0dXJuIHN0YXR1czsKK30KSW5kZXg6IFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5jc3MJKHJldmlzaW9uIDE4MDA5MikKKysrIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmNzcwkod29ya2luZyBjb3B5KQpA
QCAtNDUxLDYgKzQ1MSw0OSBAQCB0YWJsZS5kYXNoYm9hcmQgdGJvZHkgdGQgLmZhaWx1cmUgewog
ICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZGRkOwogfQogCisuYW5hbHlzaXMtZ3JvdXAgLnJl
c3VsdHMgLnN1bW1hcnkgdGQgeworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cit9CisKKy5hbmFs
eXNpcy1ncm91cCAucmVzdWx0cyB0aGVhZCB0ZCB7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOwor
fQorCisuYW5hbHlzaXMtZ3JvdXAgLnJlc3VsdHMgLmNvbmZpZy1sZXR0ZXIsCisuYW5hbHlzaXMt
Z3JvdXAgLnJlc3VsdHMgLnN1bW1hcnkgeworICAgIGN1cnNvcjogcG9pbnRlcjsKK30KKworLmFu
YWx5c2lzLWdyb3VwIC5yZXN1bHRzIC5yZXF1ZXN0IC5jb25maWctbGV0dGVyIHsKKyAgICBib3Jk
ZXItY29sb3I6IHRyYW5zcGFyZW50OworfQorCisuYW5hbHlzaXMtZ3JvdXAgLnJlc3VsdHMgLmhp
ZGVSZXF1ZXN0cyAucmVxdWVzdCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLmJveC1wbG90
IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhl
aWdodDogMC42cmVtOworICAgIGJvcmRlcjogc29saWQgMXB4ICNkZGQ7CisgICAgcGFkZGluZzog
MXB4OworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CisKKy5ib3gtcGxvdCAucGVyY2Vu
dGFnZSB7CisgICAgZmlsbDogI2NjYzsKK30KKworLmJveC1wbG90IC5kZWx0YSB7CisgICAgZmls
bDogIzMzMzsKKyAgICBvcGFjaXR5OiAwLjU7Cit9CisKKy5ib3gtcGxvdCBzdmcgeworICAgIGRp
c3BsYXk6IGJsb2NrOworfQorCiAjYW5hbHlzaXMtdGFzay10aXRsZSB7CiAgICAgZm9udC13ZWln
aHQ6IG5vcm1hbDsKICAgICBmb250LXNpemU6IDEuMnJlbTsKQEAgLTQ3MCwxNSArNTEzLDI3IEBA
IHRhYmxlLmRhc2hib2FyZCB0Ym9keSB0ZCAuZmFpbHVyZSB7CiAgICAgYm9yZGVyOiAxcHggc29s
aWQgI2JiYjsKICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07CiAgICAgYm94LXNoYWRvdzogcmdi
YSgwLCAwLCAwLCAwLjAzKSAxcHggMXB4IDBweCAwcHg7Ci0KLSAgICBwYWRkaW5nOiAwLjVyZW0g
MXJlbTsKICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiB9CiAKLS5hbmFseXNpcy1ncm91cCBj
YXB0aW9uIHsKKy5hbmFseXNpcy1ncm91cCA+ICogeworICAgIG1hcmdpbjogMC41cmVtOworfQor
CisuYW5hbHlzaXMtZ3JvdXAgPiBoMSB7CiAgICAgZm9udC1zaXplOiAxLjFyZW07CisgICAgZm9u
dC13ZWlnaHQ6IG5vcm1hbDsKICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgIG1hcmdpbi1ib3R0
b206IDAuNXJlbTsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjsKKyAgICBtYXJn
aW46IDA7CisgICAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTsKK30KKworLmFuYWx5c2lzLWdyb3Vw
IGgxID4gaW5wdXQgeworICAgIGZvbnQtc2l6ZTogMXJlbTsKKyAgICBtaW4td2lkdGg6IDIwcmVt
OworICAgIG1hcmdpbjogMC4ycmVtIDA7CiB9CiAKIC5hbmFseXNpcy1idWdzIHRoIHsKSW5kZXg6
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCShyZXZpc2lvbiAxODAw
OTIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMjk3LDYgKzI5Nyw4IEBAIEFwcC5QYW5lID0gRW1iZXIuT2JqZWN0LmV4dGVu
ZCh7CiAgICAgbWV0cmljSWQ6IG51bGwsCiAgICAgbWV0cmljOiBudWxsLAogICAgIHNlbGVjdGVk
SXRlbTogbnVsbCwKKyAgICBzZWxlY3RlZFBvaW50czogbnVsbCwKKyAgICBob3ZlcmVkT3JTZWxl
Y3RlZEl0ZW06IG51bGwsCiAgICAgc2hvd0Z1bGxZQXhpczogZmFsc2UsCiAgICAgc2VhcmNoQ29t
bWl0OiBmdW5jdGlvbiAocmVwb3NpdG9yeSwga2V5d29yZCkgewogICAgICAgICB2YXIgc2VsZiA9
IHRoaXM7CkBAIC01MzgsNiArNTQwLDU2IEBAIEFwcC5QYW5lID0gRW1iZXIuT2JqZWN0LmV4dGVu
ZCh7CiAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShjb25maWcpICE9IEpTT04uc3RyaW5naWZ5
KHRoaXMuZ2V0KGNvbmZpZ05hbWUpKSkKICAgICAgICAgICAgIHRoaXMuc2V0KGNvbmZpZ05hbWUs
IGNvbmZpZyk7CiAgICAgfSwKKyAgICBfdXBkYXRlRGV0YWlsczogZnVuY3Rpb24gKCkKKyAgICB7
CisgICAgICAgIHZhciBzZWxlY3RlZFBvaW50cyA9IHRoaXMuZ2V0KCdzZWxlY3RlZFBvaW50cycp
OworICAgICAgICB2YXIgY3VycmVudFBvaW50ID0gdGhpcy5nZXQoJ2hvdmVyZWRPclNlbGVjdGVk
SXRlbScpOworICAgICAgICBpZiAoIXNlbGVjdGVkUG9pbnRzICYmICFjdXJyZW50UG9pbnQpIHsK
KyAgICAgICAgICAgIHRoaXMuc2V0KCdkZXRhaWxzJywgbnVsbCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICB2YXIgY3VycmVudE1lYXN1cmVtZW50OworICAgICAg
ICB2YXIgcHJldmlvdXNQb2ludDsKKyAgICAgICAgaWYgKCFzZWxlY3RlZFBvaW50cykKKyAgICAg
ICAgICAgIHByZXZpb3VzUG9pbnQgPSBjdXJyZW50UG9pbnQuc2VyaWVzLnByZXZpb3VzUG9pbnQo
Y3VycmVudFBvaW50KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBjdXJyZW50UG9pbnQg
PSBzZWxlY3RlZFBvaW50c1tzZWxlY3RlZFBvaW50cy5sZW5ndGggLSAxXTsKKyAgICAgICAgICAg
IHByZXZpb3VzUG9pbnQgPSBzZWxlY3RlZFBvaW50c1swXTsKKyAgICAgICAgfQorICAgICAgICB2
YXIgY3VycmVudE1lYXN1cmVtZW50ID0gY3VycmVudFBvaW50Lm1lYXN1cmVtZW50OworICAgICAg
ICB2YXIgb2xkTWVhc3VyZW1lbnQgPSBwcmV2aW91c1BvaW50ID8gcHJldmlvdXNQb2ludC5tZWFz
dXJlbWVudCA6IG51bGw7CisKKyAgICAgICAgdmFyIGZvcm1hdHRlZFJldmlzaW9ucyA9IGN1cnJl
bnRNZWFzdXJlbWVudC5mb3JtYXR0ZWRSZXZpc2lvbnMob2xkTWVhc3VyZW1lbnQpOworICAgICAg
ICB2YXIgcmV2aXNpb25zID0gQXBwLk1hbmlmZXN0LmdldCgncmVwb3NpdG9yaWVzJykKKyAgICAg
ICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKHJlcG9zaXRvcnkpIHsgcmV0dXJuIGZvcm1hdHRlZFJl
dmlzaW9uc1tyZXBvc2l0b3J5LmdldCgnaWQnKV07IH0pCisgICAgICAgICAgICAubWFwKGZ1bmN0
aW9uIChyZXBvc2l0b3J5KSB7CisgICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBFbWJlci5PYmpl
Y3QuY3JlYXRlKGZvcm1hdHRlZFJldmlzaW9uc1tyZXBvc2l0b3J5LmdldCgnaWQnKV0pOworICAg
ICAgICAgICAgcmV2aXNpb25bJ3VybCddID0gcmV2aXNpb24ucHJldmlvdXNSZXZpc2lvbgorICAg
ICAgICAgICAgICAgID8gcmVwb3NpdG9yeS51cmxGb3JSZXZpc2lvblJhbmdlKHJldmlzaW9uLnBy
ZXZpb3VzUmV2aXNpb24sIHJldmlzaW9uLmN1cnJlbnRSZXZpc2lvbikKKyAgICAgICAgICAgICAg
ICA6IHJlcG9zaXRvcnkudXJsRm9yUmV2aXNpb24ocmV2aXNpb24uY3VycmVudFJldmlzaW9uKTsK
KyAgICAgICAgICAgIHJldmlzaW9uWyduYW1lJ10gPSByZXBvc2l0b3J5LmdldCgnbmFtZScpOwor
ICAgICAgICAgICAgcmV2aXNpb25bJ3JlcG9zaXRvcnknXSA9IHJlcG9zaXRvcnk7CisgICAgICAg
ICAgICByZXR1cm4gcmV2aXNpb247IAorICAgICAgICB9KTsKKworICAgICAgICB2YXIgYnVpbGRO
dW1iZXIgPSBudWxsOworICAgICAgICB2YXIgYnVpbGRVUkwgPSBudWxsOworICAgICAgICBpZiAo
IXNlbGVjdGVkUG9pbnRzKSB7CisgICAgICAgICAgICBidWlsZE51bWJlciA9IGN1cnJlbnRNZWFz
dXJlbWVudC5idWlsZE51bWJlcigpOworICAgICAgICAgICAgdmFyIGJ1aWxkZXIgPSBBcHAuTWFu
aWZlc3QuYnVpbGRlcihjdXJyZW50TWVhc3VyZW1lbnQuYnVpbGRlcklkKCkpOworICAgICAgICAg
ICAgaWYgKGJ1aWxkZXIpCisgICAgICAgICAgICAgICAgYnVpbGRVUkwgPSBidWlsZGVyLnVybEZy
b21CdWlsZE51bWJlcihidWlsZE51bWJlcik7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnNl
dCgnZGV0YWlscycsIEVtYmVyLk9iamVjdC5jcmVhdGUoeworICAgICAgICAgICAgc3RhdHVzOiB0
aGlzLmNvbXB1dGVTdGF0dXMoY3VycmVudFBvaW50LCBwcmV2aW91c1BvaW50KSwKKyAgICAgICAg
ICAgIGJ1aWxkTnVtYmVyOiBidWlsZE51bWJlciwKKyAgICAgICAgICAgIGJ1aWxkVVJMOiBidWls
ZFVSTCwKKyAgICAgICAgICAgIGJ1aWxkVGltZTogY3VycmVudE1lYXN1cmVtZW50LmZvcm1hdHRl
ZEJ1aWxkVGltZSgpLAorICAgICAgICAgICAgcmV2aXNpb25zOiByZXZpc2lvbnMsCisgICAgICAg
IH0pKTsKKyAgICB9Lm9ic2VydmVzKCdob3ZlcmVkT3JTZWxlY3RlZEl0ZW0nLCAnc2VsZWN0ZWRQ
b2ludHMnKSwKIH0pOwogCiBBcHAuZW5jb2RlUHJldHRpZmllZEpTT04gPSBmdW5jdGlvbiAocGxh
aW4pCkBAIC05MDAsNjUgKzk1MiwxMyBAQCBBcHAuUGFuZUNvbnRyb2xsZXIgPSBFbWJlci5PYmpl
Y3RDb250cm9sCiAgICAgICAgIHRoaXMuc2V0KCdtYWluUGxvdERvbWFpbicsIG5ld1NlbGVjdGlv
biB8fCB0aGlzLmdldCgnb3ZlcnZpZXdEb21haW4nKSk7CiAgICAgICAgIHRoaXMuc2V0KCdvdmVy
dmlld1NlbGVjdGlvbicsIG5ld1NlbGVjdGlvbik7CiAgICAgfS5vYnNlcnZlcygncGFyZW50Q29u
dHJvbGxlci5zaGFyZWRab29tJykub24oJ2luaXQnKSwKLSAgICBfdXBkYXRlRGV0YWlsczogZnVu
Y3Rpb24gKCkKLSAgICB7Ci0gICAgICAgIHZhciBzZWxlY3RlZFBvaW50cyA9IHRoaXMuZ2V0KCdz
ZWxlY3RlZFBvaW50cycpOwotICAgICAgICB2YXIgY3VycmVudFBvaW50ID0gdGhpcy5nZXQoJ2N1
cnJlbnRJdGVtJyk7Ci0gICAgICAgIGlmICghc2VsZWN0ZWRQb2ludHMgJiYgIWN1cnJlbnRQb2lu
dCkgewotICAgICAgICAgICAgdGhpcy5zZXQoJ2RldGFpbHMnLCBudWxsKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBjdXJyZW50TWVhc3VyZW1lbnQ7Ci0g
ICAgICAgIHZhciBwcmV2aW91c1BvaW50OwotICAgICAgICBpZiAoIXNlbGVjdGVkUG9pbnRzKQot
ICAgICAgICAgICAgcHJldmlvdXNQb2ludCA9IGN1cnJlbnRQb2ludC5zZXJpZXMucHJldmlvdXNQ
b2ludChjdXJyZW50UG9pbnQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGN1cnJlbnRQ
b2ludCA9IHNlbGVjdGVkUG9pbnRzW3NlbGVjdGVkUG9pbnRzLmxlbmd0aCAtIDFdOwotICAgICAg
ICAgICAgcHJldmlvdXNQb2ludCA9IHNlbGVjdGVkUG9pbnRzWzBdOwotICAgICAgICB9Ci0gICAg
ICAgIHZhciBjdXJyZW50TWVhc3VyZW1lbnQgPSBjdXJyZW50UG9pbnQubWVhc3VyZW1lbnQ7Ci0g
ICAgICAgIHZhciBvbGRNZWFzdXJlbWVudCA9IHByZXZpb3VzUG9pbnQgPyBwcmV2aW91c1BvaW50
Lm1lYXN1cmVtZW50IDogbnVsbDsKLQotICAgICAgICB2YXIgZm9ybWF0dGVkUmV2aXNpb25zID0g
Y3VycmVudE1lYXN1cmVtZW50LmZvcm1hdHRlZFJldmlzaW9ucyhvbGRNZWFzdXJlbWVudCk7Ci0g
ICAgICAgIHZhciByZXZpc2lvbnMgPSBBcHAuTWFuaWZlc3QuZ2V0KCdyZXBvc2l0b3JpZXMnKQot
ICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAocmVwb3NpdG9yeSkgeyByZXR1cm4gZm9ybWF0
dGVkUmV2aXNpb25zW3JlcG9zaXRvcnkuZ2V0KCdpZCcpXTsgfSkKLSAgICAgICAgICAgIC5tYXAo
ZnVuY3Rpb24gKHJlcG9zaXRvcnkpIHsKLSAgICAgICAgICAgIHZhciByZXZpc2lvbiA9IEVtYmVy
Lk9iamVjdC5jcmVhdGUoZm9ybWF0dGVkUmV2aXNpb25zW3JlcG9zaXRvcnkuZ2V0KCdpZCcpXSk7
Ci0gICAgICAgICAgICByZXZpc2lvblsndXJsJ10gPSByZXZpc2lvbi5wcmV2aW91c1JldmlzaW9u
Ci0gICAgICAgICAgICAgICAgPyByZXBvc2l0b3J5LnVybEZvclJldmlzaW9uUmFuZ2UocmV2aXNp
b24ucHJldmlvdXNSZXZpc2lvbiwgcmV2aXNpb24uY3VycmVudFJldmlzaW9uKQotICAgICAgICAg
ICAgICAgIDogcmVwb3NpdG9yeS51cmxGb3JSZXZpc2lvbihyZXZpc2lvbi5jdXJyZW50UmV2aXNp
b24pOwotICAgICAgICAgICAgcmV2aXNpb25bJ25hbWUnXSA9IHJlcG9zaXRvcnkuZ2V0KCduYW1l
Jyk7Ci0gICAgICAgICAgICByZXZpc2lvblsncmVwb3NpdG9yeSddID0gcmVwb3NpdG9yeTsKLSAg
ICAgICAgICAgIHJldHVybiByZXZpc2lvbjsgCi0gICAgICAgIH0pOwotCi0gICAgICAgIHZhciBi
dWlsZE51bWJlciA9IG51bGw7Ci0gICAgICAgIHZhciBidWlsZFVSTCA9IG51bGw7Ci0gICAgICAg
IGlmICghc2VsZWN0ZWRQb2ludHMpIHsKLSAgICAgICAgICAgIGJ1aWxkTnVtYmVyID0gY3VycmVu
dE1lYXN1cmVtZW50LmJ1aWxkTnVtYmVyKCk7Ci0gICAgICAgICAgICB2YXIgYnVpbGRlciA9IEFw
cC5NYW5pZmVzdC5idWlsZGVyKGN1cnJlbnRNZWFzdXJlbWVudC5idWlsZGVySWQoKSk7Ci0gICAg
ICAgICAgICBpZiAoYnVpbGRlcikKLSAgICAgICAgICAgICAgICBidWlsZFVSTCA9IGJ1aWxkZXIu
dXJsRnJvbUJ1aWxkTnVtYmVyKGJ1aWxkTnVtYmVyKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRo
aXMuc2V0KCdkZXRhaWxzJywgRW1iZXIuT2JqZWN0LmNyZWF0ZSh7Ci0gICAgICAgICAgICBzdGF0
dXM6IHRoaXMuZ2V0KCdtb2RlbCcpLmNvbXB1dGVTdGF0dXMoY3VycmVudFBvaW50LCBwcmV2aW91
c1BvaW50KSwKLSAgICAgICAgICAgIGJ1aWxkTnVtYmVyOiBidWlsZE51bWJlciwKLSAgICAgICAg
ICAgIGJ1aWxkVVJMOiBidWlsZFVSTCwKLSAgICAgICAgICAgIGJ1aWxkVGltZTogY3VycmVudE1l
YXN1cmVtZW50LmZvcm1hdHRlZEJ1aWxkVGltZSgpLAotICAgICAgICAgICAgcmV2aXNpb25zOiBy
ZXZpc2lvbnMsCi0gICAgICAgIH0pKTsKLSAgICAgICAgdGhpcy5fdXBkYXRlQ2FuQW5hbHl6ZSgp
OwotICAgIH0ub2JzZXJ2ZXMoJ2N1cnJlbnRJdGVtJywgJ3NlbGVjdGVkUG9pbnRzJyksCiAgICAg
X3VwZGF0ZUNhbkFuYWx5emU6IGZ1bmN0aW9uICgpCiAgICAgewotICAgICAgICB2YXIgcG9pbnRz
ID0gdGhpcy5nZXQoJ3NlbGVjdGVkUG9pbnRzJyk7CisgICAgICAgIHZhciBwb2ludHMgPSB0aGlz
LmdldCgnbW9kZWwnKS5nZXQoJ3NlbGVjdGVkUG9pbnRzJyk7CiAgICAgICAgIHRoaXMuc2V0KCdj
YW5ub3RBbmFseXplJywgIXRoaXMuZ2V0KCduZXdBbmFseXNpc1Rhc2tOYW1lJykgfHwgIXBvaW50
cyB8fCBwb2ludHMubGVuZ3RoIDwgMik7Ci0gICAgfS5vYnNlcnZlcygnbmV3QW5hbHlzaXNUYXNr
TmFtZScpLAorICAgIH0ub2JzZXJ2ZXMoJ25ld0FuYWx5c2lzVGFza05hbWUnLCAnbW9kZWwuc2Vs
ZWN0ZWRQb2ludHMnKSwKIH0pOwogCi0KIEFwcC5BbmFseXNpc1JvdXRlID0gRW1iZXIuUm91dGUu
ZXh0ZW5kKHsKICAgICBtb2RlbDogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gdGhpcy5z
dG9yZS5maW5kQWxsKCdhbmFseXNpc1Rhc2snKS50aGVuKGZ1bmN0aW9uICh0YXNrcykgewpAQCAt
OTc4LDcgKzk3OCw3IEBAIEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyID0gRW1iZXIuQ29udHIK
ICAgICBsYWJlbDogRW1iZXIuY29tcHV0ZWQuYWxpYXMoJ21vZGVsLm5hbWUnKSwKICAgICBwbGF0
Zm9ybTogRW1iZXIuY29tcHV0ZWQuYWxpYXMoJ21vZGVsLnBsYXRmb3JtJyksCiAgICAgbWV0cmlj
OiBFbWJlci5jb21wdXRlZC5hbGlhcygnbW9kZWwubWV0cmljJyksCi0gICAgdGVzdEdyb3Vwczog
RW1iZXIuY29tcHV0ZWQuYWxpYXMoJ21vZGVsLnRlc3RHcm91cHMnKSwKKyAgICBkZXRhaWxzOiBF
bWJlci5jb21wdXRlZC5hbGlhcygncGFuZS5kZXRhaWxzJyksCiAgICAgdGVzdFNldHM6IFtdLAog
ICAgIHJvb3RzOiBbXSwKICAgICBidWdUcmFja2VyczogW10sCkBAIC05ODksMTAgKzk4OSwxMiBA
QCBBcHAuQW5hbHlzaXNUYXNrQ29udHJvbGxlciA9IEVtYmVyLkNvbnRyCiAgICAgICAgIGlmICgh
bW9kZWwpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHBsYXRmb3JtSWQgPSBt
b2RlbC5nZXQoJ3BsYXRmb3JtJykuZ2V0KCdpZCcpOwotICAgICAgICB2YXIgbWV0cmljSWQgPSBt
b2RlbC5nZXQoJ21ldHJpYycpLmdldCgnaWQnKTsKICAgICAgICAgQXBwLk1hbmlmZXN0LmZldGNo
KHRoaXMuc3RvcmUpLnRoZW4odGhpcy5fZmV0Y2hlZE1hbmlmZXN0LmJpbmQodGhpcykpOwotICAg
ICAgICBBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljKHRoaXMuc3Rv
cmUsIHBsYXRmb3JtSWQsIG1ldHJpY0lkKS50aGVuKHRoaXMuX2ZldGNoZWRSdW5zLmJpbmQodGhp
cykpOworICAgICAgICB0aGlzLnNldCgncGFuZScsIEFwcC5QYW5lLmNyZWF0ZSh7CisgICAgICAg
ICAgICBzdG9yZTogdGhpcy5zdG9yZSwKKyAgICAgICAgICAgIHBsYXRmb3JtSWQ6IG1vZGVsLmdl
dCgncGxhdGZvcm0nKS5nZXQoJ2lkJyksCisgICAgICAgICAgICBtZXRyaWNJZDogbW9kZWwuZ2V0
KCdtZXRyaWMnKS5nZXQoJ2lkJyksCisgICAgICAgIH0pKTsKICAgICB9Lm9ic2VydmVzKCdtb2Rl
bCcpLm9uKCdpbml0JyksCiAgICAgX2ZldGNoZWRNYW5pZmVzdDogZnVuY3Rpb24gKCkKICAgICB7
CkBAIC0xMDEwLDE3ICsxMDEyLDI0IEBAIEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyID0gRW1i
ZXIuQ29udHIKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KSk7CiAgICAgfSwKLSAgICBfZmV0
Y2hlZFJ1bnM6IGZ1bmN0aW9uIChyZXN1bHQpCisgICAgcGFuZURvbWFpbjogZnVuY3Rpb24gKCkK
ICAgICB7Ci0gICAgICAgIHZhciBjaGFydERhdGEgPSByZXN1bHQuZGF0YTsKKyAgICAgICAgdmFy
IHBhbmUgPSB0aGlzLmdldCgncGFuZScpOworICAgICAgICBpZiAoIXBhbmUpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgdmFyIGNoYXJ0RGF0YSA9IHBhbmUuZ2V0KCdjaGFydERhdGEn
KTsKKyAgICAgICAgaWYgKCFjaGFydERhdGEpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKwog
ICAgICAgICB2YXIgY3VycmVudFRpbWVTZXJpZXMgPSBjaGFydERhdGEuY3VycmVudDsKICAgICAg
ICAgaWYgKCFjdXJyZW50VGltZVNlcmllcykKLSAgICAgICAgICAgIHJldHVybjsgLy8gRklYTUU6
IFJlcG9ydCBhbiBlcnJvci4KKyAgICAgICAgICAgIHJldHVybiBudWxsOyAvLyBGSVhNRTogUmVw
b3J0IGFuIGVycm9yLgogCiAgICAgICAgIHZhciBzdGFydCA9IGN1cnJlbnRUaW1lU2VyaWVzLmZp
bmRQb2ludEJ5TWVhc3VyZW1lbnRJZCh0aGlzLmdldCgnbW9kZWwnKS5nZXQoJ3N0YXJ0UnVuJykp
OwogICAgICAgICB2YXIgZW5kID0gY3VycmVudFRpbWVTZXJpZXMuZmluZFBvaW50QnlNZWFzdXJl
bWVudElkKHRoaXMuZ2V0KCdtb2RlbCcpLmdldCgnZW5kUnVuJykpOwogICAgICAgICBpZiAoIXN0
YXJ0IHx8ICFlbmQpCi0gICAgICAgICAgICByZXR1cm47IC8vIEZJWE1FOiBSZXBvcnQgYW4gZXJy
b3IuCisgICAgICAgICAgICByZXR1cm4gbnVsbDsgLy8gRklYTUU6IFJlcG9ydCBhbiBlcnJvci4K
IAogICAgICAgICB2YXIgaGlnaGxpZ2h0ZWRJdGVtcyA9IHt9OwogICAgICAgICBoaWdobGlnaHRl
ZEl0ZW1zW3N0YXJ0Lm1lYXN1cmVtZW50LmlkKCldID0gdHJ1ZTsKQEAgLTEwMzEsMTYgKzEwNDAs
MTYgQEAgQXBwLkFuYWx5c2lzVGFza0NvbnRyb2xsZXIgPSBFbWJlci5Db250cgogICAgICAgICAg
ICAgICAgIGlkOiBwb2ludC5tZWFzdXJlbWVudC5pZCgpLAogICAgICAgICAgICAgICAgIG1lYXN1
cmVtZW50OiBwb2ludC5tZWFzdXJlbWVudCwKICAgICAgICAgICAgICAgICBsYWJlbDogJ1BvaW50
ICcgKyAoaW5kZXggKyAxKSwKLSAgICAgICAgICAgICAgICB2YWx1ZTogY2hhcnREYXRhLmZvcm1h
dHRlcihwb2ludC52YWx1ZSkgKyAoY2hhcnREYXRhLnVuaXQgPyAnICcgKyBjaGFydERhdGEudW5p
dCA6ICcnKSwKKyAgICAgICAgICAgICAgICB2YWx1ZTogY2hhcnREYXRhLmZvcm1hdFdpdGhVbml0
KHBvaW50LnZhbHVlKSwKICAgICAgICAgICAgIH07CiAgICAgICAgIH0pOwogCiAgICAgICAgIHZh
ciBtYXJnaW4gPSAoZW5kLnRpbWUgLSBzdGFydC50aW1lKSAqIDAuMTsKLSAgICAgICAgdGhpcy5z
ZXQoJ2NoYXJ0RGF0YScsIGNoYXJ0RGF0YSk7Ci0gICAgICAgIHRoaXMuc2V0KCdjaGFydERvbWFp
bicsIFtzdGFydC50aW1lIC0gbWFyZ2luLCArZW5kLnRpbWUgKyBtYXJnaW5dKTsKICAgICAgICAg
dGhpcy5zZXQoJ2hpZ2hsaWdodGVkSXRlbXMnLCBoaWdobGlnaHRlZEl0ZW1zKTsKICAgICAgICAg
dGhpcy5zZXQoJ2FuYWx5c2lzUG9pbnRzJywgZm9ybWF0ZWRQb2ludHMpOwotICAgIH0sCisKKyAg
ICAgICAgcmV0dXJuIFtzdGFydC50aW1lIC0gbWFyZ2luLCArZW5kLnRpbWUgKyBtYXJnaW5dOwor
ICAgIH0ucHJvcGVydHkoJ3BhbmUuY2hhcnREYXRhJywgJ21vZGVsJywgJ21vZGVsJyksCiAgICAg
dGVzdFNldHM6IGZ1bmN0aW9uICgpCiAgICAgewogICAgICAgICB2YXIgYW5hbHlzaXNQb2ludHMg
PSB0aGlzLmdldCgnYW5hbHlzaXNQb2ludHMnKTsKQEAgLTExMTUsNiArMTEyNCwxNiBAQCBBcHAu
QW5hbHlzaXNUYXNrQ29udHJvbGxlciA9IEVtYmVyLkNvbnRyCiAgICAgICAgICAgICB9KSk7CiAg
ICAgICAgIH0pOwogICAgIH0ub2JzZXJ2ZXMoJ2FuYWx5c2lzUG9pbnRzJyksCisgICAgdXBkYXRl
VGVzdEdyb3VwUGFuZXM6IGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICB2YXIgbW9kZWwgPSB0
aGlzLmdldCgnbW9kZWwnKTsKKyAgICAgICAgaWYgKCFtb2RlbCkKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAgICBtb2RlbC5nZXQoJ3Rlc3RHcm91
cHMnKS50aGVuKGZ1bmN0aW9uIChncm91cHMpIHsKKyAgICAgICAgICAgIHNlbGYuc2V0KCd0ZXN0
R3JvdXBQYW5lcycsIGdyb3Vwcy5tYXAoZnVuY3Rpb24gKGdyb3VwKSB7IHJldHVybiBBcHAuVGVz
dEdyb3VwUGFuZS5jcmVhdGUoe2NvbnRlbnQ6IGdyb3VwfSk7IH0pKTsKKyAgICAgICAgfSk7Cisg
ICAgfS5vYnNlcnZlcygnbW9kZWwnKSwKICAgICBhY3Rpb25zOiB7CiAgICAgICAgIGFzc29jaWF0
ZUJ1ZzogZnVuY3Rpb24gKGJ1Z1RyYWNrZXIsIGJ1Z051bWJlcikKICAgICAgICAgewpAQCAtMTEz
Niw1ICsxMTU1LDE5MCBAQCBBcHAuQW5hbHlzaXNUYXNrQ29udHJvbGxlciA9IEVtYmVyLkNvbnRy
CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSwKKyAgICAgICAg
dG9nZ2xlU2hvd1JlcXVlc3RMaXN0OiBmdW5jdGlvbiAoY29uZmlndXJhdGlvbikKKyAgICAgICAg
eworICAgICAgICAgICAgY29uZmlndXJhdGlvbi50b2dnbGVQcm9wZXJ0eSgnc2hvd1JlcXVlc3RM
aXN0Jyk7CisgICAgICAgIH0KKyAgICB9LAorfSk7CisKK0FwcC5UZXN0R3JvdXBQYW5lID0gRW1i
ZXIuT2JqZWN0UHJveHkuZXh0ZW5kKHsKKyAgICBfcG9wdWxhdGU6IGZ1bmN0aW9uICgpCisgICAg
eworICAgICAgICB2YXIgYnVpbGRSZXF1ZXN0cyA9IHRoaXMuZ2V0KCdidWlsZFJlcXVlc3RzJyk7
CisgICAgICAgIHZhciBjaGFydERhdGEgPSB0aGlzLmdldCgnY2hhcnREYXRhJyk7CisgICAgICAg
IGlmICghYnVpbGRSZXF1ZXN0cyB8fCAhY2hhcnREYXRhKQorICAgICAgICAgICAgcmV0dXJuIFtd
OworCisgICAgICAgIHZhciByZXBvc2l0b3JpZXMgPSB0aGlzLl9jb21wdXRlUmVwb3NpdG9yeUxp
c3QoKTsKKyAgICAgICAgdGhpcy5zZXQoJ3JlcG9zaXRvcmllcycsIHJlcG9zaXRvcmllcyk7CisK
KyAgICAgICAgdmFyIHJlcXVlc3RzQnlSb29TZXQgPSB0aGlzLl9ncm91cFJlcXVlc3RzQnlDb25m
aWd1cmF0aW9ucyhidWlsZFJlcXVlc3RzKTsKKworICAgICAgICB2YXIgY29uZmlndXJhdGlvbnMg
PSBbXTsKKyAgICAgICAgdmFyIGluZGV4ID0gMDsKKyAgICAgICAgdmFyIHJhbmdlID0ge21pbjog
SW5maW5pdHksIG1heDogLUluZmluaXR5fTsKKyAgICAgICAgZm9yICh2YXIgcm9vdFNldElkIGlu
IHJlcXVlc3RzQnlSb29TZXQpIHsKKyAgICAgICAgICAgIHZhciBjb25maWdMZXR0ZXIgPSBTdHJp
bmcuZnJvbUNoYXJDb2RlKCdBJy5jaGFyQ29kZUF0KDApICsgaW5kZXgrKyk7CisgICAgICAgICAg
ICBjb25maWd1cmF0aW9ucy5wdXNoKHRoaXMuX2NyZWF0ZUNvbmZpZ3VyYXRpb25TdW1tYXJ5KHJl
cXVlc3RzQnlSb29TZXRbcm9vdFNldElkXSwgY29uZmlnTGV0dGVyLCByYW5nZSkpOworICAgICAg
ICB9CisKKyAgICAgICAgdmFyIG1hcmdpbiA9IDAuMSAqIChyYW5nZS5tYXggLSByYW5nZS5taW4p
OworICAgICAgICByYW5nZS5tYXggKz0gbWFyZ2luOworICAgICAgICByYW5nZS5taW4gLT0gbWFy
Z2luOworCisgICAgICAgIHRoaXMuc2V0KCdjb25maWd1cmF0aW9ucycsIGNvbmZpZ3VyYXRpb25z
KTsKKyAgICB9Lm9ic2VydmVzKCdjaGFydERhdGEnLCAnYnVpbGRSZXF1ZXN0cycpLAorICAgIF9j
b21wdXRlUmVwb3NpdG9yeUxpc3Q6IGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICB2YXIgc3Bl
Y2lmaWVkUmVwb3NpdG9yaWVzID0gbmV3IEVtYmVyLlNldCgpOworICAgICAgICAodGhpcy5nZXQo
J3Jvb3RTZXRzJykgfHwgW10pLmZvckVhY2goZnVuY3Rpb24gKHJvb3RTZXQpIHsKKyAgICAgICAg
ICAgIChyb290U2V0LmdldCgncm9vdHMnKSB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAocm9vdCkg
eworICAgICAgICAgICAgICAgIHNwZWNpZmllZFJlcG9zaXRvcmllcy5hZGQocm9vdC5nZXQoJ3Jl
cG9zaXRvcnknKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgICAgIHZhciBy
ZXBvcnRlZFJlcG9zaXRvcmllcyA9IG5ldyBFbWJlci5TZXQoKTsKKyAgICAgICAgdmFyIGNoYXJ0
RGF0YSA9IHRoaXMuZ2V0KCdjaGFydERhdGEnKTsKKyAgICAgICAgKHRoaXMuZ2V0KCdidWlsZFJl
cXVlc3RzJykgfHwgW10pLmZvckVhY2goZnVuY3Rpb24gKHJlcXVlc3QpIHsKKyAgICAgICAgICAg
IHZhciBwb2ludCA9IGNoYXJ0RGF0YS5jdXJyZW50LmZpbmRQb2ludEJ5QnVpbGQocmVxdWVzdC5n
ZXQoJ2J1aWxkJykpOworICAgICAgICAgICAgaWYgKCFwb2ludCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIHZhciByZXZpc2lvbkJ5UmVwb3NpdG9yeUlkID0gcG9pbnQu
bWVhc3VyZW1lbnQuZm9ybWF0dGVkUmV2aXNpb25zKCk7CisgICAgICAgICAgICBmb3IgKHZhciBy
ZXBvc2l0b3J5SWQgaW4gcmV2aXNpb25CeVJlcG9zaXRvcnlJZCkgeworICAgICAgICAgICAgICAg
IHZhciByZXBvc2l0b3J5ID0gQXBwLk1hbmlmZXN0LnJlcG9zaXRvcnkocmVwb3NpdG9yeUlkKTsK
KyAgICAgICAgICAgICAgICBpZiAoIXNwZWNpZmllZFJlcG9zaXRvcmllcy5jb250YWlucyhyZXBv
c2l0b3J5KSkKKyAgICAgICAgICAgICAgICAgICAgcmVwb3J0ZWRSZXBvc2l0b3JpZXMuYWRkKHJl
cG9zaXRvcnkpOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHNw
ZWNpZmllZFJlcG9zaXRvcmllcy5zb3J0QnkoJ25hbWUnKS5jb25jYXQocmVwb3J0ZWRSZXBvc2l0
b3JpZXMuc29ydEJ5KCduYW1lJykpOwogICAgIH0sCisgICAgX2dyb3VwUmVxdWVzdHNCeUNvbmZp
Z3VyYXRpb25zOiBmdW5jdGlvbiAocmVxdWVzdHMsIHJlcG9zaXRvcnlMaXN0KQorICAgIHsKKyAg
ICAgICAgdmFyIHJvb3RTZXRJZFRvUmVxdWVzdHMgPSB7fTsKKyAgICAgICAgdmFyIHRlc3RHcm91
cCA9IHRoaXM7CisgICAgICAgIHJlcXVlc3RzLmZvckVhY2goZnVuY3Rpb24gKHJlcXVlc3QpIHsK
KyAgICAgICAgICAgIHZhciByb290U2V0SWQgPSByZXF1ZXN0LmdldCgncm9vdFNldCcpLmdldCgn
aWQnKTsKKyAgICAgICAgICAgIGlmICghcm9vdFNldElkVG9SZXF1ZXN0c1tyb290U2V0SWRdKQor
ICAgICAgICAgICAgICAgIHJvb3RTZXRJZFRvUmVxdWVzdHNbcm9vdFNldElkXSA9IFtdOworICAg
ICAgICAgICAgcm9vdFNldElkVG9SZXF1ZXN0c1tyb290U2V0SWRdLnB1c2gocmVxdWVzdCk7Cisg
ICAgICAgIH0pOworICAgICAgICByZXR1cm4gcm9vdFNldElkVG9SZXF1ZXN0czsKKyAgICB9LAor
ICAgIF9jcmVhdGVDb25maWd1cmF0aW9uU3VtbWFyeTogZnVuY3Rpb24gKGJ1aWxkUmVxdWVzdHMs
IGNvbmZpZ0xldHRlciwgcmFuZ2UpCisgICAgeworICAgICAgICB2YXIgcmVwb3NpdG9yaWVzID0g
dGhpcy5nZXQoJ3JlcG9zaXRvcmllcycpOworICAgICAgICB2YXIgY2hhcnREYXRhID0gdGhpcy5n
ZXQoJ2NoYXJ0RGF0YScpOworICAgICAgICB2YXIgcmVxdWVzdHMgPSBidWlsZFJlcXVlc3RzLm1h
cChmdW5jdGlvbiAob3JpZ2luYWxSZXF1ZXN0KSB7CisgICAgICAgICAgICB2YXIgcG9pbnQgPSBj
aGFydERhdGEuY3VycmVudC5maW5kUG9pbnRCeUJ1aWxkKG9yaWdpbmFsUmVxdWVzdC5nZXQoJ2J1
aWxkJykpOworICAgICAgICAgICAgdmFyIHJldmlzaW9uQnlSZXBvc2l0b3J5SWQgPSBwb2ludCA/
IHBvaW50Lm1lYXN1cmVtZW50LmZvcm1hdHRlZFJldmlzaW9ucygpIDoge307CisgICAgICAgICAg
ICByZXR1cm4gRW1iZXIuT2JqZWN0UHJveHkuY3JlYXRlKHsKKyAgICAgICAgICAgICAgICBjb250
ZW50OiBvcmlnaW5hbFJlcXVlc3QsCisgICAgICAgICAgICAgICAgcmV2aXNpb25zOiByZXBvc2l0
b3JpZXMubWFwKGZ1bmN0aW9uIChyZXBvc2l0b3J5LCBpbmRleCkgeworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gKHJldmlzaW9uQnlSZXBvc2l0b3J5SWRbcmVwb3NpdG9yeS5nZXQoJ2lkJyld
IHx8IHtsYWJlbDpudWxsfSkubGFiZWw7CisgICAgICAgICAgICAgICAgfSksCisgICAgICAgICAg
ICAgICAgdmFsdWU6IHBvaW50ID8gcG9pbnQudmFsdWUgOiBudWxsLAorICAgICAgICAgICAgICAg
IHZhbHVlUmFuZ2U6IHJhbmdlLAorICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlOiBwb2lu
dCA/IGNoYXJ0RGF0YS5mb3JtYXRXaXRoVW5pdChwb2ludC52YWx1ZSkgOiBudWxsLAorICAgICAg
ICAgICAgICAgIGJ1aWxkTnVtYmVyOiBwb2ludCA/IHBvaW50Lm1lYXN1cmVtZW50LmJ1aWxkTnVt
YmVyKCkgOiBudWxsLAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworCisgICAgICAgIHZh
ciByb290U2V0ID0gcmVxdWVzdHMgPyByZXF1ZXN0c1swXS5nZXQoJ3Jvb3RTZXQnKSA6IG51bGw7
CisgICAgICAgIHZhciBzdW1tYXJ5UmV2aXNpb25zID0gcmVwb3NpdG9yaWVzLm1hcChmdW5jdGlv
biAocmVwb3NpdG9yeSwgaW5kZXgpIHsKKyAgICAgICAgICAgIHZhciByZXZpc2lvbiA9IHJvb3RT
ZXQgPyByb290U2V0LnJldmlzaW9uRm9yUmVwb3NpdG9yeShyZXBvc2l0b3J5KSA6IG51bGw7Cisg
ICAgICAgICAgICBpZiAoIXJldmlzaW9uKQorICAgICAgICAgICAgICAgIHJldHVybiByZXF1ZXN0
c1swXS5nZXQoJ3JldmlzaW9ucycpW2luZGV4XTsKKyAgICAgICAgICAgIHJldHVybiBNZWFzdXJl
bWVudC5mb3JtYXRSZXZpc2lvblJhbmdlKHJldmlzaW9uKS5sYWJlbDsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgcmVxdWVzdHMuZm9yRWFjaChmdW5jdGlvbiAocmVxdWVzdCkgeworICAgICAgICAg
ICAgdmFyIHJldmlzaW9ucyA9IHJlcXVlc3QuZ2V0KCdyZXZpc2lvbnMnKTsKKyAgICAgICAgICAg
IHJlcG9zaXRvcmllcy5mb3JFYWNoKGZ1bmN0aW9uIChyZXBvc2l0b3J5LCBpbmRleCkgeworICAg
ICAgICAgICAgICAgIGlmIChyZXZpc2lvbnNbaW5kZXhdID09IHN1bW1hcnlSZXZpc2lvbnNbaW5k
ZXhdKQorICAgICAgICAgICAgICAgICAgICByZXZpc2lvbnNbaW5kZXhdID0gbnVsbDsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9KTsKKworICAgICAgICB2YXIgdmFsdWVzSW5Db25maWcgPSBy
ZXF1ZXN0cy5tYXBCeSgndmFsdWUnKS5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB0
eXBlb2YodmFsdWUpID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpOyB9KTsKKyAgICAgICAg
dmFyIHN1bSA9IFN0YXRpc3RpY3Muc3VtKHZhbHVlc0luQ29uZmlnKTsKKyAgICAgICAgdmFyIGNp
RGVsdGEgPSBTdGF0aXN0aWNzLmNvbmZpZGVuY2VJbnRlcnZhbERlbHRhKDAuOTUsIHZhbHVlc0lu
Q29uZmlnLmxlbmd0aCwgc3VtLCBTdGF0aXN0aWNzLnNxdWFyZVN1bSh2YWx1ZXNJbkNvbmZpZykp
OworICAgICAgICB2YXIgbWVhbiA9IHN1bSAvIHZhbHVlc0luQ29uZmlnLmxlbmd0aDsKKworICAg
ICAgICByYW5nZS5taW4gPSBNYXRoLm1pbihyYW5nZS5taW4sIFN0YXRpc3RpY3MubWluKHZhbHVl
c0luQ29uZmlnKSk7CisgICAgICAgIHJhbmdlLm1heCA9IE1hdGgubWF4KHJhbmdlLm1heCwgU3Rh
dGlzdGljcy5tYXgodmFsdWVzSW5Db25maWcpKTsKKyAgICAgICAgaWYgKGNpRGVsdGEgJiYgIWlz
TmFOKGNpRGVsdGEpKSB7CisgICAgICAgICAgICByYW5nZS5taW4gPSBNYXRoLm1pbihyYW5nZS5t
aW4sIG1lYW4gLSBjaURlbHRhKTsKKyAgICAgICAgICAgIHJhbmdlLm1heCA9IE1hdGgubWF4KHJh
bmdlLm1heCwgbWVhbiArIGNpRGVsdGEpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHN1bW1h
cnkgPSBFbWJlci5PYmplY3QuY3JlYXRlKHsKKyAgICAgICAgICAgIGlzQXZlcmFnZTogdHJ1ZSwK
KyAgICAgICAgICAgIGNvbmZpZ0xldHRlcjogY29uZmlnTGV0dGVyLAorICAgICAgICAgICAgcmV2
aXNpb25zOiBzdW1tYXJ5UmV2aXNpb25zLAorICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWU6IGlz
TmFOKG1lYW4pID8gbnVsbCA6IGNoYXJ0RGF0YS5mb3JtYXRXaXRoRGVsdGFBbmRVbml0KG1lYW4s
IGNpRGVsdGEpLAorICAgICAgICAgICAgdmFsdWU6IG1lYW4sCisgICAgICAgICAgICBjb25maWRl
bmNlSW50ZXJ2YWxEZWx0YTogY2lEZWx0YSwKKyAgICAgICAgICAgIHZhbHVlUmFuZ2U6IHJhbmdl
LAorICAgICAgICAgICAgc3RhdHVzTGFiZWw6IEFwcC5CdWlsZFJlcXVlc3QuYWdncmVnYXRlU3Rh
dHVzZXMocmVxdWVzdHMpLAorICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gRW1iZXIuT2Jq
ZWN0LmNyZWF0ZSh7c3VtbWFyeTogc3VtbWFyeSwgaXRlbXM6IHJlcXVlc3RzfSk7CisgICAgfSwK
K30pOworCitBcHAuQm94UGxvdENvbXBvbmVudCA9IEVtYmVyLkNvbXBvbmVudC5leHRlbmQoewor
ICAgIGNsYXNzTmFtZXM6IFsnYm94LXBsb3QnXSwKKyAgICByYW5nZTogbnVsbCwKKyAgICB2YWx1
ZTogbnVsbCwKKyAgICBkZWx0YTogbnVsbCwKKyAgICBkaWRJbnNlcnRFbGVtZW50OiBmdW5jdGlv
biAoKQorICAgIHsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmdldCgnZWxlbWVudCcpOwor
ICAgICAgICB2YXIgc3ZnID0gZDMuc2VsZWN0KGVsZW1lbnQpLmFwcGVuZCgnc3ZnJykKKyAgICAg
ICAgICAgIC5hdHRyKCd2aWV3Qm94JywgJzAgMCAxMDAgMjAnKQorICAgICAgICAgICAgLmF0dHIo
J3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAnbm9uZScpCisgICAgICAgICAgICAuc3R5bGUoe3dpZHRo
OiAnMTAwJScsIGhlaWdodDogJzEwMCUnfSk7CisKKyAgICAgICAgdGhpcy5fcGVyY2VudGFnZVJl
Y3QgPSBzdmcKKyAgICAgICAgICAgIC5hcHBlbmQoJ3JlY3QnKQorICAgICAgICAgICAgLmF0dHIo
J3gnLCAwKQorICAgICAgICAgICAgLmF0dHIoJ3knLCAwKQorICAgICAgICAgICAgLmF0dHIoJ3dp
ZHRoJywgMCkKKyAgICAgICAgICAgIC5hdHRyKCdoZWlnaHQnLCAyMCkKKyAgICAgICAgICAgIC5h
dHRyKCdjbGFzcycsICdwZXJjZW50YWdlJyk7CisKKyAgICAgICAgdGhpcy5fZGVsdGFSZWN0ID0g
c3ZnCisgICAgICAgICAgICAuYXBwZW5kKCdyZWN0JykKKyAgICAgICAgICAgIC5hdHRyKCd4Jywg
MCkKKyAgICAgICAgICAgIC5hdHRyKCd5JywgNSkKKyAgICAgICAgICAgIC5hdHRyKCd3aWR0aCcs
IDApCisgICAgICAgICAgICAuYXR0cignaGVpZ2h0JywgMTApCisgICAgICAgICAgICAuYXR0cign
Y2xhc3MnLCAnZGVsdGEnKQorICAgICAgICAgICAgLmF0dHIoJ29wYWNpdHknLCAwLjUpCisgICAg
ICAgIHRoaXMuX3VwZGF0ZUJhcnMoKTsKKyAgICB9LAorICAgIF91cGRhdGVCYXJzOiBmdW5jdGlv
biAoKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9wZXJjZW50YWdlUmVjdCB8fCB0eXBlb2Yo
dGhpcy5fcGVyY2VudGFnZSkgIT09ICdudW1iZXInIHx8IGlzTmFOKHRoaXMuX3BlcmNlbnRhZ2Up
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3BlcmNlbnRhZ2VSZWN0LmF0
dHIoJ3dpZHRoJywgdGhpcy5fcGVyY2VudGFnZSk7CisgICAgICAgIGlmICh0eXBlb2YodGhpcy5f
ZGVsdGEpID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odGhpcy5fZGVsdGEpKSB7CisgICAgICAgICAg
ICB0aGlzLl9kZWx0YVJlY3QuYXR0cigneCcsIHRoaXMuX3BlcmNlbnRhZ2UgLSB0aGlzLl9kZWx0
YSk7CisgICAgICAgICAgICB0aGlzLl9kZWx0YVJlY3QuYXR0cignd2lkdGgnLCB0aGlzLl9kZWx0
YSAqIDIpOworICAgICAgICB9CisgICAgfSwKKyAgICB2YWx1ZUNoYW5nZWQ6IGZ1bmN0aW9uICgp
CisgICAgeworICAgICAgICB2YXIgcmFuZ2UgPSB0aGlzLmdldCgncmFuZ2UnKTsKKyAgICAgICAg
dmFyIHZhbHVlID0gdGhpcy5nZXQoJ3ZhbHVlJyk7CisgICAgICAgIGlmICghcmFuZ2UgfHwgIXZh
bHVlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgc2NhbGluZ0ZhY3RvciA9IDEw
MCAvIChyYW5nZS5tYXggLSByYW5nZS5taW4pOworICAgICAgICB2YXIgcGVyY2VudGFnZSA9ICh2
YWx1ZSAtIHJhbmdlLm1pbikgKiBzY2FsaW5nRmFjdG9yOworICAgICAgICB0aGlzLl9wZXJjZW50
YWdlID0gcGVyY2VudGFnZTsKKyAgICAgICAgdGhpcy5fZGVsdGEgPSB0aGlzLmdldCgnZGVsdGEn
KSAqIHNjYWxpbmdGYWN0b3I7CisgICAgICAgIHRoaXMuX3VwZGF0ZUJhcnMoKTsKKyAgICB9Lm9i
c2VydmVzKCd2YWx1ZScsICdyYW5nZScpLm9uKCdpbml0JyksCiB9KTsKSW5kZXg6IFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvY2hhcnQtcGFuZS5jc3MKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9jaGFydC1wYW5lLmNzcwkocmV2aXNp
b24gMTgwMDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9jaGFydC1w
YW5lLmNzcwkod29ya2luZyBjb3B5KQpAQCAtMjE3LDYgKzIxNywxMCBAQAogICAgIGJvcmRlci1s
ZWZ0OiBzb2xpZCAxcHggI2JiYjsKIH0KIAorLmFuYWx5c2lzLWNoYXJ0LXBhbmUgeworICAgIGhl
aWdodDogMTVyZW07Cit9CisKIC5hbmFseXNpcy1jaGFydC1wYW5lIC5kZXRhaWxzIHsKICAgICBv
dmVyZmxvdzogc2Nyb2xsOwogfQpAQCAtMjM3LDYgKzI0MSwxMCBAQAogICAgIGhlaWdodDogMTNy
ZW07CiAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKIH0KKy5hbmFseXNpcy1jaGFydC1wYW5lIC5kZXRh
aWxzLXRhYmxlLWNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IHN0YXRpYzsKKyAgICBoZWlnaHQ6
IDE1cmVtOworfQogCiAuY2hhcnQtcGFuZSAuZGV0YWlscy10YWJsZSwKIC5jaGFydC1wYW5lIC5j
b21taXRzLXZpZXdlciB7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yy
L2RhdGEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92
Mi9kYXRhLmpzCShyZXZpc2lvbiAxODAwOTIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YyL2RhdGEuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2OSwxNCArMTY5LDE0IEBAIE1l
YXN1cmVtZW50LnByb3RvdHlwZS5mb3JtYXR0ZWRSZXZpc2lvbnMKICAgICBmb3IgKHZhciByZXBv
c2l0b3J5SWQgaW4gcmV2aXNpb25zKSB7CiAgICAgICAgIHZhciBjdXJyZW50UmV2aXNpb24gPSBy
ZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVswXTsKICAgICAgICAgdmFyIHByZXZpb3VzUmV2aXNpb24g
PSBwcmV2aW91c1JldmlzaW9ucyA/IHByZXZpb3VzUmV2aXNpb25zW3JlcG9zaXRvcnlJZF1bMF0g
OiBudWxsOwotICAgICAgICB2YXIgZm9ybWF0dHRlZFJldmlzaW9uID0gdGhpcy5fZm9ybWF0UmV2
aXNpb25SYW5nZShwcmV2aW91c1JldmlzaW9uLCBjdXJyZW50UmV2aXNpb24pOworICAgICAgICB2
YXIgZm9ybWF0dHRlZFJldmlzaW9uID0gTWVhc3VyZW1lbnQuZm9ybWF0UmV2aXNpb25SYW5nZShj
dXJyZW50UmV2aXNpb24sIHByZXZpb3VzUmV2aXNpb24pOwogICAgICAgICBmb3JtYXR0ZWRSZXZp
c2lvbnNbcmVwb3NpdG9yeUlkXSA9IGZvcm1hdHR0ZWRSZXZpc2lvbjsKICAgICB9CiAKICAgICBy
ZXR1cm4gZm9ybWF0dGVkUmV2aXNpb25zOwogfQogCi1NZWFzdXJlbWVudC5wcm90b3R5cGUuX2Zv
cm1hdFJldmlzaW9uUmFuZ2UgPSBmdW5jdGlvbiAocHJldmlvdXNSZXZpc2lvbiwgY3VycmVudFJl
dmlzaW9uKQorTWVhc3VyZW1lbnQuZm9ybWF0UmV2aXNpb25SYW5nZSA9IGZ1bmN0aW9uIChjdXJy
ZW50UmV2aXNpb24sIHByZXZpb3VzUmV2aXNpb24pCiB7CiAgICAgdmFyIHJldmlzaW9uQ2hhbmdl
ZCA9IGZhbHNlOwogICAgIGlmIChwcmV2aW91c1JldmlzaW9uID09IGN1cnJlbnRSZXZpc2lvbikK
SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvaW5kZXguaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2luZGV4Lmh0bWwJ
KHJldmlzaW9uIDE4MDA5MikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIv
aW5kZXguaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTY5LDE1ICsxNjksMTUgQEAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW49bWFpblBsb3REb21haW4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRlcmFjdGl2ZT10cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhcnRQb2ludFJhZGl1cz0yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVu
dEl0ZW09Y3VycmVudEl0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50SXRl
bT1ob3ZlcmVkT3JTZWxlY3RlZEl0ZW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJy
ZW50VGltZT1zaGFyZWRUaW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJ
dGVtPXNlbGVjdGVkSXRlbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVk
SXRlbXM9aGlnaGxpZ2h0ZWRJdGVtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdl
Um91dGU9ImFuYWx5c2lzVGFzayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rp
b249dGltZVJhbmdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQb2ludHM9
c2VsZWN0ZWRQb2ludHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZWRQb2ludHM9
bWFya2VkUG9pbnRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0Z1bGxZQXhpcz1z
aG93RnVsbFlBeGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbWFibGU9dHJ1ZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb209Inpvb21lZCJ9fQogICAgICAgICAgICAg
ICAgICAgICB7e2Vsc2V9fQogICAgICAgICAgICAgICAgICAgICAgICAge3sjaWYgZmFpbHVyZX19
CkBAIC0xOTcsOSArMTk3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
ZWN0aW9uPW92ZXJ2aWV3U2VsZWN0aW9ufX0KICAgICAgICAgICAgICAgICAgICAgICAgIHt7L2lm
fX0KICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAg
ICAge3sjaWYgZGV0YWlsc319Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twYXJ0aWFs
ICJjaGFydC1kZXRhaWxzIn19Ci0gICAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19CisgICAg
ICAgICAgICAgICAgICAgICAgICB7e3BhcnRpYWwgImNoYXJ0LWRldGFpbHMifX0KICAgICAgICAg
ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAKQEAgLTI0OCw2ICsy
NDYsNyBAQAogICAgIDwvc2NyaXB0PgogCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L3gtaGFuZGxl
YmFycyIgZGF0YS10ZW1wbGF0ZS1uYW1lPSJjaGFydC1kZXRhaWxzIj4KKyAgICB7eyNpZiBkZXRh
aWxzfX0KICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzLXRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAg
IDx0YWJsZSBjbGFzcz0iZGV0YWlscy10YWJsZSI+CiAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9
ImJ1Z3MiPgpAQCAtMzEzLDYgKzMxMiw3IEBACiAgICAgICAgICAgICB7ey9lYWNofX0KICAgICAg
ICAgPC9kaXY+CiAgICAgPC9kaXY+CisgICAge3svaWZ9fQogICAgIDwvc2NyaXB0PgogCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L3gtaGFuZGxlYmFycyIgZGF0YS10ZW1wbGF0ZS1uYW1lPSJjb21w
b25lbnRzL2NvbW1pdHMtdmlld2VyIj4KQEAgLTUyOSw3MiArNTI5LDk2IEBACiAgICAgICAgICAg
ICA8aDMgaWQ9ImFuYWx5c2lzLXRhc2stdGVzdG5hbWUiPnt7bWV0cmljLmZ1bGxOYW1lfX0gLSB7
e3BsYXRmb3JtLmxhYmVsfX08L2gzPgogICAgICAgICB7ey9pZn19CiAKLSAgICAgICAge3sjaWYg
Y2hhcnREYXRhfX0KLSAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhbmFseXNpcy1jaGFydC1w
YW5lIGNoYXJ0LXBhbmUiPgorICAgICAgICB7eyNpZiBwYW5lfX0KKyAgICAgICAgICAgIDxzZWN0
aW9uIGNsYXNzPSJhbmFseXNpcy1jaGFydC1wYW5lIGNoYXJ0LXBhbmUiIHRhYmluZGV4PSIwIj4K
ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdmctY29udGFpbmVyIj4KICAgICAgICAgICAg
ICAgICAgICAge3tpbnRlcmFjdGl2ZS1jaGFydAotICAgICAgICAgICAgICAgICAgICAgICAgY2hh
cnREYXRhPWNoYXJ0RGF0YQotICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlU2VsZWN0aW9u
PWZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFydERhdGE9cGFuZS5jaGFydERhdGEK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlcz1wYW5lLmFuYWx5dGljUmFuZ2VzCisgICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW49cGFuZURvbWFpbgorICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ZXJhY3RpdmU9dHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnRQb2lu
dFJhZGl1cz0yCi0gICAgICAgICAgICAgICAgICAgICAgICBkb21haW49Y2hhcnREb21haW4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkSXRlbXM9aGlnaGxpZ2h0ZWRJdGVtc319
CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50SXRlbT1wYW5lLmhvdmVyZWRPclNlbGVj
dGVkSXRlbQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQb2ludHM9cGFuZS5zZWxl
Y3RlZFBvaW50cworICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uPXRpbWVSYW5nZQor
ICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWRJdGVtcz1oaWdobGlnaHRlZEl0ZW1z
CisgICAgICAgICAgICAgICAgICAgICAgICByYW5nZVJvdXRlPSJhbmFseXNpc1Rhc2sifX0KICAg
ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxz
Ij4KLSAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJhbmFseXNpcy1idWdzIj4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7eyNlYWNoIGJ1Z1RyYWNrZXJzfX0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PHRyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7bGFiZWx9fTwv
dGg+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0ge3thY3Rpb24gImFzc29jaWF0ZUJ1
ZyIgdGhpcyBlZGl0ZWRCdWdOdW1iZXIgb249InN1Ym1pdCJ9fT4KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpbnB1dCB0eXBlPXRleHQgdmFsdWU9ZWRpdGVk
QnVnTnVtYmVyfX0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zv
cm0+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHt7L2VhY2h9fQotICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KLSAgICAgICAgICAg
ICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgICAgICAgICAgICAgPHRhYmxlPgotICAgICAgICAg
ICAgICAgICAgICAgICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7I2Vh
Y2ggYW5hbHlzaXNQb2ludHN9fQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+
PHRkPnt7bGFiZWx9fTwvdGQ+PHRkPnt7dmFsdWV9fTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7ey9lYWNofX0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+
Ci0gICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgIHt7cGFy
dGlhbCAiY2hhcnQtZGV0YWlscyJ9fQogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg
ICAgPC9zZWN0aW9uPgotICAgICAgICAgICAge3sjZWFjaCB0ZXN0R3JvdXBzfX0KLSAgICAgICAg
ICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYW5hbHlzaXMtZ3JvdXAiPgotICAgICAgICAgICAgICAg
ICAgICA8dGFibGU+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8Y2FwdGlvbj57e25hbWV9fTwv
Y2FwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5P
cmRlcjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db25maWd1cmF0
aW9uPC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0YXR1czwvdGQ+
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5CdWlsZDwvdGQ+Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57ey4uL21ldHJpYy5mdWxsTmFtZX19PC90ZD4K
KyAgICAgICAge3svaWZ9fQorCisgICAgICAgIHt7cGFydGlhbCAidGVzdEdyb3VwRm9ybSJ9fQor
CisgICAgICAgIHt7I2VhY2ggdGVzdEdyb3VwUGFuZXN9fQorICAgICAgICAgICAge3twYXJ0aWFs
ICJ0ZXN0R3JvdXAifX0KKyAgICAgICAge3svZWFjaH19CisgICAgPC9zY3JpcHQ+CisKKyAgICA8
c2NyaXB0IHR5cGU9InRleHQveC1oYW5kbGViYXJzIiBkYXRhLXRlbXBsYXRlLW5hbWU9InRlc3RH
cm91cCI+CisgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhbmFseXNpcy1ncm91cCI+CisgICAgICAg
ICAgICA8aDE+e3tuYW1lfX08L2gxPgorICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJyZXN1bHRz
Ij4KKyAgICAgICAgICAgICAgICA8dGhlYWQ+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj5Db25maWd1cmF0aW9uPC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2ggcmVwb3NpdG9yaWVzfX0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQ+e3tuYW1lfX08L3RkPgorICAgICAgICAgICAgICAgICAg
ICAgICAge3svZWFjaH19CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzdWx0czwvdGQ+
CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3RhdHVzPC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICA8L3RoZWFkPgorICAgICAgICAgICAgICAgIHt7
I2VhY2ggY29uZmlndXJhdGlvbnN9fQorICAgICAgICAgICAgICAgICAgICA8dGJvZHkge3tiaW5k
LWF0dHIgY2xhc3M9InNob3dSZXF1ZXN0TGlzdDo6aGlkZVJlcXVlc3RzIn19PgorICAgICAgICAg
ICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJzdW1tYXJ5IiB7e2FjdGlvbiB0b2dnbGVTaG93UmVx
dWVzdExpc3QgdGhpc319PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0i
Y29uZmlnLWxldHRlciIgY29sc3Bhbj0iMiI+e3tzdW1tYXJ5LmNvbmZpZ0xldHRlcn19PC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyN3aXRoIHN1bW1hcnl9fQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7e3BhcnRpYWwgInRlc3RHcm91cFJvdyJ9fQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHt7L3dpdGh9fQorICAgICAgICAgICAgICAgICAgICAgICAg
PC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2ggaXRlbXN9fQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0icmVxdWVzdCI+CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHt7I3dpdGggLi4vdGhpc319CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbmZpZy1sZXR0ZXIiIHt7YWN0aW9uIHRvZ2dsZVNo
b3dSZXF1ZXN0TGlzdCB0aGlzfX0+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAge3svd2l0aH19CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5SdW4ge3tv
cmRlckxhYmVsfX08L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3BhcnRp
YWwgInRlc3RHcm91cFJvdyJ9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+Ci0g
ICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgotICAgICAgICAgICAgICAgICAgICAgICAg
PHRib2R5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2ggYnVpbGRSZXF1ZXN0
c319Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29yZGVyTGFiZWx9fTwvdGQ+Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tjb25maWdMZXR0ZXJ9fTwvdGQ+Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEge3tiaW5kLWF0dHIgaHJlZj11
cmx9fT57e3N0YXR1c0xhYmVsfX08L2E+PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZD57e2J1aWxkTnVtYmVyfX08L3RkPgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPHRkPnt7bWVhbn19PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNofX0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgIDwvdGFi
bGU+Ci0gICAgICAgICAgICAgICAgPC9zZWN0aW9uPgotICAgICAgICAgICAge3svZWFjaH19Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAgICAgICAgICAgPC90
Ym9keT4KKyAgICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAgIDwvdGFibGU+Cisg
ICAgICAgIDwvc2VjdGlvbj4KKyAgICA8L3NjcmlwdD4KKworICAgIDxzY3JpcHQgdHlwZT0idGV4
dC94LWhhbmRsZWJhcnMiIGRhdGEtdGVtcGxhdGUtbmFtZT0idGVzdEdyb3VwUm93Ij4KKyAgICAg
ICAge3sjZWFjaCByZXZpc2lvbnN9fQorICAgICAgICAgICAgPHRkPnt7dGhpc319PC90ZD4KKyAg
ICAgICAge3svZWFjaH19CisgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIHt7I2lmIHZhbHVlfX0K
KyAgICAgICAgICAgICAgICB7e2JveC1wbG90IHJhbmdlPXZhbHVlUmFuZ2UgdmFsdWU9dmFsdWUg
ZGVsdGE9Y29uZmlkZW5jZUludGVydmFsRGVsdGF9fQorICAgICAgICAgICAge3svaWZ9fQorICAg
ICAgICAgICAge3tmb3JtYXR0ZWRWYWx1ZX19CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4K
KyAgICAgICAgICAgIHt7I2lmIGJ1aWxkTnVtYmVyfX0KKyAgICAgICAgICAgICAgICAge3tzdGF0
dXNMYWJlbH19IC8gPGEge3tiaW5kLWF0dHIgaHJlZj11cmx9fT5CdWlsZCB7e2J1aWxkTnVtYmVy
fX08L2E+CisgICAgICAgICAgICB7e2Vsc2V9fQorICAgICAgICAgICAgICAgIDxhIHt7YmluZC1h
dHRyIGhyZWY9dXJsfX0+e3tzdGF0dXNMYWJlbH19PC9hPgorICAgICAgICAgICAge3svaWZ9fQor
ICAgICAgICA8L3RkPgorICAgIDwvc2NyaXB0PgogCi0gICAgICAgICAgICB7eyNpZiByb290c319
Ci0gICAgICAgICAgICA8Zm9ybSBtZXRob2Q9IlBPU1QiIHt7YWN0aW9uICJjcmVhdGVUZXN0R3Jv
dXAiIG5ld1Rlc3RHcm91cE5hbWUgcmVwZXRpdGlvbkNvdW50IG9uPSJzdWJtaXQifX0gY2xhc3M9
ImFuYWx5c2lzLWdyb3VwIj4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQveC1oYW5kbGViYXJzIiBk
YXRhLXRlbXBsYXRlLW5hbWU9InRlc3RHcm91cEZvcm0iPgorICAgIHt7I2lmIHJvb3RzfX0KKyAg
ICAgICAgPGZvcm0gbWV0aG9kPSJQT1NUIiB7e2FjdGlvbiAiY3JlYXRlVGVzdEdyb3VwIiBuZXdU
ZXN0R3JvdXBOYW1lIHJlcGV0aXRpb25Db3VudCBvbj0ic3VibWl0In19PgorICAgICAgICAgICAg
PHNlY3Rpb24gY2xhc3M9ImFuYWx5c2lzLWdyb3VwIj4KKyAgICAgICAgICAgICAgICA8aDE+e3tp
bnB1dCBuYW1lPSJuYW1lIiB2YWx1ZT1uZXdUZXN0R3JvdXBOYW1lIHBsYWNlaG9sZGVyPSJUZXN0
IGdyb3VwIG5hbWUiIHJlcXVpcmVkPXRydWUgdHlwZT0idGV4dCJ9fTwvaDE+CiAgICAgICAgICAg
ICAgICAgPHRhYmxlPgotICAgICAgICAgICAgICAgICAgICA8Y2FwdGlvbj57e2lucHV0IG5hbWU9
Im5hbWUiIHZhbHVlPW5ld1Rlc3RHcm91cE5hbWUgcGxhY2Vob2xkZXI9IlRlc3QgZ3JvdXAgbmFt
ZSIgcmVxdWlyZWQ9dHJ1ZSB0eXBlPSJ0ZXh0In19PC9jYXB0aW9uPgogICAgICAgICAgICAgICAg
ICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPHRoPlJvb3Q8L3RoPgpAQCAtNjMzLDkgKzY1Nyw5IEBACiAgICAgICAg
ICAgICAgICAgPC90YWJsZT4KIAogICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0
Ij5TdGFydCBBL0IgdGVzdGluZzwvYnV0dG9uPgotICAgICAgICAgICAgPC9mb3JtPgotICAgICAg
ICAgICAge3svaWZ9fQotICAgICAgICB7ey9pZn19CisgICAgICAgICAgICA8L3NlY3Rpb24+Cisg
ICAgICAgIDwvZm9ybT4KKyAgICB7ey9pZn19CiAgICAgPC9zY3JpcHQ+CiAKIDwvaGVhZD4KSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvaW50ZXJhY3RpdmUtY2hhcnQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9pbnRl
cmFjdGl2ZS1jaGFydC5qcwkocmV2aXNpb24gMTgwMDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92Mi9pbnRlcmFjdGl2ZS1jaGFydC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MTk3LDYgKzE5Nyw4IEBAIEFwcC5JbnRlcmFjdGl2ZUNoYXJ0Q29tcG9uZW50ID0gRW1iZXIuQ28K
ICAgICBfdXBkYXRlRG9tYWluOiBmdW5jdGlvbiAoKQogICAgIHsKICAgICAgICAgdmFyIHhEb21h
aW4gPSB0aGlzLmdldCgnZG9tYWluJyk7CisgICAgICAgIGlmICgheERvbWFpbiB8fCAhdGhpcy5f
Y3VycmVudFRpbWVTZXJpZXNEYXRhKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAg
IHZhciBpbnRyaW5zaWNYRG9tYWluID0gdGhpcy5fY29tcHV0ZVhBeGlzRG9tYWluKHRoaXMuX2N1
cnJlbnRUaW1lU2VyaWVzRGF0YSk7CiAgICAgICAgIGlmICgheERvbWFpbikKICAgICAgICAgICAg
IHhEb21haW4gPSBpbnRyaW5zaWNYRG9tYWluOwpAQCAtMzczLDYgKzM3NSw4IEBAIEFwcC5JbnRl
cmFjdGl2ZUNoYXJ0Q29tcG9uZW50ID0gRW1iZXIuQ28KICAgICB7CiAgICAgICAgIHZhciBzZWxl
Y3Rpb24gPSB0aGlzLl9jdXJyZW50U2VsZWN0aW9uKCkgfHwgdGhpcy5nZXQoJ3NoYXJlZFNlbGVj
dGlvbicpOwogICAgICAgICB2YXIgbmV3WERvbWFpbiA9IHRoaXMuX3VwZGF0ZURvbWFpbigpOwor
ICAgICAgICBpZiAoIW5ld1hEb21haW4pCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAg
aWYgKHNlbGVjdGlvbiAmJiBuZXdYRG9tYWluICYmIHNlbGVjdGlvblswXSA8PSBuZXdYRG9tYWlu
WzBdICYmIG5ld1hEb21haW5bMV0gPD0gc2VsZWN0aW9uWzFdKQogICAgICAgICAgICAgc2VsZWN0
aW9uID0gbnVsbDsgLy8gT3RoZXJ3aXNlIHRoZSB1c2VyIGhhcyBubyB3YXkgb2YgY2xlYXJpbmcg
dGhlIHNlbGVjdGlvbi4KQEAgLTc1Myw3ICs3NTcsNyBAQCBBcHAuSW50ZXJhY3RpdmVDaGFydENv
bXBvbmVudCA9IEVtYmVyLkNvCiAgICAgfSwKICAgICBfdXBkYXRlU2VsZWN0aW9uVG9vbGJhcjog
ZnVuY3Rpb24gKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5nZXQoJ2ludGVyYWN0aXZlJykp
CisgICAgICAgIGlmICghdGhpcy5nZXQoJ3pvb21hYmxlJykpCiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMuX2N1cnJlbnRTZWxlY3Rpb24oKTsKSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVzdC5qcwko
cmV2aXNpb24gMTgwMDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9t
YW5pZmVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzAyLDYgKzMwMiw4IEBAIEFwcC5NYW5pZmVz
dCA9IEVtYmVyLkNvbnRyb2xsZXIuZXh0ZW5kKHsKICAgICAgICAgICAgIHZhciBzbWFsbGVySXNC
ZXR0ZXIgPSB1bml0ICE9ICdmcHMnICYmIHVuaXQgIT0gJy9zJzsgLy8gQXNzdW1lIHNtYWxsZXIg
aXMgYmV0dGVyIGZvciB1bml0LWxlc3MgbWV0cmljcy4KIAogICAgICAgICAgICAgdmFyIHVzZVNJ
ID0gdW5pdCA9PSAnYnl0ZXMnOworICAgICAgICAgICAgdmFyIHVuaXRTdWZmaXggPSB1bml0ID8g
JyAnICsgdW5pdCA6ICcnOworICAgICAgICAgICAgdmFyIGRlbHRhRm9ybWF0dGVyV2l0aG91dFNp
Z24gPSB1c2VTSSA/IGQzLmZvcm1hdCgnLjJzJykgOiBkMy5mb3JtYXQoJy4yZycpOwogICAgICAg
ICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcGxhdGZvcm0sCiAgICAg
ICAgICAgICAgICAgbWV0cmljOiBtZXRyaWMsCkBAIC0zMTAsNiArMzEyLDExIEBAIEFwcC5NYW5p
ZmVzdCA9IEVtYmVyLkNvbnRyb2xsZXIuZXh0ZW5kKHsKICAgICAgICAgICAgICAgICAgICAgYmFz
ZWxpbmU6IHJ1bnMuYmFzZWxpbmUgPyBydW5zLmJhc2VsaW5lLnRpbWVTZXJpZXNCeUNvbW1pdFRp
bWUoKSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcnVucy50YXJnZXQgPyBy
dW5zLnRhcmdldC50aW1lU2VyaWVzQnlDb21taXRUaW1lKCkgOiBudWxsLAogICAgICAgICAgICAg
ICAgICAgICB1bml0OiB1bml0LAorICAgICAgICAgICAgICAgICAgICBmb3JtYXRXaXRoVW5pdDog
ZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB0aGlzLmZvcm1hdHRlcih2YWx1ZSkgKyB1bml0U3Vm
Zml4OyB9LAorICAgICAgICAgICAgICAgICAgICBmb3JtYXRXaXRoRGVsdGFBbmRVbml0OiBmdW5j
dGlvbiAodmFsdWUsIGRlbHRhKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIodmFsdWUpICsgKGRlbHRhICYmICFpc05h
TihkZWx0YSkgPyAnIFx1MDBiMSAnICsgZGVsdGFGb3JtYXR0ZXJXaXRob3V0U2lnbihkZWx0YSkg
OiAnJykgKyB1bml0U3VmZml4OworICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg
ICAgICAgICBmb3JtYXR0ZXI6IHVzZVNJID8gZDMuZm9ybWF0KCcuNHMnKSA6IGQzLmZvcm1hdCgn
LjRnJyksCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhRm9ybWF0dGVyOiB1c2VTSSA/IGQzLmZv
cm1hdCgnKy4ycycpIDogZDMuZm9ybWF0KCcrLjJnJyksCiAgICAgICAgICAgICAgICAgICAgIHNt
YWxsZXJJc0JldHRlcjogc21hbGxlcklzQmV0dGVyLApJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92Mi9qcy9zdGF0aXN0aWNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvanMvc3RhdGlzdGljcy5qcwkocmV2aXNpb24gMTgw
MDkyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9qcy9zdGF0aXN0aWNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMTMgQEAKIHZhciBTdGF0aXN0aWNzID0gbmV3
IChmdW5jdGlvbiAoKSB7CiAKKyAgICB0aGlzLm1pbiA9IGZ1bmN0aW9uICh2YWx1ZXMpIHsKKyAg
ICAgICAgcmV0dXJuIE1hdGgubWluLmFwcGx5KE1hdGgsIHZhbHVlcyk7CisgICAgfQorCisgICAg
dGhpcy5tYXggPSBmdW5jdGlvbiAodmFsdWVzKSB7CisgICAgICAgIHJldHVybiBNYXRoLm1heC5h
cHBseShNYXRoLCB2YWx1ZXMpOworICAgIH0KKwogICAgIHRoaXMuc3VtID0gZnVuY3Rpb24gKHZh
bHVlcykgewogICAgICAgICByZXR1cm4gdmFsdWVzLmxlbmd0aCA/IHZhbHVlcy5yZWR1Y2UoZnVu
Y3Rpb24gKGEsIGIpIHsgcmV0dXJuIGEgKyBiOyB9KSA6IDA7CiAgICAgfQo=
</data>
<flag name="review"
          id="271815"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>