<?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>48042</bug_id>
          
          <creation_ts>2010-10-20 22:39:55 -0700</creation_ts>
          <short_desc>REGRESSION(r70040): &quot;Reverting a performance regression detected by page_cycler&quot; (Requested by hayato on #webkit).</short_desc>
          <delta_ts>2010-10-21 00:33:26 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>43783</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hayato</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>297234</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-20 22:39:55 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/70040 broke the build:
&quot;Reverting a performance regression detected by page_cycler&quot; (Requested by hayato on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297235</commentid>
    <comment_count>1</comment_count>
      <attachid>71390</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-20 22:40:39 -0700</bug_when>
    <thetext>Created attachment 71390
ROLLOUT of r70040

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297251</commentid>
    <comment_count>2</comment_count>
      <attachid>71390</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-21 00:18:55 -0700</bug_when>
    <thetext>Comment on attachment 71390
ROLLOUT of r70040

Rejecting patch 71390 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--quiet&apos;, 71390]&quot; exit_code: 2
Cleaning working directory
Updating working directory
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=71390&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=48042&amp;ctype=xml
Processing 1 patch from 1 bug.
Processing patch 71390 from bug 48042.
Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/4651009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297261</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-10-21 00:33:26 -0700</bug_when>
    <thetext>I manually committed using &apos;webkit-patch land-attachment&apos; command.
http://trac.webkit.org/changeset/70209

(In reply to comment #2)
&gt; (From update of attachment 71390 [details])
&gt; Rejecting patch 71390 from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--quiet&apos;, 71390]&quot; exit_code: 2
&gt; Cleaning working directory
&gt; Updating working directory
&gt; Logging in as commit-queue@webkit.org...
&gt; Fetching: https://bugs.webkit.org/attachment.cgi?id=71390&amp;action=edit
&gt; Fetching: https://bugs.webkit.org/show_bug.cgi?id=48042&amp;ctype=xml
&gt; Processing 1 patch from 1 bug.
&gt; Processing patch 71390 from bug 48042.
&gt; Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1
&gt; 
&gt; Full output: http://queues.webkit.org/results/4651009</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71390</attachid>
            <date>2010-10-20 22:40:39 -0700</date>
            <delta_ts>2010-10-21 00:18:55 -0700</delta_ts>
            <desc>ROLLOUT of r70040</desc>
            <filename>bug-48042-20101021054035.patch</filename>
            <type>text/plain</type>
            <size>21507</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZTJiNDc0NmU2M2NhMDBiMmRhOGU4ZTRjYjk5YjNlNWNlMTFjN2FiLi5jMTg0YTJm
MDI0YTczODBjZGVlY2I3MDA0NTY4YThiYmRkODRjMzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMjAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MDA0MC4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzAwNDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MDQyCisKKyAgICAgICAgIlJldmVydGluZyBhIHBl
cmZvcm1hbmNlIHJlZ3Jlc3Npb24gZGV0ZWN0ZWQgYnkgcGFnZV9jeWNsZXIiCisgICAgICAgIChS
ZXF1ZXN0ZWQgYnkgaGF5YXRvIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9jc3MvbG9u
Zy1jc3Mtc2VsZWN0b3ItbWF0Y2hlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9jc3MvbG9uZy1jc3Mtc2VsZWN0b3ItbWF0Y2hlcy5odG1sOiBSZW1vdmVkLgorCiAyMDEw
LTEwLTIwICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
c29tZSBuby1sb25nZXItbmVlZGVkIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdWx0cwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbG9uZy1jc3Mtc2VsZWN0b3ItbWF0Y2hlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sb25nLWNzcy1zZWxlY3Rvci1tYXRjaGVzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTE2NjE2YjgyYmE1ODU1
YWQzOWY4NDZkYmFlNjZkMzIwZjlkOGVlNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sb25nLWNzcy1zZWxlY3Rvci1t
YXRjaGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotSGVsbG8g
V29ybGQKLVRlc3QgY2FzZSBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM3ODMKLQotSWYgYnJvd3NlciBkaWRuJ3QgY3Jhc2gsIHRoZSB0ZXN0IHBhc3NlZC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xvbmctY3NzLXNlbGVjdG9yLW1hdGNoZXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xvbmctY3NzLXNlbGVjdG9yLW1hdGNoZXMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY1OWJiODk0NzM1NTNjMTIwZDE1YzA1
MjE4ODc5NzQ2ODA0MTYyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sb25nLWNzcy1zZWxlY3Rvci1tYXRjaGVzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPjwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGdlbmVyYXRlX2RlZXBseV9uZXN0ZWRfc2VsZWN0
b3IobmVzdGxldmVsLCBjb2xvcikgewotICAgIHZhciBzZWxlY3RvciA9IFtdCi0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBuZXN0bGV2ZWw7ICsraSkgewotICAgICAgICBzZWxlY3Rvci5wdXNoKCcj
aWQnICsgaSArICcgKyBcbicpOwotICAgIH0KLSAgICBzZWxlY3Rvci5wdXNoKCcqIHtiYWNrZ3Jv
dW5kOicgKyBjb2xvciArICd9Jyk7Ci0KLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzdHlsZScpOwotICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnOwotICAgIHN0eWxl
LmlubmVySFRNTCA9IHNlbGVjdG9yLmpvaW4oJycpOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5k
Q2hpbGQoc3R5bGUpOwotfQotCi1mdW5jdGlvbiBnZW5lcmF0ZV9kZWVwbHlfbmVzdGVkX2VsZW1l
bnRzKG5lc3RsZXZlbCkgewotICAgIHZhciB0ZXh0ID0gW107Ci0gICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBuZXN0bGV2ZWw7ICsraSkgewotICAgICAgICB0ZXh0LnB1c2goJzxkaXYgaWQ9aWQnICsg
aSArICc+PC9kaXY+XG4nKTsKLSAgICB9Ci0gICAgdGV4dC5wdXNoKCc8ZGl2PkhlbGxvIFdvcmxk
PC9kaXY+Jyk7Ci0gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpCi0g
ICAgZGl2LmlubmVySFRNTCA9IHRleHQuam9pbignJyk7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOwotfQotCi1nZW5lcmF0ZV9kZWVwbHlfbmVzdGVkX3NlbGVjdG9yKDEwMDAw
LCAncmVkJyk7Ci1nZW5lcmF0ZV9kZWVwbHlfbmVzdGVkX3NlbGVjdG9yKDEwMDAwLCAnYmx1ZScp
OwotCi1nZW5lcmF0ZV9kZWVwbHlfbmVzdGVkX2VsZW1lbnRzKDEwMDAwKTsKLQotaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7Ci08L3NjcmlwdD4KLTxwPlRlc3QgY2FzZSBmb3IgPGEgaHJlZj0iaHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3ODMiPmh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNzgzPC9hPjwvcD4KLTxwPklmIGJyb3dzZXIgZGlkbid0IGNyYXNo
LCB0aGUgdGVzdCBwYXNzZWQuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Njg3ZTI0NTQwYmE0ZTIy
OGJmNDE4ZDNmYWI2ODVjNDZmMmYyYThjLi44M2Y2M2NjZjJjZmRkNWU1OGU4NjdlZGU4ODk4MTAx
ZjFjZGNjYjk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEwLTIwICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByNzAwNDAuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzcwMDQw
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA0Mgor
CisgICAgICAgICJSZXZlcnRpbmcgYSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIGRldGVjdGVkIGJ5
IHBhZ2VfY3ljbGVyIgorICAgICAgICAoUmVxdWVzdGVkIGJ5IGhheWF0byBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcik6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjaGVja1NlbGVjdG9yKToKKyAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5oOgorCiAyMDEwLTEwLTE5ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJh
Y2xvdWdoLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBhNDdhYWYzZWE0YzgyODIzYjkw
ZjdkNTFlMDAzNDE0NmVhZWMyZDk0Li4zNTQwNmQ1MWEwMjQ0ZjY3OTQ1NDA4MjViODc2MDliZDhm
OTA4NTg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtOTM5LDcgKzkzOSw3IEBAIEVJ
bnNpZGVMaW5rIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6ZGV0ZXJtaW5lTGlu
a1N0YXRlU2xvd0Nhc2UoRWxlbWVuCiBib29sIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hl
Y2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZW50KiBlbGVtZW50KSBj
b25zdAogewogICAgIFBzZXVkb0lkIGR5bmFtaWNQc2V1ZG8gPSBOT1BTRVVETzsKLSAgICByZXR1
cm4gY2hlY2tTZWxlY3RvcihzZWwsIGVsZW1lbnQsIDAsIGR5bmFtaWNQc2V1ZG8sIGZhbHNlLCBm
YWxzZSk7CisgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3Ioc2VsLCBlbGVtZW50LCAwLCBkeW5hbWlj
UHNldWRvLCBmYWxzZSwgZmFsc2UpID09IFNlbGVjdG9yTWF0Y2hlczsKIH0KIAogc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNTdHlsZVNlYXJjaFRocmVzaG9sZCA9IDEwOwpAQCAtMTkwOSw3ICsxOTA5
LDggQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpjaGVja1NlbGVjdG9yKENTU1NlbGVjdG9yKiBz
ZWwpCiAgICAgbV9keW5hbWljUHNldWRvID0gTk9QU0VVRE87CiAKICAgICAvLyBDaGVjayB0aGUg
c2VsZWN0b3IKLSAgICBpZiAoIW1fY2hlY2tlci5jaGVja1NlbGVjdG9yKHNlbCwgbV9lbGVtZW50
LCAmbV9zZWxlY3RvckF0dHJzLCBtX2R5bmFtaWNQc2V1ZG8sIGZhbHNlLCBmYWxzZSwgc3R5bGUo
KSwgbV9wYXJlbnROb2RlID8gbV9wYXJlbnROb2RlLT5yZW5kZXJTdHlsZSgpIDogMCkpCisgICAg
U2VsZWN0b3JNYXRjaCBtYXRjaCA9IG1fY2hlY2tlci5jaGVja1NlbGVjdG9yKHNlbCwgbV9lbGVt
ZW50LCAmbV9zZWxlY3RvckF0dHJzLCBtX2R5bmFtaWNQc2V1ZG8sIGZhbHNlLCBmYWxzZSwgc3R5
bGUoKSwgbV9wYXJlbnROb2RlID8gbV9wYXJlbnROb2RlLT5yZW5kZXJTdHlsZSgpIDogMCk7Cisg
ICAgaWYgKG1hdGNoICE9IFNlbGVjdG9yTWF0Y2hlcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKG1fY2hlY2tlci5tX3BzZXVkb1N0eWxlICE9IE5PUFNFVURPICYmIG1fY2hlY2tl
ci5tX3BzZXVkb1N0eWxlICE9IG1fZHluYW1pY1BzZXVkbykKQEAgLTE5MTgsMjIwICsxOTE5LDEx
NCBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNl
bCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotbmFtZXNwYWNlIHsKLQotLy8gSW50ZXJuYWxseSB1
c2VkIGZyb20gQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9y
Lgotc3RydWN0IENhbGxTdGF0ZSB7Ci0gICAgZW51bSBTdGF0ZSB7Ci0gICAgICAgIFNlZWtpbmdE
ZXNjZW5kYW50LCBTZWVraW5nSW5kaXJlY3RBZGphY2VudCwKLSAgICB9OwotCi0gICAgU3RhdGUg
c3RhdGU7Ci0gICAgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yOwotICAgIEVsZW1lbnQqIGVsZW1lbnQ7
Ci0gICAgYm9vbCBpc1N1YlNlbGVjdG9yOwotICAgIGJvb2wgZW5jb3VudGVyZWRMaW5rOwotICAg
IFJlbmRlclN0eWxlKiBlbGVtZW50U3R5bGU7Ci0gICAgUmVuZGVyU3R5bGUqIGVsZW1lbnRQYXJl
bnRTdHlsZTsKLQotICAgIENhbGxTdGF0ZShTdGF0ZSBzdGF0ZSwgQ1NTU2VsZWN0b3IqIHNlbGVj
dG9yLCBFbGVtZW50KiBlbGVtZW50LCBib29sIGlzU3ViU2VsZWN0b3IsIGJvb2wgZW5jb3VudGVy
ZWRMaW5rLCBSZW5kZXJTdHlsZSogZWxlbWVudFN0eWxlLCBSZW5kZXJTdHlsZSogZWxlbWVudFBh
cmVudFN0eWxlKQotICAgICAgICA6IHN0YXRlKHN0YXRlKQotICAgICAgICAsIHNlbGVjdG9yKHNl
bGVjdG9yKQotICAgICAgICAsIGVsZW1lbnQoZWxlbWVudCkKLSAgICAgICAgLCBpc1N1YlNlbGVj
dG9yKGlzU3ViU2VsZWN0b3IpCi0gICAgICAgICwgZW5jb3VudGVyZWRMaW5rKGVuY291bnRlcmVk
TGluaykKLSAgICAgICAgLCBlbGVtZW50U3R5bGUoZWxlbWVudFN0eWxlKQotICAgICAgICAsIGVs
ZW1lbnRQYXJlbnRTdHlsZShlbGVtZW50UGFyZW50U3R5bGUpCi0gICAgewotICAgIH0KLX07Ci0K
LWNsYXNzIENhbGxTdGFjayB7Ci1wdWJsaWM6Ci0gICAgYm9vbCBpc0VtcHR5KCkgY29uc3QKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBtX3N0YWNrLmlzRW1wdHkoKTsKLSAgICB9Ci0KLSAgICB2b2lk
IHB1c2goY29uc3QgQ2FsbFN0YXRlJiBzdGF0ZSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBw
ZW5kKHN0YXRlKTsKLSAgICB9Ci0KLSAgICBDYWxsU3RhdGUgcG9wKCkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVCghaXNFbXB0eSgpKTsKLSAgICAgICAgQ2FsbFN0YXRlIHN0YXRlID0gbV9zdGFjay5s
YXN0KCk7Ci0gICAgICAgIG1fc3RhY2sucmVtb3ZlTGFzdCgpOwotICAgICAgICByZXR1cm4gc3Rh
dGU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3RvcjxDYWxsU3RhdGUsIDIwPiBtX3N0YWNr
OwotfTsKLQotfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCi0KLS8vIENoZWNrIHNlbGVjdG9ycyBh
bmQgY29tYmluYXRvcnMuCi1ib29sIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6
Y2hlY2tTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsZWN0b3IsIEVsZW1lbnQqIGVsZW1lbnQsIEhh
c2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBzZWxlY3RvckF0dHJzLCBQc2V1ZG9JZCYgZHluYW1p
Y1BzZXVkbywgYm9vbCBpc1N1YlNlbGVjdG9yLCBib29sIGVuY291bnRlcmVkTGluaywgUmVuZGVy
U3R5bGUqIGVsZW1lbnRTdHlsZSwgUmVuZGVyU3R5bGUqIGVsZW1lbnRQYXJlbnRTdHlsZSkgY29u
c3QKKy8vIFJlY3Vyc2l2ZSBjaGVjayBvZiBzZWxlY3RvcnMgYW5kIGNvbWJpbmF0b3JzCisvLyBJ
dCBjYW4gcmV0dXJuIDMgZGlmZmVyZW50IHZhbHVlczoKKy8vICogU2VsZWN0b3JNYXRjaGVzICAg
ICAgICAgLSB0aGUgc2VsZWN0b3IgbWF0Y2hlcyB0aGUgZWxlbWVudCBlCisvLyAqIFNlbGVjdG9y
RmFpbHNMb2NhbGx5ICAgIC0gdGhlIHNlbGVjdG9yIGZhaWxzIGZvciB0aGUgZWxlbWVudCBlCisv
LyAqIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5IC0gdGhlIHNlbGVjdG9yIGZhaWxzIGZvciBlIGFu
ZCBhbnkgc2libGluZyBvciBhbmNlc3RvciBvZiBlCitDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3Rv
ck1hdGNoIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihD
U1NTZWxlY3Rvciogc2VsLCBFbGVtZW50KiBlLCBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiog
c2VsZWN0b3JBdHRycywgUHNldWRvSWQmIGR5bmFtaWNQc2V1ZG8sIGJvb2wgaXNTdWJTZWxlY3Rv
ciwgYm9vbCBlbmNvdW50ZXJlZExpbmssIFJlbmRlclN0eWxlKiBlbGVtZW50U3R5bGUsIFJlbmRl
clN0eWxlKiBlbGVtZW50UGFyZW50U3R5bGUpIGNvbnN0CiB7Ci0gICAgLy8gV2Ugc2hvdWxkIGF2
b2lkIHJlY3Vyc2l2ZSBjYWxscywgd2hpY2ggbWlnaHQgY2F1c2Ugc3RhY2sgb3ZlcmZsb3cgaWYg
dGhlIGNoYWluIG9mIHNlbGVjdG9yIGlzIHZlcnkgbG9uZy4KLSAgICAvLyBUaGVyZWZvcmUgd2Ug
aGF2ZSB0byBtYWludGFpbiBhIGNhbGwgc3RhY2sgYnkgb3Vyc2VsdmVzIHNvIHRoYXQgd2UgY2Fu
IGNoZWNrIHNlbGVjdG9ycyBpdGVyYXRpdmVseS4KLSAgICBDYWxsU3RhY2sgY2FsbFN0YWNrOwot
ICAgIHdoaWxlICh0cnVlKSB7CiAjaWYgRU5BQkxFKFNWRykKLSAgICAgICAgLy8gU3BlYzogQ1NT
MiBzZWxlY3RvcnMgY2Fubm90IGJlIGFwcGxpZWQgdG8gdGhlIChjb25jZXB0dWFsbHkpIGNsb25l
ZCBET00gdHJlZQotICAgICAgICAvLyBiZWNhdXNlIGl0cyBjb250ZW50cyBhcmUgbm90IHBhcnQg
b2YgdGhlIGZvcm1hbCBkb2N1bWVudCBzdHJ1Y3R1cmUuCi0gICAgICAgIGlmIChlbGVtZW50LT5p
c1NWR0VsZW1lbnQoKSAmJiBlbGVtZW50LT5pc1NoYWRvd05vZGUoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAvLyBTcGVjOiBDU1MyIHNlbGVjdG9ycyBjYW5ub3QgYmUgYXBwbGll
ZCB0byB0aGUgKGNvbmNlcHR1YWxseSkgY2xvbmVkIERPTSB0cmVlCisgICAgLy8gYmVjYXVzZSBp
dHMgY29udGVudHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBmb3JtYWwgZG9jdW1lbnQgc3RydWN0dXJl
LgorICAgIGlmIChlLT5pc1NWR0VsZW1lbnQoKSAmJiBlLT5pc1NoYWRvd05vZGUoKSkKKyAgICAg
ICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OwogI2VuZGlmCi0gICAgICAgIC8vIGZp
cnN0IHNlbGVjdG9yIGhhcyB0byBtYXRjaAotICAgICAgICBib29sIG1hdGNoZWQgPSBjaGVja09u
ZVNlbGVjdG9yKHNlbGVjdG9yLCBlbGVtZW50LCBzZWxlY3RvckF0dHJzLCBkeW5hbWljUHNldWRv
LCBpc1N1YlNlbGVjdG9yLCBlbGVtZW50U3R5bGUsIGVsZW1lbnRQYXJlbnRTdHlsZSk7Ci0gICAg
ICAgIGJvb2wgbmVlZFVud2luZGluZyA9ICFtYXRjaGVkOwotCi0gICAgICAgIGlmIChtYXRjaGVk
KSB7Ci0gICAgICAgICAgICAvLyBUaGUgcmVzdCBvZiB0aGUgc2VsZWN0b3JzIGhhcyB0byBtYXRj
aAotICAgICAgICAgICAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHJlbGF0aW9uID0gc2VsZWN0b3It
PnJlbGF0aW9uKCk7Ci0KLSAgICAgICAgICAgIC8vIFByZXBhcmUgbmV4dCBzZWwKLSAgICAgICAg
ICAgIHNlbGVjdG9yID0gc2VsZWN0b3ItPnRhZ0hpc3RvcnkoKTsKLSAgICAgICAgICAgIGlmICgh
c2VsZWN0b3IpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgICAgIGlm
IChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6U3ViU2VsZWN0b3IpCi0gICAgICAgICAgICAgICAg
Ly8gQmFpbC1vdXQgaWYgdGhpcyBzZWxlY3RvciBpcyBpcnJlbGV2YW50IGZvciB0aGUgcHNldWRv
U3R5bGUKLSAgICAgICAgICAgICAgICBpZiAobV9wc2V1ZG9TdHlsZSAhPSBOT1BTRVVETyAmJiBt
X3BzZXVkb1N0eWxlICE9IGR5bmFtaWNQc2V1ZG8pCi0gICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIG5lc3RlZCBsaW5rcy4KLSAgICAg
ICAgICAgIGlmIChtX21hdGNoVmlzaXRlZFBzZXVkb0NsYXNzICYmICFpc1N1YlNlbGVjdG9yKSB7
Ci0gICAgICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSA9IGVsZW1lbnRTdHls
ZSA/IGVsZW1lbnRTdHlsZSA6IGVsZW1lbnQtPnJlbmRlclN0eWxlKCk7Ci0gICAgICAgICAgICAg
ICAgaWYgKGN1cnJlbnRTdHlsZSAmJiBjdXJyZW50U3R5bGUtPmluc2lkZUxpbmsoKSAmJiBlbGVt
ZW50LT5pc0xpbmsoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZW5jb3VudGVyZWRMaW5r
KQotICAgICAgICAgICAgICAgICAgICAgICAgbV9tYXRjaFZpc2l0ZWRQc2V1ZG9DbGFzcyA9IGZh
bHNlOyAvLyBUaGlzIGxpbmsgaXMgbm90IHJlbGV2YW50IHRvIHRoZSBzdHlsZSBiZWluZyByZXNv
bHZlZCwgc28gZGlzYWJsZSBtYXRjaGluZy4KLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgICAgZW5jb3VudGVyZWRMaW5rID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9CisgICAgLy8gZmlyc3Qgc2VsZWN0b3IgaGFzIHRvIG1hdGNo
CisgICAgaWYgKCFjaGVja09uZVNlbGVjdG9yKHNlbCwgZSwgc2VsZWN0b3JBdHRycywgZHluYW1p
Y1BzZXVkbywgaXNTdWJTZWxlY3RvciwgZWxlbWVudFN0eWxlLCBlbGVtZW50UGFyZW50U3R5bGUp
KQorICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0xvY2FsbHk7CisKKyAgICAvLyBUaGUgcmVz
dCBvZiB0aGUgc2VsZWN0b3JzIGhhcyB0byBtYXRjaAorICAgIENTU1NlbGVjdG9yOjpSZWxhdGlv
biByZWxhdGlvbiA9IHNlbC0+cmVsYXRpb24oKTsKKworICAgIC8vIFByZXBhcmUgbmV4dCBzZWwK
KyAgICBzZWwgPSBzZWwtPnRhZ0hpc3RvcnkoKTsKKyAgICBpZiAoIXNlbCkKKyAgICAgICAgcmV0
dXJuIFNlbGVjdG9yTWF0Y2hlczsKKworICAgIGlmIChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6
U3ViU2VsZWN0b3IpCisgICAgICAgIC8vIEJhaWwtb3V0IGlmIHRoaXMgc2VsZWN0b3IgaXMgaXJy
ZWxldmFudCBmb3IgdGhlIHBzZXVkb1N0eWxlCisgICAgICAgIGlmIChtX3BzZXVkb1N0eWxlICE9
IE5PUFNFVURPICYmIG1fcHNldWRvU3R5bGUgIT0gZHluYW1pY1BzZXVkbykKKyAgICAgICAgICAg
IHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKKworICAgIC8vIENoZWNrIGZvciBuZXN0
ZWQgbGlua3MuCisgICAgaWYgKG1fbWF0Y2hWaXNpdGVkUHNldWRvQ2xhc3MgJiYgIWlzU3ViU2Vs
ZWN0b3IpIHsKKyAgICAgICAgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSA9IGVsZW1lbnRTdHls
ZSA/IGVsZW1lbnRTdHlsZSA6IGUtPnJlbmRlclN0eWxlKCk7CisgICAgICAgIGlmIChjdXJyZW50
U3R5bGUgJiYgY3VycmVudFN0eWxlLT5pbnNpZGVMaW5rKCkgJiYgZS0+aXNMaW5rKCkpIHsKKyAg
ICAgICAgICAgIGlmIChlbmNvdW50ZXJlZExpbmspCisgICAgICAgICAgICAgICAgbV9tYXRjaFZp
c2l0ZWRQc2V1ZG9DbGFzcyA9IGZhbHNlOyAvLyBUaGlzIGxpbmsgaXMgbm90IHJlbGV2YW50IHRv
IHRoZSBzdHlsZSBiZWluZyByZXNvbHZlZCwgc28gZGlzYWJsZSBtYXRjaGluZy4KKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlbmNvdW50ZXJlZExpbmsgPSB0cnVlOworICAgICAg
ICB9CisgICAgfQogCi0gICAgICAgICAgICBzd2l0Y2ggKHJlbGF0aW9uKSB7Ci0gICAgICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50OiB7Ci0gICAgICAgICAgICAgICAgQ29udGFp
bmVyTm9kZSogbm9kZSA9IGVsZW1lbnQtPnBhcmVudE5vZGUoKTsKLSAgICAgICAgICAgICAgICBp
ZiAoIW5vZGUgfHwgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVt
ZW50Kj4obm9kZSk7Ci0gICAgICAgICAgICAgICAgY2FsbFN0YWNrLnB1c2goQ2FsbFN0YXRlKENh
bGxTdGF0ZTo6U2Vla2luZ0Rlc2NlbmRhbnQsIHNlbGVjdG9yLCBlbGVtZW50LCBpc1N1YlNlbGVj
dG9yLCBlbmNvdW50ZXJlZExpbmssIGVsZW1lbnRTdHlsZSwgZWxlbWVudFBhcmVudFN0eWxlKSk7
Ci0gICAgICAgICAgICAgICAgaXNTdWJTZWxlY3RvciA9IGZhbHNlOwotICAgICAgICAgICAgICAg
IGVsZW1lbnRTdHlsZSA9IDA7Ci0gICAgICAgICAgICAgICAgZWxlbWVudFBhcmVudFN0eWxlID0g
MDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkNoaWxkOiB7Ci0gICAgICAgICAgICAgICAgQ29udGFpbmVyTm9kZSog
bm9kZSA9IGVsZW1lbnQtPnBhcmVudE5vZGUoKTsKLSAgICAgICAgICAgICAgICBpZiAoIW5vZGUg
fHwgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9k
ZSk7Ci0gICAgICAgICAgICAgICAgaXNTdWJTZWxlY3RvciA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgIGVsZW1lbnRTdHlsZSA9IDA7Ci0gICAgICAgICAgICAgICAgZWxlbWVudFBhcmVudFN0eWxl
ID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OkRpcmVjdEFkamFjZW50OiB7Ci0gICAgICAgICAgICAgICAgaWYg
KCFtX2NvbGxlY3RSdWxlc09ubHkgJiYgZWxlbWVudC0+cGFyZW50Tm9kZSgpICYmIGVsZW1lbnQt
PnBhcmVudE5vZGUoKS0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IGVsZW1lbnRTdHlsZSA/IGVsZW1lbnRQYXJlbnRTdHls
ZSA6IGVsZW1lbnQtPnBhcmVudE5vZGUoKS0+cmVuZGVyU3R5bGUoKTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHBhcmVudFN0eWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50U3R5
bGUtPnNldENoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMoKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGVsZW1lbnQtPnByZXZpb3Vz
U2libGluZygpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlICYmICFub2RlLT5pc0VsZW1l
bnROb2RlKCkpCi0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBub2RlLT5wcmV2aW91c1NpYmxp
bmcoKTsKLSAgICAgICAgICAgICAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgICAgICAgICAgICAg
bmVlZFVud2luZGluZyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG5vZGUpOwotICAgICAgICAgICAgICAgIG1fbWF0Y2hWaXNpdGVkUHNldWRvQ2xhc3MgPSBm
YWxzZTsKLSAgICAgICAgICAgICAgICBpc1N1YlNlbGVjdG9yID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgZWxlbWVudFN0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBlbGVtZW50UGFyZW50U3R5
bGUgPSAwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDogewotICAgICAgICAgICAgICAg
IGlmICghbV9jb2xsZWN0UnVsZXNPbmx5ICYmIGVsZW1lbnQtPnBhcmVudE5vZGUoKSAmJiBlbGVt
ZW50LT5wYXJlbnROb2RlKCktPmlzRWxlbWVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50
U3R5bGUgOiBlbGVtZW50LT5wYXJlbnROb2RlKCktPnJlbmRlclN0eWxlKCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChwYXJlbnRTdHlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVu
dFN0eWxlLT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBlbGVtZW50LT5w
cmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+
aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+cHJldmlv
dXNTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFub2RlKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIG5lZWRVbndpbmRpbmcgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxlbWVudCA9IHN0YXRpY19jYXN0
PEVsZW1lbnQqPihub2RlKTsKLSAgICAgICAgICAgICAgICBtX21hdGNoVmlzaXRlZFBzZXVkb0Ns
YXNzID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgY2FsbFN0YWNrLnB1c2goQ2FsbFN0YXRlKENh
bGxTdGF0ZTo6U2Vla2luZ0luZGlyZWN0QWRqYWNlbnQsIHNlbGVjdG9yLCBlbGVtZW50LCBpc1N1
YlNlbGVjdG9yLCBlbmNvdW50ZXJlZExpbmssIGVsZW1lbnRTdHlsZSwgZWxlbWVudFBhcmVudFN0
eWxlKSk7Ci0gICAgICAgICAgICAgICAgaXNTdWJTZWxlY3RvciA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgIGVsZW1lbnRTdHlsZSA9IDA7Ci0gICAgICAgICAgICAgICAgZWxlbWVudFBhcmVudFN0
eWxlID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yOgotICAgICAgICAgICAgICAgIC8vIGEg
c2VsZWN0b3IgaXMgaW52YWxpZCBpZiBzb21ldGhpbmcgZm9sbG93cyBhIHBzZXVkby1lbGVtZW50
Ci0gICAgICAgICAgICAgICAgLy8gV2UgbWFrZSBhbiBleGNlcHRpb24gZm9yIHNjcm9sbGJhciBw
c2V1ZG8gZWxlbWVudHMgYW5kIGFsbG93IGEgc2V0IG9mIHBzZXVkbyBjbGFzc2VzIChidXQgbm90
aGluZyBlbHNlKQotICAgICAgICAgICAgICAgIC8vIHRvIGZvbGxvdyB0aGUgcHNldWRvIGVsZW1l
bnRzLgotICAgICAgICAgICAgICAgIGlmICgoZWxlbWVudFN0eWxlIHx8IG1fY29sbGVjdFJ1bGVz
T25seSkgJiYgZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVETyAmJiBkeW5hbWljUHNldWRvICE9IFNF
TEVDVElPTgotICAgICAgICAgICAgICAgICAgICAmJiAhKChSZW5kZXJTY3JvbGxiYXI6OnNjcm9s
bGJhckZvclN0eWxlUmVzb2x2ZSgpIHx8IGR5bmFtaWNQc2V1ZG8gPT0gU0NST0xMQkFSX0NPUk5F
UiB8fCBkeW5hbWljUHNldWRvID09IFJFU0laRVIpICYmIHNlbGVjdG9yLT5tX21hdGNoID09IENT
U1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgICAgICAgICBpc1N1YlNlbGVjdG9yID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICBzd2l0Y2ggKHJlbGF0aW9uKSB7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OkRlc2NlbmRhbnQ6CisgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICAgICAg
ICAgIENvbnRhaW5lck5vZGUqIG4gPSBlLT5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICAgICAg
aWYgKCFuIHx8ICFuLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKKyAgICAgICAgICAgICAgICBlID0gc3RhdGljX2Nh
c3Q8RWxlbWVudCo+KG4pOworICAgICAgICAgICAgICAgIFNlbGVjdG9yTWF0Y2ggbWF0Y2ggPSBj
aGVja1NlbGVjdG9yKHNlbCwgZSwgc2VsZWN0b3JBdHRycywgZHluYW1pY1BzZXVkbywgZmFsc2Us
IGVuY291bnRlcmVkTGluayk7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoICE9IFNlbGVjdG9y
RmFpbHNMb2NhbGx5KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2g7CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q2hp
bGQ6CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIG4gPSBlLT5wYXJlbnRO
b2RlKCk7CisgICAgICAgICAgICBpZiAoIW4gfHwgIW4tPmlzRWxlbWVudE5vZGUoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CisgICAgICAgICAgICBl
ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pOworICAgICAgICAgICAgcmV0dXJuIGNoZWNrU2Vs
ZWN0b3Ioc2VsLCBlLCBzZWxlY3RvckF0dHJzLCBkeW5hbWljUHNldWRvLCBmYWxzZSwgZW5jb3Vu
dGVyZWRMaW5rKTsKICAgICAgICAgfQotICAgICAgICBpZiAoIW5lZWRVbndpbmRpbmcpCi0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgd2hpbGUgKCFjYWxsU3RhY2suaXNFbXB0eSgpKSB7
Ci0gICAgICAgICAgICAvLyBVbndpbmRzIGNhbGwgc3RhY2suCi0gICAgICAgICAgICBDYWxsU3Rh
dGUgY2FsbFN0YXRlID0gY2FsbFN0YWNrLnBvcCgpOwotICAgICAgICAgICAgc2VsZWN0b3IgPSBj
YWxsU3RhdGUuc2VsZWN0b3I7Ci0gICAgICAgICAgICBlbGVtZW50ID0gY2FsbFN0YXRlLmVsZW1l
bnQ7Ci0gICAgICAgICAgICBpc1N1YlNlbGVjdG9yID0gY2FsbFN0YXRlLmlzU3ViU2VsZWN0b3I7
Ci0gICAgICAgICAgICBlbmNvdW50ZXJlZExpbmsgPSBjYWxsU3RhdGUuZW5jb3VudGVyZWRMaW5r
OwotICAgICAgICAgICAgZWxlbWVudFN0eWxlID0gY2FsbFN0YXRlLmVsZW1lbnRTdHlsZTsKLSAg
ICAgICAgICAgIGVsZW1lbnRQYXJlbnRTdHlsZSA9IGNhbGxTdGF0ZS5lbGVtZW50UGFyZW50U3R5
bGU7Ci0KLSAgICAgICAgICAgIHN3aXRjaCAoY2FsbFN0YXRlLnN0YXRlKSB7Ci0gICAgICAgICAg
ICBjYXNlIENhbGxTdGF0ZTo6U2Vla2luZ0Rlc2NlbmRhbnQ6IHsKLSAgICAgICAgICAgICAgICBD
b250YWluZXJOb2RlKiBub2RlID0gZWxlbWVudC0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAg
ICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgZWxlbWVudCA9IHN0YXRpY19jYXN0
PEVsZW1lbnQqPihub2RlKTsKLSAgICAgICAgICAgICAgICBjYWxsU3RhY2sucHVzaChDYWxsU3Rh
dGUoQ2FsbFN0YXRlOjpTZWVraW5nRGVzY2VuZGFudCwgc2VsZWN0b3IsIGVsZW1lbnQsIGlzU3Vi
U2VsZWN0b3IsIGVuY291bnRlcmVkTGluaywgZWxlbWVudFN0eWxlLCBlbGVtZW50UGFyZW50U3R5
bGUpKTsKLSAgICAgICAgICAgICAgICBpc1N1YlNlbGVjdG9yID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgZWxlbWVudFN0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBlbGVtZW50UGFyZW50U3R5
bGUgPSAwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2FzZSBDYWxsU3RhdGU6OlNlZWtpbmdJbmRpcmVjdEFkamFjZW50OiB7Ci0gICAgICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IGVsZW1lbnQtPnByZXZpb3VzU2libGluZygpOwotICAgICAgICAg
ICAgICAgIHdoaWxlIChub2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgICAg
ICAgICAgICAgIG5vZGUgPSBub2RlLT5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBDb250aW51ZSB0
byBuZXh0IHdoaWxlIGxvb3AgdG8gdW53aW5kIGNhbGxTdGFjayBmdXJ0aGVyLgotICAgICAgICAg
ICAgICAgIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAgICAg
ICAgICAgbV9tYXRjaFZpc2l0ZWRQc2V1ZG9DbGFzcyA9IGZhbHNlOwotICAgICAgICAgICAgICAg
IGNhbGxTdGFjay5wdXNoKENhbGxTdGF0ZShDYWxsU3RhdGU6OlNlZWtpbmdJbmRpcmVjdEFkamFj
ZW50LCBzZWxlY3RvciwgZWxlbWVudCwgaXNTdWJTZWxlY3RvciwgZW5jb3VudGVyZWRMaW5rLCBl
bGVtZW50U3R5bGUsIGVsZW1lbnRQYXJlbnRTdHlsZSkpOwotICAgICAgICAgICAgICAgIGlzU3Vi
U2VsZWN0b3IgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBlbGVtZW50U3R5bGUgPSAwOwotICAg
ICAgICAgICAgICAgIGVsZW1lbnRQYXJlbnRTdHlsZSA9IDA7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRpcmVjdEFkamFjZW50OgorICAgICAgICB7
CisgICAgICAgICAgICBpZiAoIW1fY29sbGVjdFJ1bGVzT25seSAmJiBlLT5wYXJlbnROb2RlKCkg
JiYgZS0+cGFyZW50Tm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBS
ZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50U3R5
bGUgOiBlLT5wYXJlbnROb2RlKCktPnJlbmRlclN0eWxlKCk7CisgICAgICAgICAgICAgICAgaWYg
KHBhcmVudFN0eWxlKQorICAgICAgICAgICAgICAgICAgICBwYXJlbnRTdHlsZS0+c2V0Q2hpbGRy
ZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcygpOwogICAgICAgICAgICAgfQorICAgICAg
ICAgICAgTm9kZSogbiA9IGUtPnByZXZpb3VzU2libGluZygpOworICAgICAgICAgICAgd2hpbGUg
KG4gJiYgIW4tPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgICAgICAgICBuID0gbi0+cHJldmlv
dXNTaWJsaW5nKCk7CisgICAgICAgICAgICBpZiAoIW4pCisgICAgICAgICAgICAgICAgcmV0dXJu
IFNlbGVjdG9yRmFpbHNMb2NhbGx5OworICAgICAgICAgICAgZSA9IHN0YXRpY19jYXN0PEVsZW1l
bnQqPihuKTsKKyAgICAgICAgICAgIG1fbWF0Y2hWaXNpdGVkUHNldWRvQ2xhc3MgPSBmYWxzZTsK
KyAgICAgICAgICAgIHJldHVybiBjaGVja1NlbGVjdG9yKHNlbCwgZSwgc2VsZWN0b3JBdHRycywg
ZHluYW1pY1BzZXVkbywgZmFsc2UsIGVuY291bnRlcmVkTGluayk7IAorICAgICAgICB9CisgICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkluZGlyZWN0QWRqYWNlbnQ6CisgICAgICAgICAgICBpZiAo
IW1fY29sbGVjdFJ1bGVzT25seSAmJiBlLT5wYXJlbnROb2RlKCkgJiYgZS0+cGFyZW50Tm9kZSgp
LT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50
U3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50U3R5bGUgOiBlLT5wYXJlbnROb2Rl
KCktPnJlbmRlclN0eWxlKCk7CisgICAgICAgICAgICAgICAgaWYgKHBhcmVudFN0eWxlKQorICAg
ICAgICAgICAgICAgICAgICBwYXJlbnRTdHlsZS0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2Fy
ZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBuID0gZS0+cHJldmlvdXNTaWJsaW5nKCk7Cisg
ICAgICAgICAgICAgICAgd2hpbGUgKG4gJiYgIW4tPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAg
ICAgICAgICAgICAgbiA9IG4tPnByZXZpb3VzU2libGluZygpOworICAgICAgICAgICAgICAgIGlm
ICghbikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNMb2NhbGx5Owor
ICAgICAgICAgICAgICAgIGUgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obik7CisgICAgICAgICAg
ICAgICAgbV9tYXRjaFZpc2l0ZWRQc2V1ZG9DbGFzcyA9IGZhbHNlOworICAgICAgICAgICAgICAg
IFNlbGVjdG9yTWF0Y2ggbWF0Y2ggPSBjaGVja1NlbGVjdG9yKHNlbCwgZSwgc2VsZWN0b3JBdHRy
cywgZHluYW1pY1BzZXVkbywgZmFsc2UsIGVuY291bnRlcmVkTGluayk7CisgICAgICAgICAgICAg
ICAgaWYgKG1hdGNoICE9IFNlbGVjdG9yRmFpbHNMb2NhbGx5KQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gbWF0Y2g7CisgICAgICAgICAgICB9OwogICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKGNhbGxTdGFjay5pc0VtcHR5KCkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yOgorICAgICAg
ICAgICAgLy8gYSBzZWxlY3RvciBpcyBpbnZhbGlkIGlmIHNvbWV0aGluZyBmb2xsb3dzIGEgcHNl
dWRvLWVsZW1lbnQKKyAgICAgICAgICAgIC8vIFdlIG1ha2UgYW4gZXhjZXB0aW9uIGZvciBzY3Jv
bGxiYXIgcHNldWRvIGVsZW1lbnRzIGFuZCBhbGxvdyBhIHNldCBvZiBwc2V1ZG8gY2xhc3NlcyAo
YnV0IG5vdGhpbmcgZWxzZSkKKyAgICAgICAgICAgIC8vIHRvIGZvbGxvdyB0aGUgcHNldWRvIGVs
ZW1lbnRzLgorICAgICAgICAgICAgaWYgKChlbGVtZW50U3R5bGUgfHwgbV9jb2xsZWN0UnVsZXNP
bmx5KSAmJiBkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIGR5bmFtaWNQc2V1ZG8gIT0gU0VM
RUNUSU9OICYmCisgICAgICAgICAgICAgICAgISgoUmVuZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJG
b3JTdHlsZVJlc29sdmUoKSB8fCBkeW5hbWljUHNldWRvID09IFNDUk9MTEJBUl9DT1JORVIgfHwg
ZHluYW1pY1BzZXVkbyA9PSBSRVNJWkVSKSAmJiBzZWwtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBs
ZXRlbHk7CisgICAgICAgICAgICByZXR1cm4gY2hlY2tTZWxlY3RvcihzZWwsIGUsIHNlbGVjdG9y
QXR0cnMsIGR5bmFtaWNQc2V1ZG8sIHRydWUsIGVuY291bnRlcmVkTGluaywgZWxlbWVudFN0eWxl
LCBlbGVtZW50UGFyZW50U3R5bGUpOwogICAgIH0KKworICAgIHJldHVybiBTZWxlY3RvckZhaWxz
Q29tcGxldGVseTsKIH0KIAogc3RhdGljIHZvaWQgYWRkTG9jYWxOYW1lVG9TZXQoSGFzaFNldDxB
dG9taWNTdHJpbmdJbXBsKj4qIHNldCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgcU5hbWUpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgKaW5kZXggYWZlNmNkZWM1ZjZkMjBmOWJkY2Y2M2Y3NTZlMzNhMTk5MjBh
NTMxMy4uNWY3MGUwNTRlYTE2OTg1NzQ0MGZmZDc5MDcyOTIxOGE2NDJiYmIzMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuaApAQCAtMTc0LDYgKzE3NCw4IEBAIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IGJvb2wgY3JlYXRlVHJhbnNmb3JtT3BlcmF0aW9ucyhDU1NWYWx1ZSogaW5WYWx1ZSwgUmVuZGVy
U3R5bGUqIGluU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFRyYW5zZm9ybU9wZXJhdGlv
bnMmIG91dE9wZXJhdGlvbnMpOwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgZW51bSBTZWxlY3Rv
ck1hdGNoIHsgU2VsZWN0b3JNYXRjaGVzLCBTZWxlY3RvckZhaWxzTG9jYWxseSwgU2VsZWN0b3JG
YWlsc0NvbXBsZXRlbHkgfTsKKwogICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIGZpeGVzIHVwIHRo
ZSBkZWZhdWx0IGZvbnQgc2l6ZSBpZiBpdCBkZXRlY3RzIHRoYXQgdGhlIGN1cnJlbnQgZ2VuZXJp
YyBmb250IGZhbWlseSBoYXMgY2hhbmdlZC4gLWR3aAogICAgICAgICB2b2lkIGNoZWNrRm9yR2Vu
ZXJpY0ZhbWlseUNoYW5nZShSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSk7
CiAgICAgICAgIHZvaWQgY2hlY2tGb3Jab29tQ2hhbmdlKFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5
bGUqIHBhcmVudFN0eWxlKTsKQEAgLTIxNyw3ICsyMTksNyBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBib29sIHN0cmljdFBhcnNpbmcpOwogCiAgICAg
ICAgICAgICBib29sIGNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqLCBFbGVtZW50KikgY29uc3Q7
Ci0gICAgICAgICAgICBib29sIGNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqLCBFbGVtZW50Kiwg
SGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIHNlbGVjdG9yQXR0cnMsIFBzZXVkb0lkJiBkeW5h
bWljUHNldWRvLCBib29sIGlzU3ViU2VsZWN0b3IsIGJvb2wgZW5jb3VudGVyZWRMaW5rLCBSZW5k
ZXJTdHlsZSogPSAwLCBSZW5kZXJTdHlsZSogZWxlbWVudFBhcmVudFN0eWxlID0gMCkgY29uc3Q7
CisgICAgICAgICAgICBTZWxlY3Rvck1hdGNoIGNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqLCBF
bGVtZW50KiwgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIHNlbGVjdG9yQXR0cnMsIFBzZXVk
b0lkJiBkeW5hbWljUHNldWRvLCBib29sIGlzU3ViU2VsZWN0b3IsIGJvb2wgZW5jb3VudGVyZWRM
aW5rLCBSZW5kZXJTdHlsZSogPSAwLCBSZW5kZXJTdHlsZSogZWxlbWVudFBhcmVudFN0eWxlID0g
MCkgY29uc3Q7CiAgICAgICAgICAgICBib29sIGNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3Iq
LCBFbGVtZW50KiwgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIHNlbGVjdG9yQXR0cnMsIFBz
ZXVkb0lkJiBkeW5hbWljUHNldWRvLCBib29sIGlzU3ViU2VsZWN0b3IsIFJlbmRlclN0eWxlKiwg
UmVuZGVyU3R5bGUqIGVsZW1lbnRQYXJlbnRTdHlsZSkgY29uc3Q7CiAgICAgICAgICAgICBib29s
IGNoZWNrU2Nyb2xsYmFyUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3IqLCBQc2V1ZG9JZCYgZHluYW1p
Y1BzZXVkbykgY29uc3Q7CiAK
</data>
<flag name="commit-queue"
          id="61428"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>