<?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>156827</bug_id>
          
          <creation_ts>2016-04-20 17:30:31 -0700</creation_ts>
          <short_desc>Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results</short_desc>
          <delta_ts>2016-07-21 15:54:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>160057</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>glenn</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185631</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-20 17:30:31 -0700</bug_when>
    <thetext>Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185637</commentid>
    <comment_count>1</comment_count>
      <attachid>276877</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-20 17:46:17 -0700</bug_when>
    <thetext>Created attachment 276877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185671</commentid>
    <comment_count>2</comment_count>
      <attachid>276877</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2016-04-20 20:30:01 -0700</bug_when>
    <thetext>Comment on attachment 276877
Patch

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

&gt; Tools/ChangeLog:-640
&gt; - 

logs of changelog changes

&gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:81
&gt; +

We still need to kill the server If something goes wrong serving the driver or launching the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185820</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-21 09:34:18 -0700</bug_when>
    <thetext>just to document, patches landed in 
- https://trac.webkit.org/changeset/199805
- https://trac.webkit.org/changeset/199806

But unfortunately the new tests fail on all performance bots:

Running Animation/css-animation.html (2 of 153)
ERROR: layer at (0,0) size 800x600
FAILED
Finished: 0.449525 s

Running Animation/raf-animation.html (3 of 153)
ERROR: layer at (0,0) size 800x600
FAILED
Finished: 0.449265 s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185842</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-21 11:02:11 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; just to document, patches landed in 
&gt; - https://trac.webkit.org/changeset/199805
&gt; - https://trac.webkit.org/changeset/199806
&gt; 
&gt; But unfortunately the new tests fail on all performance bots:
&gt; 
&gt; Running Animation/css-animation.html (2 of 153)
&gt; ERROR: layer at (0,0) size 800x600
&gt; FAILED
&gt; Finished: 0.449525 s
&gt; 
&gt; Running Animation/raf-animation.html (3 of 153)
&gt; ERROR: layer at (0,0) size 800x600
&gt; FAILED
&gt; Finished: 0.449265 s

These tests only really make sense for iOS. We should not run them for other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186169</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-22 01:48:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; just to document, patches landed in 
&gt; &gt; - https://trac.webkit.org/changeset/199805
&gt; &gt; - https://trac.webkit.org/changeset/199806
&gt; &gt; 
&gt; &gt; But unfortunately the new tests fail on all performance bots:
&gt; &gt; 
&gt; &gt; Running Animation/css-animation.html (2 of 153)
&gt; &gt; ERROR: layer at (0,0) size 800x600
&gt; &gt; FAILED
&gt; &gt; Finished: 0.449525 s
&gt; &gt; 
&gt; &gt; Running Animation/raf-animation.html (3 of 153)
&gt; &gt; ERROR: layer at (0,0) size 800x600
&gt; &gt; FAILED
&gt; &gt; Finished: 0.449265 s
&gt; 
&gt; These tests only really make sense for iOS. We should not run them for other
&gt; platforms.

In this case please skip them on other platforms. It&apos;s not OK leaving bots red.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276877</attachid>
            <date>2016-04-20 17:46:17 -0700</date>
            <delta_ts>2016-04-20 20:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156827-20160420174638.patch</filename>
            <type>text/plain</type>
            <size>42015</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5Njk2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDcxMWU0OGQzZThjMTMxMmY3NTYxNjZkM2FjOTcwNmI0
OGEzNzc3Yi4uNGRmNzQwYTY4NWE0YmRjNWU4YTVmNGUwNDQ2YmI0NGJjZDA1YjQ4ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1
IEBACisyMDE2LTA0LTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBjb250ZW50IGFuaW1hdGlvbiB0ZXN0cyB0byBiZW5jaG1hcmtfcnVubmVy
LCBhbmQgYWxsb3cgdGhlIHJ1bm5lciB0byBjb2xsZWN0IGRldmljZSBkYXRhIGFzIHBhcnQgb2Yg
dGhlIHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NjgyNworICAgICAgICByZGFyOi8vcHJvYmxlbS8yNDM1ODEzNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuaGFuY2UgYmVuY2htYXJrX3J1
bm5lciBzbyB0aGF0IGEgYmVuY2htYXJrIGNhbiBsb2FkIGEgc2V0IG9mIHRlc3RzIHNlcXVlbnRp
YWxseSwKKyAgICAgICAgYW5kIGNvbGxhdGUgcmVzdWx0cyBhY3Jvc3MgdGhlbS4gQWxzbyBhZGQg
dGhlIGFiaWxpdHkgZm9yIHRoZSBicm93c2VyX2RyaXZlciB0byBzdXBwbHkKKyAgICAgICAgYWRk
aXRpb25hbCByZXN1bHRzLCBhbGxvd2luZyBmb3IgdGVzdHMgdGhhdCBjb2xsZWN0IHJlc3VsdHMg
ZGF0YSBpbiBuYXRpdmUgY29kZSwgcmF0aGVyCisgICAgICAgIHRoYW4gZ2VuZXJhdGluZyBpdCBp
biB0aGUgd2ViIHBhZ2UuCisKKyAgICAgICAgQWRkIGEgc2V0IG9mICJjb250ZW50IGFuaW1hdGlv
biIgdGVzdHMgdGhhdCB1c2UgdGhpcyBuZXcgZnVuY3Rpb25hbGl0eSwgd2hpY2ggdGVzdAorICAg
ICAgICBDU1MgYW5pbWF0aW9uIGFuZCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgcGVyZm9ybWFuY2Uu
CisKKyAgICAgICAgJ3BsYW4nIGZpbGVzIGhhdmUgdHdvIG5ldyBvcHRpb25hbCBrZXlzOgorICAg
ICAgICAgICAgJ3Rlc3RfZmlsZXMnOiBhIGxpc3Qgb2YgZmlsZXMgdG8gcnVuIGFzIGEgc3VpdGUK
KyAgICAgICAgICAgICdvcHRpb25zJzogb3B0aW9uYWwgcGFyYW1ldGVycy4gQ3VycmVudGx5IHN1
cHBvcnRzIG9uZSBuZXcgb3B0aW9uLAorICAgICAgICAgICAgICAgICdhbmltYXRpb25fY29tbWFu
ZCcsIHdoaWNoIGFmZmVjdHMgdGhlIHdheSB0aGF0IGlPUyB0ZXN0cyBhcmUgcnVuLAorICAgICAg
ICAgICAgICAgIGFuZCBpcyBwYXNzZWQgdG8gTW9iaWxlU2FmYXJpIGFzIGEgcGFyYW1ldGVyIG9u
IGxhdW5jaC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
ZW5jaG1hcmtfcnVubmVyLnB5OgorICAgICAgICAoQmVuY2htYXJrUnVubmVyLl9faW5pdF9fKTog
SWYgb3B0aW9ucyBpcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBwbGFuIGZpbGUsIHNldCBpdCB0byBh
biBlbXB0eSBkaWN0aW9uYXJ5LgorICAgICAgICAoQmVuY2htYXJrUnVubmVyLl9nZXRfcmVzdWx0
KTogQWxsb3cgdGhlIGJyb3dzZXJfZHJpdmVyIHRvIG1vZGlmeSB0aGUgdGVzdCByZXN1bHRzLgor
ICAgICAgICAoQmVuY2htYXJrUnVubmVyKToKKyAgICAgICAgKEJlbmNobWFya1J1bm5lci5fcnVu
X29uZV90ZXN0KTogRmFjdG9yZWQgb3V0IG9mIF9ydW5fYmVuY2htYXJrLCB0aGlzIGNvbnRhaW5z
IGxvZ2ljIGZvcgorICAgICAgICBydW5uaW5nIGEgc2luZ2xlIHRlc3QuIEl0IHN0YXJ0cyBhbmQg
c3RvcHMgdGhlIGh0dHBfc2VydmVyX2RyaXZlci4KKyAgICAgICAgKEJlbmNobWFya1J1bm5lci5f
cnVuX2JlbmNobWFyayk6IFJ1biBhIHRlc3QgaW4gdGhlIHRyYWRpdGlvbmFsIHdheSBpZiB0aGUg
cGxhbiBoYXMgYW4gJ2VudHJ5X3BvaW50JworICAgICAgICBrZXksIG90aGVyd2lzZSBsb29rIGZv
ciB0aGUgbmV3ICd0ZXN0X2ZpbGVzJyBhbmQgbG9hZCBlYWNoIGluIGEgbG9vcC4KKyAgICAgICAg
KEJlbmNobWFya1J1bm5lci5fZHVtcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAo
QnJvd3NlckRyaXZlci5sYXVuY2hfdXJsKTogUGFzcyBvcHRpb25zLgorICAgICAgICAoQnJvd3Nl
ckRyaXZlci5hZGRfYWRkaXRpb25hbF9yZXN1bHRzKTogQWxsb3cgYSBkcml2ZXIgdG8gc3VwcGx5
IGFkZGl0aW9uYWwgcmVzdWx0cy4KKyAgICAgICAgKEJyb3dzZXJEcml2ZXIpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9ndGtfbWlu
aWJyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoR1RLTWluaUJyb3dzZXJEcml2ZXIubGF1bmNo
X3VybCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weToKKyAgICAgICAgKE9TWEJyb3dzZXJEcml2
ZXIuY2xvc2VfYnJvd3NlcnMpOgorICAgICAgICAoT1NYQnJvd3NlckRyaXZlci5fdGVybWluYXRl
X3Byb2Nlc3Nlcyk6IEZpeCBzcGVsbGluZyBtaXN0YWtlLgorICAgICAgICAoT1NYQnJvd3NlckRy
aXZlci5fdGVybWluaWF0ZV9wcm9jZXNzZXMpOiBEZWxldGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZl
ci5weToKKyAgICAgICAgKE9TWENocm9tZURyaXZlci5sYXVuY2hfdXJsKToKKyAgICAgICAgKE9T
WENocm9tZUNhbmFyeURyaXZlci5sYXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5
OgorICAgICAgICAoT1NYRmlyZWZveERyaXZlci5sYXVuY2hfdXJsKToKKyAgICAgICAgKE9TWEZp
cmVmb3hOaWdodGx5RHJpdmVyLmxhdW5jaF91cmwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weToK
KyAgICAgICAgKE9TWFNhZmFyaURyaXZlci5sYXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0NvbnRlbnRBbmltYXRpb24u
cGF0Y2g6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9kYXRhL3BsYW5zL2NvbnRlbnQtYW5pbWF0aW9uLnBsYW46IEFkZGVkLgorCiAyMDE2LTA0LTE4
ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NP
bmx5XSBJbXBsZW1lbnQgUnVuTG9vcCBhbmQgcmVtb3ZlIGdsaWIgZGVwZW5kZW5jeQpAQCAtNjM3
LDcgKzY4OSw3IEBACiAKICAgICAgICAgW0ZldGNoIEFQSV0gQWRkIGEgcnVudGltZSBmbGFnIHRv
IGZldGNoIEFQSSBhbmQgcmVsYXRlZCBjb25zdHJ1Y3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYxMTMKLSAKKwogICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4IENocmlzdGVuc2VuLgogCiAgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5oOgpAQCAtMTEyNCw3ICsxMTc2LDcgQEAKIDIwMTYtMDMtMjMgIEx1Y2FzIEZvcnNjaGxlciAg
PGxmb3JzY2hsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFRlYWNoIGtpbGwtb2xkLXByb2Nlc3Nl
cyBhYm91dCBwZXJsIDUuMTguCi0gICAgICAgIAorCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhl
eSBQcm9za3VyeWFrb3YKIAogICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2tpbGwtb2xkLXBy
b2Nlc3NlczoKQEAgLTE0ODEsNyArMTUzMyw3IEBACiAKICAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcDoKICAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgotICAgICAgICAtIFRlc3QgdGhhdCB0aGUgYSBzeW1ib2wgd2l0aCBhbiBlbXB0eSBzdHJpbmcg
aXMgbm90IGVxdWl2YWxlbnQgdG8gYSBudWxsIHN5bWJvbC4gCisgICAgICAgIC0gVGVzdCB0aGF0
IHRoZSBhIHN5bWJvbCB3aXRoIGFuIGVtcHR5IHN0cmluZyBpcyBub3QgZXF1aXZhbGVudCB0byBh
IG51bGwgc3ltYm9sLgogCiAyMDE2LTAzLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBs
ZS5jb20+CiAKQEAgLTE4NjQsNyArMTkxNiw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhl
eSBQcm9za3VyeWFrb3YuCiAKICAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5
OgotICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5kZWZhdWx0X2NoaWxkX3Byb2Nlc3Nlcyk6IFVz
ZSB1bGltaXQgY29tbWFuZCBvdXRwdXQgaW5zdGVhZCBvZiAKKyAgICAgICAgKElPU1NpbXVsYXRv
clBvcnQuZGVmYXVsdF9jaGlsZF9wcm9jZXNzZXMpOiBVc2UgdWxpbWl0IGNvbW1hbmQgb3V0cHV0
IGluc3RlYWQgb2YKICAgICAgICAgbGF1bmNoY3RsIGxpbWl0IG1heHByb2MgY29tbWFuZC4KIAog
MjAxNi0wMy0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KQEAgLTIxMDYs
NyArMjE1OCw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCiAK
ICAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5Ogot
ICAgICAgICAoQ3Jhc2hMb2dzLl9maW5kX2FsbF9sb2dzX2Rhcndpbik6IE1ha2Ugc3VyZSB0aGF0
IGNyYXNoIGxvZyB0aW1lc3RhbXAgaXMgd2l0aGluIGV4cGVjdGVkIAorICAgICAgICAoQ3Jhc2hM
b2dzLl9maW5kX2FsbF9sb2dzX2Rhcndpbik6IE1ha2Ugc3VyZSB0aGF0IGNyYXNoIGxvZyB0aW1l
c3RhbXAgaXMgd2l0aGluIGV4cGVjdGVkCiAgICAgICAgIHRpbWUgcmFuZ2UsIGJlY2F1c2UgZmls
ZSBtb2RpZmljYXRpb24gdGltZSBpcyBub3QgYWx3YXlzIGFjY3VyYXRlLgogICAgICAgICAoQ3Jh
c2hMb2dzLmdldF90aW1lc3RhbXBfZnJvbV9sb2dzKTogUGFyc2UgdGhlIHRpbWVzdGFtcCBmcm9t
IGxvZ3MuCiAgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9n
c191bml0dGVzdC5weToKQEAgLTI2MzYsNyArMjY4OCw3IEBACiAKICAgICAgICAgTW9kZXJuIElE
QjogTmV3IGRhdGFiYXNlIHZlcnNpb25zIGFyZSBuZXZlciBjb21taXR0ZWQgdG8gU1FMaXRlLgog
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ4NjA5NTI+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NzQxCi0gICAgICAgIAorCiAgICAgICAgIE1vZGVybiBJ
REI6IElmIGEgZGF0YWJhc2UgaGFuZGxlIGlzIG5vdCBvcGVuLCBmaWxlcyBhcmUgbm90IGFjdHVh
bGx5IGRlbGV0ZWQgZnJvbSBkaXNrCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTQ3NTYKIApAQCAtMzI4Niw3ICszMzM4LDcgQEAKIAogMjAxNi0wMi0x
NSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAotICAgICAgICBbTWFjXSBH
YXRoZXIgc29tZSBydWRpbWVudGFyeSBzdGF0aXN0aWNzIGR1cmluZyByZXNvdXJjZSBsb2FkIAor
ICAgICAgICBbTWFjXSBHYXRoZXIgc29tZSBydWRpbWVudGFyeSBzdGF0aXN0aWNzIGR1cmluZyBy
ZXNvdXJjZSBsb2FkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTM1NzUKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0MDc1MjU0PgogCkBAIC0zNTkz
LDE1ICszNjQ1LDE1IEBACiAgICAgICAgICAgICByZWdyZXNzLnlhbWwvUmVncmVzcy9yYWRhci0y
NDI4OTgzOS5qcy5mdGw6IFBBU1MKICAgICAgICAgICAgIHJlZ3Jlc3MueWFtbC9SZWdyZXNzL3Jh
ZGFyLTI0Mjg5ODM5LmpzLmZ0bC1uby1jaml0OiBGQUlMCiAgICAgICAgICAgICByZWdyZXNzLnlh
bWwvUmVncmVzcy9yYWRhci0yNDI4OTgzOS5qcy5mdGwtZWFnZXItbm8tY2ppdDogRkFJTAotICAg
ICAgICAKKwogICAgICAgICByZWdyZXNzLnlhbWwvUmVncmVzcy9yYWRhci0yNDI5MDYzOS5qczoK
ICAgICAgICAgICAgIHJlZ3Jlc3MueWFtbC9SZWdyZXNzL3JhZGFyLTI0MjkwNjM5LmpzLmRlZmF1
bHQ6IFBBU1MKICAgICAgICAgICAgIHJlZ3Jlc3MueWFtbC9SZWdyZXNzL3JhZGFyLTI0MjkwNjM5
LmpzLmZ0bDogUEFTUwogICAgICAgICAgICAgcmVncmVzcy55YW1sL1JlZ3Jlc3MvcmFkYXItMjQy
OTA2MzkuanMuZnRsLW5vLWNqaXQ6IFBBU1MKICAgICAgICAgICAgIHJlZ3Jlc3MueWFtbC9SZWdy
ZXNzL3JhZGFyLTI0MjkwNjM5LmpzLmZ0bC1lYWdlci1uby1jaml0OiBGQUlMCi0gICAgICAgIAor
CiAgICAgICAgIHJlZ3Jlc3MueWFtbC9SZWdyZXNzL3JhZGFyLTI0MjkwNjcwLmpzOiBGQUlMRUQK
LSAgICAgICAgCisKICAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgogCiAy
MDE2LTAyLTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KQEAg
LTQzMTIsNyArNDM2NCw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTMxODcKIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLSAg
ICAgICAgCisKICAgICAgICAgSW5jbHVkZSBhICdkYXRlJyBwcm9wZXJ0eSBpbiB0aGUgSlNPTiB3
aXRoIHRoZSBkYXRlIGFuZCB0aW1lIHRoZSB0ZXN0cyBjb21wbGV0ZWQuCiAKICAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5fcmVzdWx0cy5weToK
QEAgLTQ0MzAsNyArNDQ4Miw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTMzMzQKIAogICAgICAgICBSZXZpZXdlZCBieSBaYWxhbiBCdWp0YXMu
Ci0gICAgICAgIAorCiAgICAgICAgIEV2YWx1YXRpbmcgZXhwcmVzc2lvbnMgaW4gdGhlIExheW91
dFVuaXQgc3VtbWFyeSBwcm92aWRlciBzZWVtcyB0byBjYXVzZQogICAgICAgICByZS1lbnRyYW5j
eSBwcm9ibGVtcyBpbiBsbGRiIHB5dGhvbiBiaW5kaW5ncywgc28ganVzdCBoYXJkY29kZSB0aGUg
TGF5b3V0VW5pdAogICAgICAgICBkZW5vbWluYXRvciB0byA2NC4KQEAgLTQ2ODMsNyArNDczNSw3
IEBACiAgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI0MjA4NDg3CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2FtIFdlaW5pZy4KLSAgICAgICAgCisKICAgICAgICAgUGxpc3QgdXNlZCBieSBrZGVidWdf
dHJhY2UoKSB2aWV3aW5nIHRvb2xzLgogCiAgICAgICAgICogVHJhY2luZy9TeXN0ZW1UcmFjZVBv
aW50cy5wbGlzdDogQWRkZWQuCkBAIC00ODgzLDE4ICs0OTM1LDE4IEBACiAgICAgICAgIFRoaXMg
cGF0Y2ggbm93IGFsbG93cyBydW4tanNjLXN0cmVzcy10ZXN0cyB0byBiZSBydW4KICAgICAgICAg
d2l0aG91dCBhICItLWpzYyA8anNjLXBhdGg+IiBhcmd1bWVudC4gSXQgdHJpZXMKICAgICAgICAg
dG8gdGFrZSBpdHMgYmVzdCBndWVzcyBhdCBhIDxqc2MtcGF0aD4gYXV0b21hZ2ljYWxseS4KLSAg
ICAgICAgCisKICAgICAgICAgVGhpcyBtYWtlcyBpdCBtdWNoIGVhc2llciB0byBqdXN0IHJ1biBy
dW4tanNjLXN0cmVzcy10ZXN0cwogICAgICAgICB3aXRoIGEgZGlyZWN0b3J5IG9yIGEgeWFtbCBm
aWxlIGFzIGFuIGFyZ3VtZW50LgogICAgICAgICBZb3Ugbm93IGp1c3QgZG8gdGhpczoKICAgICAg
ICAgYHJ1bi1qc2Mtc3RyZXNzLXRlc3RzIDxwYXRoLXRvLXlhbWw+YAogICAgICAgICBvcgogICAg
ICAgICBgcnVuLWpzYy1zdHJlc3MtdGVzdHMgPHBhdGgtdG8tZGlyZWN0b3J5LW9mLWpzLWZpbGVz
PmAKLSAgICAgICAgCi0gICAgICAgIEkgd3JvdGUgdGhpcyBwYXRjaCBiZWNhdXNlIEknZCBvZnRl
biBmaW5kIG15c2VsZiBoYWNraW5nIHRoZSAKKworICAgICAgICBJIHdyb3RlIHRoaXMgcGF0Y2gg
YmVjYXVzZSBJJ2Qgb2Z0ZW4gZmluZCBteXNlbGYgaGFja2luZyB0aGUKICAgICAgICAgcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGZpbGUganVzdCB0byBydW4gYSBwYXJ0aWN1bGFyIHN1YnNldCBv
ZiB0ZXN0cy4KICAgICAgICAgQmVjYXVzZSBJIGFsd2F5cyBmb3JnZXQgdGhlIGFyZ3VtZW50cyB0
byBydW4tanNjLXN0cmVzcy10ZXN0cyAod2hpY2ggbWVhbnMKLSAgICAgICAgSSBhbHdheXMgZm9y
Z290IHRvIHByb3ZpZGUgYSAtLWpzYyBhcmd1bWVudCksIEkgYWx3YXlzIGZvdW5kIGl0IGVhc2ll
ciB0byAKKyAgICAgICAgSSBhbHdheXMgZm9yZ290IHRvIHByb3ZpZGUgYSAtLWpzYyBhcmd1bWVu
dCksIEkgYWx3YXlzIGZvdW5kIGl0IGVhc2llciB0bwogICAgICAgICBqdXN0IGhhY2sgb24gdGhh
dCBmaWxlIGluc3RlYWQgb2YgY2FsbGluZyBydW4tanNjLXN0cmVzcy10ZXN0cyBkaXJlY3RseS4K
ICAgICAgICAgTm8gbG9uZ2VyIGlzIHRoaXMgdHJ1ZSEKIApAQCAtNTE2OSw3ICs1MjIxLDcgQEAK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjgwNwog
CiAgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KLSAgICAgICAgCisKICAgICAgICAg
QWRkIGFuIGl0ZW0gdG8gdGhlIFNldHRpbmdzIG1lbnUgdG8gdG9nZ2xlIGRpc3BsYXktbGlzdCBk
cmF3aW5nLgogCiAgICAgICAgICogTWluaUJyb3dzZXIvbWFjL1NldHRpbmdzQ29udHJvbGxlci5o
OgpAQCAtNTQxOCw3ICs1NDcwLDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjAzNAogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24u
Ci0gICAgICAgIAorCiAgICAgICAgIFVwZGF0ZSB0aGlzIHRlc3QgdG8gdXNlIHBpRG91YmxlIGZy
b20gTWF0aEV4dHJhcy5oLCBhbmQKICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czw+LgogCkBA
IC01NDgyLDcgKzU1MzQsNyBAQAogICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwOgogICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0VXNlck1lZGlhUGVy
bWlzc2lvbkZvck9yaWdpbik6CiAgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpoYW5kbGVD
aGVja09mVXNlck1lZGlhUGVybWlzc2lvbkZvck9yaWdpbik6IEFkZCBOVUxMIGNoZWNrLgotICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RJZlBvc3NpYmxlKTogRG9uJ3QgYWRkIAorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RJZlBvc3Np
YmxlKTogRG9uJ3QgYWRkCiAgICAgICAgICAgcGVyc2lzdGVudCBwZXJtaXNzaW9uIGZvciBvcmln
aW4sIHRoYXQgY2FuIGJlIGRvbmUgZnJvbSBzY3JpcHQgbm93LgogICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKIApAQCAtNjMwNyw3ICs2MzU5LDcgQEAKICAgICAg
ICAgNC4gQXBwZW5kICdleGUnIHN1ZmZpeCB3aGVuIHJ1bm5pbmcgV2luZG93cyBleGVjdXRhYmxl
cy4KICAgICAgICAgNS4gVXNlIHRoZSBfd2lucmVnIFB5dGhvbiBtb2R1bGUgb24gV2luZG93cywg
c2luY2UgdGhlIEN5Z3dpbiAncmVndG9vbCcKICAgICAgICAgY29tbWFuZCBkb2Vzbid0IGV4aXN0
LgotICAgICAgICAKKwogICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdDogVXNlIFBlcmwg
JF5YIGNvbW1hbmQgdG8gcmVmZXIgdG8gdGhlIHBhdGggb2YKICAgICAgICAgdGhlIGN1cnJlbnQg
UGVybCBleGVjdXRhYmxlLCByYXRoZXIgdGhhbiByZXF1aXJpbmcgYSBuZXcgcGF0aCBzZWFyY2gu
CiAgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vZmluZF9maWxlc191bml0dGVzdC5w
eToKQEAgLTY2NDMsNyArNjY5NSw3IEBACiAgICAgICAgIChUZXN0V2ViS2l0QVBJOjpHZW9sb2Nh
dGlvblRyYW5zaXRpb25Ub0xvd0FjY3VyYWN5U3RhdGVUcmFja2VyOjpldmVudHNDaGFuZ2VkKToK
ICAgICAgICAgKFRlc3RXZWJLaXRBUEk6Okdlb2xvY2F0aW9uVHJhbnNpdGlvblRvSGlnaEFjY3Vy
YWN5U3RhdGVUcmFja2VyOjpHZW9sb2NhdGlvblRyYW5zaXRpb25Ub0hpZ2hBY2N1cmFjeVN0YXRl
VHJhY2tlcik6IERlbGV0ZWQuCiAgICAgICAgIChUZXN0V2ViS2l0QVBJOjpHZW9sb2NhdGlvblRy
YW5zaXRpb25Ub0xvd0FjY3VyYWN5U3RhdGVUcmFja2VyOjpHZW9sb2NhdGlvblRyYW5zaXRpb25U
b0xvd0FjY3VyYWN5U3RhdGVUcmFja2VyKTogRGVsZXRlZC4KLSAgICAgICAgUHJvcGVybHkgbG9h
ZCBhYm91dDpibGFuayBpbiBhbGwgV2ViVmlld3MgdG8gY2xlYW4gdXAuICBXaXRob3V0IHRoaXMg
Y2hhbmdlLCB3ZSBoYWQgYSAKKyAgICAgICAgUHJvcGVybHkgbG9hZCBhYm91dDpibGFuayBpbiBh
bGwgV2ViVmlld3MgdG8gY2xlYW4gdXAuICBXaXRob3V0IHRoaXMgY2hhbmdlLCB3ZSBoYWQgYQog
ICAgICAgICBHZW9sb2NhdGlvbiBwcm92aWRlciBzdG9wcGluZyBhZnRlciBpdHMgc3RhdGUgdHJh
Y2tlciB3YXMgZGVzdHJveWVkIHdpdGggaXRzIHN0YWNrIGZyYW1lLAogICAgICAgICBzbyBpdCB3
YXMgY2FsbGluZyBhIGZ1bmN0aW9uIG9uIGEgdGVzdCBvYmplY3QgdGhhdCBoYWQgZ29uZSBvdXQg
b2Ygc2NvcGUuCiAgICAgICAgIEFsc28sIGNhbGwgV0tDb250ZXh0U2V0VXNlc05ldHdvcmtQcm9j
ZXNzKGNvbnRleHQsIHRydWUpIHRvIHNob3cgd2hhdCBjcmFzaCB0aGlzIGZpeGVkLApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19y
dW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX3J1bm5lci5weQppbmRleCBkMzk1ODBhZDc2NTc3OGNkYjQyYTFhMjlhZWI0MGY1ODI1MWIw
MTYyLi5mYzY5MzEyMGY0NjEwNWM5MzcwNDM3ZGNiMmEyM2U1OTc5MTc5Yjg2IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5l
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX3J1bm5lci5weQpAQCAtMzAsNiArMzAsOCBAQCBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2Jq
ZWN0KToKICAgICAgICAgICAgIHdpdGggb3BlbihwbGFuX2ZpbGUsICdyJykgYXMgZnA6CiAgICAg
ICAgICAgICAgICAgc2VsZi5fcGxhbl9uYW1lID0gb3MucGF0aC5zcGxpdChvcy5wYXRoLnNwbGl0
ZXh0KHBsYW5fZmlsZSlbMF0pWzFdCiAgICAgICAgICAgICAgICAgc2VsZi5fcGxhbiA9IGpzb24u
bG9hZChmcCkKKyAgICAgICAgICAgICAgICBpZiBub3QgJ29wdGlvbnMnIGluIHNlbGYuX3BsYW46
CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BsYW5bJ29wdGlvbnMnXSA9IHt9CiAgICAgICAg
ICAgICAgICAgaWYgbG9jYWxfY29weToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsn
bG9jYWxfY29weSddID0gbG9jYWxfY29weQogICAgICAgICAgICAgICAgIGlmIGNvdW50X292ZXJy
aWRlOgpAQCAtNTksMjYgKzYxLDUyIEBAIGNsYXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgog
ICAgICAgICAgICAgICAgIHJldHVybiBhYnNQYXRoCiAgICAgICAgIHJldHVybiBwbGFuX2ZpbGUK
IAorICAgIGRlZiBfZ2V0X3Jlc3VsdChzZWxmLCB0ZXN0X3VybCk6CisgICAgICAgIHJlc3VsdCA9
IHNlbGYuX2Jyb3dzZXJfZHJpdmVyLmFkZF9hZGRpdGlvbmFsX3Jlc3VsdHModGVzdF91cmwsIHNl
bGYuX2h0dHBfc2VydmVyX2RyaXZlci5mZXRjaF9yZXN1bHQoKSkKKyAgICAgICAgYXNzZXJ0KG5v
dCBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIuZ2V0X3JldHVybl9jb2RlKCkpCisgICAgICAgIHJl
dHVybiByZXN1bHQKKworICAgIGRlZiBfcnVuX29uZV90ZXN0KHNlbGYsIHdlYl9yb290LCB0ZXN0
X2ZpbGUpOgorICAgICAgICBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIuc2VydmUod2ViX3Jvb3Qp
CisgICAgICAgIHVybCA9IHVybHBhcnNlLnVybGpvaW4oc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVy
LmJhc2VfdXJsKCksIHNlbGYuX3BsYW5fbmFtZSArICcvJyArIHRlc3RfZmlsZSkKKyAgICAgICAg
c2VsZi5fYnJvd3Nlcl9kcml2ZXIubGF1bmNoX3VybCh1cmwsIHNlbGYuX3BsYW5bJ29wdGlvbnMn
XSwgc2VsZi5fYnVpbGRfZGlyKQorCisgICAgICAgIHdpdGggdGltZW91dChzZWxmLl9wbGFuWyd0
aW1lb3V0J10pOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNl
bGYuX2dldF9yZXN1bHQodXJsKQorICAgICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfZHJpdmVy
LmNsb3NlX2Jyb3dzZXJzKCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAg
ICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlci5r
aWxsX3NlcnZlcigpCisKICAgICBkZWYgX3J1bl9iZW5jaG1hcmsoc2VsZiwgY291bnQsIHdlYl9y
b290KToKICAgICAgICAgcmVzdWx0cyA9IFtdCiAgICAgICAgIGZvciBpdGVyYXRpb24gaW4geHJh
bmdlKDEsIGNvdW50ICsgMSk6CiAgICAgICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0IHRoZSBpdGVy
YXRpb24ge2N1cnJlbnRfaXRlcmF0aW9ufSBvZiB7aXRlcmF0aW9uc30gZm9yIGN1cnJlbnQgYmVu
Y2htYXJrJy5mb3JtYXQoY3VycmVudF9pdGVyYXRpb249aXRlcmF0aW9uLCBpdGVyYXRpb25zPWNv
dW50KSkKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBOb25lCi0g
ICAgICAgICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyLnNlcnZlKHdlYl9yb290KQog
ICAgICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfZHJpdmVyLnByZXBhcmVfZW52KHNlbGYuX2Rl
dmljZV9pZCkKLSAgICAgICAgICAgICAgICB1cmwgPSB1cmxwYXJzZS51cmxqb2luKHNlbGYuX2h0
dHBfc2VydmVyX2RyaXZlci5iYXNlX3VybCgpLCBzZWxmLl9wbGFuX25hbWUgKyAnLycgKyBzZWxm
Ll9wbGFuWydlbnRyeV9wb2ludCddKQotICAgICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfZHJp
dmVyLmxhdW5jaF91cmwodXJsLCBzZWxmLl9idWlsZF9kaXIpCi0gICAgICAgICAgICAgICAgd2l0
aCB0aW1lb3V0KHNlbGYuX3BsYW5bJ3RpbWVvdXQnXSk6Ci0gICAgICAgICAgICAgICAgICAgIHJl
c3VsdCA9IHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlci5mZXRjaF9yZXN1bHQoKQotICAgICAgICAg
ICAgICAgICAgICBhc3NlcnQobm90IHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlci5nZXRfcmV0dXJu
X2NvZGUoKSkKKworICAgICAgICAgICAgICAgIGlmICdlbnRyeV9wb2ludCcgaW4gc2VsZi5fcGxh
bjoKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5fcnVuX29uZV90ZXN0KHdlYl9y
b290LCBzZWxmLl9wbGFuWydlbnRyeV9wb2ludCddKQogICAgICAgICAgICAgICAgICAgICBhc3Nl
cnQocmVzdWx0KQogICAgICAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChqc29uLmxvYWRz
KHJlc3VsdCkpCisgICAgICAgICAgICAgICAgZWxpZiAndGVzdF9maWxlcycgaW4gc2VsZi5fcGxh
bjoKKyAgICAgICAgICAgICAgICAgICAgcnVuX3Jlc3VsdCA9IHt9CisgICAgICAgICAgICAgICAg
ICAgIGZvciB0ZXN0IGluIHNlbGYuX3BsYW5bJ3Rlc3RfZmlsZXMnXToKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHNlbGYuX3J1bl9vbmVfdGVzdCh3ZWJfcm9vdCwgdGVzdCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGFzc2VydChyZXN1bHQpCisgICAgICAgICAgICAgICAgICAg
ICAgICBydW5fcmVzdWx0ID0gc2VsZi5fbWVyZ2UocnVuX3Jlc3VsdCwganNvbi5sb2FkcyhyZXN1
bHQpKQorCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHJ1bl9yZXN1bHQpCisg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdQbGFuIGRvZXMgbm90IGNvbnRhaW4gZW50cnlfcG9pbnQgb3IgdGVzdF9maWxlcycpCisKICAg
ICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9kcml2ZXIu
cmVzdG9yZV9lbnYoKQogICAgICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfZHJpdmVyLmNsb3Nl
X2Jyb3dzZXJzKCkKLSAgICAgICAgICAgICAgICBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIua2ls
bF9zZXJ2ZXIoKQorCiAgICAgICAgICAgICBfbG9nLmluZm8oJ0VuZCB0aGUgaXRlcmF0aW9uIHtj
dXJyZW50X2l0ZXJhdGlvbn0gb2Yge2l0ZXJhdGlvbnN9IGZvciBjdXJyZW50IGJlbmNobWFyaycu
Zm9ybWF0KGN1cnJlbnRfaXRlcmF0aW9uPWl0ZXJhdGlvbiwgaXRlcmF0aW9ucz1jb3VudCkpCisK
ICAgICAgICAgcmVzdWx0cyA9IHNlbGYuX3dyYXAocmVzdWx0cykKICAgICAgICAgc2VsZi5fZHVt
cChyZXN1bHRzLCBzZWxmLl9vdXRwdXRfZmlsZSBpZiBzZWxmLl9vdXRwdXRfZmlsZSBlbHNlIHNl
bGYuX3BsYW5bJ291dHB1dF9maWxlJ10pCiAgICAgICAgIHNlbGYuc2hvd19yZXN1bHRzKHJlc3Vs
dHMsIHNlbGYuX3NjYWxlX3VuaXQpCkBAIC04OSw3ICsxMTcsNyBAQCBjbGFzcyBCZW5jaG1hcmtS
dW5uZXIob2JqZWN0KToKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBfZHVtcChjbHMsIHJl
c3VsdHMsIG91dHB1dF9maWxlKToKLSAgICAgICAgX2xvZy5pbmZvKCdEdW1waW5nIHRoZSByZXN1
bHRzIHRvIGZpbGUnKQorICAgICAgICBfbG9nLmluZm8oJ0R1bXBpbmcgdGhlIHJlc3VsdHMgdG8g
ZmlsZSB7b3V0cHV0X2ZpbGV9Jy5mb3JtYXQob3V0cHV0X2ZpbGU9b3V0cHV0X2ZpbGUpKQogICAg
ICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4ob3V0cHV0X2ZpbGUsICd3JykgYXMgZnA6
CiAgICAgICAgICAgICAgICAganNvbi5kdW1wKHJlc3VsdHMsIGZwKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dz
ZXJfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jy
b3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4IDg1NTgwMTk1ZWNmMDMyZWY5Zjdl
OTFjYWMwYzk2YjY5MjVkYjNjM2MuLmIzMmNjZjY4Zjg5NDRiYWNkMDQ0OWIwYTM2MzY4MjBmNjJh
MGU3NmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvYnJvd3Nlcl9kcml2ZXIucHkK
QEAgLTEzLDEwICsxMywxNCBAQCBjbGFzcyBCcm93c2VyRHJpdmVyKG9iamVjdCk6CiAgICAgICAg
IHBhc3MKIAogICAgIEBhYnN0cmFjdG1ldGhvZAotICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVy
bCwgYnJvd3Nlcl9idWlsZF9wYXRoPU5vbmUpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVy
bCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoPU5vbmUpOgogICAgICAgICBwYXNzCiAKICAg
ICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgYWRkX2FkZGl0aW9uYWxfcmVzdWx0cyhzZWxmLCB0
ZXN0X3VybCwgcmVzdWx0cyk6CisgICAgICAgIHJldHVybiByZXN1bHRzCisKKyAgICBAYWJzdHJh
Y3RtZXRob2QKICAgICBkZWYgY2xvc2VfYnJvd3NlcnMoc2VsZik6CiAgICAgICAgIHBhc3MKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL2d0a19taW5pYnJvd3Nlcl9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvZ3RrX21pbmlicm93c2VyX2RyaXZl
ci5weQppbmRleCBiNTY5ZmEwMmExYTFiMGYxYWQwMjcwYTUwOTRiY2NjODU1MDMzMDZjLi45OGU2
YzllMjM1NmUyYzk1MTE3NjUzNDY4YWY1MTY2MWIyOTM4ZTA5IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvZ3RrX21pbmli
cm93c2VyX2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYnJvd3Nlcl9kcml2ZXIvZ3RrX21pbmlicm93c2VyX2RyaXZlci5weQpAQCAtMzksNyAr
MzksNyBAQCBjbGFzcyBHVEtNaW5pQnJvd3NlckRyaXZlcihHVEtCcm93c2VyRHJpdmVyKToKICAg
ICAgICAgc2VsZi5fbWluaWJyb3dzZXJfcHJvY2VzcyA9IE5vbmUKICAgICAgICAgc3VwZXIoR1RL
TWluaUJyb3dzZXJEcml2ZXIsIHNlbGYpLnByZXBhcmVfZW52KGRldmljZV9pZCkKIAotICAgIGRl
ZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1
bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCk6CiAgICAgICAg
IGFyZ3MgPSBbJ1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyJywgJy0tZ3RrJ10KICAgICAg
ICAgYXJncy5hcHBlbmQoIi0tZ2VvbWV0cnk9JXN4JXMiICUgKHNlbGYuX3NjcmVlbl9zaXplKCku
d2lkdGgsIHNlbGYuX3NjcmVlbl9zaXplKCkuaGVpZ2h0KSkKICAgICAgICAgYXJncy5hcHBlbmQo
dXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2ZXIu
cHkKaW5kZXggNWI3NGNjYjRlMGUwOTk1ZmEyY2E1MDI3MDViNThkMDM4MzE0YmJmMy4uNDhlMTUw
NTRjODVmNTQ2MDM1NDQ4YzQ1ZWYzZGM2ZGM0ZDBmNGE1MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2Vy
X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CkBAIC0yMiw3ICsyMiw3IEBAIGNs
YXNzIE9TWEJyb3dzZXJEcml2ZXIoQnJvd3NlckRyaXZlcik6CiAgICAgICAgIHBhc3MKIAogICAg
IGRlZiBjbG9zZV9icm93c2VycyhzZWxmKToKLSAgICAgICAgc2VsZi5fdGVybWluaWF0ZV9wcm9j
ZXNzZXMoc2VsZi5wcm9jZXNzX25hbWUpCisgICAgICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNz
ZXMoc2VsZi5wcm9jZXNzX25hbWUpCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2xhdW5j
aF9wcm9jZXNzKGNscywgYnVpbGRfZGlyLCBhcHBfbmFtZSwgdXJsLCBhcmdzKToKQEAgLTM3LDgg
KzM3LDggQEAgY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToKICAgICAgICAg
Y2xzLl9sYXVuY2hfcHJvY2Vzc193aXRoX2NhZmZpbmF0ZShhcmdzKQogCiAgICAgQGNsYXNzbWV0
aG9kCi0gICAgZGVmIF90ZXJtaW5pYXRlX3Byb2Nlc3NlcyhjbHMsIHByb2Nlc3NfbmFtZSk6Ci0g
ICAgICAgIF9sb2cuaW5mbygnQ2xvc2luZyBhbGwgdGVybWluYXRpbmcgYWxsIHByb2Nlc3NlcyB3
aXRoIG5hbWUgJXMnICUgcHJvY2Vzc19uYW1lKQorICAgIGRlZiBfdGVybWluYXRlX3Byb2Nlc3Nl
cyhjbHMsIHByb2Nlc3NfbmFtZSk6CisgICAgICAgIF9sb2cuaW5mbygnQ2xvc2luZyBhbGwgcHJv
Y2Vzc2VzIHdpdGggbmFtZSAlcycgJSBwcm9jZXNzX25hbWUpCiAgICAgICAgIHN1YnByb2Nlc3Mu
Y2FsbChbJy91c3IvYmluL2tpbGxhbGwnLCBwcm9jZXNzX25hbWVdKQogCiAgICAgQGNsYXNzbWV0
aG9kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkK
aW5kZXggODNiOGIyMzJmMDM0ZTM3N2RjYTI4YjljODk0MDc2OGRmNzEzNDZiNC4uNWM3MmQ4MTc3
OGUyZWRmMDA0MjY3ODg3ZWQ0MTgyZjEzYWJlOGI4OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVfZHJp
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93
c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5weQpAQCAtMTUsNyArMTUsNyBAQCBjbGFzcyBP
U1hDaHJvbWVEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgcHJvY2Vzc19uYW1lID0gJ0dv
b2dsZSBDaHJvbWUnCiAgICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9tZScKIAotICAgIGRlZiBsYXVu
Y2hfdXJsKHNlbGYsIHVybCwgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1bmNoX3Vy
bChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCk6CiAgICAgICAgIHNlbGYu
X2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1lPSdH
b29nbGUgQ2hyb21lLmFwcCcsIHVybD11cmwsIGFyZ3M9WyctLWFyZ3MnLCAnLS1ob21lcGFnZScs
IHVybCwgJy0td2luZG93LXNpemU9e3dpZHRofSx7aGVpZ2h0fScuZm9ybWF0KHdpZHRoPWludChz
ZWxmLl9zY3JlZW5fc2l6ZSgpLndpZHRoKSwgaGVpZ2h0PWludChzZWxmLl9zY3JlZW5fc2l6ZSgp
LmhlaWdodCkpXSkKIAogCkBAIC0yMyw1ICsyMyw1IEBAIGNsYXNzIE9TWENocm9tZUNhbmFyeURy
aXZlcihPU1hCcm93c2VyRHJpdmVyKToKICAgICBwcm9jZXNzX25hbWUgPSAnR29vZ2xlIENocm9t
ZSBDYW5hcnknCiAgICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9tZS1jYW5hcnknCiAKLSAgICBkZWYg
bGF1bmNoX3VybChzZWxmLCB1cmwsIGJyb3dzZXJfYnVpbGRfcGF0aCk6CisgICAgZGVmIGxhdW5j
aF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgogICAgICAgICBz
ZWxmLl9sYXVuY2hfcHJvY2VzcyhidWlsZF9kaXI9YnJvd3Nlcl9idWlsZF9wYXRoLCBhcHBfbmFt
ZT0nR29vZ2xlIENocm9tZSBDYW5hcnkuYXBwJywgdXJsPXVybCwgYXJncz1bJy0tYXJncycsICct
LWhvbWVwYWdlJywgdXJsLCAnLS13aW5kb3ctc2l6ZT17d2lkdGh9LHtoZWlnaHR9Jy5mb3JtYXQo
d2lkdGg9aW50KHNlbGYuX3NjcmVlbl9zaXplKCkud2lkdGgpLCBoZWlnaHQ9aW50KHNlbGYuX3Nj
cmVlbl9zaXplKCkuaGVpZ2h0KSldKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9v
c3hfZmlyZWZveF9kcml2ZXIucHkKaW5kZXggODU2M2MxMWE1OGE3ZmFkMTc2ZTVkMDgyZjY3Yzlk
MTA1OWRkMWI2NS4uMzg2MGVkMjMxNzY0Y2Q1MWFlZDJmMDM4NDM4ZjEyN2I3Mjg2NTkxMSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5CkBA
IC0xNSw3ICsxNSw3IEBAIGNsYXNzIE9TWEZpcmVmb3hEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6
CiAgICAgcHJvY2Vzc19uYW1lID0gJ2ZpcmVmb3gnCiAgICAgYnJvd3Nlcl9uYW1lID0gJ2ZpcmVm
b3gnCiAKLSAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIGJyb3dzZXJfYnVpbGRfcGF0aCk6
CisgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3Bh
dGgpOgogICAgICAgICBzZWxmLl9sYXVuY2hfcHJvY2VzcyhidWlsZF9kaXI9YnJvd3Nlcl9idWls
ZF9wYXRoLCBhcHBfbmFtZT0nRmlyZWZveC5hcHAnLCB1cmw9dXJsLCBhcmdzPVt1cmwsICctLWFy
Z3MnLCAnLXdpZHRoJywgc3RyKGludChzZWxmLl9zY3JlZW5fc2l6ZSgpLndpZHRoKSksICctaGVp
Z2h0Jywgc3RyKGludChzZWxmLl9zY3JlZW5fc2l6ZSgpLmhlaWdodCkpXSkKIAogCkBAIC0yMyw1
ICsyMyw1IEBAIGNsYXNzIE9TWEZpcmVmb3hOaWdodGx5RHJpdmVyKE9TWEJyb3dzZXJEcml2ZXIp
OgogICAgIHByb2Nlc3NfbmFtZSA9ICdmaXJlZm94JwogICAgIGJyb3dzZXJfbmFtZSA9ICdmaXJl
Zm94LW5pZ2h0bHknCiAKLSAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIGJyb3dzZXJfYnVp
bGRfcGF0aCk6CisgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2Vy
X2J1aWxkX3BhdGgpOgogICAgICAgICBzZWxmLl9sYXVuY2hfcHJvY2VzcyhidWlsZF9kaXI9YnJv
d3Nlcl9idWlsZF9wYXRoLCBhcHBfbmFtZT0nRmlyZWZveE5pZ2h0bHkuYXBwJywgdXJsPXVybCwg
YXJncz1bdXJsLCAnLS1hcmdzJywgJy13aWR0aCcsIHN0cihpbnQoc2VsZi5fc2NyZWVuX3NpemUo
KS53aWR0aCkpLCAnLWhlaWdodCcsIHN0cihpbnQoc2VsZi5fc2NyZWVuX3NpemUoKS5oZWlnaHQp
KV0pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHkK
aW5kZXggYWY4NjQxMTZmOWJiYTJmMTI5ZWQwN2VmMjJmNWUzMzFmNDkzZTA1OS4uMDMwOWYxYzk3
NWMzZDQ5ZDk4NmM3Nzc5Y2NhNWY5ZGQ2ZDVlZTg1MiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJp
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93
c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpAQCAtMjUsNyArMjUsNyBAQCBjbGFzcyBP
U1hTYWZhcmlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgICAgIHNlbGYuX21heGltaXpl
X3dpbmRvdygpCiAgICAgICAgIHNlbGYuX3NhZmFyaV9wcmVmZXJlbmNlcyA9IFsiLUhvbWVQYWdl
IiwgImFib3V0OmJsYW5rIiwgIi1XYXJuQWJvdXRGcmF1ZHVsZW50V2Vic2l0ZXMiLCAiMCIsICIt
RXh0ZW5zaW9uc0VuYWJsZWQiLCAiMCIsICItU2hvd1N0YXR1c0JhciIsICIwIiwgIi1OZXdXaW5k
b3dCZWhhdmlvciIsICIxIiwgIi1OZXdUYWJCZWhhdmlvciIsICIxIl0KIAotICAgIGRlZiBsYXVu
Y2hfdXJsKHNlbGYsIHVybCwgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1bmNoX3Vy
bChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCk6CiAgICAgICAgIGFyZ3Mg
PSBbJy9BcHBsaWNhdGlvbnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmknXQogICAg
ICAgICBlbnYgPSB7fQogICAgICAgICBpZiBicm93c2VyX2J1aWxkX3BhdGg6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0Nv
bnRlbnRBbmltYXRpb24ucGF0Y2ggYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvZGF0YS9wYXRjaGVzL0NvbnRlbnRBbmltYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY5
YmRkNmJkN2NhZTE5MGExNDdhOGQ5NDc2MWYzMWQ4YzZlZjJjNgotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvQ29u
dGVudEFuaW1hdGlvbi5wYXRjaApAQCAtMCwwICsxLDExOCBAQAorZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvQW5pbWF0aW9uL2Nzcy1hbmltYXRpb24uaHRtbCBiL1BlcmZvcm1hbmNlVGVz
dHMvQW5pbWF0aW9uL2Nzcy1hbmltYXRpb24uaHRtbAoraW5kZXggYWRhZTE5Y2IwMThlZDFjYTkz
ZmQ2YjRjZGE4MDAwMjM0ODQ4MmZjMy4uOGYxZTI5OTMzZmFhMTM1ODZkYmY5N2I3ODc0MDI0ODU0
ZmJmMjE0NyAxMDA2NDQKKy0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbWF0aW9uL2Nzcy1hbmlt
YXRpb24uaHRtbAorKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9BbmltYXRpb24vY3NzLWFuaW1hdGlv
bi5odG1sCitAQCAtMTY3LDkgKzE2Nyw1NCBAQAorICAgICAgICAgZnVuY3Rpb24gc2V0dXBBbmlt
YXRpb24oKQorICAgICAgICAgeworICAgICAgICAgICAgIG1ha2VQYXJ0aWNsZXMoKTsKKysgICAg
ICAgICAgICAKKysgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKysg
ICAgICAgICAgICAgICAgbG9jYXRpb24uaGFzaCA9ICdkb25lJzsKKysgICAgICAgICAgICB9LCAx
MDAwMCkKKysgICAgICAgIH0KKysgICAgICAgIAorKyAgICAgICAgZnVuY3Rpb24gaGFzaENoYW5n
ZWQoKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGlmIChsb2NhdGlvbi5oYXNoID09PSAnI3N1
Ym1pdCcpCisrICAgICAgICAgICAgICAgIHN1Ym1pdFJlc3VsdHMoKTsKKysgICAgICAgIH0KKysK
KysgICAgICAgIGZ1bmN0aW9uIHN1Ym1pdFJlc3VsdHMoKQorKyAgICAgICAgeworKyAgICAgICAg
ICAgIHZhciByZXN1bHRzID0geworKyAgICAgICAgICAgICAgICAnY29udGVudC1hbmltYXRpb24n
IDogeworKyAgICAgICAgICAgICAgICAgICAgJ21ldHJpY3MnIDogeworKyAgICAgICAgICAgICAg
ICAgICAgICAgICdGcmFtZVJhdGUnIDogWydBcml0aG1ldGljJ10KKysgICAgICAgICAgICAgICAg
ICAgIH0sCisrICAgICAgICAgICAgICAgICAgICAndGVzdHMnIDogeworKyAgICAgICAgICAgICAg
ICAgICAgICAgICdjc3MtYW5pbWF0aW9uJyA6IHsKKysgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ21ldHJpY3MnIDogeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZyYW1l
UmF0ZScgOiB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnJlbnQn
IDogWyc8bmF0aXZlX2ZyYW1lcmF0ZT4nXSAvLyA8bmF0aXZlX2ZyYW1lcmF0ZT4gaXMgcmVwbGFj
ZWQgYnkgYSBmcmFtZXJhdGUgY29tcHV0ZWQgaW4gbmF0aXZlIGNvZGUKKysgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAg
ICAgICAgICAgfQorKyAgICAgICAgICAgIH07CisrICAgICAgICAgICAgdmFyIHJlc3VsdHNTdHJp
bmcgPSBKU09OLnN0cmluZ2lmeShyZXN1bHRzKTsKKysgICAgICAgICAgICB2YXIgeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgICAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAiL3JlcG9y
dCIpOworKyAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LXR5cGUiLCAi
YXBwbGljYXRpb24vanNvbiIpOworKyAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJD
b250ZW50LWxlbmd0aCIsIHJlc3VsdHNTdHJpbmcubGVuZ3RoKTsKKysgICAgICAgICAgICB4aHIu
c2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlvbiIsICJjbG9zZSIpOworKyAgICAgICAgICAgIHho
ci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKysgICAgICAgICAgICAgICAgaWYg
KHhoci5yZWFkeVN0YXRlID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgeGhyLnN0YXR1cyA9PSAy
MDApIHsKKysgICAgICAgICAgICAgICAgICAgIGNsb3NlUmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOworKyAgICAgICAgICAgICAgICAgICAgY2xvc2VSZXF1ZXN0Lm9wZW4oIkdFVCIsICIv
c2h1dGRvd24iKTsKKysgICAgICAgICAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5zZW5kKCkKKysg
ICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICB4aHIuc2VuZChy
ZXN1bHRzU3RyaW5nKTsKKyAgICAgICAgIH0KKyAgICAgICAgIAorICAgICAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzZXR1cEFuaW1hdGlvbiwgZmFsc2UpOworKyAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLCBoYXNoQ2hhbmdlZCwgZmFsc2Up
OworICAgICA8L3NjcmlwdD4KKyA8L2hlYWQ+CisgPGJvZHk+CitkaWZmIC0tZ2l0IGEvUGVyZm9y
bWFuY2VUZXN0cy9BbmltYXRpb24vcmFmLWFuaW1hdGlvbi5odG1sIGIvUGVyZm9ybWFuY2VUZXN0
cy9BbmltYXRpb24vcmFmLWFuaW1hdGlvbi5odG1sCitpbmRleCBjYjExYmMxZTc0MTIwNTBjMTMy
NTY0ZTFmMmRlYTlmODcyOTg3MWE2Li5kYmYxOGU3MmRlOTg4MGMyOGQ5ZmJmOWZhMTU2YjQ5NDli
YjZhNmNmIDEwMDY0NAorLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9BbmltYXRpb24vcmFmLWFuaW1h
dGlvbi5odG1sCisrKysgYi9QZXJmb3JtYW5jZVRlc3RzL0FuaW1hdGlvbi9yYWYtYW5pbWF0aW9u
Lmh0bWwKK0BAIC0xOTUsOSArMTk1LDU0IEBACisgICAgICAgICB7CisgICAgICAgICAgICAgbWFr
ZVBhcnRpY2xlcygpOworICAgICAgICAgICAgIGFuaW1hdGUoKTsKKysKKysgICAgICAgICAgICB3
aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKysgICAgICAgICAgICAgICAgbG9jYXRpb24u
aGFzaCA9ICdkb25lJzsKKysgICAgICAgICAgICB9LCAxMDAwMCkKKysgICAgICAgIH0KKysKKysg
ICAgICAgIGZ1bmN0aW9uIGhhc2hDaGFuZ2VkKCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBp
ZiAobG9jYXRpb24uaGFzaCA9PT0gJyNzdWJtaXQnKQorKyAgICAgICAgICAgICAgICBzdWJtaXRS
ZXN1bHRzKCk7CisgICAgICAgICB9CisgCisrICAgICAgICBmdW5jdGlvbiBzdWJtaXRSZXN1bHRz
KCkKKysgICAgICAgIHsKKysgICAgICAgICAgICB2YXIgcmVzdWx0cyA9IHsKKysgICAgICAgICAg
ICAgICAgJ2NvbnRlbnQtYW5pbWF0aW9uJyA6IHsKKysgICAgICAgICAgICAgICAgICAgICdtZXRy
aWNzJyA6IHsKKysgICAgICAgICAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJyA6IFsnQXJpdGht
ZXRpYyddCisrICAgICAgICAgICAgICAgICAgICB9LAorKyAgICAgICAgICAgICAgICAgICAgJ3Rl
c3RzJyA6IHsKKysgICAgICAgICAgICAgICAgICAgICAgICAncmFmLWFuaW1hdGlvbicgOiB7Cisr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRyaWNzJyA6IHsKKysgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdGcmFtZVJhdGUnIDogeworKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdjdXJyZW50JyA6IFsnPG5hdGl2ZV9mcmFtZXJhdGU+J10gLy8gPG5h
dGl2ZV9mcmFtZXJhdGU+IGlzIHJlcGxhY2VkIGJ5IGEgZnJhbWVyYXRlIGNvbXB1dGVkIGluIG5h
dGl2ZSBjb2RlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICB9CisrICAgICAg
ICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9OworKyAg
ICAgICAgICAgIHZhciByZXN1bHRzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0cyk7Cisr
ICAgICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICAgICAgICAg
IHhoci5vcGVuKCJQT1NUIiwgIi9yZXBvcnQiKTsKKysgICAgICAgICAgICB4aHIuc2V0UmVxdWVz
dEhlYWRlcigiQ29udGVudC10eXBlIiwgImFwcGxpY2F0aW9uL2pzb24iKTsKKysgICAgICAgICAg
ICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1sZW5ndGgiLCByZXN1bHRzU3RyaW5nLmxl
bmd0aCk7CisrICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbm5lY3Rpb24iLCAi
Y2xvc2UiKTsKKysgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24o
KSB7CisrICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSBYTUxIdHRwUmVxdWVz
dC5ET05FICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7CisrICAgICAgICAgICAgICAgICAgICBjbG9z
ZVJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKysgICAgICAgICAgICAgICAgICAgIGNs
b3NlUmVxdWVzdC5vcGVuKCJHRVQiLCAiL3NodXRkb3duIik7CisrICAgICAgICAgICAgICAgICAg
ICBjbG9zZVJlcXVlc3Quc2VuZCgpCisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9
CisrICAgICAgICAgICAgeGhyLnNlbmQocmVzdWx0c1N0cmluZyk7CisrICAgICAgICB9CisrICAg
ICAgICAKKyAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgc2V0dXBBbmlt
YXRpb24sIGZhbHNlKTsKKysgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hh
bmdlIiwgaGFzaENoYW5nZWQsIGZhbHNlKTsKKyAgICAgPC9zY3JpcHQ+CisgPC9oZWFkPgorIDxi
b2R5PgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2RhdGEvcGxhbnMvY29udGVudC1hbmltYXRpb24ucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL2NvbnRlbnQtYW5pbWF0aW9uLnBsYW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWIzZjBkMzBiZjU3MTYyNDUxNjM0ZGE2M2Q0OTJkMDdhZThiNTU1ZAotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRh
L3BsYW5zL2NvbnRlbnQtYW5pbWF0aW9uLnBsYW4KQEAgLTAsMCArMSwxMyBAQAoreworICAgICJ0
aW1lb3V0IjogMTIwLAorICAgICJjb3VudCI6IDUsCisgICAgInN2bl9zb3VyY2UiOiAiaHR0cHM6
Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC90cnVuay9QZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvQHI8VEJEPiIsCisgICAgInRlc3RfZmlsZXMiOiBbCisgICAgCSJjc3MtYW5p
bWF0aW9uLmh0bWwiLAorICAgIAkicmFmLWFuaW1hdGlvbi5odG1sIgorICAgIF0sCisgICAgIm91
dHB1dF9maWxlIjogImNzcy1hbmltYXRpb24ucmVzdWx0IiwKKyAgICAib3B0aW9ucyI6IHsKKyAg
ICAgICAgImFuaW1hdGlvbl9jb21tYW5kIjogIkNvbnRlbnRBbmltYXRpb24iCisgICAgfSAKK30K
ZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbWF0aW9uL2Nzcy1hbmltYXRpb24uaHRt
bCBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbWF0aW9uL2Nzcy1hbmltYXRpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZGFlMTljYjAxOGVkMWNhOTNmZDZiNGNkYTgwMDAyMzQ4NDgyZmMzCi0tLSAvZGV2L251
bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9BbmltYXRpb24vY3NzLWFuaW1hdGlvbi5odG1sCkBA
IC0wLDAgKzEsMTgxIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAiPgorICAgIDxz
dHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgIH0K
KyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
ICAgICAgIHdpZHRoOiAzMjBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzIwcHg7CisgICAgICAg
ICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgICAgIG92ZXJmbG93OiBoaWRk
ZW47CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC5wYXJ0aWNsZSB7CisgICAgICAgICAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMjBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Cisg
ICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CisgICAgICAgICAgICBhbmltYXRpb246IGhv
cml6b250YWwgaW5maW5pdGUgMnMgYWx0ZXJuYXRlIGVhc2UtaW4tb3V0LCB2ZXJ0aWNhbCBpbmZp
bml0ZSAycyBhbHRlcm5hdGUgZWFzZS1pbi1vdXQ7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIEBrZXlmcmFtZXMgaG9yaXpvbnRhbCB7CisgICAgICAgICAgICBmcm9tIHsKKyAgICAgICAg
ICAgICAgICBsZWZ0OiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgNTAlIHsKKyAgICAg
ICAgICAgICAgICBsZWZ0OiAzMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRvIHsK
KyAgICAgICAgICAgICAgICBsZWZ0OiAwOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgQGtleWZyYW1lcyB2ZXJ0aWNhbCB7CisgICAgICAgICAgICBmcm9tIHsKKyAgICAgICAg
ICAgICAgICB0b3A6IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICA1MCUgeworICAgICAg
ICAgICAgICAgIHRvcDogMzAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0byB7Cisg
ICAgICAgICAgICAgICAgdG9wOiAwOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9z
dHlsZT4KKyAgICA8c2NyaXB0PgorCisgICAgICAgIHZhciBhbmltYXRpb25EdXJhdGlvbiA9IDI7
CisKKyAgICAgICAgZnVuY3Rpb24gcmFuZG9tSW50KG1pbiwgbWF4KQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh0aGlzLnJhbmRvbShtaW4sIG1heCkpOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gcmFuZG9tKG1pbiwgbWF4KQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4gKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluKSkgKyBtaW47CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiByYW5kb21Db2xvcigpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHZhciBtaW4gPSAzMjsKKyAgICAgICAgICAgIHZhciBtYXggPSAyNTYgLSAzMjsKKyAg
ICAgICAgICAgIHJldHVybiAiIyIKKyAgICAgICAgICAgICAgICArIHRoaXMucmFuZG9tSW50KG1p
biwgbWF4KS50b1N0cmluZygxNikKKyAgICAgICAgICAgICAgICArIHRoaXMucmFuZG9tSW50KG1p
biwgbWF4KS50b1N0cmluZygxNikKKyAgICAgICAgICAgICAgICArIHRoaXMucmFuZG9tSW50KG1p
biwgbWF4KS50b1N0cmluZygxNik7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0
aW9uIFBvaW50KHgsIHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IHg7CisgICAg
ICAgICAgICB0aGlzLnkgPSB5OworICAgICAgICB9CisKKyAgICAgICAgUG9pbnQucG9pbnRPbkNp
cmNsZSA9IGZ1bmN0aW9uKGFuZ2xlLCByYWRpdXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBuZXcgUG9pbnQocmFkaXVzICogTWF0aC5jb3MoYW5nbGUpLCByYWRpdXMgKiBNYXRoLnNp
bihhbmdsZSkpOworICAgICAgICB9CisKKyAgICAgICAgUG9pbnQucHJvdG90eXBlID0KKyAgICAg
ICAgeworICAgICAgICAgICAgYWRkOiBmdW5jdGlvbihvdGhlcikKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBpZihpc05hTihvdGhlci54KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIG5ldyBQb2ludCh0aGlzLnggKyBvdGhlciwgdGhpcy55ICsgb3RoZXIpOworICAgICAgICAg
ICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy54ICsgb3RoZXIueCwgdGhpcy55ICsgb3RoZXIu
eSk7CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICBzdWJ0cmFjdDogZnVuY3Rpb24ob3Ro
ZXIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYoaXNOYU4ob3RoZXIueCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy54IC0gb3RoZXIsIHRoaXMu
eSAtIG90aGVyKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCAtIG90
aGVyLngsIHRoaXMueSAtIG90aGVyLnkpOworICAgICAgICAgICAgfSwKKworICAgICAgICAgICAg
bW92ZTogZnVuY3Rpb24oYW5nbGUsIHZlbG9jaXR5LCB0aW1lRGVsdGEpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKFBvaW50LnBvaW50T25DaXJjbGUoYW5n
bGUsIHZlbG9jaXR5ICogKHRpbWVEZWx0YSAvIDEwMDApKSk7CisgICAgICAgICAgICB9LAorCisg
ICAgICAgICAgICBtdWx0aXBseTogZnVuY3Rpb24ob3RoZXIpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgaWYoaXNOYU4ob3RoZXIueCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBuZXcgUG9pbnQodGhpcy54ICogb3RoZXIsIHRoaXMueSAqIG90aGVyKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCAqIG90aGVyLngsIHRoaXMueSAqIG90aGVyLnkp
OworICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgbGVuZ3RoOiBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KCB0aGlzLnggKiB0aGlzLnggKyB0aGlzLnkg
KiB0aGlzLnkgKTsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgIG5vcm1hbGl6ZTogZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgdmFyIGwgPSBNYXRoLnNxcnQoIHRoaXMueCAqIHRo
aXMueCArIHRoaXMueSAqIHRoaXMueSApOworICAgICAgICAgICAgICAgIHRoaXMueCAvPSBsOwor
ICAgICAgICAgICAgICAgIHRoaXMueSAvPSBsOworICAgICAgICAgICAgICAgIHJldHVybiB0aGlz
OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gUGFydGljbGUo
bWF4UG9zaXRpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNz
TmFtZSA9ICdwYXJ0aWNsZSc7CisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuYmFja2dy
b3VuZENvbG9yID0gcmFuZG9tQ29sb3IoKTsKKyAgICAgICAgICAgIHZhciBzbG9wID0gMC4yOwor
ICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0gcmFuZG9t
KGFuaW1hdGlvbkR1cmF0aW9uIC0gc2xvcCwgYW5pbWF0aW9uRHVyYXRpb24gKyBzbG9wKSArICdz
LCAnICsgcmFuZG9tKGFuaW1hdGlvbkR1cmF0aW9uIC0gc2xvcCwgYW5pbWF0aW9uRHVyYXRpb24g
KyBzbG9wKSArICdzJzsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5hbmltYXRpb25E
ZWxheSA9ICctJyArIHJhbmRvbSgwLCBhbmltYXRpb25EdXJhdGlvbikgKyAncyc7CisgICAgICAg
ICAgICB0aGlzLm1heFBvc2l0aW9uID0gbWF4UG9zaXRpb247CisgICAgICAgICAgICB0aGlzLnJl
c2V0KCk7CisgICAgICAgICAgICB0aGlzLm1vdmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIFBh
cnRpY2xlLnByb3RvdHlwZSA9CisgICAgICAgIHsKKyAgICAgICAgICAgIHJlc2V0OiBmdW5jdGlv
bigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5zaXplID0gbmV3IFBvaW50
KDIwLCAyMCk7CisgICAgICAgICAgICAgICAgdGhpcy5tYXhMb2NhdGlvbiA9IHRoaXMubWF4UG9z
aXRpb24uc3VidHJhY3QodGhpcy5zaXplKTsKKyAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9u
ID0gbmV3IFBvaW50KDAsIDApOworICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgbW92ZTog
ZnVuY3Rpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5z
dHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRlKCIgKyB0aGlzLnBvc2l0aW9uLnggKyAicHgsIiAr
IHRoaXMucG9zaXRpb24ueSArICJweCkgIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIHZhciBudW1QYXJ0aWNsZXMgPSAyMDsKKyAgICAgICAgdmFyIHBhcnRpY2xlcyA9IFtd
OworCisgICAgICAgIGZ1bmN0aW9uIG1ha2VQYXJ0aWNsZXMoKQorICAgICAgICB7CisgICAgICAg
ICAgICB2YXIgc3RhZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhZ2UnKTsKKyAgICAg
ICAgICAgIHZhciBtYXhQb3NpdGlvbiA9IG5ldyBQb2ludCgzMjAsIDMyMCk7CisgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IG51bVBhcnRpY2xlczsgKytpKSB7CisgICAgICAgICAgICAg
ICAgcGFydGljbGVzLnB1c2gobmV3IFBhcnRpY2xlKG1heFBvc2l0aW9uKSk7CisgICAgICAgICAg
ICAgICAgc3RhZ2UuYXBwZW5kQ2hpbGQocGFydGljbGVzW2ldLmVsZW1lbnQpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHNldHVw
QW5pbWF0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgbWFrZVBhcnRpY2xlcygpOworICAg
ICAgICB9CisgICAgICAgIAorICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IHNldHVwQW5pbWF0aW9uLCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KworPGRpdiBpZD0ic3RhZ2UiPgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbWF0aW9uL3JhZi1hbmltYXRpb24uaHRtbCBiL1BlcmZv
cm1hbmNlVGVzdHMvQW5pbWF0aW9uL3JhZi1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjEx
YmMxZTc0MTIwNTBjMTMyNTY0ZTFmMmRlYTlmODcyOTg3MWE2Ci0tLSAvZGV2L251bGwKKysrIGIv
UGVyZm9ybWFuY2VUZXN0cy9BbmltYXRpb24vcmFmLWFuaW1hdGlvbi5odG1sCkBAIC0wLDAgKzEs
MjA5IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAiPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgIH0KKyAgICAgICAg
I3N0YWdlIHsKKyAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgICAgIHdp
ZHRoOiAzMjBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzIwcHg7CisgICAgICAgICAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLnBhcnRp
Y2xlIHsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIGhlaWdo
dDogMjBweDsKKyAgICAgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogYmx1ZTsKKyAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKKyAgICAgICAg
fQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKworICAgICAgICBmdW5jdGlvbiByYW5kb21J
bnQobWluLCBtYXgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHRo
aXMucmFuZG9tKG1pbiwgbWF4KSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiByYW5k
b20obWluLCBtYXgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAoTWF0aC5yYW5kb20o
KSAqIChtYXggLSBtaW4pKSArIG1pbjsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJh
bmRvbUNvbG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG1pbiA9IDMyOworICAgICAg
ICAgICAgdmFyIG1heCA9IDI1NiAtIDMyOworICAgICAgICAgICAgcmV0dXJuICIjIgorICAgICAg
ICAgICAgICAgICsgdGhpcy5yYW5kb21JbnQobWluLCBtYXgpLnRvU3RyaW5nKDE2KQorICAgICAg
ICAgICAgICAgICsgdGhpcy5yYW5kb21JbnQobWluLCBtYXgpLnRvU3RyaW5nKDE2KQorICAgICAg
ICAgICAgICAgICsgdGhpcy5yYW5kb21JbnQobWluLCBtYXgpLnRvU3RyaW5nKDE2KTsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gUG9pbnQoeCwgeSkKKyAgICAgICAgewor
ICAgICAgICAgICAgdGhpcy54ID0geDsKKyAgICAgICAgICAgIHRoaXMueSA9IHk7CisgICAgICAg
IH0KKworICAgICAgICBQb2ludC5wb2ludE9uQ2lyY2xlID0gZnVuY3Rpb24oYW5nbGUsIHJhZGl1
cykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBQb2ludChyYWRpdXMgKiBNYXRo
LmNvcyhhbmdsZSksIHJhZGl1cyAqIE1hdGguc2luKGFuZ2xlKSk7CisgICAgICAgIH0KKworICAg
ICAgICBQb2ludC5wcm90b3R5cGUgPQorICAgICAgICB7CisgICAgICAgICAgICBhZGQ6IGZ1bmN0
aW9uKG90aGVyKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmKGlzTmFOKG90aGVy
LngpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCArIG90aGVy
LCB0aGlzLnkgKyBvdGhlcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQb2ludCh0aGlz
LnggKyBvdGhlci54LCB0aGlzLnkgKyBvdGhlci55KTsKKyAgICAgICAgICAgIH0sCisKKyAgICAg
ICAgICAgIHN1YnRyYWN0OiBmdW5jdGlvbihvdGhlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBpZihpc05hTihvdGhlci54KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5l
dyBQb2ludCh0aGlzLnggLSBvdGhlciwgdGhpcy55IC0gb3RoZXIpOworICAgICAgICAgICAgICAg
IHJldHVybiBuZXcgUG9pbnQodGhpcy54IC0gb3RoZXIueCwgdGhpcy55IC0gb3RoZXIueSk7Cisg
ICAgICAgICAgICB9LAorCisgICAgICAgICAgICBtb3ZlOiBmdW5jdGlvbihhbmdsZSwgdmVsb2Np
dHksIHRpbWVEZWx0YSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhp
cy5hZGQoUG9pbnQucG9pbnRPbkNpcmNsZShhbmdsZSwgdmVsb2NpdHkgKiAodGltZURlbHRhIC8g
MTAwMCkpKTsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgIG11bHRpcGx5OiBmdW5jdGlv
bihvdGhlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZihpc05hTihvdGhlci54
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLnggKiBvdGhlciwg
dGhpcy55ICogb3RoZXIpOworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy54
ICogb3RoZXIueCwgdGhpcy55ICogb3RoZXIueSk7CisgICAgICAgICAgICB9LAorCisgICAgICAg
ICAgICBsZW5ndGg6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnNx
cnQoIHRoaXMueCAqIHRoaXMueCArIHRoaXMueSAqIHRoaXMueSApOworICAgICAgICAgICAgfSwK
KworICAgICAgICAgICAgbm9ybWFsaXplOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB2
YXIgbCA9IE1hdGguc3FydCggdGhpcy54ICogdGhpcy54ICsgdGhpcy55ICogdGhpcy55ICk7Cisg
ICAgICAgICAgICAgICAgdGhpcy54IC89IGw7CisgICAgICAgICAgICAgICAgdGhpcy55IC89IGw7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBQYXJ0aWNsZShtYXhQb3NpdGlvbikKKyAgICAgICAgeworICAg
ICAgICAgICAgdGhpcy5lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gJ3BhcnRpY2xlJzsKKyAgICAgICAg
ICAgIHRoaXMuZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSByYW5kb21Db2xvcigpOwor
ICAgICAgICAgICAgdGhpcy5tYXhQb3NpdGlvbiA9IG1heFBvc2l0aW9uOworICAgICAgICAgICAg
dGhpcy5yZXNldCgpOworICAgICAgICAgICAgdGhpcy5tb3ZlKCk7CisgICAgICAgIH0KKworICAg
ICAgICBQYXJ0aWNsZS5wcm90b3R5cGUgPQorICAgICAgICB7CisgICAgICAgICAgICByZXNldDog
ZnVuY3Rpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRoaXMuc2l6ZSA9IG5l
dyBQb2ludCgyMCwgMjApOworICAgICAgICAgICAgICAgIHRoaXMubWF4TG9jYXRpb24gPSB0aGlz
Lm1heFBvc2l0aW9uLnN1YnRyYWN0KHRoaXMuc2l6ZSk7CisgICAgICAgICAgICAgICAgdGhpcy5w
b3NpdGlvbiA9IG5ldyBQb2ludCh0aGlzLm1heFBvc2l0aW9uLnggLyAyLCB0aGlzLm1heFBvc2l0
aW9uLnkgLyA0KTsKKworICAgICAgICAgICAgICAgIHZhciBhbmdsZSA9IE1hdGgucmFuZG9tKCkg
KiBNYXRoLlBJICogMjsKKyAgICAgICAgICAgICAgICB0aGlzLl92ZWxvY2l0eSA9IG5ldyBQb2lu
dChNYXRoLnNpbihhbmdsZSksIE1hdGguY29zKGFuZ2xlKSkubXVsdGlwbHkocmFuZG9tKC44LCAx
LjIpKTsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgIGFuaW1hdGU6IGZ1bmN0aW9uKHRp
bWVEZWx0YSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0g
dGhpcy5wb3NpdGlvbi5hZGQodGhpcy5fdmVsb2NpdHkubXVsdGlwbHkodGltZURlbHRhKSk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fdmVsb2NpdHkueSArPSAwLjAzOworCisgICAgICAgICAgICAg
ICAgLy8gSWYgcGFydGljbGUgaXMgZ29pbmcgdG8gbW92ZSBvZmYgcmlnaHQgc2lkZQorICAgICAg
ICAgICAgICAgIGlmICh0aGlzLnBvc2l0aW9uLnggPiB0aGlzLm1heExvY2F0aW9uLngpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3ZlbG9jaXR5LnggPiAwKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5fdmVsb2NpdHkueCAqPSAtMTsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5wb3NpdGlvbi54ID0gdGhpcy5tYXhMb2NhdGlvbi54OworICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAodGhpcy5wb3NpdGlvbi54IDwgMCkgeworICAgICAgICAgICAgICAgICAgICAvLyBJ
ZiBwYXJ0aWNsZSBpcyBnb2luZyB0byBtb3ZlIG9mZiBsZWZ0IHNpZGUKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHRoaXMuX3ZlbG9jaXR5LnggPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5fdmVsb2NpdHkueCAqPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlv
bi54ID0gMDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBJZiBwYXJ0
aWNsZSBpcyBnb2luZyB0byBtb3ZlIG9mZiBib3R0b20gc2lkZQorICAgICAgICAgICAgICAgIGlm
ICh0aGlzLnBvc2l0aW9uLnkgPiB0aGlzLm1heExvY2F0aW9uLnkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gQWRqdXN0IGRpcmVjdGlvbiBidXQgbWFpbnRhaW4gbWFnbml0dWRlCisgICAgICAg
ICAgICAgICAgICAgIHZhciBtYWduaXR1ZGUgPSB0aGlzLl92ZWxvY2l0eS5sZW5ndGgoKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fdmVsb2NpdHkueCAqPSAxLjUgKyAuMDA1ICogdGhpcy5z
aXplLng7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZlbG9jaXR5ID0gdGhpcy5fdmVsb2Np
dHkubm9ybWFsaXplKCkubXVsdGlwbHkobWFnbml0dWRlKTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKE1hdGguYWJzKHRoaXMuX3ZlbG9jaXR5LnkpIDwgMC43KQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5yZXNldCgpOworICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh0aGlzLl92ZWxvY2l0eS55ID4gMCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLl92ZWxvY2l0eS55ICo9IC0wLjk5OTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMucG9zaXRpb24ueSA9IHRoaXMubWF4TG9jYXRpb24ueTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5wb3NpdGlvbi55
IDwgMCkgeworICAgICAgICAgICAgICAgICAgICAvLyBJZiBwYXJ0aWNsZSBpcyBnb2luZyB0byBt
b3ZlIG9mZiB0b3Agc2lkZQorICAgICAgICAgICAgICAgICAgICB2YXIgbWFnbml0dWRlID0gdGhp
cy5fdmVsb2NpdHkubGVuZ3RoKCk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZlbG9jaXR5
LnggKj0gMS41ICsgLjAwNSAqIHRoaXMuc2l6ZS54OworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll92ZWxvY2l0eSA9IHRoaXMuX3ZlbG9jaXR5Lm5vcm1hbGl6ZSgpLm11bHRpcGx5KG1hZ25pdHVk
ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl92ZWxvY2l0eS55IDwgMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZlbG9jaXR5LnkgKj0gLTAuOTk4OworICAgICAgICAg
ICAgICAgICAgICB0aGlzLnBvc2l0aW9uLnkgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB0aGlzLm1vdmUoKTsKKyAgICAgICAgICAgIH0s
CisKKyAgICAgICAgICAgIG1vdmU6IGZ1bmN0aW9uKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gInRyYW5zbGF0ZSgiICsgdGhp
cy5wb3NpdGlvbi54ICsgInB4LCIgKyB0aGlzLnBvc2l0aW9uLnkgKyAicHgpICI7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICB2YXIgbnVtUGFydGljbGVzID0gMjA7CisgICAg
ICAgIHZhciBwYXJ0aWNsZXMgPSBbXTsKKworICAgICAgICBmdW5jdGlvbiBtYWtlUGFydGljbGVz
KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHN0YWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3N0YWdlJyk7CisgICAgICAgICAgICB2YXIgbWF4UG9zaXRpb24gPSBuZXcgUG9pbnQo
MzIwLCAzMjApOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1QYXJ0aWNsZXM7
ICsraSkgeworICAgICAgICAgICAgICAgIHBhcnRpY2xlcy5wdXNoKG5ldyBQYXJ0aWNsZShtYXhQ
b3NpdGlvbikpOworICAgICAgICAgICAgICAgIHN0YWdlLmFwcGVuZENoaWxkKHBhcnRpY2xlc1tp
XS5lbGVtZW50KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
ZnVuY3Rpb24gbW92ZVBhcnRpY2xlcygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAodmFy
IHBhcnRpY2xlIG9mIHBhcnRpY2xlcykKKyAgICAgICAgICAgICAgICBwYXJ0aWNsZS5hbmltYXRl
KDEpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBhbmltYXRlKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgbW92ZVBhcnRpY2xlcygpOworICAgICAgICAgICAgd2luZG93
LnJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTsKKyAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgZnVuY3Rpb24gc2V0dXBBbmltYXRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBt
YWtlUGFydGljbGVzKCk7CisgICAgICAgICAgICBhbmltYXRlKCk7CisgICAgICAgIH0KKworICAg
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHNldHVwQW5pbWF0aW9uLCBmYWxz
ZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBpZD0ic3RhZ2UiPgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMv
Q2hhbmdlTG9nIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjMzOTM4NWM1MGRh
NzI0ZDEzOGFhN2U5NTk3OWMwN2UyOGRmNjA1MS4uOWUwY2E0YzI1ZWY2OWQ4YjcwOGM2ZDZkOTM2
OWZjNzc4NjEyZjc5ZiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNi0wNC0y
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
Y29udGVudCBhbmltYXRpb24gdGVzdHMgdG8gYmVuY2htYXJrX3J1bm5lciwgYW5kIGFsbG93IHRo
ZSBydW5uZXIgdG8gY29sbGVjdCBkZXZpY2UgZGF0YSBhcyBwYXJ0IG9mIHRoZSByZXN1bHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY4MjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUd28gbmV3IGZp
bGVzIGZvciB0aGUgY29udGVudC1hbmltYXRpb24gc3VpdGUuCisKKyAgICAgICAgQWZ0ZXIgcGF0
Y2hpbmcgZm9yIHVzZSBpbiB0aGUgYmVuY2htYXJrLCB0aGVzZSB0ZXN0cyBhcmUgYSBsaXR0bGUg
ZGlmZmVyZW50IHRvIG90aGVyIGJlbmNobWFya3MuCisgICAgICAgIFRoZSB0ZXN0IGNvbnRlbnQg
aXRzZWxmIGRvZXMgbm90IGNvbGxlY3QgcGVyZm9ybWFuY2UgZGF0YTsgdGhlIHRlc3RzIHNwaXQg
b3V0IGEgYm9pbGVycGxhdGUgSlNPTgorICAgICAgICByZXN1bHQgd2l0aCBhIHBsYWNlaG9sZGVy
IGZvciBmcmFtZXJhdGUsIHdoaWNoIGlzIGNvbGxlY3RlZCBpbiBuYXRpdmUgY29kZS4KKworICAg
ICAgICBXaGVuIHJ1biBhcyBhIGJlbmNobWFyaywgdGVzdCBjb21wbGV0aW9uIGludm9sdmVzIGEg
Y291cGxlIG9mIGJvdW5jZXMgYmV0d2VlbiB0aGUgdGVzdCBhbmQgTW9iaWxlU2FmYXJpLgorICAg
ICAgICBUZXN0IGNvbXBsZXRpb24gaXMgaW5pdGlhdGVkIGJ5IGEgc2V0VGltZW91dCgpIGluIHRo
ZSB0ZXN0LCBhdCB3aGljaCBwb2ludCBsb2NhdGlvbi5oYXNoIGlzIHNldCB0byAiI2RvbmUiLgor
ICAgICAgICBNb2JpbGVTYWZhcmkgZGV0ZWN0cyB0aGF0LCBhbmQgYXN5bmNocm9ub3VzbHkgZHVt
cHMgcGVyZm9ybWFuY2UgZGF0YS4gT25jZSB0aGlzIGlzIGNvbXBsZXRlLCBNb2JpbGVTYWZhcmkK
KyAgICAgICAgY2hhbmdlcyB0aGUgVVJMIGhhcyB0byAiI3N1Ym1pdCIsIHdoaWNoIHRyaWdnZXJz
IHRoZSBYSFIgdG8gdGhlIHRlc3QgcmVsYXkgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlc3QgaXMKKyAg
ICAgICAgY29tcGxldGUuCisKKyAgICAgICAgKiBBbmltYXRpb24vY3NzLWFuaW1hdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBBbmltYXRpb24vcmFmLWFuaW1hdGlvbi5odG1sOiBBZGRlZC4K
KwogMjAxNi0wNC0xNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQW5p
bW9tZXRlciB0ZXN0IGNvdWxkIHJlcG9ydCBhIE5hTgpAQCAtOTksNyArMTIxLDcgQEAKIDIwMTYt
MDMtMjcgIEh1bnNlb3AgSmVvbmcgIDxoczg1Lmplb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtFRkxdIFJFR1JFU1NJT04ocjE4ODc5Myk6IEl0IG1hZGUgMjAwIGxheW91dCB0ZXN0cyBhbmQg
QmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCBwZXJmb3JtYW5jZSB0ZXN0IGZhaWwK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ3MCAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ3MAog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgogCkBAIC0zNjEsNyArMzgzLDcgQEAK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUxMQog
CiAgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCi0gICAgICAgIAorCiAgICAgICAgIEFk
ZCBhIHRlc3QgZm9yIHJlbmRlcmluZyBwZXJmb3JtYW5jZSBvZiB0YWdnZWQgaW1hZ2VzLiBUaGUg
NSBpbWFnZXMgYXJlIHRhZ2dlZAogICAgICAgICB3aXRoIHRoZSBEaXNwbGF5IFAzIGNvbG9yc3Bh
Y2UuCiAK
</data>
<flag name="review"
          id="301146"
          type_id="1"
          status="+"
          setter="slewis"
    />
          </attachment>
      

    </bug>

</bugzilla>