<?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>112306</bug_id>
          
          <creation_ts>2013-03-13 18:02:36 -0700</creation_ts>
          <short_desc>Fix flaky layout tests that rely on setTimeout()s firing after &lt;body&gt; is parsed</short_desc>
          <delta_ts>2013-03-19 12:19:46 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>854828</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:02:36 -0700</bug_when>
    <thetext>Fix flaky layout tests that rely on setTimeout()s firing after &lt;body&gt; is parsed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854831</commentid>
    <comment_count>1</comment_count>
      <attachid>193033</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:06:07 -0700</bug_when>
    <thetext>Created attachment 193033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854833</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:09:27 -0700</bug_when>
    <thetext>*** Bug 112292 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854834</commentid>
    <comment_count>3</comment_count>
      <attachid>193033</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-13 18:09:38 -0700</bug_when>
    <thetext>Comment on attachment 193033
Patch

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

LGTM, I suspect you&apos;ll see one failure from this.

&gt; LayoutTests/fast/block/float/floats-not-cleared-crash.html:9
&gt; +window.onload = crash;
&gt;  function crash()

This doesn&apos;t look right.  crash isn&apos;t defined yet. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854837</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:12:19 -0700</bug_when>
    <thetext>Look at all these fixable flakes:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fblock%2Ffloat%2Ffloats-not-cleared-crash.html%20fast%2Fblock%2Fline-layout%2Finline-box-wrapper-crash.html%20fast%2Fcss%2Fpositioned-in-relative-position-inline-crash.html%20fast%2Fcss%2Fuser-stylesheet-crash.html%20fast%2Fencoding%2Fscript-in-head.html%20fast%2Fforms%2Ftextarea-placeholder-relayout-assertion.html%20fast%2Finline%2Fupdate-always-create-line-boxes-full-layout-crash.html%20fast%2FinnerHTML%2FinnerHTML-iframe.html%20fast%2Fjs%2Fsame-origin-subframe-about-blank.html%20fast%2Fmulticol%2Fspan%2Fremoval-of-multicol-span-crash.html%20fast%2Ftext%2Finternational%2Fbidi-neutral-in-mixed-direction-run-crash.html%20fast%2Fwriting-mode%2Foverhanging-float-legend-crash.html%20editing%2Finserting%2Finsert-text-into-empty-frameset-crash.html%20editing%2Fstyle%2Fapply-style-crash.html%20fast%2Fblock%2Ffloat%2Ffloat-originating-line-deleted-crash.html%20fast%2Fblock%2Fline-layout%2Finline-box-wrapper-crash.html%20fast%2Fframes%2Fseamless%2Fseamless-form-get.html%20fast%2Fframes%2Fseamless%2Fseamless-form-post-named.html%20fast%2Fframes%2Fseamless%2Fseamless-window-location-href.html%20fast%2Fframes%2Fseamless%2Fseamless-window-location-replace.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854838</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:12:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 193033 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193033&amp;action=review
&gt; 
&gt; LGTM, I suspect you&apos;ll see one failure from this.
&gt; 
&gt; &gt; LayoutTests/fast/block/float/floats-not-cleared-crash.html:9
&gt; &gt; +window.onload = crash;
&gt; &gt;  function crash()
&gt; 
&gt; This doesn&apos;t look right.  crash isn&apos;t defined yet. :)

You forget this is JavaScript where craziness like this works A-OK :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854839</commentid>
    <comment_count>6</comment_count>
      <attachid>193034</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-13 18:14:07 -0700</bug_when>
    <thetext>Created attachment 193034
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854840</commentid>
    <comment_count>7</comment_count>
      <attachid>193033</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-13 18:14:23 -0700</bug_when>
    <thetext>Comment on attachment 193033
Patch

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

&gt;&gt;&gt; LayoutTests/fast/block/float/floats-not-cleared-crash.html:9
&gt;&gt;&gt;  function crash()
&gt;&gt; 
&gt;&gt; This doesn&apos;t look right.  crash isn&apos;t defined yet. :)
&gt; 
&gt; You forget this is JavaScript where craziness like this works A-OK :)

THIS IS JAVASCRIPT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854841</commentid>
    <comment_count>8</comment_count>
      <attachid>193034</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 18:19:52 -0700</bug_when>
    <thetext>Comment on attachment 193034
Patch for landing

Rejecting attachment 193034 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 193034, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
fast/innerHTML/innerHTML-iframe.html
patching file LayoutTests/fast/js/same-origin-subframe-about-blank.html
patching file LayoutTests/fast/multicol/span/removal-of-multicol-span-crash.html
patching file LayoutTests/fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html
patching file LayoutTests/fast/writing-mode/overhanging-float-legend-crash.html

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://webkit-commit-queue.appspot.com/results/17181210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855281</commentid>
    <comment_count>9</comment_count>
      <attachid>193034</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-14 10:11:34 -0700</bug_when>
    <thetext>Comment on attachment 193034
Patch for landing

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

Another nice catch!

&gt; LayoutTests/fast/encoding/script-in-head.html:8
&gt; -    &apos;setTimeout(function () {&apos; +
&gt; +    &apos;window.onload = function () {&apos; +

This changes how the test works - previously, the script normally ran after onload, not during it. A less invasive fix would be to start a zero-delay timer in onload.

Or if the test is changed as currently proposed, then it doesn&apos;t need to be async, waitUntilDone/notifyDone can be removed.

Either of these changes probably needs to be done to most of the tests fixed here, I didn&apos;t check each one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855296</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-14 10:28:08 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 193034 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193034&amp;action=review
&gt; 
&gt; Another nice catch!
&gt; 
&gt; &gt; LayoutTests/fast/encoding/script-in-head.html:8
&gt; &gt; -    &apos;setTimeout(function () {&apos; +
&gt; &gt; +    &apos;window.onload = function () {&apos; +
&gt; 
&gt; This changes how the test works - previously, the script normally ran after onload, not during it. A less invasive fix would be to start a zero-delay timer in onload.

Yes, it&apos;s a change.  Reading the test, it won&apos;t make a difference in the test coverage.

&gt; 
&gt; Or if the test is changed as currently proposed, then it doesn&apos;t need to be async, waitUntilDone/notifyDone can be removed.

That&apos;s a good catch.  I removed the waitUntilDone/notifyDone pairs from most tests, missed this one.  Will check the rest.

&gt; 
&gt; Either of these changes probably needs to be done to most of the tests fixed here, I didn&apos;t check each one.

I did check each one to see if it&apos;s sensitive to setTimeout or just needed to run after the rest of the test was parsed.  I&apos;ve left tests alone that are specifically about setTimeout timing (i.e. some security ones that intentionally set up races to make sure we don&apos;t crash).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855351</commentid>
    <comment_count>11</comment_count>
      <attachid>193158</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-14 11:27:10 -0700</bug_when>
    <thetext>Created attachment 193158
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855354</commentid>
    <comment_count>12</comment_count>
      <attachid>193158</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 11:30:04 -0700</bug_when>
    <thetext>Comment on attachment 193158
Patch for landing

Rejecting attachment 193158 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 193158, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
fast/innerHTML/innerHTML-iframe.html
patching file LayoutTests/fast/js/same-origin-subframe-about-blank.html
patching file LayoutTests/fast/multicol/span/removal-of-multicol-span-crash.html
patching file LayoutTests/fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html
patching file LayoutTests/fast/writing-mode/overhanging-float-legend-crash.html

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://webkit-commit-queue.appspot.com/results/17024990</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855418</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-14 12:24:29 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 193158 [details])
&gt; Rejecting attachment 193158 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 193158, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue
&gt; 
&gt; Last 500 characters of output:
&gt; fast/innerHTML/innerHTML-iframe.html
&gt; patching file LayoutTests/fast/js/same-origin-subframe-about-blank.html
&gt; patching file LayoutTests/fast/multicol/span/removal-of-multicol-span-crash.html
&gt; patching file LayoutTests/fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html
&gt; patching file LayoutTests/fast/writing-mode/overhanging-float-legend-crash.html
&gt; 
&gt; Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue
&gt; 
&gt; Full output: http://webkit-commit-queue.appspot.com/results/17024990

Hmm, I think svn-apply may be barfing on the CRLF files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855583</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-14 17:04:38 -0700</bug_when>
    <thetext>Committed r145857: &lt;http://trac.webkit.org/changeset/145857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858592</commentid>
    <comment_count>15</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-03-19 12:19:46 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (From update of attachment 193158 [details] [details])
&gt; &gt; Rejecting attachment 193158 [details] [details] from commit-queue.
&gt; &gt; 
&gt;&gt; [...]
&gt; &gt; 
&gt; &gt; Full output: http://webkit-commit-queue.appspot.com/results/17024990
&gt; 
&gt; Hmm, I think svn-apply may be barfing on the CRLF files.

Filed bug 112732 for this issue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193033</attachid>
            <date>2013-03-13 18:06:07 -0700</date>
            <delta_ts>2013-03-13 18:14:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112306-20130313180203.patch</filename>
            <type>text/plain</type>
            <size>16021</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzM4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDE2YTVlM2U2ODBhY2UzNDcyMmZh
ZWYyZTcyMGQwYTgyNjM3ODMxYy4uNTZhNGYxYjdlNDFhZjRjMmFiNzNhMjQ3ZTcxNzgwZmEzZTVj
MDc4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDEzLTAzLTEzICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgRml4IGZsYWt5IGxheW91dCB0ZXN0cyB0
aGF0IHJlbHkgb24gc2V0VGltZW91dCgpcyBmaXJpbmcgYWZ0ZXIgPGJvZHk+IGlzIHBhcnNlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgdGVz
dHMgYWxsIHJlbHkgaW4gb25lIHdheSBvciBhbm90aGVyIG9uIHRoZSBib2R5IG9mIGEgc2V0VGlt
ZW91dCBzZXQgaW4gYW4gaW5saW5lIDxzY3JpcHQ+IGluIHRoZSA8aGVhZD4KKyAgICAgICAgZmly
aW5nIGFmdGVyIHRoZSA8Ym9keT4gZWxlbWVudCBpcyBnZW5lcmF0ZWQgYnkgdGhlIEhUTUwgcGFy
c2VyLiBUaGlzIGlzIGEgZmxha3kgcGF0dGVybiBzaW5jZSB0aGUgSFRNTCBwYXJzZXIKKyAgICAg
ICAgbWF5IHlpZWxkIHdoZW4gcGFyc2luZyBhIDwvc2NyaXB0PiBvciB3aGVuIHJ1bm5uaWcgb3V0
IG9mIGJ5dGVzIGZyb20gdGhlIG5ldHdvcmsuIEluIHByYWN0aWNlLCB0aGlzIHBhdHRlcm4gdXNl
ZAorICAgICAgICB0byBiZSBub3QgdGVycmlibHkgZmxha3kgZm9yIGxheW91dCB0ZXN0cyBsb2Fk
ZWQgZnJvbSBkaXNrIHVubGVzcyB0aGVyZSB3YXMgYSBsYXJnZSBHQyBwYXVzZS4gSG93ZXZlciwg
c2luY2UgdGhlCisgICAgICAgIHRocmVhZGVkIEhUTUwgcGFyc2VyIHlpZWxkcyBtb3JlIGZyZXF1
ZW50bHkgd2hlbiBoaXR0aW5nIGEgPC9zY3JpcHQ+IHRoaXMgZmxha2VzIG1vcmUuCisKKyAgICAg
ICAgVGhlc2UgdGVzdHMgd2VyZSBmb3VuZCBieSBpZGVudGlmeWluZyBsYXlvdXQgdGVzdHMgdGhh
dCBjYWxsIHNldFRpbWVvdXQgYmVmb3JlIHRoZSBkb2N1bWVudCdzIGJvZHkgZXhpc3RzIGJ5Cisg
ICAgICAgIG1vZGlmeWluZyB0aGUgY29kZSwgdGhlbiBpbnRlcnNlY3RpbmcgdGhhdCBzZXQgd2l0
aCB0ZXN0cyB0aGF0IGFyZSBmbGFreSBvbiB0aGUgY2hyb21pdW0gZmxha2luZXNzIGRhc2hib2Fy
ZC4KKworICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0LWludG8tZW1wdHkt
ZnJhbWVzZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL2FwcGx5LXN0eWxl
LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGlu
Zy1saW5lLWRlbGV0ZWQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Jsb2NrL2Zsb2F0L2Zs
b2F0cy1ub3QtY2xlYXJlZC1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvYmxvY2svbGluZS1s
YXlvdXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mv
cG9zaXRpb25lZC1pbi1yZWxhdGl2ZS1wb3NpdGlvbi1pbmxpbmUtY3Jhc2guaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy91c2VyLXN0eWxlc2hlZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L2VuY29kaW5nL3NjcmlwdC1pbi1oZWFkLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0
YXJlYS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sOgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVmLmh0bWw6
CisgICAgICAgICogZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9u
LXJlcGxhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2lubGluZS91cGRhdGUtYWx3YXlzLWNyZWF0
ZS1saW5lLWJveGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9pbm5l
ckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3QvanMvc2FtZS1vcmln
aW4tc3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbDoKKyAgICAgICAgKiBmYXN0L211bHRpY29sL3Nw
YW4vcmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jh
c2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3dyaXRpbmctbW9kZS9vdmVyaGFuZ2luZy1mbG9hdC1s
ZWdlbmQtY3Jhc2guaHRtbDoKKworMjAxMy0wMy0xMyAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIENsZWFuIG91dCBzb21lIHN0YWxlIGNocm9taXVtIFRl
c3RFeHBlY3RhdGlvbnMgZW50cmllcy4KIAogICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnM6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGlu
Zy9pbnNlcnQtdGV4dC1pbnRvLWVtcHR5LWZyYW1lc2V0LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtdGV4dC1pbnRvLWVtcHR5LWZyYW1lc2V0LWNyYXNo
Lmh0bWwKaW5kZXggNWUxNThjNTU2MGVkYTI3MTY0OTdiZGM2ODA5MGNlNDFmYjNkNjdjZC4uZmNi
YTk3NjllNjU4ODc4MDcwOTRjYWUxMTZhODIyMDY3YjZhYzM5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRleHQtaW50by1lbXB0eS1mcmFtZXNldC1j
cmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0
LWludG8tZW1wdHktZnJhbWVzZXQtY3Jhc2guaHRtbApAQCAtNSw3ICs1LDcgQEAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKLXNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAg
ZG9jdW1lbnQuZGVzaWduTW9kZT0ib24iOwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJzZWxl
Y3RhbGwiKTsKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlKTsK
QEAgLTEzLDcgKzEzLDcgQEAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBkb2N1bWVudC53
cml0ZSgiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBzZWxlY3RpbmcgYWxsIGFuZCBpbnNlcnRpbmcg
dGV4dCBpbnRvIGEgcGFnZSB3aXRoIGEgZnJhbWVzZXQgZG9lcyBub3QgY3Jhc2g8YnI+PGJyPlBB
U1MiKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotfSwgMCk7Cit9OwogPC9zY3JpcHQ+CiA8ZnJhbWVzZXQ+PGZyYW1lPjwvZnJh
bWU+PC9mcmFtZXNldD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c3R5bGUvYXBwbHktc3R5bGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUv
YXBwbHktc3R5bGUtY3Jhc2guaHRtbAppbmRleCA1NjIzMDdjYzBkMjM1N2ExOGU4NzdlNTBjNDA3
NjNiMzIyNWViYjgzLi41YjEwNzgwMGFmYTRkZWZjYzFhMjdmN2JmODA1M2ZlNDUwNGE3N2Q0IDEw
MDc1NQotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL2FwcGx5LXN0eWxlLWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9hcHBseS1zdHlsZS1jcmFzaC5odG1s
CkBAIC0zLDI0ICszLDE4IEBACiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiB9CiAKLW9ubG9hZCA9IGZ1bmN0aW9uKCkgeword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgewogICAgIHguaW5uZXJIVE1MICs9ICcnOwotfQogCi1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewogICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb24nOwogICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdzZWxlY3RhbGwnKTsKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnYm9sZCcpOwogCiAg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwg
PSAiUEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaC4iOwotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0sIDApCit9OwogPC9zY3Jp
cHQ+CiA8ZGl2IGlkPSJ4Ij48aWZyYW1lIHNyYz0iZGF0YToiPjwvaWZyYW1lPgogPHNwYW4+PHNw
YW4+PHBsYWludGV4dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQv
ZmxvYXQtb3JpZ2luYXRpbmctbGluZS1kZWxldGVkLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LW9yaWdpbmF0aW5nLWxpbmUtZGVsZXRlZC1jcmFzaC5odG1s
CmluZGV4IGY1MGJiNTRjNjBkYmZmMTBkY2RkMzliZjBlZGZiYzliMWZkYzAwNTEuLjgzZGNiYzY1
ZmQwZmJlNTMwODZmNmIwZGYxMDlkNmEyZjEyYWUzMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtb3JpZ2luYXRpbmctbGluZS1kZWxldGVkLWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1s
aW5lLWRlbGV0ZWQtY3Jhc2guaHRtbApAQCAtMSwxMCArMSw5IEBACiA8aHRtbD4NCiBUZXN0IHBh
c3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4NCis8Ym9keT4NCiA8c2NyaXB0Pg0KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikgew0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikNCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7DQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOw0KLX0NCiAN
CiBmdW5jdGlvbiBydW5UZXN0KCkNCiB7DQpAQCAtMTIsMTUgKzExLDEyIEBAIGZ1bmN0aW9uIHJ1
blRlc3QoKQogICAgIGNoaWxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpOw0KIA0KIAlk
b2N1bWVudC5ib2R5Lm9mZnNldFRvcDsNCi0gICAgDQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikNCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KIH0NCiANCi1zZXRUaW1lb3V0
KCJydW5UZXN0KCk7IiwgMCk7DQord2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7DQogPC9zY3JpcHQ+
DQogPHN0eWxlIGlkPSd0ZXN0Jz4NCiAgICAgcCB7IGZsb2F0OiBsZWZ0OyB9DQogPC9zdHlsZT4N
CiA8dGFibGU+PHNwYW4+PHA+PC9wPjxwPjwvcD48L3NwYW4+PC90YWJsZT4NCi08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXRzLW5vdC1jbGVhcmVkLWNyYXNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0cy1ub3QtY2xlYXJlZC1jcmFzaC5odG1sCmlu
ZGV4IDc0ZDFmMjg5NmYwY2FhNjJhZjBjYjQwMjc5ZjI5NzQ3NDJhODY1OGIuLjgxM2M3OWNhZTM0
NWRmMjI4ZWRmNjg3OWIxNTgxNmQyYzVkN2IzNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svZmxvYXQvZmxvYXRzLW5vdC1jbGVhcmVkLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdHMtbm90LWNsZWFyZWQtY3Jhc2guaHRtbApAQCAt
NSw3ICs1LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOw0KICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCiB9ICAgDQotd2luZG93
LnNldFRpbWVvdXQoJ2NyYXNoKCk7JywgMCk7DQord2luZG93Lm9ubG9hZCA9IGNyYXNoOw0KIGZ1
bmN0aW9uIGNyYXNoKCkNCiB7DQogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOw0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZS1sYXlvdXQvaW5saW5lLWJveC13cmFw
cGVyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2xpbmUtbGF5b3V0L2lubGlu
ZS1ib3gtd3JhcHBlci1jcmFzaC5odG1sCmluZGV4IGM3OGRiODI0NmRkMzRkZGM5NGFkZDhjNmM2
YTZkNGY4OTYxMDdjMjguLjZlMzFiNGJlYTFjYmI5Mjg1MGVhODgyZjQwMzc0YjIzYTIwZGY3ZTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZS1sYXlvdXQvaW5saW5lLWJv
eC13cmFwcGVyLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lLWxh
eW91dC9pbmxpbmUtYm94LXdyYXBwZXItY3Jhc2guaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxzdHls
ZT4NCiAgICAgYm9keSB7IGRpcmVjdGlvbjogcnRsOyBwYWRkaW5nLWxlZnQ6IDEwMCU7IH0NCiA8
L3N0eWxlPg0KKzxib2R5Pg0KIDxzY3JpcHQ+DQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ew0KICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQpAQCAtMTUsMTAgKzE2LDEwIEBA
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCiAgICAgfQ0KIA0KLSAgICBz
ZXRUaW1lb3V0KCJydW5UZXN0KCkiLCAwKTsNCisgICAgd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7
DQogPC9zY3JpcHQ+DQogMDxpbWFnZT4NCiA8c3Bhbj4NCiBBPGRpdj48L2Rpdj4NCiA8L3NwYW4+
DQotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wb3NpdGlvbmVkLWluLXJlbGF0aXZlLXBvc2l0aW9u
LWlubGluZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcG9zaXRpb25lZC1pbi1y
ZWxhdGl2ZS1wb3NpdGlvbi1pbmxpbmUtY3Jhc2guaHRtbAppbmRleCAzZDlkMDYyOWQwOGI5MmQy
MmRiMGJkMmJhMjc2Zjg2MTJjZDAzZGM5Li4zMmI2NjJiMDkyNTZkNWZjZGUxNWNjNDhhMmJjNTIz
OWY4NDY4ODVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wb3NpdGlvbmVkLWlu
LXJlbGF0aXZlLXBvc2l0aW9uLWlubGluZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3Bvc2l0aW9uZWQtaW4tcmVsYXRpdmUtcG9zaXRpb24taW5saW5lLWNyYXNoLmh0bWwK
QEAgLTI1LDcgKzI1LDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncG9zaXRpb25lZCcpLnN0eWxlLmNvbG9yID0gJ3JlZCc7CiAgICAgc2V0VGlt
ZW91dCgnZHVtcFRlc3QoKScsIDEwKTsKIH0KLXNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApOwor
d2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7CiA8L3NjcmlwdD4KIDxib2R5PgogUEFTUywgaWYgbm8g
ZXhjZXB0aW9uIG9yIGNyYXNoIGluIGRlYnVnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy91c2VyLXN0eWxlc2hlZXQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Vz
ZXItc3R5bGVzaGVldC1jcmFzaC5odG1sCmluZGV4IDFiZWE0OTkwYzU0NDMxNTBhZTc5NzY2YWI3
ZTYxZWY2ZjNhMmFiMWQuLjFlNzM0NzYyMzJiY2IzNTg1MWU1MmFjY2ZjZDZlNmIxYjkwZWViYjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3VzZXItc3R5bGVzaGVldC1jcmFzaC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3VzZXItc3R5bGVzaGVldC1jcmFzaC5odG1s
CkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuYWRkVXNlclN0eWxlU2hlZXQoIiN0
ZXN0IHsgY29sb3I6IHJlZDogfSIsIHRydWUpOwogfQotc2V0VGltZW91dCgiY3JlYXRlSWZyYW1l
KCkiLCAwKTsKK3dpbmRvdy5vbmxvYWQgPSBjcmVhdGVJZnJhbWU7CiAKIDwvc2NyaXB0PgogPC9o
ZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zY3JpcHQtaW4taGVh
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zY3JpcHQtaW4taGVhZC5odG1sCmlu
ZGV4IDEwMDFiMjgyYTNjNDA3YWM3NjE4YTM0ZjJkZjM3N2JkNmM4MDc5MDIuLmY0ZmIyNTBlYWZh
OWNkMjE5OTI5Nzk2ZDZkNmNlZWZjNjdhN2JjMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZW5jb2Rpbmcvc2NyaXB0LWluLWhlYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Vu
Y29kaW5nL3NjcmlwdC1pbi1oZWFkLmh0bWwKQEAgLTUsMTMgKzUsMTMgQEAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiB9CiBkb2N1bWVudC53cml0ZSAoJzxTQ1InICsgJ0lQVD4nICsKIAotICAg
ICdzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsnICsKKyAgICAnd2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uICgpIHsnICsKICAgICAgICAgPCEtLSBUaGUgbGV0dGVycyBDQ0UgYmVsb3cgYXJlIEN5cmls
bGljLCBzbyB3ZSBkbyB0ZXN0IHRoYXQgdGhlIGVuY29kaW5nIGlzIGNvcnJlY3QuIC0tPgogICAg
ICAgICA8IS0tIFdlIGFsc28gdGFrZSBhbiBvcHBvcnR1bml0eSB0byB0ZXN0IHRoYXQgdGhpcyB3
ZWlyZGx5IGxvY2F0ZWQgc2NyaXB0IGFjdHVhbGx5IGV4ZWN1dGVzLiAtLT4KICAgICAgICAgJ2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUw9IlNV8/PlU1MiOycgKwog
ICAgICAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKScgKwogICAgICAgICAgICAgJ3Rlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOycgKwotICAgICd9LCAwKTsnICsKKyAgICAnfTsnICsKICc8L1NDUicg
KyAnSVBUPicpO2RvY3VtZW50LmNsb3NlKCk7IDwvc2NyaXB0PgogPCEtLSAvdGVtcCAtLT48IS0t
SEVBREVSLS0+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItcmVsYXlvdXQtYXNzZXJ0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXJlbGF5b3V0LWFzc2VydGlvbi5odG1sCmluZGV4IDcx
Y2YyMzk5ZDVkNWMyNGY4ZmE2NWRlZmNjNjI1NzI4MzA5NmFjMDcuLmU1NzZjYTQ5MjFiZTliZjVl
YzZkZTAyMGYyMDlmZTQ5ZWU1M2Y2NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcmVsYXlvdXQtYXNzZXJ0aW9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRp
b24uaHRtbApAQCAtMTIsNyArMTIsNyBAQCBmdW5jdGlvbiByZW1vdmVUZXh0QXJlYSgpIHsKICAg
ICB9CiB9CiAKLXNldFRpbWVvdXQocmVtb3ZlVGV4dEFyZWEsIDApOword2luZG93Lm9ubG9hZCA9
IHJlbW92ZVRleHRBcmVhOwogPC9zY3JpcHQ+CiA8cD5QQVNTIGlmIG5vdCBjcmFzaGVkLjwvcD4K
ID48ZmllbGRzZXQ+PGZpZWxkc2V0PjxidXR0b24+PGZpZWxkc2V0PjxmaWVsZHNldD48c2VsZWN0
PkEwMDAwMEFBMEEwMDA8dGV4dGFyZWE+PC90ZXh0YXJlYT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tZ2V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sCmluZGV4IDY3
MzM0ODQ1M2M5YjE1NTIxODU5NTczYzdmNjhkYTVjZWQxOGM0MGIuLjQzNmZlYjEwYWE2ZjQ0Njk5
NDYzNmU2MTE1MjY2YzRkYTUwMzRhNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tZ2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1nZXQuaHRtbApAQCAtMSw0ICsxLDUgQEAK
IDwhRE9DVFlQRSBodG1sPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVz
cy1mb3JtLXBvc3QtbmFtZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNz
L3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sCmluZGV4IGU2MmU1ZGIxODc4ZTFmMDUwMjFm
YjE2ZmE5ODRiYjgzNTRmYzNkNDIuLmZkODBmNWJiZWQ3ZDkzNmUzMDAzZDg3ZjljMjYyZjA0NDY5
YjZiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1s
ZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Nl
YW1sZXNzL3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFE
T0NUWVBFIGh0bWw+Cis8Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdp
bmRvdy1sb2NhdGlvbi1ocmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVz
cy9zZWFtbGVzcy13aW5kb3ctbG9jYXRpb24taHJlZi5odG1sCmluZGV4IGY2ZWEzOTVlZDQ0ZjA2
MjlmOTRkMGU4MzIwMWE3OTQ2NGY4OTY5MjguLjU5NmQ2Mzg2NmU2ODY0MDgwYzcxMGU2ODhkMDUw
YmQ3ZGZkNzhhYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNz
L3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVmLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLWhyZWYuaHRtbApAQCAt
MSw0ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFt
bGVzcy9zZWFtbGVzcy13aW5kb3ctbG9jYXRpb24tcmVwbGFjZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJlcGxhY2UuaHRt
bAppbmRleCA0MGIyY2VjZWRmZTJmZmQ4Mjc1ZTA4NDI1MzRhODlkZjY2NzhjZjQzLi42MDE5NGMx
NzcwNjc0ZTAyOTE5YjQxNjVkMDE2ZWI2ZjFjZTZkYzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy13aW5kb3ctbG9jYXRpb24tcmVwbGFjZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRv
dy1sb2NhdGlvbi1yZXBsYWNlLmh0bWwKQEAgLTEsNCArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4K
Kzxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvdXBkYXRlLWFsd2F5cy1jcmVhdGUtbGluZS1ib3hlcy1m
dWxsLWxheW91dC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvdXBkYXRlLWFs
d2F5cy1jcmVhdGUtbGluZS1ib3hlcy1mdWxsLWxheW91dC1jcmFzaC5odG1sCmluZGV4IGNkZGNl
NmU3M2FmNTNhZGFhNjI1OTg2ZTRjMTA1YzBkNGI1NmZlMTMuLmVlYWQ5Njc0OWRhMTg2NTAzNGJk
ZjIzYzMwZWNiMjExMmU2OWE1ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW5saW5l
L3VwZGF0ZS1hbHdheXMtY3JlYXRlLWxpbmUtYm94ZXMtZnVsbC1sYXlvdXQtY3Jhc2guaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubGluZS91cGRhdGUtYWx3YXlzLWNyZWF0ZS1saW5lLWJv
eGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gcnVu
VGVzdCgpCiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KIH0NCiANCi1zZXRUaW1l
b3V0KCJydW5UZXN0KCkiLCAwKTsgDQord2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7IA0KIDwvc2Ny
aXB0Pg0KIDx0YWJsZSBjbGFzcz10YWJsZT4NCiA8dGQ+PHJ0PlBBU1M8L3J0PjwvanVuaz48L3Rk
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML2lubmVySFRNTC1pZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML2lubmVySFRNTC1pZnJhbWUuaHRt
bAppbmRleCA0YzhkNmJmNTEwODE5NjcyZGYzM2ZlZjBiYjMxZjM5NjM4NTRkYjBhLi44ZTA3MDk3
YzQ2MzZjMzJmNjFkNzdhZjExMWE2OTJjN2VkZjA3MjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2lubmVySFRNTC9pbm5lckhUTUwtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sCkBAIC0xLDE1ICsxLDE1IEBACi08
c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLXNldFRpbWVvdXQo
ZnVuY3Rpb24oKXsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiPGI+UEFTUzo8
L2I+IGJvZHkgYW5kIGlmcmFtZSBjbGVhcmVkIHdpdGhvdXQgY3Jhc2hpbmcuIjsKLSAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgMCk7Ci08L3NjcmlwdD4KIDxib2R5IG9u
bG9hZD0nZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIngiKS5pbm5lckhUTUwgPSAiIic+CisgIDxz
Y3JpcHQ+CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgfQorCisgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKXsKKyAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICI8Yj5QQVNTOjwvYj4gYm9keSBhbmQgaWZyYW1lIGNsZWFyZWQgd2l0aG91dCBjcmFzaGluZy4i
OworICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSwgMCk7CisgIDwv
c2NyaXB0PgogICA8ZGl2IGlkPSJ4Ij4KICAgICA8aWZyYW1lIHNyYz0iZG9lcy1ub3QtZXhpc3Qi
PgogICA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2FtZS1vcmlnaW4t
c3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2FtZS1vcmln
aW4tc3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbAppbmRleCAxOTI4ZGI2ZDg0YzU1NGNkYTBiMTdk
NGM5ZDhhYWU2Y2ZkNDM2MWQwLi5hZjg3MTE1ZWJiMWY3OTQzYjc4YTY2ZmM5M2I2YzQ5ODZlZDY2
NTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NhbWUtb3JpZ2luLXN1YmZyYW1l
LWFib3V0LWJsYW5rLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zYW1lLW9yaWdpbi1z
dWJmcmFtZS1hYm91dC1ibGFuay5odG1sCkBAIC0xOSw3ICsxOSw3IEBAIGZ1bmN0aW9uIHJlbG9h
ZF9ibGFuaygpIHsKICAgd2luZG93LnNldFRpbWVvdXQoImNoZWNrX2JsYW5rKCkiLCAwKTsKIH0K
IAotd2luZG93LnNldFRpbWVvdXQoInJlbG9hZF9ibGFuaygpIiwgMCk7Cit3aW5kb3cub25sb2Fk
ID0gcmVsb2FkX2JsYW5rOwogCiA8L3NjcmlwdD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9zcGFuL3JlbW92YWwtb2YtbXVsdGljb2wtc3Bhbi1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9zcGFuL3JlbW92YWwtb2YtbXVsdGljb2wt
c3Bhbi1jcmFzaC5odG1sCmluZGV4IGU2OTgyNzc3MGJmM2RmMTRlZWE0MjNhMGNjMzRiMWM0Y2Rl
M2JmYjQuLmU3MjE3ZjkzZjhhZDg3YzA2MDMxNmJhZGFkZGFhYWNkNWU4ODA3NGQgMTAwNzU1Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvc3Bhbi9yZW1vdmFsLW9mLW11bHRpY29sLXNw
YW4tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL3NwYW4vcmVtb3Zh
bC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWwKQEAgLTQsNiArNCw3IEBAIGJvZHkgeyAtd2Vi
a2l0LWNvbHVtbi13aWR0aDogMDsgfQogLmhhcmR3YXJlOmxhc3Qtb2YtdHlwZSB7IC13ZWJraXQt
Y29sdW1uLXNwYW46IGFsbDsgfQogPC9zdHlsZT4KIAorPGJvZHk+CiA8c2NyaXB0PgogICAgIGZ1
bmN0aW9uIGNsZWFyKCkgewogICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3Zl
Q2hpbGQoZG9jdW1lbnQuYm9keSk7CkBAIC0xOCw3ICsxOSw2IEBAIGJvZHkgeyAtd2Via2l0LWNv
bHVtbi13aWR0aDogMDsgfQogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB9
CiA8L3NjcmlwdD4KLTxib2R5PgogPGRpdiBpZD0iY29udGFpbmVyIj4KICAgICA8ZGl2IGNsYXNz
PSJoYXJkd2FyZSBib3giPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jh
c2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJh
bC1pbi1taXhlZC1kaXJlY3Rpb24tcnVuLWNyYXNoLmh0bWwKaW5kZXggNmQwNDViMDVmMGM3Mzlh
N2FjMDYzZDRlMDZmMDU2NjQ2MTgxNzg1Yi4uYjMzZTk2ZTMyNmVmZjFkODVhNTc1NmNmMjNjNWNj
YzI4NTc4Mzk4MCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jhc2guaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtaW4tbWl4ZWQt
ZGlyZWN0aW9uLXJ1bi1jcmFzaC5odG1sCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCiAgICAgfQ0KIA0KLSAgICBzZXRUaW1lb3V0KCJydW5U
ZXN0KCkiLCAwKTsNCisgICAgd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7DQogPC9zY3JpcHQ+DQog
MDxzcGFuPg0KIDxpbWFnZT4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dyaXRpbmct
bW9kZS9vdmVyaGFuZ2luZy1mbG9hdC1sZWdlbmQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvd3JpdGluZy1tb2RlL292ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFzaC5odG1sCmluZGV4
IGFjM2ExNDE1ZjhjMGU5MDA3NTgyZTQ1MjIyNTc4ZTUwNWUzZWFjY2EuLmE0ODI2MmQxNGI2ZjVh
YWQ2ZjdmY2IwYWRjM2VjN2E4MjgyMmVjZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
d3JpdGluZy1tb2RlL292ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFzaC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvd3JpdGluZy1tb2RlL292ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFz
aC5odG1sCkBAIC02LDcgKzYsNyBAQAogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsNCiAgICAgfQ0KIA0KLSAgICB3aW5kb3cuc2V0VGltZW91dCgnY3Jhc2goKTsnLCAwKTsNCisg
ICAgd2luZG93Lm9ubG9hZCA9IGNyYXNoOw0KIA0KICAgICBmdW5jdGlvbiBjcmFzaCgpDQogICAg
IHsNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193034</attachid>
            <date>2013-03-13 18:14:07 -0700</date>
            <delta_ts>2013-03-14 11:27:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-112306-20130313181004.patch</filename>
            <type>text/plain</type>
            <size>15990</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Nzc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODIzNGJlMDExZGE0YzYyY2E5MWVi
ZTY0ZmUwYTNiNGUxNTU4MDVjMi4uNGQwMzZmMzg3OWJlMTc3NjEyZjEyZGNkZmYyZTVjZmNlYmMw
NWEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTEzICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IGZsYWt5IGxheW91dCB0ZXN0cyB0
aGF0IHJlbHkgb24gc2V0VGltZW91dCgpcyBmaXJpbmcgYWZ0ZXIgPGJvZHk+IGlzIHBhcnNlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhlc2UgdGVzdHMg
YWxsIHJlbHkgaW4gb25lIHdheSBvciBhbm90aGVyIG9uIHRoZSBib2R5IG9mIGEgc2V0VGltZW91
dCBzZXQgaW4gYW4gaW5saW5lIDxzY3JpcHQ+IGluIHRoZSA8aGVhZD4KKyAgICAgICAgZmlyaW5n
IGFmdGVyIHRoZSA8Ym9keT4gZWxlbWVudCBpcyBnZW5lcmF0ZWQgYnkgdGhlIEhUTUwgcGFyc2Vy
LiBUaGlzIGlzIGEgZmxha3kgcGF0dGVybiBzaW5jZSB0aGUgSFRNTCBwYXJzZXIKKyAgICAgICAg
bWF5IHlpZWxkIHdoZW4gcGFyc2luZyBhIDwvc2NyaXB0PiBvciB3aGVuIHJ1bm5uaWcgb3V0IG9m
IGJ5dGVzIGZyb20gdGhlIG5ldHdvcmsuIEluIHByYWN0aWNlLCB0aGlzIHBhdHRlcm4gdXNlZAor
ICAgICAgICB0byBiZSBub3QgdGVycmlibHkgZmxha3kgZm9yIGxheW91dCB0ZXN0cyBsb2FkZWQg
ZnJvbSBkaXNrIHVubGVzcyB0aGVyZSB3YXMgYSBsYXJnZSBHQyBwYXVzZS4gSG93ZXZlciwgc2lu
Y2UgdGhlCisgICAgICAgIHRocmVhZGVkIEhUTUwgcGFyc2VyIHlpZWxkcyBtb3JlIGZyZXF1ZW50
bHkgd2hlbiBoaXR0aW5nIGEgPC9zY3JpcHQ+IHRoaXMgZmxha2VzIG1vcmUuCisKKyAgICAgICAg
VGhlc2UgdGVzdHMgd2VyZSBmb3VuZCBieSBpZGVudGlmeWluZyBsYXlvdXQgdGVzdHMgdGhhdCBj
YWxsIHNldFRpbWVvdXQgYmVmb3JlIHRoZSBkb2N1bWVudCdzIGJvZHkgZXhpc3RzIGJ5CisgICAg
ICAgIG1vZGlmeWluZyB0aGUgY29kZSwgdGhlbiBpbnRlcnNlY3RpbmcgdGhhdCBzZXQgd2l0aCB0
ZXN0cyB0aGF0IGFyZSBmbGFreSBvbiB0aGUgY2hyb21pdW0gZmxha2luZXNzIGRhc2hib2FyZC4K
KworICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0LWludG8tZW1wdHktZnJh
bWVzZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL2FwcGx5LXN0eWxlLWNy
YXNoLmh0bWw6CisgICAgICAgICogZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1s
aW5lLWRlbGV0ZWQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0
cy1ub3QtY2xlYXJlZC1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvYmxvY2svbGluZS1sYXlv
dXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvcG9z
aXRpb25lZC1pbi1yZWxhdGl2ZS1wb3NpdGlvbi1pbmxpbmUtY3Jhc2guaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Nzcy91c2VyLXN0eWxlc2hlZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Vu
Y29kaW5nL3NjcmlwdC1pbi1oZWFkLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sOgorICAgICAgICAqIGZhc3QvZnJh
bWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVmLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJl
cGxhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2lubGluZS91cGRhdGUtYWx3YXlzLWNyZWF0ZS1s
aW5lLWJveGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9pbm5lckhU
TUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3QvanMvc2FtZS1vcmlnaW4t
c3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbDoKKyAgICAgICAgKiBmYXN0L211bHRpY29sL3NwYW4v
cmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jhc2gu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3dyaXRpbmctbW9kZS9vdmVyaGFuZ2luZy1mbG9hdC1sZWdl
bmQtY3Jhc2guaHRtbDoKKwogMjAxMy0wMy0xMyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEFkZCBhIHRlc3QgY2FzZSBmb3IgZmxleGJveCB3aXRoIG5lZ2F0aXZl
IG92ZXJmbG93IGhhdmluZyBhbiBvdXQgb2YgZmxvdyBmbGV4IGl0ZW0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0LWludG8tZW1wdHktZnJhbWVz
ZXQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0
LWludG8tZW1wdHktZnJhbWVzZXQtY3Jhc2guaHRtbAppbmRleCA1ZTE1OGM1NTYwZWRhMjcxNjQ5
N2JkYzY4MDkwY2U0MWZiM2Q2N2NkLi5mY2JhOTc2OWU2NTg4NzgwNzA5NGNhZTExNmE4MjIwNjdi
NmFjMzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQt
dGV4dC1pbnRvLWVtcHR5LWZyYW1lc2V0LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRleHQtaW50by1lbXB0eS1mcmFtZXNldC1jcmFzaC5odG1s
CkBAIC01LDcgKzUsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKIH0KIAotc2V0VGltZW91dChmdW5jdGlvbigpIHsKK3dpbmRvdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICBkb2N1bWVudC5kZXNpZ25Nb2RlPSJvbiI7CiAgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoInNlbGVjdGFsbCIpOwogICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UpOwpAQCAtMTMsNyArMTMsNyBAQCBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewogICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHNl
bGVjdGluZyBhbGwgYW5kIGluc2VydGluZyB0ZXh0IGludG8gYSBwYWdlIHdpdGggYSBmcmFtZXNl
dCBkb2VzIG5vdCBjcmFzaDxicj48YnI+UEFTUyIpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19LCAwKTsKK307CiA8L3Njcmlw
dD4KIDxmcmFtZXNldD48ZnJhbWU+PC9mcmFtZT48L2ZyYW1lc2V0PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9hcHBseS1zdHlsZS1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9hcHBseS1zdHlsZS1jcmFzaC5odG1sCmluZGV4IDU2
MjMwN2NjMGQyMzU3YTE4ZTg3N2U1MGM0MDc2M2IzMjI1ZWJiODMuLjViMTA3ODAwYWZhNGRlZmNj
MWEyN2Y3YmY4MDUzZmU0NTA0YTc3ZDQgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c3R5bGUvYXBwbHktc3R5bGUtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3N0
eWxlL2FwcGx5LXN0eWxlLWNyYXNoLmh0bWwKQEAgLTMsMjQgKzMsMTggQEAKIDxzY3JpcHQ+CiBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIAotb25sb2FkID0gZnVuY3Rpb24oKSB7
Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgeC5pbm5lckhUTUwgKz0gJyc7Ci19
CiAKLXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdv
bic7CiAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3NlbGVjdGFsbCcpOwogICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCdib2xkJyk7CiAKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKICAg
ICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTLiBXZWJLaXQgZGlkbid0IGNyYXNoLiI7
Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotfSwgMCkKK307CiA8L3NjcmlwdD4KIDxkaXYgaWQ9IngiPjxpZnJhbWUgc3JjPSJk
YXRhOiI+PC9pZnJhbWU+CiA8c3Bhbj48c3Bhbj48cGxhaW50ZXh0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1saW5lLWRlbGV0ZWQt
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtb3JpZ2luYXRp
bmctbGluZS1kZWxldGVkLWNyYXNoLmh0bWwKaW5kZXggZjUwYmI1NGM2MGRiZmYxMGRjZGQzOWJm
MGVkZmJjOWIxZmRjMDA1MS4uODNkY2JjNjVmZDBmYmU1MzA4NmY2YjBkZjEwOWQ2YTJmMTJhZTMw
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5h
dGluZy1saW5lLWRlbGV0ZWQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2Nr
L2Zsb2F0L2Zsb2F0LW9yaWdpbmF0aW5nLWxpbmUtZGVsZXRlZC1jcmFzaC5odG1sCkBAIC0xLDEw
ICsxLDkgQEAKIDxodG1sPg0KIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLg0KKzxi
b2R5Pg0KIDxzY3JpcHQ+DQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7DQoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKQ0KICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7DQotfQ0KIA0KIGZ1bmN0aW9uIHJ1blRlc3QoKQ0KIHsNCkBAIC0x
MiwxNSArMTEsMTIgQEAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgY2hpbGQucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChjaGlsZCk7DQogDQogCWRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOw0KLSAgICAN
Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7DQogfQ0KIA0KLXNldFRpbWVvdXQoInJ1blRlc3QoKTsiLCAwKTsNCit3aW5kb3cub25s
b2FkID0gcnVuVGVzdDsNCiA8L3NjcmlwdD4NCiA8c3R5bGUgaWQ9J3Rlc3QnPg0KICAgICBwIHsg
ZmxvYXQ6IGxlZnQ7IH0NCiA8L3N0eWxlPg0KIDx0YWJsZT48c3Bhbj48cD48L3A+PHA+PC9wPjwv
c3Bhbj48L3RhYmxlPg0KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdHMtbm90
LWNsZWFyZWQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXRz
LW5vdC1jbGVhcmVkLWNyYXNoLmh0bWwKaW5kZXggNzRkMWYyODk2ZjBjYWE2MmFmMGNiNDAyNzlm
Mjk3NDc0MmE4NjU4Yi4uODEzYzc5Y2FlMzQ1ZGYyMjhlZGY2ODc5YjE1ODE2ZDJjNWQ3YjM0YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdHMtbm90LWNsZWFy
ZWQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0cy1u
b3QtY2xlYXJlZC1jcmFzaC5odG1sCkBAIC01LDcgKzUsNyBAQCBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQogICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOw0KIH0gICANCi13aW5kb3cuc2V0VGltZW91dCgnY3Jhc2goKTsnLCAwKTsNCit3
aW5kb3cub25sb2FkID0gY3Jhc2g7DQogZnVuY3Rpb24gY3Jhc2goKQ0KIHsNCiAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRUb3A7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9s
aW5lLWxheW91dC9pbmxpbmUtYm94LXdyYXBwZXItY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svbGluZS1sYXlvdXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWwKaW5kZXgg
Yzc4ZGI4MjQ2ZGQzNGRkYzk0YWRkOGM2YzZhNmQ0Zjg5NjEwN2MyOC4uNmUzMWI0YmVhMWNiYjky
ODUwZWE4ODJmNDAzNzRiMjNhMjBkZjdlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9i
bG9jay9saW5lLWxheW91dC9pbmxpbmUtYm94LXdyYXBwZXItY3Jhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Jsb2NrL2xpbmUtbGF5b3V0L2lubGluZS1ib3gtd3JhcHBlci1jcmFzaC5o
dG1sCkBAIC0yLDYgKzIsNyBAQAogPHN0eWxlPg0KICAgICBib2R5IHsgZGlyZWN0aW9uOiBydGw7
IHBhZGRpbmctbGVmdDogMTAwJTsgfQ0KIDwvc3R5bGU+DQorPGJvZHk+DQogPHNjcmlwdD4NCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7DQogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsNCkBAIC0xNSwxMCArMTYsMTAgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOw0KICAgICB9DQogDQotICAgIHNldFRpbWVvdXQoInJ1blRlc3QoKSIsIDApOw0KKyAg
ICB3aW5kb3cub25sb2FkID0gcnVuVGVzdDsNCiA8L3NjcmlwdD4NCiAwPGltYWdlPg0KIDxzcGFu
Pg0KIEE8ZGl2PjwvZGl2Pg0KIDwvc3Bhbj4NCi08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bvc2l0
aW9uZWQtaW4tcmVsYXRpdmUtcG9zaXRpb24taW5saW5lLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9wb3NpdGlvbmVkLWluLXJlbGF0aXZlLXBvc2l0aW9uLWlubGluZS1jcmFzaC5o
dG1sCmluZGV4IDNkOWQwNjI5ZDA4YjkyZDIyZGIwYmQyYmEyNzZmODYxMmNkMDNkYzkuLjMyYjY2
MmIwOTI1NmQ1ZmNkZTE1Y2M0OGEyYmM1MjM5Zjg0Njg4NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3Bvc2l0aW9uZWQtaW4tcmVsYXRpdmUtcG9zaXRpb24taW5saW5lLWNyYXNo
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcG9zaXRpb25lZC1pbi1yZWxhdGl2ZS1w
b3NpdGlvbi1pbmxpbmUtY3Jhc2guaHRtbApAQCAtMjUsNyArMjUsNyBAQCBmdW5jdGlvbiBydW5U
ZXN0KCkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3NpdGlvbmVkJykuc3R5bGUu
Y29sb3IgPSAncmVkJzsKICAgICBzZXRUaW1lb3V0KCdkdW1wVGVzdCgpJywgMTApOwogfQotc2V0
VGltZW91dCgncnVuVGVzdCgpJywgMCk7Cit3aW5kb3cub25sb2FkID0gcnVuVGVzdDsKIDwvc2Ny
aXB0PgogPGJvZHk+CiBQQVNTLCBpZiBubyBleGNlcHRpb24gb3IgY3Jhc2ggaW4gZGVidWcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3VzZXItc3R5bGVzaGVldC1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdXNlci1zdHlsZXNoZWV0LWNyYXNoLmh0bWwKaW5kZXgg
MWJlYTQ5OTBjNTQ0MzE1MGFlNzk3NjZhYjdlNjFlZjZmM2EyYWIxZC4uMWU3MzQ3NjIzMmJjYjM1
ODUxZTUyYWNjZmNkNmU2YjFiOTBlZWJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdXNlci1zdHlsZXNoZWV0LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dXNlci1zdHlsZXNoZWV0LWNyYXNoLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1
bm5lci5hZGRVc2VyU3R5bGVTaGVldCgiI3Rlc3QgeyBjb2xvcjogcmVkOiB9IiwgdHJ1ZSk7CiB9
Ci1zZXRUaW1lb3V0KCJjcmVhdGVJZnJhbWUoKSIsIDApOword2luZG93Lm9ubG9hZCA9IGNyZWF0
ZUlmcmFtZTsKIAogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2VuY29kaW5nL3NjcmlwdC1pbi1oZWFkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29k
aW5nL3NjcmlwdC1pbi1oZWFkLmh0bWwKaW5kZXggMTAwMWIyODJhM2M0MDdhYzc2MThhMzRmMmRm
Mzc3YmQ2YzgwNzkwMi4uZjRmYjI1MGVhZmE5Y2QyMTk5Mjk3OTZkNmQ2Y2VlZmM2N2E3YmMyMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zY3JpcHQtaW4taGVhZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2Rpbmcvc2NyaXB0LWluLWhlYWQuaHRtbApAQCAt
NSwxMyArNSwxMyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIGRvY3VtZW50LndyaXRl
ICgnPFNDUicgKyAnSVBUPicgKwogCi0gICAgJ3NldFRpbWVvdXQoZnVuY3Rpb24gKCkgeycgKwor
ICAgICd3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeycgKwogICAgICAgICA8IS0tIFRoZSBs
ZXR0ZXJzIENDRSBiZWxvdyBhcmUgQ3lyaWxsaWMsIHNvIHdlIGRvIHRlc3QgdGhhdCB0aGUgZW5j
b2RpbmcgaXMgY29ycmVjdC4gLS0+CiAgICAgICAgIDwhLS0gV2UgYWxzbyB0YWtlIGFuIG9wcG9y
dHVuaXR5IHRvIHRlc3QgdGhhdCB0aGlzIHdlaXJkbHkgbG9jYXRlZCBzY3JpcHQgYWN0dWFsbHkg
ZXhlY3V0ZXMuIC0tPgogICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVySFRNTD0iU1Xz8+VTUyI7JyArCiAgICAgICAgICdpZiAod2luZG93LnRlc3RSdW5uZXIp
JyArCiAgICAgICAgICAgICAndGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7JyArCi0gICAgJ30sIDAp
OycgKworICAgICd9OycgKwogJzwvU0NSJyArICdJUFQ+Jyk7ZG9jdW1lbnQuY2xvc2UoKTsgPC9z
Y3JpcHQ+CiA8IS0tIC90ZW1wIC0tPjwhLS1IRUFERVItLT4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRpb24u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcmVsYXlv
dXQtYXNzZXJ0aW9uLmh0bWwKaW5kZXggNzFjZjIzOTlkNWQ1YzI0ZjhmYTY1ZGVmY2M2MjU3Mjgz
MDk2YWMwNy4uZTU3NmNhNDkyMWJlOWJmNWVjNmRlMDIwZjIwOWZlNDllZTUzZjY0ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1yZWxheW91
dC1hc3NlcnRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXBs
YWNlaG9sZGVyLXJlbGF5b3V0LWFzc2VydGlvbi5odG1sCkBAIC0xMiw3ICsxMiw3IEBAIGZ1bmN0
aW9uIHJlbW92ZVRleHRBcmVhKCkgewogICAgIH0KIH0KIAotc2V0VGltZW91dChyZW1vdmVUZXh0
QXJlYSwgMCk7Cit3aW5kb3cub25sb2FkID0gcmVtb3ZlVGV4dEFyZWE7CiA8L3NjcmlwdD4KIDxw
PlBBU1MgaWYgbm90IGNyYXNoZWQuPC9wPgogPjxmaWVsZHNldD48ZmllbGRzZXQ+PGJ1dHRvbj48
ZmllbGRzZXQ+PGZpZWxkc2V0PjxzZWxlY3Q+QTAwMDAwQUEwQTAwMDx0ZXh0YXJlYT48L3RleHRh
cmVhPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxl
c3MtZm9ybS1nZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1s
ZXNzLWZvcm0tZ2V0Lmh0bWwKaW5kZXggNjczMzQ4NDUzYzliMTU1MjE4NTk1NzNjN2Y2OGRhNWNl
ZDE4YzQwYi4uNDM2ZmViMTBhYTZmNDQ2OTk0NjM2ZTYxMTUyNjZjNGRhNTAzNGE2MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1nZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3Jt
LWdldC5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNj
cmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1wb3N0LW5hbWVkLmh0bWwK
aW5kZXggZTYyZTVkYjE4NzhlMWYwNTAyMWZiMTZmYTk4NGJiODM1NGZjM2Q0Mi4uZmQ4MGY1YmJl
ZDdkOTM2ZTMwMDNkODdmOWMyNjJmMDQ0NjliNmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1wb3N0LW5hbWVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1wb3N0LW5hbWVk
Lmh0bWwKQEAgLTEsNCArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgogPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLWhyZWYuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVm
Lmh0bWwKaW5kZXggZjZlYTM5NWVkNDRmMDYyOWY5NGQwZTgzMjAxYTc5NDY0Zjg5NjkyOC4uNTk2
ZDYzODY2ZTY4NjQwODBjNzEwZTY4OGQwNTBiZDdkZmQ3OGFhNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLWhyZWYu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy13aW5k
b3ctbG9jYXRpb24taHJlZi5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Cis8
Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1y
ZXBsYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy13
aW5kb3ctbG9jYXRpb24tcmVwbGFjZS5odG1sCmluZGV4IDQwYjJjZWNlZGZlMmZmZDgyNzVlMDg0
MjUzNGE4OWRmNjY3OGNmNDMuLjYwMTk0YzE3NzA2NzRlMDI5MTliNDE2NWQwMTZlYjZmMWNlNmRj
MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNz
LXdpbmRvdy1sb2NhdGlvbi1yZXBsYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJlcGxhY2UuaHRtbApAQCAtMSw0
ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBpZiAod2luZG93
LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubGluZS91cGRhdGUt
YWx3YXlzLWNyZWF0ZS1saW5lLWJveGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2lubGluZS91cGRhdGUtYWx3YXlzLWNyZWF0ZS1saW5lLWJveGVzLWZ1bGwtbGF5
b3V0LWNyYXNoLmh0bWwKaW5kZXggY2RkY2U2ZTczYWY1M2FkYWE2MjU5ODZlNGMxMDVjMGQ0YjU2
ZmUxMy4uZWVhZDk2NzQ5ZGExODY1MDM0YmRmMjNjMzBlY2IyMTEyZTY5YTVmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvdXBkYXRlLWFsd2F5cy1jcmVhdGUtbGluZS1ib3hl
cy1mdWxsLWxheW91dC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3Vw
ZGF0ZS1hbHdheXMtY3JlYXRlLWxpbmUtYm94ZXMtZnVsbC1sYXlvdXQtY3Jhc2guaHRtbApAQCAt
MTgsNyArMTgsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7DQogfQ0KIA0KLXNldFRpbWVvdXQoInJ1blRlc3QoKSIsIDApOyANCit3aW5kb3cu
b25sb2FkID0gcnVuVGVzdDsgDQogPC9zY3JpcHQ+DQogPHRhYmxlIGNsYXNzPXRhYmxlPg0KIDx0
ZD48cnQ+UEFTUzwvcnQ+PC9qdW5rPjwvdGQ+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9pbm5lckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbm5l
ckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sCmluZGV4IDRjOGQ2YmY1MTA4MTk2NzJkZjMzZmVm
MGJiMzFmMzk2Mzg1NGRiMGEuLjhlMDcwOTdjNDYzNmMzMmY2MWQ3N2FmMTExYTY5MmM3ZWRmMDcy
OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML2lubmVySFRNTC1pZnJh
bWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9pbm5lckhUTUwtaWZyYW1l
Lmh0bWwKQEAgLTEsMTUgKzEsMTUgQEAKLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLX0KLQotc2V0VGltZW91dChmdW5jdGlvbigpewotICAgICAgICBkb2N1bWVudC5i
b2R5LmlubmVySFRNTCA9ICI8Yj5QQVNTOjwvYj4gYm9keSBhbmQgaWZyYW1lIGNsZWFyZWQgd2l0
aG91dCBjcmFzaGluZy4iOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
LCAwKTsKLTwvc2NyaXB0PgogPGJvZHkgb25sb2FkPSdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
eCIpLmlubmVySFRNTCA9ICIiJz4KKyAgPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICB9CisKKyAgc2V0VGltZW91dChmdW5jdGlvbigpeworICAgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIjxiPlBBU1M6PC9iPiBib2R5IGFuZCBpZnJhbWUg
Y2xlYXJlZCB3aXRob3V0IGNyYXNoaW5nLiI7CisgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICB9LCAwKTsKKyAgPC9zY3JpcHQ+CiAgIDxkaXYgaWQ9IngiPgogICAgIDxp
ZnJhbWUgc3JjPSJkb2VzLW5vdC1leGlzdCI+CiAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9zYW1lLW9yaWdpbi1zdWJmcmFtZS1hYm91dC1ibGFuay5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9zYW1lLW9yaWdpbi1zdWJmcmFtZS1hYm91dC1ibGFuay5odG1sCmlu
ZGV4IDE5MjhkYjZkODRjNTU0Y2RhMGIxN2Q0YzlkOGFhZTZjZmQ0MzYxZDAuLmFmODcxMTVlYmIx
Zjc5NDNiNzhhNjZmYzkzYjZjNDk4NmVkNjY1MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvanMvc2FtZS1vcmlnaW4tc3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL3NhbWUtb3JpZ2luLXN1YmZyYW1lLWFib3V0LWJsYW5rLmh0bWwKQEAgLTE5
LDcgKzE5LDcgQEAgZnVuY3Rpb24gcmVsb2FkX2JsYW5rKCkgewogICB3aW5kb3cuc2V0VGltZW91
dCgiY2hlY2tfYmxhbmsoKSIsIDApOwogfQogCi13aW5kb3cuc2V0VGltZW91dCgicmVsb2FkX2Js
YW5rKCkiLCAwKTsKK3dpbmRvdy5vbmxvYWQgPSByZWxvYWRfYmxhbms7CiAKIDwvc2NyaXB0Pgog
PGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL3NwYW4vcmVtb3Zh
bC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29s
L3NwYW4vcmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWwKaW5kZXggZTY5ODI3Nzcw
YmYzZGYxNGVlYTQyM2EwY2MzNGIxYzRjZGUzYmZiNC4uZTcyMTdmOTNmOGFkODdjMDYwMzE2YmFk
YWRkYWFhY2Q1ZTg4MDc0ZCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9z
cGFuL3JlbW92YWwtb2YtbXVsdGljb2wtc3Bhbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvbXVsdGljb2wvc3Bhbi9yZW1vdmFsLW9mLW11bHRpY29sLXNwYW4tY3Jhc2guaHRtbApA
QCAtNCw2ICs0LDcgQEAgYm9keSB7IC13ZWJraXQtY29sdW1uLXdpZHRoOiAwOyB9CiAuaGFyZHdh
cmU6bGFzdC1vZi10eXBlIHsgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsOyB9CiA8L3N0eWxlPgog
Cis8Ym9keT4KIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gY2xlYXIoKSB7CiAgICAgICAgIGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5KTsKQEAgLTE4LDcg
KzE5LDYgQEAgYm9keSB7IC13ZWJraXQtY29sdW1uLXdpZHRoOiAwOyB9CiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIH0KIDwvc2NyaXB0PgotPGJvZHk+CiA8ZGl2IGlkPSJj
b250YWluZXIiPgogICAgIDxkaXYgY2xhc3M9ImhhcmR3YXJlIGJveCI+CiA8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwt
aW4tbWl4ZWQtZGlyZWN0aW9uLXJ1bi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jhc2gu
aHRtbAppbmRleCA2ZDA0NWIwNWYwYzczOWE3YWMwNjNkNGUwNmYwNTY2NDYxODE3ODViLi5iMzNl
OTZlMzI2ZWZmMWQ4NWE1NzU2Y2YyM2M1Y2NjMjg1NzgzOTgwIDEwMDc1NQotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtaW4tbWl4ZWQtZGlyZWN0
aW9uLXJ1bi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlv
bmFsL2JpZGktbmV1dHJhbC1pbi1taXhlZC1kaXJlY3Rpb24tcnVuLWNyYXNoLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KICAgICB9
DQogDQotICAgIHNldFRpbWVvdXQoInJ1blRlc3QoKSIsIDApOw0KKyAgICB3aW5kb3cub25sb2Fk
ID0gcnVuVGVzdDsNCiA8L3NjcmlwdD4NCiAwPHNwYW4+DQogPGltYWdlPg0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvd3JpdGluZy1tb2RlL292ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC93cml0aW5nLW1vZGUvb3ZlcmhhbmdpbmctZmxv
YXQtbGVnZW5kLWNyYXNoLmh0bWwKaW5kZXggYWMzYTE0MTVmOGMwZTkwMDc1ODJlNDUyMjI1Nzhl
NTA1ZTNlYWNjYS4uYTQ4MjYyZDE0YjZmNWFhZDZmN2ZjYjBhZGMzZWM3YTgyODIyZWNmYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93cml0aW5nLW1vZGUvb3ZlcmhhbmdpbmctZmxvYXQt
bGVnZW5kLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93cml0aW5nLW1vZGUvb3Zl
cmhhbmdpbmctZmxvYXQtbGVnZW5kLWNyYXNoLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOw0KICAgICB9DQogDQotICAgIHdpbmRvdy5zZXRU
aW1lb3V0KCdjcmFzaCgpOycsIDApOw0KKyAgICB3aW5kb3cub25sb2FkID0gY3Jhc2g7DQogDQog
ICAgIGZ1bmN0aW9uIGNyYXNoKCkNCiAgICAgew0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193158</attachid>
            <date>2013-03-14 11:27:10 -0700</date>
            <delta_ts>2013-03-14 11:30:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-112306-20130314112306.patch</filename>
            <type>text/plain</type>
            <size>17691</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1ODI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmYyN2JmOGM3ZDA0YTZmNzM1ZjUx
NDE4MmVhNjhkNjlhY2JmODY0Ni4uOWRkMjlhMmU3YzM1ZDU2YWEyZjYzYzJiMTFlYzkyY2FiYTZk
ZGMwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTEzICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IGZsYWt5IGxheW91dCB0ZXN0cyB0
aGF0IHJlbHkgb24gc2V0VGltZW91dCgpcyBmaXJpbmcgYWZ0ZXIgPGJvZHk+IGlzIHBhcnNlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhlc2UgdGVzdHMg
YWxsIHJlbHkgaW4gb25lIHdheSBvciBhbm90aGVyIG9uIHRoZSBib2R5IG9mIGEgc2V0VGltZW91
dCBzZXQgaW4gYW4gaW5saW5lIDxzY3JpcHQ+IGluIHRoZSA8aGVhZD4KKyAgICAgICAgZmlyaW5n
IGFmdGVyIHRoZSA8Ym9keT4gZWxlbWVudCBpcyBnZW5lcmF0ZWQgYnkgdGhlIEhUTUwgcGFyc2Vy
LiBUaGlzIGlzIGEgZmxha3kgcGF0dGVybiBzaW5jZSB0aGUgSFRNTCBwYXJzZXIKKyAgICAgICAg
bWF5IHlpZWxkIHdoZW4gcGFyc2luZyBhIDwvc2NyaXB0PiBvciB3aGVuIHJ1bm5uaWcgb3V0IG9m
IGJ5dGVzIGZyb20gdGhlIG5ldHdvcmsuIEluIHByYWN0aWNlLCB0aGlzIHBhdHRlcm4gdXNlZAor
ICAgICAgICB0byBiZSBub3QgdGVycmlibHkgZmxha3kgZm9yIGxheW91dCB0ZXN0cyBsb2FkZWQg
ZnJvbSBkaXNrIHVubGVzcyB0aGVyZSB3YXMgYSBsYXJnZSBHQyBwYXVzZS4gSG93ZXZlciwgc2lu
Y2UgdGhlCisgICAgICAgIHRocmVhZGVkIEhUTUwgcGFyc2VyIHlpZWxkcyBtb3JlIGZyZXF1ZW50
bHkgd2hlbiBoaXR0aW5nIGEgPC9zY3JpcHQ+IHRoaXMgZmxha2VzIG1vcmUuCisKKyAgICAgICAg
VGhlc2UgdGVzdHMgd2VyZSBmb3VuZCBieSBpZGVudGlmeWluZyBsYXlvdXQgdGVzdHMgdGhhdCBj
YWxsIHNldFRpbWVvdXQgYmVmb3JlIHRoZSBkb2N1bWVudCdzIGJvZHkgZXhpc3RzIGJ5CisgICAg
ICAgIG1vZGlmeWluZyB0aGUgY29kZSwgdGhlbiBpbnRlcnNlY3RpbmcgdGhhdCBzZXQgd2l0aCB0
ZXN0cyB0aGF0IGFyZSBmbGFreSBvbiB0aGUgY2hyb21pdW0gZmxha2luZXNzIGRhc2hib2FyZC4K
KworICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0LWludG8tZW1wdHktZnJh
bWVzZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3N0eWxlL2FwcGx5LXN0eWxlLWNy
YXNoLmh0bWw6CisgICAgICAgICogZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1s
aW5lLWRlbGV0ZWQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0
cy1ub3QtY2xlYXJlZC1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvYmxvY2svbGluZS1sYXlv
dXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvcG9z
aXRpb25lZC1pbi1yZWxhdGl2ZS1wb3NpdGlvbi1pbmxpbmUtY3Jhc2guaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Nzcy91c2VyLXN0eWxlc2hlZXQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Vu
Y29kaW5nL3NjcmlwdC1pbi1oZWFkLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sOgorICAgICAgICAqIGZhc3QvZnJh
bWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tcG9zdC1uYW1lZC5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVmLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJl
cGxhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2lubGluZS91cGRhdGUtYWx3YXlzLWNyZWF0ZS1s
aW5lLWJveGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9pbm5lckhU
TUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3QvanMvc2FtZS1vcmlnaW4t
c3ViZnJhbWUtYWJvdXQtYmxhbmsuaHRtbDoKKyAgICAgICAgKiBmYXN0L211bHRpY29sL3NwYW4v
cmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlvbi1ydW4tY3Jhc2gu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3dyaXRpbmctbW9kZS9vdmVyaGFuZ2luZy1mbG9hdC1sZWdl
bmQtY3Jhc2guaHRtbDoKKwogMjAxMy0wMy0xNCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZmxha2luZXNzIGZpeCBmb2xsb3dpbmcg
cjE0NTcyNzogZmlsdGVyIG91dCBjb2FsZXNjaW5nIHJlY29yZHMgd2hpbGUgZHVtcGluZyB0aW1l
bGluZSByZWNvcmQgc3RydWN0dXJlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnNlcnRpbmcvaW5zZXJ0LXRleHQtaW50by1lbXB0eS1mcmFtZXNldC1jcmFzaC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRleHQtaW50by1lbXB0eS1mcmFtZXNl
dC1jcmFzaC5odG1sCmluZGV4IDVlMTU4YzU1NjBlZGEyNzE2NDk3YmRjNjgwOTBjZTQxZmIzZDY3
Y2QuLjZmODFlMzc4ZWNiOTUxZTJmMmViNDhjMTMxZjg0MWFiYmI2ZTcxOTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC10ZXh0LWludG8tZW1wdHktZnJh
bWVzZXQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNl
cnQtdGV4dC1pbnRvLWVtcHR5LWZyYW1lc2V0LWNyYXNoLmh0bWwKQEAgLTEsMTkgKzEsMTUgQEAK
IDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQogCi1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIGRvY3VtZW50LmRlc2lnbk1vZGU9Im9u
IjsKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgic2VsZWN0YWxsIik7CiAgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSk7CiAgICAgZG9jdW1lbnQub3BlbigpOwog
ICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHNlbGVjdGluZyBhbGwg
YW5kIGluc2VydGluZyB0ZXh0IGludG8gYSBwYWdlIHdpdGggYSBmcmFtZXNldCBkb2VzIG5vdCBj
cmFzaDxicj48YnI+UEFTUyIpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19LCAwKTsKK307CiA8L3NjcmlwdD4KIDxmcmFtZXNl
dD48ZnJhbWU+PC9mcmFtZT48L2ZyYW1lc2V0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zdHlsZS9hcHBseS1zdHlsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9hcHBseS1zdHlsZS1jcmFzaC5odG1sCmluZGV4IDU2MjMwN2NjMGQyMzU3
YTE4ZTg3N2U1MGM0MDc2M2IzMjI1ZWJiODMuLjViMTA3ODAwYWZhNGRlZmNjMWEyN2Y3YmY4MDUz
ZmU0NTA0YTc3ZDQgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvYXBwbHkt
c3R5bGUtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL2FwcGx5LXN0
eWxlLWNyYXNoLmh0bWwKQEAgLTMsMjQgKzMsMTggQEAKIDxzY3JpcHQ+CiBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKIH0KIAotb25sb2FkID0gZnVuY3Rpb24oKSB7Cit3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oKSB7CiAgICAgeC5pbm5lckhUTUwgKz0gJyc7Ci19CiAKLXNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CiAgICAgZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdvbic7CiAgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ3NlbGVjdGFsbCcpOwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCdib2xkJyk7CiAKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKICAgICBkb2N1bWVudC5i
b2R5LmlubmVySFRNTCA9ICJQQVNTLiBXZWJLaXQgZGlkbid0IGNyYXNoLiI7Ci0KLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSwg
MCkKK307CiA8L3NjcmlwdD4KIDxkaXYgaWQ9IngiPjxpZnJhbWUgc3JjPSJkYXRhOiI+PC9pZnJh
bWU+CiA8c3Bhbj48c3Bhbj48cGxhaW50ZXh0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1saW5lLWRlbGV0ZWQtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtb3JpZ2luYXRpbmctbGluZS1kZWxl
dGVkLWNyYXNoLmh0bWwKaW5kZXggZjUwYmI1NGM2MGRiZmYxMGRjZGQzOWJmMGVkZmJjOWIxZmRj
MDA1MS4uODNkY2JjNjVmZDBmYmU1MzA4NmY2YjBkZjEwOWQ2YTJmMTJhZTMwMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1vcmlnaW5hdGluZy1saW5lLWRl
bGV0ZWQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0
LW9yaWdpbmF0aW5nLWxpbmUtZGVsZXRlZC1jcmFzaC5odG1sCkBAIC0xLDEwICsxLDkgQEAKIDxo
dG1sPg0KIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLg0KKzxib2R5Pg0KIDxzY3Jp
cHQ+DQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7DQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0K
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7DQotfQ0KIA0KIGZ1bmN0aW9uIHJ1blRlc3QoKQ0KIHsNCkBAIC0xMiwxNSArMTEsMTIg
QEAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgY2hpbGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChj
aGlsZCk7DQogDQogCWRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOw0KLSAgICANCi0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQ0KLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7DQogfQ0K
IA0KLXNldFRpbWVvdXQoInJ1blRlc3QoKTsiLCAwKTsNCit3aW5kb3cub25sb2FkID0gcnVuVGVz
dDsNCiA8L3NjcmlwdD4NCiA8c3R5bGUgaWQ9J3Rlc3QnPg0KICAgICBwIHsgZmxvYXQ6IGxlZnQ7
IH0NCiA8L3N0eWxlPg0KIDx0YWJsZT48c3Bhbj48cD48L3A+PHA+PC9wPjwvc3Bhbj48L3RhYmxl
Pg0KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdHMtbm90LWNsZWFyZWQtY3Jh
c2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXRzLW5vdC1jbGVhcmVk
LWNyYXNoLmh0bWwKaW5kZXggNzRkMWYyODk2ZjBjYWE2MmFmMGNiNDAyNzlmMjk3NDc0MmE4NjU4
Yi4uNTY0MjZhYTZjOTE5ZGY5NGJjMGEzMWZhNGMxOWVhZWY2MWZlZjE0ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdHMtbm90LWNsZWFyZWQtY3Jhc2guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0cy1ub3QtY2xlYXJlZC1j
cmFzaC5odG1sCkBAIC0xLDExICsxLDkgQEAKIDxodG1sPg0KIDxzY3JpcHQ+DQogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQ0KLXsNCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOw0KLX0gICANCi13aW5kb3cuc2V0VGltZW91dCgnY3Jh
c2goKTsnLCAwKTsNCisNCit3aW5kb3cub25sb2FkID0gY3Jhc2g7DQogZnVuY3Rpb24gY3Jhc2go
KQ0KIHsNCiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7DQpAQCAtMTUsOCArMTMsNiBAQCBm
dW5jdGlvbiBjcmFzaCgpCiANCiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7DQogICAgIGJs
b2NrMS5pbm5lckhUTUwgPSAiUEFTUyI7DQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KIH0NCiA8L3NjcmlwdD4NCiA8ZGl2IGlk
PSJibG9jazEiPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZS1sYXlv
dXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2Nr
L2xpbmUtbGF5b3V0L2lubGluZS1ib3gtd3JhcHBlci1jcmFzaC5odG1sCmluZGV4IGM3OGRiODI0
NmRkMzRkZGM5NGFkZDhjNmM2YTZkNGY4OTYxMDdjMjguLjIxOGZjZTc3N2VjZWQyMWU4YzAzODRl
ZWE4YjcwMjJhN2RkNTlkMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGlu
ZS1sYXlvdXQvaW5saW5lLWJveC13cmFwcGVyLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ibG9jay9saW5lLWxheW91dC9pbmxpbmUtYm94LXdyYXBwZXItY3Jhc2guaHRtbApAQCAt
MiwyMyArMiwxOSBAQAogPHN0eWxlPg0KICAgICBib2R5IHsgZGlyZWN0aW9uOiBydGw7IHBhZGRp
bmctbGVmdDogMTAwJTsgfQ0KIDwvc3R5bGU+DQorPGJvZHk+DQogPHNjcmlwdD4NCi0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7DQorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7DQotICAgIH0NCiANCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsNCiAgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiOw0KLQ0KLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQ0KLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KICAg
ICB9DQogDQotICAgIHNldFRpbWVvdXQoInJ1blRlc3QoKSIsIDApOw0KKyAgICB3aW5kb3cub25s
b2FkID0gcnVuVGVzdDsNCiA8L3NjcmlwdD4NCiAwPGltYWdlPg0KIDxzcGFuPg0KIEE8ZGl2Pjwv
ZGl2Pg0KIDwvc3Bhbj4NCi08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9o
dG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bvc2l0aW9uZWQtaW4tcmVs
YXRpdmUtcG9zaXRpb24taW5saW5lLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9w
b3NpdGlvbmVkLWluLXJlbGF0aXZlLXBvc2l0aW9uLWlubGluZS1jcmFzaC5odG1sCmluZGV4IDNk
OWQwNjI5ZDA4YjkyZDIyZGIwYmQyYmEyNzZmODYxMmNkMDNkYzkuLjMyYjY2MmIwOTI1NmQ1ZmNk
ZTE1Y2M0OGEyYmM1MjM5Zjg0Njg4NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3Bvc2l0aW9uZWQtaW4tcmVsYXRpdmUtcG9zaXRpb24taW5saW5lLWNyYXNoLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcG9zaXRpb25lZC1pbi1yZWxhdGl2ZS1wb3NpdGlvbi1pbmxp
bmUtY3Jhc2guaHRtbApAQCAtMjUsNyArMjUsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3NpdGlvbmVkJykuc3R5bGUuY29sb3IgPSAncmVk
JzsKICAgICBzZXRUaW1lb3V0KCdkdW1wVGVzdCgpJywgMTApOwogfQotc2V0VGltZW91dCgncnVu
VGVzdCgpJywgMCk7Cit3aW5kb3cub25sb2FkID0gcnVuVGVzdDsKIDwvc2NyaXB0PgogPGJvZHk+
CiBQQVNTLCBpZiBubyBleGNlcHRpb24gb3IgY3Jhc2ggaW4gZGVidWcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3VzZXItc3R5bGVzaGVldC1jcmFzaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdXNlci1zdHlsZXNoZWV0LWNyYXNoLmh0bWwKaW5kZXggMWJlYTQ5OTBjNTQ0
MzE1MGFlNzk3NjZhYjdlNjFlZjZmM2EyYWIxZC4uMWU3MzQ3NjIzMmJjYjM1ODUxZTUyYWNjZmNk
NmU2YjFiOTBlZWJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdXNlci1zdHls
ZXNoZWV0LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdXNlci1zdHlsZXNo
ZWV0LWNyYXNoLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5lci5hZGRVc2Vy
U3R5bGVTaGVldCgiI3Rlc3QgeyBjb2xvcjogcmVkOiB9IiwgdHJ1ZSk7CiB9Ci1zZXRUaW1lb3V0
KCJjcmVhdGVJZnJhbWUoKSIsIDApOword2luZG93Lm9ubG9hZCA9IGNyZWF0ZUlmcmFtZTsKIAog
PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5n
L3NjcmlwdC1pbi1oZWFkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3NjcmlwdC1p
bi1oZWFkLmh0bWwKaW5kZXggMTAwMWIyODJhM2M0MDdhYzc2MThhMzRmMmRmMzc3YmQ2YzgwNzkw
Mi4uNTUwMzk0MDNiNzk0YmY3MDhmZjk5YjU2NWFmNTNmM2JjMTljMDU3ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zY3JpcHQtaW4taGVhZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZW5jb2Rpbmcvc2NyaXB0LWluLWhlYWQuaHRtbApAQCAtMSwxNyArMSwxNCBA
QAogPCEtLSB0ZW1wIC0tPjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQv
SmF2YVNjcmlwdCI+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLX0KKwogZG9jdW1lbnQud3JpdGUgKCc8U0NSJyArICdJUFQ+JyArCiAKLSAg
ICAnc2V0VGltZW91dChmdW5jdGlvbiAoKSB7JyArCisgICAgJ3dpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbiAoKSB7JyArCiAgICAgICAgIDwhLS0gVGhlIGxldHRlcnMgQ0NFIGJlbG93IGFyZSBDeXJp
bGxpYywgc28gd2UgZG8gdGVzdCB0aGF0IHRoZSBlbmNvZGluZyBpcyBjb3JyZWN0LiAtLT4KICAg
ICAgICAgPCEtLSBXZSBhbHNvIHRha2UgYW4gb3Bwb3J0dW5pdHkgdG8gdGVzdCB0aGF0IHRoaXMg
d2VpcmRseSBsb2NhdGVkIHNjcmlwdCBhY3R1YWxseSBleGVjdXRlcy4gLS0+CiAgICAgICAgICdk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MPSJTVfPz5VNTIjsnICsK
LSAgICAgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lciknICsKLSAgICAgICAgICAgICd0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsnICsKLSAgICAnfSwgMCk7JyArCisgICAgJ307JyArCiAnPC9TQ1In
ICsgJ0lQVD4nKTtkb2N1bWVudC5jbG9zZSgpOyA8L3NjcmlwdD4KIDwhLS0gL3RlbXAgLS0+PCEt
LUhFQURFUi0tPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVh
LXBsYWNlaG9sZGVyLXJlbGF5b3V0LWFzc2VydGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1yZWxheW91dC1hc3NlcnRpb24uaHRtbAppbmRleCA3
MWNmMjM5OWQ1ZDVjMjRmOGZhNjVkZWZjYzYyNTcyODMwOTZhYzA3Li5lNTc2Y2E0OTIxYmU5YmY1
ZWM2ZGUwMjBmMjA5ZmU0OWVlNTNmNjRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXJlbGF5b3V0LWFzc2VydGlvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcmVsYXlvdXQtYXNzZXJ0
aW9uLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAgZnVuY3Rpb24gcmVtb3ZlVGV4dEFyZWEoKSB7CiAg
ICAgfQogfQogCi1zZXRUaW1lb3V0KHJlbW92ZVRleHRBcmVhLCAwKTsKK3dpbmRvdy5vbmxvYWQg
PSByZW1vdmVUZXh0QXJlYTsKIDwvc2NyaXB0PgogPHA+UEFTUyBpZiBub3QgY3Jhc2hlZC48L3A+
CiA+PGZpZWxkc2V0PjxmaWVsZHNldD48YnV0dG9uPjxmaWVsZHNldD48ZmllbGRzZXQ+PHNlbGVj
dD5BMDAwMDBBQTBBMDAwPHRleHRhcmVhPjwvdGV4dGFyZWE+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtZm9ybS1nZXQuaHRtbAppbmRleCA2
NzMzNDg0NTNjOWIxNTUyMTg1OTU3M2M3ZjY4ZGE1Y2VkMThjNDBiLi40MzZmZWIxMGFhNmY0NDY5
OTQ2MzZlNjExNTI2NmM0ZGE1MDM0YTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1mb3JtLWdldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLWZvcm0tZ2V0Lmh0bWwKQEAgLTEsNCArMSw1IEBA
CiA8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxl
c3MtZm9ybS1wb3N0LW5hbWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVz
cy9zZWFtbGVzcy1mb3JtLXBvc3QtbmFtZWQuaHRtbAppbmRleCBlNjJlNWRiMTg3OGUxZjA1MDIx
ZmIxNmZhOTg0YmI4MzU0ZmMzZDQyLi5mZDgwZjViYmVkN2Q5MzZlMzAwM2Q4N2Y5YzI2MmYwNDQ2
OWI2YmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFt
bGVzcy1mb3JtLXBvc3QtbmFtZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9z
ZWFtbGVzcy9zZWFtbGVzcy1mb3JtLXBvc3QtbmFtZWQuaHRtbApAQCAtMSw0ICsxLDUgQEAKIDwh
RE9DVFlQRSBodG1sPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy13
aW5kb3ctbG9jYXRpb24taHJlZi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2VhbWxl
c3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLWhyZWYuaHRtbAppbmRleCBmNmVhMzk1ZWQ0NGYw
NjI5Zjk0ZDBlODMyMDFhNzk0NjRmODk2OTI4Li41OTZkNjM4NjZlNjg2NDA4MGM3MTBlNjg4ZDA1
MGJkN2RmZDc4YWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVz
cy9zZWFtbGVzcy13aW5kb3ctbG9jYXRpb24taHJlZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1ocmVmLmh0bWwKQEAg
LTEsNCArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2Vh
bWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJlcGxhY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLXdpbmRvdy1sb2NhdGlvbi1yZXBsYWNlLmh0
bWwKaW5kZXggNDBiMmNlY2VkZmUyZmZkODI3NWUwODQyNTM0YTg5ZGY2Njc4Y2Y0My4uNjAxOTRj
MTc3MDY3NGUwMjkxOWI0MTY1ZDAxNmViNmYxY2U2ZGMwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3Mtd2luZG93LWxvY2F0aW9uLXJlcGxhY2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy13aW5k
b3ctbG9jYXRpb24tcmVwbGFjZS5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3VwZGF0ZS1hbHdheXMtY3JlYXRlLWxpbmUtYm94ZXMt
ZnVsbC1sYXlvdXQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3VwZGF0ZS1h
bHdheXMtY3JlYXRlLWxpbmUtYm94ZXMtZnVsbC1sYXlvdXQtY3Jhc2guaHRtbAppbmRleCBjZGRj
ZTZlNzNhZjUzYWRhYTYyNTk4NmU0YzEwNWMwZDRiNTZmZTEzLi4wODQxNGQ5OGZiZjM3YzQxMmEw
ZWNiN2MyNGM3MWVlMjU2NGU4NGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2lubGlu
ZS91cGRhdGUtYWx3YXlzLWNyZWF0ZS1saW5lLWJveGVzLWZ1bGwtbGF5b3V0LWNyYXNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvdXBkYXRlLWFsd2F5cy1jcmVhdGUtbGluZS1i
b3hlcy1mdWxsLWxheW91dC1jcmFzaC5odG1sCkBAIC00LDIxICs0LDE2IEBACiAudGFibGU6bnRo
LWxhc3QtY2hpbGQoZXZlbikgeyBsaW5lLWhlaWdodDogMTAwJTsgfQ0KIDwvc3R5bGU+DQogPHNj
cmlwdD4NCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsNCitpZiAod2luZG93LnRlc3RSdW5uZXIp
DQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsNCi19DQogDQogZnVuY3Rpb24gcnVuVGVzdCgpDQogew0KICAgICB2YXIgdGVzdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7DQogICAgIHRlc3QucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZCh0ZXN0KTsNCi0NCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KLSAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7DQogfQ0KIA0KLXNldFRpbWVvdXQoInJ1blRlc3Qo
KSIsIDApOyANCit3aW5kb3cub25sb2FkID0gcnVuVGVzdDsgDQogPC9zY3JpcHQ+DQogPHRhYmxl
IGNsYXNzPXRhYmxlPg0KIDx0ZD48cnQ+UEFTUzwvcnQ+PC9qdW5rPjwvdGQ+DQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLWlmcmFtZS5odG1sCmluZGV4IDRjOGQ2
YmY1MTA4MTk2NzJkZjMzZmVmMGJiMzFmMzk2Mzg1NGRiMGEuLjhlMDcwOTdjNDYzNmMzMmY2MWQ3
N2FmMTExYTY5MmM3ZWRmMDcyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJI
VE1ML2lubmVySFRNTC1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRN
TC9pbm5lckhUTUwtaWZyYW1lLmh0bWwKQEAgLTEsMTUgKzEsMTUgQEAKLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotc2V0VGltZW91dChmdW5jdGlvbigpewot
ICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICI8Yj5QQVNTOjwvYj4gYm9keSBhbmQg
aWZyYW1lIGNsZWFyZWQgd2l0aG91dCBjcmFzaGluZy4iOwotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9LCAwKTsKLTwvc2NyaXB0PgogPGJvZHkgb25sb2FkPSdkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgieCIpLmlubmVySFRNTCA9ICIiJz4KKyAgPHNjcmlwdD4KKyAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICB9CisKKyAgc2V0VGltZW91dChmdW5j
dGlvbigpeworICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIjxiPlBBU1M6PC9i
PiBib2R5IGFuZCBpZnJhbWUgY2xlYXJlZCB3aXRob3V0IGNyYXNoaW5nLiI7CisgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9LCAwKTsKKyAgPC9zY3JpcHQ+CiAgIDxk
aXYgaWQ9IngiPgogICAgIDxpZnJhbWUgc3JjPSJkb2VzLW5vdC1leGlzdCI+CiAgIDwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zYW1lLW9yaWdpbi1zdWJmcmFtZS1hYm91
dC1ibGFuay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zYW1lLW9yaWdpbi1zdWJmcmFtZS1h
Ym91dC1ibGFuay5odG1sCmluZGV4IDE5MjhkYjZkODRjNTU0Y2RhMGIxN2Q0YzlkOGFhZTZjZmQ0
MzYxZDAuLmFmODcxMTVlYmIxZjc5NDNiNzhhNjZmYzkzYjZjNDk4NmVkNjY1MmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2FtZS1vcmlnaW4tc3ViZnJhbWUtYWJvdXQtYmxhbmsu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NhbWUtb3JpZ2luLXN1YmZyYW1lLWFib3V0
LWJsYW5rLmh0bWwKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gcmVsb2FkX2JsYW5rKCkgewog
ICB3aW5kb3cuc2V0VGltZW91dCgiY2hlY2tfYmxhbmsoKSIsIDApOwogfQogCi13aW5kb3cuc2V0
VGltZW91dCgicmVsb2FkX2JsYW5rKCkiLCAwKTsKK3dpbmRvdy5vbmxvYWQgPSByZWxvYWRfYmxh
bms7CiAKIDwvc2NyaXB0PgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211
bHRpY29sL3NwYW4vcmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL3NwYW4vcmVtb3ZhbC1vZi1tdWx0aWNvbC1zcGFuLWNyYXNoLmh0
bWwKaW5kZXggZTY5ODI3NzcwYmYzZGYxNGVlYTQyM2EwY2MzNGIxYzRjZGUzYmZiNC4uZTcyMTdm
OTNmOGFkODdjMDYwMzE2YmFkYWRkYWFhY2Q1ZTg4MDc0ZCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9tdWx0aWNvbC9zcGFuL3JlbW92YWwtb2YtbXVsdGljb2wtc3Bhbi1jcmFzaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvc3Bhbi9yZW1vdmFsLW9mLW11bHRpY29s
LXNwYW4tY3Jhc2guaHRtbApAQCAtNCw2ICs0LDcgQEAgYm9keSB7IC13ZWJraXQtY29sdW1uLXdp
ZHRoOiAwOyB9CiAuaGFyZHdhcmU6bGFzdC1vZi10eXBlIHsgLXdlYmtpdC1jb2x1bW4tc3Bhbjog
YWxsOyB9CiA8L3N0eWxlPgogCis8Ym9keT4KIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gY2xlYXIo
KSB7CiAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChkb2N1bWVu
dC5ib2R5KTsKQEAgLTE4LDcgKzE5LDYgQEAgYm9keSB7IC13ZWJraXQtY29sdW1uLXdpZHRoOiAw
OyB9CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIH0KIDwvc2NyaXB0Pgot
PGJvZHk+CiA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgIDxkaXYgY2xhc3M9ImhhcmR3YXJlIGJv
eCI+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9iaWRpLW5ldXRyYWwtaW4tbWl4ZWQtZGlyZWN0aW9uLXJ1bi1jcmFzaC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRp
cmVjdGlvbi1ydW4tY3Jhc2guaHRtbAppbmRleCA2ZDA0NWIwNWYwYzczOWE3YWMwNjNkNGUwNmYw
NTY2NDYxODE3ODViLi5mMDFhYTFhMDdlNzIyMTg3NzE2ZWViMWI5ZGY2OTJkYzgxNDI0M2I4IDEw
MDc1NQotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRy
YWwtaW4tbWl4ZWQtZGlyZWN0aW9uLXJ1bi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1pbi1taXhlZC1kaXJlY3Rpb24tcnVu
LWNyYXNoLmh0bWwKQEAgLTMsMTkgKzMsMTQgQEAKICAgICBib2R5IHsgZGlyZWN0aW9uOiBydGw7
IHBhZGRpbmctbGVmdDogMTAwJTsgfQ0KIDwvc3R5bGU+DQogPHNjcmlwdD4NCi0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7DQotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCi0g
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOw0KLSAgICB9DQorICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikNCisgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCiANCiAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsNCiAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1M
ID0gIlBBU1MsIGlmIG5vIGNyYXNoIG9yIGV4Y2VwdGlvbnMgdGhyb3duIjsNCi0NCi0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsNCiAgICAgfQ0KIA0KLSAgICBzZXRUaW1lb3V0KCJydW5UZXN0KCkiLCAwKTsNCisgICAg
d2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7DQogPC9zY3JpcHQ+DQogMDxzcGFuPg0KIDxpbWFnZT4N
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dyaXRpbmctbW9kZS9vdmVyaGFuZ2luZy1m
bG9hdC1sZWdlbmQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd3JpdGluZy1tb2RlL292
ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFzaC5odG1sCmluZGV4IGFjM2ExNDE1ZjhjMGU5MDA3
NTgyZTQ1MjIyNTc4ZTUwNWUzZWFjY2EuLjUxNTFjYzliMDkzN2RmZTMyZTRlYmVhZDUxZGU1YWU2
YjAxNDE5YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd3JpdGluZy1tb2RlL292ZXJo
YW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd3Jp
dGluZy1tb2RlL292ZXJoYW5naW5nLWZsb2F0LWxlZ2VuZC1jcmFzaC5odG1sCkBAIC0zLDEwICsz
LDkgQEAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQogICAgIHsNCiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
DQogICAgIH0NCiANCi0gICAgd2luZG93LnNldFRpbWVvdXQoJ2NyYXNoKCk7JywgMCk7DQorICAg
IHdpbmRvdy5vbmxvYWQgPSBjcmFzaDsNCiANCiAgICAgZnVuY3Rpb24gY3Jhc2goKQ0KICAgICB7
DQpAQCAtMTUsOCArMTQsNiBAQAogICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsNCiAg
DQogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0g
IlBBU1MiOw0KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KICAgICB9DQogICAgIDwvc2NyaXB0Pg0KICAgICA8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2Pg0K
</data>
<flag name="commit-queue"
          id="214598"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>