<?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>49763</bug_id>
          
          <creation_ts>2010-11-18 15:15:16 -0800</creation_ts>
          <short_desc>Rebaseline server: add rebaseline queue</short_desc>
          <delta_ts>2010-11-18 20:51:34 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>47761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>311113</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-18 15:15:16 -0800</bug_when>
    <thetext>Rebaseline server: add rebaseline queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311120</commentid>
    <comment_count>1</comment_count>
      <attachid>74301</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-18 15:20:33 -0800</bug_when>
    <thetext>Created attachment 74301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311134</commentid>
    <comment_count>2</comment_count>
      <attachid>74301</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-18 15:42:52 -0800</bug_when>
    <thetext>Comment on attachment 74301
Patch

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

Just some style nits.

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js:58
&gt; +    $(&apos;toggle-log&apos;).addEventListener(&apos;click&apos;, function() {toggle(&apos;log&apos;)});

Nit: Spaces in the function body?  You seem to do this in other places.  E.g.,
{ toggle(&apos;log&apos;); }

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:48
&gt; +    this._toggleNode.addEventListener(&apos;click&apos;, function() {toggle(&apos;queue&apos;)});

Ditto.

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:104
&gt; +    if (this._selectNode.selectedIndex == -1) return;

Nit: Move the return to a new line?

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:118
&gt; +    if (!queueOption) return;

Ditto.

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:144
&gt; +    // FIXME: actually rebaseline
&gt; +    log(&apos;Rebaselining &apos; + testName + &apos;...&apos;);

I see, this is just the UI.  OK.

&gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js:59
&gt; +function log(text, opt_type)

Nit: optType seems a bit more consistent, although I realize optional arguments are a bit different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311276</commentid>
    <comment_count>3</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-18 20:49:56 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/main.js:58
&gt; &gt; +    $(&apos;toggle-log&apos;).addEventListener(&apos;click&apos;, function() {toggle(&apos;log&apos;)});
&gt; 
&gt; Nit: Spaces in the function body?  You seem to do this in other places.  E.g.,
&gt; { toggle(&apos;log&apos;); }

Done.
 
&gt; &gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:48
&gt; &gt; +    this._toggleNode.addEventListener(&apos;click&apos;, function() {toggle(&apos;queue&apos;)});
&gt; 
&gt; Ditto.

Done.

&gt; &gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:104
&gt; &gt; +    if (this._selectNode.selectedIndex == -1) return;
&gt; 
&gt; Nit: Move the return to a new line?

Done.

&gt; &gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/queue.js:118
&gt; &gt; +    if (!queueOption) return;
&gt; 
&gt; Ditto.

Done

&gt; &gt; WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js:59
&gt; &gt; +function log(text, opt_type)
&gt; 
&gt; Nit: optType seems a bit more consistent, although I realize optional arguments are a bit different.

I just dropped the opt_ altogether, in the absence of the JS compiler there isn&apos;t really a need to signal that an argument is optional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311277</commentid>
    <comment_count>4</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-18 20:51:34 -0800</bug_when>
    <thetext>Committed r72364: &lt;http://trac.webkit.org/changeset/72364&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74301</attachid>
            <date>2010-11-18 15:20:33 -0800</date>
            <delta_ts>2010-11-18 15:42:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49763-20101118152032.patch</filename>
            <type>text/plain</type>
            <size>16346</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4NDJlY2M3NWNhOTk4MzU4MGM2MDQ0ZmJjMTZjNjYxMmExODczYjhlLi42YzFiZGRk
ODhhZmUzMDQ3NWNkYTM4MTQzZmU4Y2M2OWRmM2QwY2ZkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTAtMTEtMTggIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBz
ZXJ2ZXI6IGFkZCByZWJhc2VsaW5lIHF1ZXVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTc2MworICAgICAgICAKKyAgICAgICAgQWRkIGEgVUkgcXVl
dWUgKGEgbXVsdGktaXRlbSA8c2VsZWN0Pikgd2hlcmUgdGVzdHMgdG8gYmUgYmFzZWxpbmVkCisg
ICAgICAgIGNhbiBiZSBlbnF1ZXVlZCAoYWxzbyBzdXBwb3J0cyBiYXNpYyByZW1vdmFsKS4gQSBx
dWV1ZSBpcyB1c2VkIGluc3RlYWQKKyAgICAgICAgb2YgaW1tZWRpYXRlbHkgZG9pbmcgcmViYXNl
bGluZXMgc2luY2UgU0NNIG9wZXJhdGlvbnMgY2FuIHRha2UgYSB3aGlsZS4KKyAgICAgICAgSXQn
cyBiZXR0ZXIgdG8gZ28gdGhyb3VnaCBsb3RzIG9mIHRlc3RzIHF1aWNrbHkgdG8gbWFyayB0aGVt
IGFzCisgICAgICAgIG5lZWRpbmcgcmViYXNlbGluaW5nIGFuZCB0aGVuIGJhdGNoIHRoZSBTQ00g
b3BlcmF0aW9ucy4KKyAgICAgICAgCisgICAgICAgIEFsc28gYWRkcyBhIHNpbXBsZSBsb2cgd2hl
cmUgcmVzdWx0cyBjYW4gYmUgZGlzcGxheWVkLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGluZXNlcnZlci9pbmRleC5odG1sOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIv
bWFpbi5jc3M6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEv
cmViYXNlbGluZXNlcnZlci9tYWluLmpzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9jb21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIvcXVldWUuanM6IEFkZGVkLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIv
dXRpbC5qczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNl
bGluZXNlcnZlci5weToKKwogMjAxMC0xMS0xOCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIHRocmVlIG5ldyBXaW5kb3dzIFhQIGJ1aWxkIHNsYXZlcwpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEv
cmViYXNlbGluZXNlcnZlci9pbmRleC5odG1sIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGluZXNlcnZlci9pbmRleC5odG1sCmluZGV4IDhj
YzQ4YzEyZmQ3YzgwNjhkYjVlNTlhMmUxNWMyMWY5YzExY2QzODguLmUzMzNlNDMzM2Q4OTg1Y2Ix
ODc3NDMzMDEwYjE2NWNlMDU0YzA0OTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIvaW5kZXguaHRtbAor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZGF0YS9yZWJh
c2VsaW5lc2VydmVyL2luZGV4Lmh0bWwKQEAgLTM1LDEzICszNSwyNCBAQAogICA8c2NyaXB0IHNy
Yz0iL3V0aWwuanMiPjwvc2NyaXB0PgogICA8c2NyaXB0IHNyYz0iL2xvdXBlLmpzIj48L3Njcmlw
dD4KICAgPHNjcmlwdCBzcmM9Ii9tYWluLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9x
dWV1ZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBjbGFzcz0ibG9hZGluZyI+CiAKKzxw
cmUgaWQ9ImxvZyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjwvcHJlPgorPGRpdiBpZD0icXVldWUi
IHN0eWxlPSJkaXNwbGF5OiBub25lIj4KKyAgUXVldWU6CisgIDxzZWxlY3QgaWQ9InF1ZXVlLXNl
bGVjdCIgc2l6ZT0iMTAiPjwvc2VsZWN0PgorICA8YnV0dG9uIGlkPSJyZW1vdmUtcXVldWUtc2Vs
ZWN0aW9uIj5SZW1vdmUgc2VsZWN0aW9uPC9idXR0b24+CisgIDxidXR0b24gaWQ9InJlYmFzZWxp
bmUtcXVldWUiPlJlYmFzZWxpbmUgcXVldWU8L2J1dHRvbj4KKzwvZGl2PgorCiA8ZGl2IGlkPSJo
ZWFkZXIiPgogICA8ZGl2IGlkPSJjb250cm9scyI+CiAgICAgPCEtLSBBZGQgYSBkdW1teSA8c2Vs
ZWN0PiBub2RlIHNvIHRoYXQgdGhpcyBsaW5lcyB1cCB3aXRoIHRoZSB0ZXh0IG9uIHRoZSBsZWZ0
IC0tPgogICAgIDxzZWxlY3Qgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbiI+PC9zZWxlY3Q+Cisg
ICAgPHNwYW4gaWQ9InRvZ2dsZS1sb2ciIGNsYXNzPSJsaW5rIj5Mb2c8L3NwYW4+CisgICAgPHNw
YW4gY2xhc3M9ImRpdmlkZXIiPnw8L3NwYW4+ICAgIAogICAgIDxhIGhyZWY9Ii9xdWl0cXVpdHF1
aXQiPkV4aXQ8L2E+CiAgIDwvZGl2PgogCkBAIC0xMDEsNiArMTEyLDE4IEBACiAgIDwvdGJvZHk+
CiA8L3RhYmxlPgogCis8ZGl2IGlkPSJmb290ZXIiPgorICA8bGFiZWw+U3RhdGU6IDxzcGFuIGlk
PSJzdGF0ZSI+PC9zcGFuPjwvbGFiZWw+CisKKyAgPCEtLSBBZGQgYSBkdW1teSA8YnV0dG9uPiBu
b2RlIHNvIHRoYXQgdGhpcyBsaW5lcyB1cCB3aXRoIHRoZSB0ZXh0IG9uIHRoZSBsZWZ0IC0tPgor
ICA8YnV0dG9uIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW4iPjwvYnV0dG9uPgorICAKKyAgPGRp
diBpZD0iYWN0aW9uLWJ1dHRvbnMiPgorICAgIDxzcGFuIGlkPSJ0b2dnbGUtcXVldWUiIGNsYXNz
PSJsaW5rIj5RdWV1ZTwvc3Bhbj4KKyAgICA8YnV0dG9uIGlkPSJhZGQtdG8tcmViYXNlbGluZS1x
dWV1ZSI+QWRkIHRvIHJlYmFzZWxpbmUgcXVldWU8L2J1dHRvbj4KKyAgPC9kaXY+Cis8L2Rpdj4K
KwogPHRhYmxlIGlkPSJsb3VwZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICA8dHI+CiAgICAg
PHRkIGNvbHNwYW49IjMiIGlkPSJsb3VwZS1pbmZvIj4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIvbWFp
bi5jc3MgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZGF0YS9y
ZWJhc2VsaW5lc2VydmVyL21haW4uY3NzCmluZGV4IDZlOTBmZTQwMjhjYmNhMTUwNDVjMTU0NmEw
Zjc0OGUyMzNlOGM5NDEuLjFhZDQ3ZWY0OWUxY2U2MzIwOGUxNjM5YjUyN2U2NDRmY2I5Y2ZlMTIg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9k
YXRhL3JlYmFzZWxpbmVzZXJ2ZXIvbWFpbi5jc3MKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGluZXNlcnZlci9tYWluLmNzcwpAQCAt
NTUsMTUgKzU1LDUyIEBAIGEsIC5saW5rIHsKICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogfQog
Ci0jaGVhZGVyIHsKKyNsb2csCisjcXVldWUgeworICBwYWRkaW5nOiAuMjVlbSAwIDAgLjI1ZW07
CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgcmlnaHQ6IDA7CisgIGhlaWdodDogMjAwcHg7Cisg
IG92ZXJmbG93OiBhdXRvOworICBiYWNrZ3JvdW5kOiAjZmZmOworICAtd2Via2l0LWJveC1zaGFk
b3c6IDFweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgLjUpOworfQorCisjbG9nIHsKKyAgdG9wOiAy
ZW07CisgIHdpZHRoOiA1MDBweDsKK30KKworI3F1ZXVlIHsKKyAgYm90dG9tOiAzZW07CisgIHdp
ZHRoOiA0MDBweDsKK30KKworI3F1ZXVlLXNlbGVjdCB7CisgIGRpc3BsYXk6IGJsb2NrOworICB3
aWR0aDogMzkwcHg7Cit9CisKKyNoZWFkZXIsCisjZm9vdGVyIHsKICAgcGFkZGluZzogLjVlbSAx
ZW07CiAgIGJhY2tncm91bmQ6ICMzMzM7CiAgIGNvbG9yOiAjZmZmOwogICAtd2Via2l0LWJveC1z
aGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7Cit9CisKKyNoZWFkZXIgewogICBt
YXJnaW4tYm90dG9tOiAxZW07CiB9CiAKLSNoZWFkZXIgbGFiZWwgeworI2hlYWRlciAuZGl2aWRl
ciwKKyNmb290ZXIgLmRpdmlkZXIgeworICBvcGFjaXR5OiAuMzsKKyAgcGFkZGluZzogMCAuNWVt
OworfQorCisjaGVhZGVyIGxhYmVsLAorI2Zvb3RlciBsYWJlbCB7CiAgIHBhZGRpbmctcmlnaHQ6
IDFlbTsKICAgY29sb3I6ICNjY2M7CiB9CkBAIC0xNTAsNiArMTg3LDQyIEBAIGEsIC5saW5rIHsK
ICAgYmFja2dyb3VuZDogI2VlZTsKIH0KIAorI2Zvb3RlciB7CisgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgYm90dG9tOiAwOworICBsZWZ0OiAwOworICByaWdodDogMDsKKyAgbWFyZ2luLXRvcDog
MWVtOworfQorCisjc3RhdGUubmVlZHNfcmViYXNlbGluZSB7CisgIGNvbG9yOiB5ZWxsb3c7Cit9
CisKKyNzdGF0ZS5yZWJhc2VsaW5lX2ZhaWxlZCB7CisgIGNvbG9yOiByZWQ7Cit9CisKKyNzdGF0
ZS5yZWJhc2VsaW5lX3N1Y2NlZWRlZCB7CisgIGNvbG9yOiBncmVlbjsKK30KKworI3N0YXRlLmlu
X3F1ZXVlIHsKKyAgY29sb3I6IGdyYXk7Cit9CisKKyNhY3Rpb24tYnV0dG9ucyB7CisgIGZsb2F0
OiByaWdodDsKK30KKworI2FjdGlvbi1idXR0b25zIC5saW5rIHsKKyAgbWFyZ2luLXJpZ2h0OiAx
ZW07Cit9CisKKyNmb290ZXIgYnV0dG9uIHsKKyAgcGFkZGluZzogMWVtOworfQorCiAjbG91cGUg
ewogICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgLjUpOwog
ICBwb3NpdGlvbjogYWJzb2x1dGU7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZGF0YS9yZWJhc2VsaW5lc2VydmVyL21haW4uanMgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZGF0YS9yZWJhc2VsaW5lc2Vy
dmVyL21haW4uanMKaW5kZXggZmEwMzdiM2JlNWE0ZTU4MzQ2MzViNDczYzYzMDFjOTFmNzJmZTcx
ZS4uYzVmNzcxZTU1ODUwNGVmZTY4MjhkNWFlNjBhYWJhZjg3Y2UwZTgzNiAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGlu
ZXNlcnZlci9tYWluLmpzCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIvbWFpbi5qcwpAQCAtMzAsMTEgKzMwLDIyIEBA
CiAKIHZhciBBTExfRElSRUNUT1JZX1BBVEggPSAnW2FsbF0nOwogCit2YXIgU1RBVEVfTkVFRFNf
UkVCQVNFTElORSA9ICduZWVkc19yZWJhc2VsaW5lJzsKK3ZhciBTVEFURV9SRUJBU0VMSU5FX0ZB
SUxFRCA9ICdyZWJhc2VsaW5lX2ZhaWxlZCc7Cit2YXIgU1RBVEVfUkVCQVNFTElORV9TVUNDRUVE
RUQgPSAncmViYXNlbGluZV9zdWNjZWVkZWQnOwordmFyIFNUQVRFX0lOX1FVRVVFID0gJ2luX3F1
ZXVlJzsKK3ZhciBTVEFURV9UT19ESVNQTEFZX1NUQVRFID0ge307CitTVEFURV9UT19ESVNQTEFZ
X1NUQVRFW1NUQVRFX05FRURTX1JFQkFTRUxJTkVdID0gJ05lZWRzIHJlYmFzZWxpbmUnOworU1RB
VEVfVE9fRElTUExBWV9TVEFURVtTVEFURV9SRUJBU0VMSU5FX0ZBSUxFRF0gPSAnUmViYXNlbGlu
ZSBmYWlsZWQnOworU1RBVEVfVE9fRElTUExBWV9TVEFURVtTVEFURV9SRUJBU0VMSU5FX1NVQ0NF
RURFRF0gPSAnUmViYXNlbGluZSBzdWNjZWVkZWQnOworU1RBVEVfVE9fRElTUExBWV9TVEFURVtT
VEFURV9JTl9RVUVVRV0gPSAnSW4gcXVldWUnOworCiB2YXIgcmVzdWx0czsKIHZhciB0ZXN0c0J5
RmFpbHVyZVR5cGUgPSB7fTsKIHZhciB0ZXN0c0J5RGlyZWN0b3J5ID0ge307CiB2YXIgc2VsZWN0
ZWRUZXN0cyA9IFtdOwogdmFyIGxvdXBlOwordmFyIHF1ZXVlOwogCiBmdW5jdGlvbiBtYWluKCkK
IHsKQEAgLTQ0LDcgKzU1LDEwIEBAIGZ1bmN0aW9uIG1haW4oKQogICAgICQoJ25leHQtdGVzdCcp
LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbmV4dFRlc3QpOwogICAgICQoJ3ByZXZpb3VzLXRl
c3QnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHByZXZpb3VzVGVzdCk7CiAKKyAgICAkKCd0
b2dnbGUtbG9nJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHt0b2dnbGUo
J2xvZycpfSk7CisKICAgICBsb3VwZSA9IG5ldyBMb3VwZSgpOworICAgIHF1ZXVlID0gbmV3IFJl
YmFzZWxpbmVRdWV1ZSgpOwogCiAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93
bicsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgIGlmIChldmVudC5hbHRLZXkgfHwgZXZlbnQu
Y3RybEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LnNoaWZ0S2V5KSB7CkBAIC02MCw2ICs3
NCwxNSBAQCBmdW5jdGlvbiBtYWluKCkKICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0
KCk7CiAgICAgICAgICAgICBuZXh0VGVzdCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgJ1UrMDA1MSc6IC8vIHEKKyAgICAgICAgICAgIHF1ZXVlLmFkZEN1cnJlbnRUZXN0KCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnVSswMDU4JzogLy8geAorICAgICAg
ICAgICAgcXVldWUucmVtb3ZlQ3VycmVudFRlc3QoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlICdVKzAwNTInOiAvLyByCisgICAgICAgICAgICBxdWV1ZS5yZWJhc2VsaW5lKCk7
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0pOwogCkBAIC0yMjksNiArMjUy
LDEyIEBAIGZ1bmN0aW9uIHVwZGF0ZVN0YXRlKCkKIAogICAgICQoJ3Rlc3QtbGluaycpLmhyZWYg
PQogICAgICAgICAnaHR0cDovL3RyYWMud2Via2l0Lm9yZy9icm93c2VyL3RydW5rL0xheW91dFRl
c3RzLycgKyB0ZXN0TmFtZTsKKworICAgIHZhciBzdGF0ZSA9IHJlc3VsdHMudGVzdHNbdGVzdE5h
bWVdLnN0YXRlOworICAgICQoJ3N0YXRlJykuY2xhc3NOYW1lID0gc3RhdGU7CisgICAgJCgnc3Rh
dGUnKS5pbm5lckhUTUwgPSBTVEFURV9UT19ESVNQTEFZX1NUQVRFW3N0YXRlXTsKKworICAgIHF1
ZXVlLnVwZGF0ZVN0YXRlKCk7CiB9CiAKIGZ1bmN0aW9uIGdldFRlc3RSZXN1bHRVcmwodGVzdE5h
bWUsIG1vZGUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvZGF0YS9yZWJhc2VsaW5lc2VydmVyL3F1ZXVlLmpzIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGluZXNlcnZlci9xdWV1ZS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hOTdiNTNhYzhjZGQ2YmFiY2JlOWRmNzkwZTEwMThjNDVjNjQ0M2VhCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL2RhdGEvcmViYXNlbGluZXNlcnZlci9xdWV1ZS5qcwpAQCAtMCwwICsxLDE1MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0
aW9uIFJlYmFzZWxpbmVRdWV1ZSgpCit7CisgICAgdGhpcy5fc2VsZWN0Tm9kZSA9ICQoJ3F1ZXVl
LXNlbGVjdCcpOworICAgIHRoaXMuX3JlYmFzZWxpbmVCdXR0b25Ob2RlID0gJCgncmViYXNlbGlu
ZS1xdWV1ZScpOworICAgIHRoaXMuX3RvZ2dsZU5vZGUgPSAkKCd0b2dnbGUtcXVldWUnKTsKKyAg
ICB0aGlzLl9yZW1vdmVTZWxlY3Rpb25CdXR0b25Ob2RlID0gJCgncmVtb3ZlLXF1ZXVlLXNlbGVj
dGlvbicpOworCisgICAgdGhpcy5faW5Qcm9ncmVzc1JlYmFzZWxpbmVDb3VudCA9IDA7CisKKyAg
ICB2YXIgc2VsZiA9IHRoaXM7CisgICAgJCgnYWRkLXRvLXJlYmFzZWxpbmUtcXVldWUnKS5hZGRF
dmVudExpc3RlbmVyKAorICAgICAgICAnY2xpY2snLCBmdW5jdGlvbigpIHsgc2VsZi5hZGRDdXJl
bnRUZXN0KCk7IH0pOworICAgIHRoaXMuX3NlbGVjdE5vZGUuYWRkRXZlbnRMaXN0ZW5lcignY2hh
bmdlJywgdXBkYXRlU3RhdGUpOworICAgIHRoaXMuX3JlbW92ZVNlbGVjdGlvbkJ1dHRvbk5vZGUu
YWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICAgJ2NsaWNrJywgZnVuY3Rpb24oKSB7IHNlbGYuX3Jl
bW92ZVNlbGVjdGlvbigpOyB9KTsKKyAgICB0aGlzLl9yZWJhc2VsaW5lQnV0dG9uTm9kZS5hZGRF
dmVudExpc3RlbmVyKAorICAgICAgICAnY2xpY2snLCBmdW5jdGlvbigpIHsgc2VsZi5yZWJhc2Vs
aW5lKCk7IH0pOworICAgIHRoaXMuX3RvZ2dsZU5vZGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2sn
LCBmdW5jdGlvbigpIHt0b2dnbGUoJ3F1ZXVlJyl9KTsKK30KKworUmViYXNlbGluZVF1ZXVlLnBy
b3RvdHlwZS51cGRhdGVTdGF0ZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgdGVzdE5hbWUgPSBn
ZXRTZWxlY3RlZFRlc3QoKTsKKworICAgIHZhciBzdGF0ZSA9IHJlc3VsdHMudGVzdHNbdGVzdE5h
bWVdLnN0YXRlOworICAgICQoJ2FkZC10by1yZWJhc2VsaW5lLXF1ZXVlJykuZGlzYWJsZWQgPSBz
dGF0ZSAhPSBTVEFURV9ORUVEU19SRUJBU0VMSU5FOworCisgICAgdmFyIHF1ZXVlTGVuZ3RoID0g
dGhpcy5fc2VsZWN0Tm9kZS5vcHRpb25zLmxlbmd0aDsKKyAgICBpZiAodGhpcy5faW5Qcm9ncmVz
c1JlYmFzZWxpbmVDb3VudCA+IDApIHsKKyAgICAgIHRoaXMuX3JlYmFzZWxpbmVCdXR0b25Ob2Rl
LmRpc2FibGVkID0gdHJ1ZTsKKyAgICAgIHRoaXMuX3JlYmFzZWxpbmVCdXR0b25Ob2RlLnRleHRD
b250ZW50ID0KKyAgICAgICAgICAnUmViYXNlbGluZSBpbiBwcm9ncmVzcyAoJyArIHRoaXMuX2lu
UHJvZ3Jlc3NSZWJhc2VsaW5lQ291bnQgKworICAgICAgICAgICcgdGVzdHMgbGVmdCknOworICAg
IH0gZWxzZSBpZiAocXVldWVMZW5ndGggPT0gMCkgeworICAgICAgdGhpcy5fcmViYXNlbGluZUJ1
dHRvbk5vZGUuZGlzYWJsZWQgPSB0cnVlOworICAgICAgdGhpcy5fcmViYXNlbGluZUJ1dHRvbk5v
ZGUudGV4dENvbnRlbnQgPSAnUmViYXNlbGluZSBxdWV1ZSc7CisgICAgICB0aGlzLl90b2dnbGVO
b2RlLnRleHRDb250ZW50ID0gJ1F1ZXVlJzsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5fcmVi
YXNlbGluZUJ1dHRvbk5vZGUuZGlzYWJsZWQgPSBmYWxzZTsKKyAgICAgIHRoaXMuX3JlYmFzZWxp
bmVCdXR0b25Ob2RlLnRleHRDb250ZW50ID0KKyAgICAgICAgICAnUmViYXNlbGluZSBxdWV1ZSAo
JyArIHF1ZXVlTGVuZ3RoICsgJyB0ZXN0cyknOworICAgICAgdGhpcy5fdG9nZ2xlTm9kZS50ZXh0
Q29udGVudCA9ICdRdWV1ZSAoJyArIHF1ZXVlTGVuZ3RoICsgJyB0ZXN0cyknOworICAgIH0KKyAg
ICB0aGlzLl9yZW1vdmVTZWxlY3Rpb25CdXR0b25Ob2RlLmRpc2FibGVkID0KKyAgICAgICAgdGhp
cy5fc2VsZWN0Tm9kZS5zZWxlY3RlZEluZGV4ID09IC0xOworfTsKKworUmViYXNlbGluZVF1ZXVl
LnByb3RvdHlwZS5hZGRDdXJyZW50VGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgdGVzdE5h
bWUgPSBnZXRTZWxlY3RlZFRlc3QoKTsKKyAgICB2YXIgdGVzdCA9IHJlc3VsdHMudGVzdHNbdGVz
dE5hbWVdOworCisgICAgaWYgKHRlc3Quc3RhdGUgIT0gU1RBVEVfTkVFRFNfUkVCQVNFTElORSkg
eworICAgICAgICBsb2coJ0Nhbm5vdCBhZGQgdGVzdCB3aXRoIHN0YXRlICInICsgdGVzdC5zdGF0
ZSArICciIHRvIHF1ZXVlLicsCisgICAgICAgICAgICBsb2cuV0FSTklORyk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICB2YXIgcXVldWVPcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdvcHRpb24nKTsKKyAgICBxdWV1ZU9wdGlvbi52YWx1ZSA9IHRlc3ROYW1lOworICAgIHF1
ZXVlT3B0aW9uLnRleHRDb250ZW50ID0gdGVzdE5hbWU7CisgICAgdGhpcy5fc2VsZWN0Tm9kZS5h
cHBlbmRDaGlsZChxdWV1ZU9wdGlvbik7CisgICAgdGVzdC5zdGF0ZSA9IFNUQVRFX0lOX1FVRVVF
OworICAgIHVwZGF0ZVN0YXRlKCk7Cit9OworCitSZWJhc2VsaW5lUXVldWUucHJvdG90eXBlLnJl
bW92ZUN1cnJlbnRUZXN0ID0gZnVuY3Rpb24oKQoreworICAgIHRoaXMuX3JlbW92ZVRlc3QoZ2V0
U2VsZWN0ZWRUZXN0KCkpOworfTsKKworUmViYXNlbGluZVF1ZXVlLnByb3RvdHlwZS5fcmVtb3Zl
U2VsZWN0aW9uID0gZnVuY3Rpb24oKQoreworICAgIGlmICh0aGlzLl9zZWxlY3ROb2RlLnNlbGVj
dGVkSW5kZXggPT0gLTEpIHJldHVybjsKKworICAgIHRoaXMuX3JlbW92ZVRlc3QoCisgICAgICAg
IHRoaXMuX3NlbGVjdE5vZGUub3B0aW9uc1t0aGlzLl9zZWxlY3ROb2RlLnNlbGVjdGVkSW5kZXhd
LnZhbHVlKTsKK307CisKK1JlYmFzZWxpbmVRdWV1ZS5wcm90b3R5cGUuX3JlbW92ZVRlc3QgPSBm
dW5jdGlvbih0ZXN0TmFtZSkKK3sKKyAgICB2YXIgcXVldWVPcHRpb24gPSB0aGlzLl9zZWxlY3RO
b2RlLmZpcnN0Q2hpbGQ7CisKKyAgICB3aGlsZSAocXVldWVPcHRpb24gJiYgcXVldWVPcHRpb24u
dmFsdWUgIT0gdGVzdE5hbWUpIHsKKyAgICAgICAgcXVldWVPcHRpb24gPSBxdWV1ZU9wdGlvbi5u
ZXh0U2libGluZzsKKyAgICB9CisKKyAgICBpZiAoIXF1ZXVlT3B0aW9uKSByZXR1cm47CisKKyAg
ICB0aGlzLl9zZWxlY3ROb2RlLnJlbW92ZUNoaWxkKHF1ZXVlT3B0aW9uKTsKKyAgICB2YXIgdGVz
dCA9IHJlc3VsdHMudGVzdHNbdGVzdE5hbWVdOworICAgIHRlc3Quc3RhdGUgPSBTVEFURV9ORUVE
U19SRUJBU0VMSU5FOworICAgIHVwZGF0ZVN0YXRlKCk7Cit9OworCitSZWJhc2VsaW5lUXVldWUu
cHJvdG90eXBlLnJlYmFzZWxpbmUgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIHRlc3ROYW1lcyA9
IFtdOworICAgIGZvciAodmFyIHF1ZXVlT3B0aW9uID0gdGhpcy5fc2VsZWN0Tm9kZS5maXJzdENo
aWxkOworICAgICAgICAgcXVldWVPcHRpb247CisgICAgICAgICBxdWV1ZU9wdGlvbiA9IHF1ZXVl
T3B0aW9uLm5leHRTaWJsaW5nKSB7CisgICAgICAgIHRlc3ROYW1lcy5wdXNoKHF1ZXVlT3B0aW9u
LnZhbHVlKTsKKyAgICB9CisKKyAgICB0aGlzLl9pblByb2dyZXNzUmViYXNlbGluZUNvdW50ID0g
dGVzdE5hbWVzLmxlbmd0aDsKKyAgICB1cGRhdGVTdGF0ZSgpOworCisgICAgdGVzdE5hbWVzLmZv
ckVhY2godGhpcy5fcmViYXNlbGluZVRlc3QsIHRoaXMpOworfTsKKworUmViYXNlbGluZVF1ZXVl
LnByb3RvdHlwZS5fcmViYXNlbGluZVRlc3QgPSBmdW5jdGlvbih0ZXN0TmFtZSkKK3sKKyAgICAv
LyBGSVhNRTogYWN0dWFsbHkgcmViYXNlbGluZQorICAgIGxvZygnUmViYXNlbGluaW5nICcgKyB0
ZXN0TmFtZSArICcuLi4nKTsKKyAgICB2YXIgdGVzdCA9IHJlc3VsdHMudGVzdHNbdGVzdE5hbWVd
OworICAgIHRoaXMuX3JlbW92ZVRlc3QodGVzdE5hbWUpOworICAgIHRoaXMuX2luUHJvZ3Jlc3NS
ZWJhc2VsaW5lQ291bnQtLTsKKyAgICB0ZXN0LnN0YXRlID0gU1RBVEVfUkVCQVNFTElORV9TVUND
RUVERUQ7CisgICAgdXBkYXRlU3RhdGUoKTsKKyAgICBsb2coJ1JlYmFzZWxpbmVkIGFkZCB0ZXN0
IHdpdGggc3RhdGUgJyArIHRlc3Quc3RhdGUgKyAnIHRvIHF1ZXVlJywKKyAgICAgICAgbG9nLlNV
Q0NFU1MpOyAgICAKK307CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvZGF0YS9yZWJhc2VsaW5lc2VydmVyL3V0aWwuanMgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZGF0YS9yZWJhc2VsaW5lc2VydmVyL3V0
aWwuanMKaW5kZXggMWM4NzgyYmM4MmZjNDg3MDYxZWU3ZjRkOWY2YzU2YjE4MjAyZGJmMi4uZTVk
YmIxZGQ2MWUyMzUxZGFiODE3Mjk2ZWFhOTI2Yjk3YWUzMzAxYyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2RhdGEvcmViYXNlbGluZXNlcnZl
ci91dGlsLmpzCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9kYXRhL3JlYmFzZWxpbmVzZXJ2ZXIvdXRpbC5qcwpAQCAtNTUsMyArNTUsMzUgQEAgZnVuY3Rp
b24gbG9hZFRleHQodXJsLCBjYWxsYmFjaykKICAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIGZ1bmN0aW9uKCkgeyBjYWxsYmFjayh4aHIucmVzcG9uc2VUZXh0KTsgfSk7CiAgICAgeGhy
LnNlbmQoKTsKIH0KKworZnVuY3Rpb24gbG9nKHRleHQsIG9wdF90eXBlKQoreworICAgIHZhciBu
b2RlID0gJCgnbG9nJyk7CisgICAgCisgICAgaWYgKG9wdF90eXBlKSB7CisgICAgICAgIHZhciB0
eXBlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAgICAgdHlwZU5v
ZGUudGV4dENvbnRlbnQgPSBvcHRfdHlwZS50ZXh0OworICAgICAgICB0eXBlTm9kZS5zdHlsZS5j
b2xvciA9IG9wdF90eXBlLmNvbG9yOworICAgICAgICBub2RlLmFwcGVuZENoaWxkKHR5cGVOb2Rl
KTsKKyAgICB9CisKKyAgICBub2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KHRleHQgKyAnXG4nKSk7CisgICAgbm9kZS5zY3JvbGxUb3AgPSBub2RlLnNjcm9sbEhlaWdodDsK
K30KKworbG9nLldBUk5JTkcgPSB7dGV4dDogJ1dhcm5pbmc6ICcsIGNvbG9yOiAnI2FhMyd9Owor
bG9nLlNVQ0NFU1MgPSB7dGV4dDogJ1N1Y2Nlc3M6ICcsIGNvbG9yOiAnZ3JlZW4nfTsKK2xvZy5F
UlJPUiA9IHt0ZXh0OiAnRXJyb3I6ICcsIGNvbG9yOiAncmVkJ307CisKK2Z1bmN0aW9uIHRvZ2ds
ZShpZCkKK3sKKyAgICB2YXIgZWxlbWVudCA9ICQoaWQpOworICAgIHZhciB0b2dnbGVyID0gJCgn
dG9nZ2xlLScgKyBpZCk7CisgICAgaWYgKGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScp
IHsKKyAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJyc7CisgICAgICAgIHRvZ2dsZXIu
Y2xhc3NOYW1lID0gJ2xpbmsgc2VsZWN0ZWQnOworICAgIH0gZWxzZSB7CisgICAgICAgIGVsZW1l
bnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICAgICAgdG9nZ2xlci5jbGFzc05hbWUgPSAn
bGluayc7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVzZXJ2ZXIucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZXNlcnZlci5weQppbmRleCBhYmIyYWY0
YjIwMmZjNTczMTFiNjJiZWE3ODU2Y2MzMTE0ZjQ4MjhiLi44YjQyNmE4NDBkZGNmNDNkYTNjMDEx
NzM3ZTc1NzljNDQ3MGVlOTFhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZXNlcnZlci5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZXNlcnZlci5weQpAQCAtNDgs
NiArNDgsMTAgQEAgZnJvbSB3c2dpcmVmLmhhbmRsZXJzIGltcG9ydCBmb3JtYXRfZGF0ZV90aW1l
CiBmcm9tIHdlYmtpdHB5LnRvb2wubXVsdGljb21tYW5kdG9vbCBpbXBvcnQgQWJzdHJhY3REZWNs
YXJhdGl2ZUNvbW1hbmQKIGltcG9ydCB3ZWJraXRweS50aGlyZHBhcnR5LnNpbXBsZWpzb24gYXMg
c2ltcGxlanNvbgogCitTVEFURV9ORUVEU19SRUJBU0VMSU5FID0gJ25lZWRzX3JlYmFzZWxpbmUn
CitTVEFURV9SRUJBU0VMSU5FX0ZBSUxFRCA9ICdyZWJhc2VsaW5lX2ZhaWxlZCcKK1NUQVRFX1JF
QkFTRUxJTkVfU1VDQ0VFREVEID0gJ3JlYmFzZWxpbmVfc3VjY2VlZGVkJworCiBjbGFzcyBSZWJh
c2VsaW5lSFRUUFNlcnZlcihCYXNlSFRUUFNlcnZlci5IVFRQU2VydmVyKToKICAgICBkZWYgX19p
bml0X18oc2VsZiwgaHR0cGRfcG9ydCwgcmVzdWx0c19kaXJlY3RvcnksIHJlc3VsdHNfanNvbik6
CiAgICAgICAgIEJhc2VIVFRQU2VydmVyLkhUVFBTZXJ2ZXIuX19pbml0X18oc2VsZiwgKCIiLCBo
dHRwZF9wb3J0KSwgUmViYXNlbGluZUhUVFBSZXF1ZXN0SGFuZGxlcikKQEAgLTYxLDYgKzY1LDcg
QEAgY2xhc3MgUmViYXNlbGluZUhUVFBSZXF1ZXN0SGFuZGxlcihCYXNlSFRUUFNlcnZlci5CYXNl
SFRUUFJlcXVlc3RIYW5kbGVyKToKICAgICAgICAgImxvdXBlLmpzIiwKICAgICAgICAgIm1haW4u
anMiLAogICAgICAgICAibWFpbi5jc3MiLAorICAgICAgICAicXVldWUuanMiLAogICAgICAgICAi
dXRpbC5qcyIsCiAgICAgXSkKIApAQCAtMTg5LDYgKzE5NCw5IEBAIGNsYXNzIFJlYmFzZWxpbmVT
ZXJ2ZXIoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQpOgogICAgICAgICAgICAgcmVzdWx0c19q
c29uX2ZpbGUgPSBmaWxlKHJlc3VsdHNfanNvbl9wYXRoKQogICAgICAgICAgICAgcmVzdWx0c19q
c29uID0gc2ltcGxlanNvbi5sb2FkKHJlc3VsdHNfanNvbl9maWxlKQogCisgICAgICAgIGZvciB0
ZXN0X2ZpbGUsIHRlc3RfanNvbiBpbiByZXN1bHRzX2pzb25bJ3Rlc3RzJ10uaXRlbXMoKToKKyAg
ICAgICAgICAgIHRlc3RfanNvblsnc3RhdGUnXSA9IFNUQVRFX05FRURTX1JFQkFTRUxJTkUKKwog
ICAgICAgICBwcmludCAiU3RhcnRpbmcgc2VydmVyIGF0IGh0dHA6Ly9sb2NhbGhvc3Q6JWQvIiAl
IG9wdGlvbnMuaHR0cGRfcG9ydAogICAgICAgICBwcmludCAoIlVzZSB0aGUgJ0V4aXQnIGxpbmsg
aW4gdGhlIFVJLCBodHRwOi8vbG9jYWxob3N0OiVkLyIKICAgICAgICAgICAgICJxdWl0cXVpdHF1
aXQgb3IgQ3RybC1DIHRvIHN0b3AiKSAlIG9wdGlvbnMuaHR0cGRfcG9ydAo=
</data>
<flag name="review"
          id="64872"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>