<?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>48126</bug_id>
          
          <creation_ts>2010-10-22 06:04:14 -0700</creation_ts>
          <short_desc>REGRESSION(r70301): &quot;Lang attribute layout tests failing&quot; (Requested by satish on #webkit).</short_desc>
          <delta_ts>2010-10-22 06:13:43 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47089</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>jorlow</cc>
    
    <cc>satish</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>297936</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-22 06:04:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/70301 broke the build:
&quot;Lang attribute layout tests failing&quot; (Requested by satish 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>297937</commentid>
    <comment_count>1</comment_count>
      <attachid>71556</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-22 06:04:56 -0700</bug_when>
    <thetext>Created attachment 71556
ROLLOUT of r70301

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>297938</commentid>
    <comment_count>2</comment_count>
    <who name="Satish Sampath">satish</who>
    <bug_when>2010-10-22 06:05:45 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297941</commentid>
    <comment_count>3</comment_count>
      <attachid>71556</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-22 06:13:38 -0700</bug_when>
    <thetext>Comment on attachment 71556
ROLLOUT of r70301

Clearing flags on attachment: 71556

Committed r70302: &lt;http://trac.webkit.org/changeset/70302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297942</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-22 06:13:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71556</attachid>
            <date>2010-10-22 06:04:56 -0700</date>
            <delta_ts>2010-10-22 06:13:38 -0700</delta_ts>
            <desc>ROLLOUT of r70301</desc>
            <filename>bug-48126-20101022130453.patch</filename>
            <type>text/plain</type>
            <size>40253</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTk2OTQwOWVlMDViMDViMjQ0ZjAwY2JlODY3ZDJhMzg3NGNmNjZjLi42NjMwZDAx
NTlkNzlmZDRlNDZjOTU5OGVlOWU3ZWE5ZDdkZDNlNTExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMTAtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MDMwMS4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzAzMDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MTI2CisKKyAgICAgICAgIkxhbmcgYXR0cmlidXRl
IGxheW91dCB0ZXN0cyBmYWlsaW5nIiAoUmVxdWVzdGVkIGJ5IHNhdGlzaCBvbgorICAgICAgICAj
d2Via2l0KS4KKworICAgICAgICAqIGZhc3Qvc3BlZWNoL2lucHV0LXRleHQtbGFuZ3VhZ2UtdGFn
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3NwZWVjaC9pbnB1dC10ZXh0
LWxhbmd1YWdlLXRhZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvc3BlZWNoL2lucHV0
LXRleHQtc3BlZWNoYnV0dG9uLmh0bWw6CisgICAgICAgICogZmFzdC9zcGVlY2gvc3BlZWNoLWJ1
dHRvbi1pZ25vcmUtZ2VuZXJhdGVkLWV2ZW50cy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKwogMjAxMC0xMC0yMiAgTGVhbmRybyBHcmFj
aWEgR2lsICA8bGVhbmRyb2dyYWNpYUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEplcmVteSBPcmxvdy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BlZWNoL2lucHV0
LXRleHQtbGFuZ3VhZ2UtdGFnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc3BlZWNo
L2lucHV0LXRleHQtbGFuZ3VhZ2UtdGFnLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTFmMzBkNjk2ZjVkMjUwZjE0YWY1NmI5OWI0ZTcwYzg3OWMwZTUwMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3NwZWVjaC9pbnB1dC10ZXh0LWxhbmd1YWdlLXRhZy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMyArMCwwIEBACi1UZXN0cyBmb3IgbGFuZ3VhZ2UgdGFnIGluaGVyaXRhbmNl
IGFuZCB2YWxpZGF0aW9uIGluIHNwZWVjaCBidXR0b25zLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BlZWNoSW5wdXROb25l
IikudmFsdWUgaXMgImVycm9yOiBubyByZXN1bHQgZm91bmQgZm9yIGxhbmd1YWdlICcnIgotUEFT
UyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BlZWNoSW5wdXRFbGVtZW50IikudmFsdWUgaXMg
IlBpY3R1cmVzIG9mIHRoZSBtb29uIgotUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3Bl
ZWNoSW5wdXRJbmhlcml0ZWQiKS52YWx1ZSBpcyAi5pyI44Gu5YaZ55yfIgotUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3BlZWNoSW5wdXRJbnZhbGlkIikudmFsdWUgaXMgImVycm9yOiBu
byByZXN1bHQgZm91bmQgZm9yIGxhbmd1YWdlICcnIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NwZWVjaC9pbnB1dC10ZXh0LWxhbmd1YWdlLXRhZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9z
cGVlY2gvaW5wdXQtdGV4dC1sYW5ndWFnZS10YWcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWJmYzgyMjYyZWUzMGEyYzVmYTVlMjU4MTYxZWE4YTFlMThlNjVhZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3NwZWVjaC9pbnB1dC10ZXh0LWxhbmd1YWdlLXRhZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NjIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZGVzY3JpcHRpb24oJ1Rlc3Rz
IGZvciBsYW5ndWFnZSB0YWcgaW5oZXJpdGFuY2UgYW5kIHZhbGlkYXRpb24gaW4gc3BlZWNoIGJ1
dHRvbnMuJyk7Ci0KLS8vIE5vdGU6IHRlc3QgY2FzZXMgYXJlIHNlcXVlbnRpYWwgdG8gZW5zdXJl
IHRoYXQgbm8gbmV3IHJlY29nbml0aW9uIHN0YXJ0cyB3aGVuIGFub3RoZXIgcmVjb2duaXRpb24g
cmVjb3JkaW5nIGlzIGFjdGl2ZS4KLWZ1bmN0aW9uIG9uQ2hhbmdlTm9uZSgpIHsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGVlY2hJbnB1dE5v
bmUiKS52YWx1ZScsICdlcnJvcjogbm8gcmVzdWx0IGZvdW5kIGZvciBsYW5ndWFnZSBcJ1wnJyk7
Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgc3BlZWNoQnV0dG9uQ2xpY2soJ3NwZWVjaElu
cHV0RWxlbWVudCcpOyB9LCA1MCk7Ci19Ci0KLWZ1bmN0aW9uIG9uQ2hhbmdlRWxlbWVudCgpIHsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGVl
Y2hJbnB1dEVsZW1lbnQiKS52YWx1ZScsICdQaWN0dXJlcyBvZiB0aGUgbW9vbicpOwotICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7IHNwZWVjaEJ1dHRvbkNsaWNrKCdzcGVlY2hJbnB1dEluaGVy
aXRlZCcpOyB9LCA1MCk7Ci19Ci0KLWZ1bmN0aW9uIG9uQ2hhbmdlSW5oZXJpdGVkKCkgewotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwZWVjaElu
cHV0SW5oZXJpdGVkIikudmFsdWUnLCAn5pyI44Gu5YaZ55yfJyk7Ci0gICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsgc3BlZWNoQnV0dG9uQ2xpY2soJ3NwZWVjaElucHV0SW52YWxpZCcpOyB9LCA1
MCk7Ci19Ci0KLWZ1bmN0aW9uIG9uQ2hhbmdlSW52YWxpZCgpIHsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGVlY2hJbnB1dEludmFsaWQiKS52
YWx1ZScsICdlcnJvcjogbm8gcmVzdWx0IGZvdW5kIGZvciBsYW5ndWFnZSBcJ1wnJyk7Ci0gICAg
ZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHNwZWVjaEJ1dHRvbkNsaWNrKGVsZW1lbnRJ
ZCkgewotICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElk
KTsKLSAgICB2YXIgeCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGgg
LSA0OwotICAgIHZhciB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdo
dCAvIDI7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotfQotCi1mdW5jdGlv
biBydW4oKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja1NwZWVj
aElucHV0UmVzdWx0KCdQaWN0dXJlcyBvZiB0aGUgbW9vbicsICdlbi1HQicpOwotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHQoJ+aciOOBruWGmeec
nycsICdqYScpOwotICAgICAgICBzcGVlY2hCdXR0b25DbGljaygnc3BlZWNoSW5wdXROb25lJyk7
Ci0gICAgfQotfQotCi13aW5kb3cub25sb2FkID0gcnVuOwotd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwotd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTxp
bnB1dCBpZD0ic3BlZWNoSW5wdXROb25lIiB4LXdlYmtpdC1zcGVlY2ggb253ZWJraXRzcGVlY2hj
aGFuZ2U9Im9uQ2hhbmdlTm9uZSgpIj4KLTxpbnB1dCBpZD0ic3BlZWNoSW5wdXRFbGVtZW50IiB4
LXdlYmtpdC1zcGVlY2ggb253ZWJraXRzcGVlY2hjaGFuZ2U9Im9uQ2hhbmdlRWxlbWVudCgpIiBs
YW5nPSJlbi1HQiI+Ci08ZGl2IGxhbmc9ImphIj4gPGlucHV0IGlkPSJzcGVlY2hJbnB1dEluaGVy
aXRlZCIgeC13ZWJraXQtc3BlZWNoIG9ud2Via2l0c3BlZWNoY2hhbmdlPSJvbkNoYW5nZUluaGVy
aXRlZCgpIj4gPC9kaXY+Ci08aW5wdXQgaWQ9InNwZWVjaElucHV0SW52YWxpZCIgeC13ZWJraXQt
c3BlZWNoIG9ud2Via2l0c3BlZWNoY2hhbmdlPSJvbkNoYW5nZUludmFsaWQoKSIgbGFuZz0iMTMz
NyTDvjPOu2siPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zcGVlY2gvaW5wdXQtdGV4dC1zcGVlY2hidXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c3BlZWNoL2lucHV0LXRleHQtc3BlZWNoYnV0dG9uLmh0bWwKaW5kZXggY2VmNzcwNTZiMTdkMWNk
NDUxYjQ5MGI3YzFmMjQ2YmE2Yzg5NTBkYi4uNmY1YmM0YjEyMWZiNGY5ZDlkZGE2YzMzMWY4YjI2
ZGMxY2Q0Mzk5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zcGVlY2gvaW5wdXQtdGV4
dC1zcGVlY2hidXR0b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NwZWVjaC9pbnB1dC10
ZXh0LXNwZWVjaGJ1dHRvbi5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9uV2Via2l0
U3BlZWNoQ2hhbmdlKCkgewogCiBmdW5jdGlvbiBydW4oKSB7CiAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0TW9ja1NwZWVjaElucHV0UmVzdWx0KCdQaWN0dXJlcyBvZiB0aGUg
bW9vbicsICcnKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9ja1NwZWVjaElu
cHV0UmVzdWx0KCdQaWN0dXJlcyBvZiB0aGUgbW9vbicpOwogCiAgICAgICAgIC8vIENsaWNraW5n
IHRoZSBzcGVlY2ggYnV0dG9uIHNob3VsZCBmaWxsIGluIG1vY2sgc3BlZWNoLXJlY29nbml6ZWQg
dGV4dC4KICAgICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NwZWVj
aElucHV0Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NwZWVjaC9zcGVlY2gtYnV0
dG9uLWlnbm9yZS1nZW5lcmF0ZWQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwZWVj
aC9zcGVlY2gtYnV0dG9uLWlnbm9yZS1nZW5lcmF0ZWQtZXZlbnRzLmh0bWwKaW5kZXggYzY4NDg2
Mzc3MDUzMzk5YjI5ZDA0ZmMyOTkwN2U1NWU4YWJmMDYwOC4uYjliOGVjMzY2MDU1NzlmMmIxMjZk
NmYxZGEzNTYwYzY3MmFkMmI3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zcGVlY2gv
c3BlZWNoLWJ1dHRvbi1pZ25vcmUtZ2VuZXJhdGVkLWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc3BlZWNoL3NwZWVjaC1idXR0b24taWdub3JlLWdlbmVyYXRlZC1ldmVudHMuaHRt
bApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBzZXR1cERpc3BhdGNoRXZlbnRUZXN0KCkgewog
ZnVuY3Rpb24gcnVuKCkgewogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYg
d2luZG93LmV2ZW50U2VuZGVyKSB7CiAgICAgICAgIC8vIFJ1bm5pbmcgaW4gRFJULCB0ZXN0IHRo
ZSBldmVudFNlbmRlciBjYXNlLgotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2Nr
U3BlZWNoSW5wdXRSZXN1bHQoJ1BpY3R1cmVzIG9mIHRoZSBtb29uJywgJycpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHQoJ1BpY3R1cmVzIG9m
IHRoZSBtb29uJyk7CiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcGVlY2hJbnB1
dCcpLm9ud2Via2l0c3BlZWNoY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGVlY2hJbnB1dCIp
LnZhbHVlJywgJ1BpY3R1cmVzIG9mIHRoZSBtb29uJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAzNWRiYjNlM2U3
NzA1Nzk4ODNiM2VmNjBmY2Y0MzY3YmI2ODRiMTViLi4zNmZmMDI1Y2FjNDIyNjU5MTM1Y2NiYTgz
YzE4MmZlM2ExNjVlODk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zMjQ4LDkgKzMyNDgsNSBAQCBCVUdKQVBIRVQg
OiBmYXN0L2pzL2RhdGUtcGFyc2UtdGVzdC5odG1sID0gVEVYVAogCiAvLyBBZGRlZCBpbiBXZWJL
aXQgcjcwMTkwCiBCVUdXSzQ4MDM0IDogcGx1Z2lucy9wYXNzLWRpZmZlcmVudC1ucHAtc3RydWN0
Lmh0bWwgPSBURVhUCi0KIC8vIEFkZGVkIGluIFdlYktpdCByNzAyNjUKIEJVR1dLNDgwMzQgOiBw
bGF0Zm9ybS93aW4vcGx1Z2lucy9ucG4taW52YWxpZGF0ZS1yZWN0LWludmFsaWRhdGVzLXdpbmRv
dy5odG1sID0gVEVYVAotCi0vLyBUZW1wb3JhcmlseSBkaXNhYmxlZCBmb3IgYSA0LXNpZGVkIHBh
dGNoLiBXaWxsIGJlIGVuYWJsZWQgYWdhaW4gYnkgQlVHV0s0NzQyMC4KLUJVR1dLNDcwODkgOiBm
YXN0L3NwZWVjaC9pbnB1dC10ZXh0LWxhbmd1YWdlLXRhZy5odG1sID0gRkFJTApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4YzI5YmI3NGI2
ZGIxYzJkYzg1YzMzMzcwYjllNmYyNmJmOWUwM2JlLi4zNWRiYjNiNWI3MTdmZjM4NjM5Y2NjMzVj
ZTUzNTFlMWYzOWExMjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEwLTEwLTIyICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByNzAzMDEuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzcwMzAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
ODEyNgorCisgICAgICAgICJMYW5nIGF0dHJpYnV0ZSBsYXlvdXQgdGVzdHMgZmFpbGluZyIgKFJl
cXVlc3RlZCBieSBzYXRpc2ggb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVk
TGFuZ3VhZ2UpOgorICAgICAgICAqIHBhZ2UvU3BlZWNoSW5wdXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoSW5wdXQ6OnN0YXJ0UmVjb2duaXRpb24pOgorICAgICAgICAqIHBhZ2UvU3Bl
ZWNoSW5wdXQuaDoKKyAgICAgICAgKiBwYWdlL1NwZWVjaElucHV0Q2xpZW50Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9TcGVlY2hJbnB1dENsaWVudE1vY2suY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoSW5wdXRDbGllbnRNb2NrOjpzdGFydFJlY29nbml0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWVjaElucHV0Q2xpZW50TW9jazo6c2V0UmVjb2duaXRpb25SZXN1bHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoSW5wdXRDbGllbnRNb2NrOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5oOgorICAgICAgICAq
IHJlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OmF0dGFjaElubmVyRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmRldGFjaCk6CisgICAg
ICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxl
bWVudDo6ZGV0YWNoKToKKwogMjAxMC0xMC0yMiAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRy
b2dyYWNpYUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggYzdkNDQyYWY5NjgwOTI2ZTRhMmNjNDFhNWY4NjZmOWRjZWY0NTRiMC4uODNl
MTI5ZThlMjhjZmE1MTBlZTBkODE1NmQyNDM4NWQxZTkzZGNmOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTU2LDcg
KzU2LDYgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCi0jaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNpZiBFTkFCTEUoU1ZHKQpAQCAtMTQ3NSwx
NSArMTQ3NCw2IEBAIEF0b21pY1N0cmluZyBFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVkTGFuZ3Vh
Z2UoKSBjb25zdAogICAgICAgICBuID0gbi0+cGFyZW50KCk7CiAgICAgfQogCi0gICAgaWYgKCF2
YWx1ZS5pc051bGwoKSAmJiAhdmFsdWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIC8vIE9ubHkgQS1a
YS16MC05IGFuZCAnLScgYXJlIGFsbG93ZWQgaW4gdGhlIGxhbmd1YWdlIHRhZyAoc2VlIEJDUCA0
NykKLSAgICAgICAgY29uc3QgY2hhciAqcCA9IHZhbHVlLnN0cmluZygpLmFzY2lpKCkuZGF0YSgp
OwotICAgICAgICBmb3IgKDsgKnAgIT0gJ1wwJzsgKytwKSB7Ci0gICAgICAgICAgICBpZiAoIWlz
QVNDSUlBbHBoYW51bWVyaWMoKnApICYmICpwICE9ICctJykKLSAgICAgICAgICAgICAgICByZXR1
cm4gQXRvbWljU3RyaW5nKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICByZXR1cm4gdmFsdWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5jcHAgYi9XZWJDb3Jl
L3BhZ2UvU3BlZWNoSW5wdXQuY3BwCmluZGV4IGNjNWUwZjk3ZmJhYmY5YWZhM2Y0MzU5YzcyNmJh
Yzg3ZTUzNDE4Y2YuLjIzNDc5MWJjNGIxM2Y0M2RmOWQxNzM5ZDVkMjA1ZjlhYTI3ZTIwNzIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5jcHAKKysrIGIvV2ViQ29yZS9wYWdl
L1NwZWVjaElucHV0LmNwcApAQCAtOTMsMTAgKzkzLDEwIEBAIHZvaWQgU3BlZWNoSW5wdXQ6OnNl
dFJlY29nbml0aW9uUmVzdWx0KGludCBsaXN0ZW5lcklkLCBjb25zdCBTdHJpbmcmIHJlc3VsdCkK
ICAgICAgICAgbV9saXN0ZW5lcnMuZ2V0KGxpc3RlbmVySWQpLT5zZXRSZWNvZ25pdGlvblJlc3Vs
dChsaXN0ZW5lcklkLCByZXN1bHQpOwogfQogCi1ib29sIFNwZWVjaElucHV0OjpzdGFydFJlY29n
bml0aW9uKGludCBsaXN0ZW5lcklkLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBJbnRS
ZWN0JiBlbGVtZW50UmVjdCkKK2Jvb2wgU3BlZWNoSW5wdXQ6OnN0YXJ0UmVjb2duaXRpb24oaW50
IGxpc3RlbmVySWQsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0KQogewogICAgIEFTU0VSVCht
X2xpc3RlbmVycy5jb250YWlucyhsaXN0ZW5lcklkKSk7Ci0gICAgcmV0dXJuIG1fY2xpZW50LT5z
dGFydFJlY29nbml0aW9uKGxpc3RlbmVySWQsIGxhbmd1YWdlLCBlbGVtZW50UmVjdCk7CisgICAg
cmV0dXJuIG1fY2xpZW50LT5zdGFydFJlY29nbml0aW9uKGxpc3RlbmVySWQsIGVsZW1lbnRSZWN0
KTsKIH0KIAogdm9pZCBTcGVlY2hJbnB1dDo6c3RvcFJlY29yZGluZyhpbnQgbGlzdGVuZXJJZCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1Nw
ZWVjaElucHV0LmgKaW5kZXggOGI0MjZmNTYzMTM2ZWQ2NTFkZDY0NTZlODM1YjRkNDQ1M2FiODAx
Mi4uZDEwYjc4OWFhZDI3MzllZGQzYmY0NTMwZTdjNmUwMGM0ZTJkYWU4YSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgdW5yZWdpc3Rlckxpc3RlbmVy
KGludCk7CiAKICAgICAvLyBNZXRob2RzIGludm9rZWQgYnkgdGhlIGlucHV0IGVsZW1lbnRzLgot
ICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFJl
Y3QmKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50LCBjb25zdCBJbnRSZWN0Jik7CiAg
ICAgdm9pZCBzdG9wUmVjb3JkaW5nKGludCk7CiAgICAgdm9pZCBjYW5jZWxSZWNvZ25pdGlvbihp
bnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRDbGllbnQuaCBiL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dENsaWVudC5oCmluZGV4IGY1YWFiMDJhNzY2MTY2MThhNjBj
Nzc0NGNiNDc0NjYzZGNiNTIyYjQuLmQ1ZmRhMTdmYWEyY2Q3OTVhZjQ0ZjUzYTQ2ZmNiYTU5NzQx
YWI3NmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dENsaWVudC5oCisrKyBi
L1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dENsaWVudC5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZu
ZGVmIFNwZWVjaElucHV0Q2xpZW50X2gKICNkZWZpbmUgU3BlZWNoSW5wdXRDbGllbnRfaAogCi0j
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBzZXRMaXN0ZW5lcihTcGVlY2hJbnB1dExpc3RlbmVyKikgPSAwOwogCiAgICAgLy8gU3Rh
cnRzIHNwZWVjaCByZWNvZ25pdGlvbiBhbmQgYXVkaW8gcmVjb3JkaW5nLgotICAgIHZpcnR1YWwg
Ym9vbCBzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbGFuZ3Vh
Z2UsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0KSA9IDA7CisgICAgdmlydHVhbCBib29sIHN0
YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3Qp
ID0gMDsKIAogICAgIC8vIFN0b3BzIGF1ZGlvIHJlY29yZGluZyBhbmQgcGVyZm9ybXMgcmVjb2du
aXRpb24gd2l0aCB0aGUgYXVkaW8gcmVjb3JkZWQgdW50aWwgbm93CiAgICAgLy8gKGRvZXMgbm90
IGRpc2NhcmQgYXVkaW8pLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1NwZWVj
aElucHV0Q2xpZW50TW9jay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRD
bGllbnRNb2NrLmNwcAppbmRleCBjMDQ5NzFlMGE5NDM4NTVhOGNmY2QxZDFjMjQ1NjMyYmE4MjFi
MTBhLi42YjY0OTQyZjE3YjkyNWI0OWVmMDkyMTQ3YzBhMTZhMDdmMGQ3Y2NjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmNwcApAQCAtMzUsMTEg
KzM1LDYgQEAKIAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKIAotbmFtZXNwYWNl
IHsKLSAgICAvLyBIYXNoTWFwIGRvZXNuJ3Qgc3VwcG9ydCBlbXB0eSBzdHJpbmdzIGFzIGtleXMs
IHNvIHRoaXMgdmFsdWUgKGFuIGludmFsaWQgQkNQNDcgdGFnKSBpcyB1c2VkIGZvciB0aG9zZSBj
YXNlcy4KLSAgICBjb25zdCBTdHJpbmcgZW1wdHlMYW5ndWFnZSA9ICJfIjsKLX0KLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBTcGVlY2hJbnB1dENsaWVudE1vY2s6OlNwZWVjaElucHV0Q2xpZW50
TW9jaygpCkBAIC01NSwxMyArNTAsMTIgQEAgdm9pZCBTcGVlY2hJbnB1dENsaWVudE1vY2s6OnNl
dExpc3RlbmVyKFNwZWVjaElucHV0TGlzdGVuZXIqIGxpc3RlbmVyKQogICAgIG1fbGlzdGVuZXIg
PSBsaXN0ZW5lcjsKIH0KIAotYm9vbCBTcGVlY2hJbnB1dENsaWVudE1vY2s6OnN0YXJ0UmVjb2du
aXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgSW50UmVj
dCYpCitib29sIFNwZWVjaElucHV0Q2xpZW50TW9jazo6c3RhcnRSZWNvZ25pdGlvbihpbnQgcmVx
dWVzdElkLCBjb25zdCBJbnRSZWN0JikKIHsKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgbV9yZXF1ZXN0SWQgPSByZXF1ZXN0SWQ7CiAgICAg
bV9yZWNvcmRpbmcgPSB0cnVlOwotICAgIG1fbGFuZ3VhZ2UgPSBsYW5ndWFnZTsKICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTg2LDEyICs4MCw5
IEBAIHZvaWQgU3BlZWNoSW5wdXRDbGllbnRNb2NrOjpjYW5jZWxSZWNvZ25pdGlvbihpbnQgcmVx
dWVzdElkKQogICAgIH0KIH0KIAotdm9pZCBTcGVlY2hJbnB1dENsaWVudE1vY2s6OnNldFJlY29n
bml0aW9uUmVzdWx0KGNvbnN0IFN0cmluZyYgcmVzdWx0LCBjb25zdCBTdHJpbmcmIGxhbmd1YWdl
KQordm9pZCBTcGVlY2hJbnB1dENsaWVudE1vY2s6OnNldFJlY29nbml0aW9uUmVzdWx0KGNvbnN0
IFN0cmluZyYgcmVzdWx0KQogewotICAgIGlmIChsYW5ndWFnZS5pc0VtcHR5KCkpCi0gICAgICAg
IG1fcmVjb2duaXRpb25SZXN1bHQuc2V0KGVtcHR5TGFuZ3VhZ2UsIHJlc3VsdCk7Ci0gICAgZWxz
ZQotICAgICAgICBtX3JlY29nbml0aW9uUmVzdWx0LnNldChsYW5ndWFnZSwgcmVzdWx0KTsKKyAg
ICBtX3JlY29nbml0aW9uUmVzdWx0ID0gcmVzdWx0OwogfQogCiB2b2lkIFNwZWVjaElucHV0Q2xp
ZW50TW9jazo6dGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxTcGVlY2hJbnB1dENsaWVudE1vY2s+
KikKQEAgLTEwMSwxNyArOTIsNyBAQCB2b2lkIFNwZWVjaElucHV0Q2xpZW50TW9jazo6dGltZXJG
aXJlZChXZWJDb3JlOjpUaW1lcjxTcGVlY2hJbnB1dENsaWVudE1vY2s+KikKICAgICAgICAgbV9s
aXN0ZW5lci0+ZGlkQ29tcGxldGVSZWNvcmRpbmcobV9yZXF1ZXN0SWQpOwogICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICB9IGVsc2UgewotICAgICAgICBTdHJpbmcgbGFuZ3Vh
Z2UgPSBtX2xhbmd1YWdlLmlzRW1wdHkoKSA/IFN0cmluZyhlbXB0eUxhbmd1YWdlKSA6IG1fbGFu
Z3VhZ2U7Ci0gICAgICAgIGlmICghbV9yZWNvZ25pdGlvblJlc3VsdC5jb250YWlucyhsYW5ndWFn
ZSkpIHsKLSAgICAgICAgICAgIC8vIENhbid0IGF2b2lkIHNldHRpbmcgYSByZXN1bHQgb24gZW1w
dHkgb3IgaW52YWxpZCBsYW5ndWFnZSBzdHJpbmdzLgotICAgICAgICAgICAgLy8gVGhpcyB3b3Vs
ZCBhdm9pZCBnZW5lcmF0aW5nIHRoZSBldmVudHMgdXNlZCB0byBjaGVjayB0aGUgcmVzdWx0cyBh
bmQgdGhlIHRlc3Qgd291bGQgdGltZW91dC4KLSAgICAgICAgICAgIFN0cmluZyBlcnJvcigiZXJy
b3I6IG5vIHJlc3VsdCBmb3VuZCBmb3IgbGFuZ3VhZ2UgJyIpOwotICAgICAgICAgICAgZXJyb3Iu
YXBwZW5kKG1fbGFuZ3VhZ2UpOwotICAgICAgICAgICAgZXJyb3IuYXBwZW5kKCInIik7Ci0gICAg
ICAgICAgICBtX2xpc3RlbmVyLT5zZXRSZWNvZ25pdGlvblJlc3VsdChtX3JlcXVlc3RJZCwgZXJy
b3IpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1fbGlzdGVuZXItPnNldFJlY29nbml0
aW9uUmVzdWx0KG1fcmVxdWVzdElkLCBtX3JlY29nbml0aW9uUmVzdWx0LmdldChsYW5ndWFnZSkp
OwotCisgICAgICAgIG1fbGlzdGVuZXItPnNldFJlY29nbml0aW9uUmVzdWx0KG1fcmVxdWVzdElk
LCBtX3JlY29nbml0aW9uUmVzdWx0KTsKICAgICAgICAgbV9saXN0ZW5lci0+ZGlkQ29tcGxldGVS
ZWNvZ25pdGlvbihtX3JlcXVlc3RJZCk7CiAgICAgICAgIG1fcmVxdWVzdElkID0gMDsKICAgICB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2Nr
LmggYi9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmgKaW5kZXgg
M2NlOTg3YjgyM2NkMTk4MDI4NjY5Yzc3OWYzYzQ3OWM0NzNjYjdlZC4uY2U4M2QzYmI5Y2I4OGIw
YTNhOTViNTQ5NTQyN2QyOTkxZjJlMGI0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9T
cGVlY2hJbnB1dENsaWVudE1vY2suaApAQCAtMzQsOCArMzQsNiBAQAogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKIApAQCAtNDgsMTEgKzQ2LDEx
IEBAIGNsYXNzIFNwZWVjaElucHV0Q2xpZW50TW9jayA6IHB1YmxpYyBTcGVlY2hJbnB1dENsaWVu
dCB7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXRDbGllbnRNb2NrKCk7CiAKLSAgICB2b2lkIHNl
dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFN0cmluZyYgcmVzdWx0LCBjb25zdCBTdHJpbmcmIGxh
bmd1YWdlKTsKKyAgICB2b2lkIHNldFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IFN0cmluZyYgcmVz
dWx0KTsKIAogICAgIC8vIFNwZWVjaElucHV0Q2xpZW50IG1ldGhvZHMuCiAgICAgdm9pZCBzZXRM
aXN0ZW5lcihTcGVlY2hJbnB1dExpc3RlbmVyKik7Ci0gICAgYm9vbCBzdGFydFJlY29nbml0aW9u
KGludCwgY29uc3QgU3RyaW5nJiwgY29uc3QgSW50UmVjdCYpOworICAgIGJvb2wgc3RhcnRSZWNv
Z25pdGlvbihpbnQsIGNvbnN0IEludFJlY3QmKTsKICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoaW50
KTsKICAgICB2b2lkIGNhbmNlbFJlY29nbml0aW9uKGludCk7CiAKQEAgLTYzLDkgKzYxLDcgQEAg
cHJpdmF0ZToKICAgICBUaW1lcjxTcGVlY2hJbnB1dENsaWVudE1vY2s+IG1fdGltZXI7CiAgICAg
U3BlZWNoSW5wdXRMaXN0ZW5lciogbV9saXN0ZW5lcjsKICAgICBpbnQgbV9yZXF1ZXN0SWQ7Ci0K
LSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3JlY29nbml0aW9uUmVzdWx0OwotICAgIFN0
cmluZyBtX2xhbmd1YWdlOworICAgIFN0cmluZyBtX3JlY29nbml0aW9uUmVzdWx0OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9s
SW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNjVkMGE2NDYwOWQyMDM0YjEwOTk1MDNkMTY5MTUxYWJl
NjZkYWEzZS4uNWQ1YjhiMzBiNDExMDUyMGQxYTRkZTdiOGE3OWM0ODVkNzkzNjYwOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0yMSw5
ICsyMSw5IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCi0KKyAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIKIApAQCAtMTA3LDE4ICsxMDcs
MTggQEAgdm9pZCBUZXh0Q29udHJvbElubmVyRWxlbWVudDo6YXR0YWNoSW5uZXJFbGVtZW50KE5v
ZGUqIHBhcmVudCwgUGFzc1JlZlB0cjxSZW5kZXIKICAgICAgICAgc2V0UmVuZGVyZXIocmVuZGVy
ZXIpOwogICAgICAgICByZW5kZXJlci0+c2V0U3R5bGUoc3R5bGUpOwogICAgIH0KLQorICAgIAog
ICAgIC8vIFNldCB0aGVzZSBleHBsaWNpdGx5IHNpbmNlIHRoaXMgbm9ybWFsbHkgaGFwcGVucyBk
dXJpbmcgYW4gYXR0YWNoKCkKICAgICBzZXRBdHRhY2hlZCgpOwogICAgIHNldEluRG9jdW1lbnQo
KTsKLQorICAgIAogICAgIC8vIEZvciBlbGVtZW50cyB3aXRob3V0IGEgc2hhZG93IHBhcmVudCwg
YWRkIHRoZSBub2RlIHRvIHRoZSBET00gbm9ybWFsbHkuCiAgICAgaWYgKCFtX3NoYWRvd1BhcmVu
dCkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBjb2RlIHNlZW1zIHZlcnkgd3JvbmcuICBXaHkg
YXJlIHdlIG1hZ2ljYWxseSBhZGRpbmcgfHRoaXN8IHRvIHRoZSBET00gaGVyZT8KICAgICAgICAg
Ly8gICAgICAgIFdlIHNob3VsZG4ndCBiZSBjYWxsaW5nIHBhcnNlciBBUEkgbWV0aG9kcyBvdXRz
aWRlIG9mIHRoZSBwYXJzZXIhCiAgICAgICAgIHBhcmVudC0+ZGVwcmVjYXRlZFBhcnNlckFkZENo
aWxkKHRoaXMpOwogICAgIH0KLQorIAogICAgIC8vIEFkZCB0aGUgcmVuZGVyZXIgdG8gdGhlIHJl
bmRlciB0cmVlCiAgICAgaWYgKHJlbmRlcmVyKQogICAgICAgICBwYXJlbnQtPnJlbmRlcmVyKCkt
PmFkZENoaWxkKHJlbmRlcmVyKTsKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFNlYXJjaEZpZWxk
Q2FuY2VsQnV0dG9uRWxlbWVudDo6ZGV0YWNoKCkKIHsKICAgICBpZiAobV9jYXB0dXJpbmcpIHsK
ICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgw
KTsKKyAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VF
dmVudHNOb2RlKDApOyAgICAgIAogICAgIH0KICAgICBUZXh0Q29udHJvbElubmVyRWxlbWVudDo6
ZGV0YWNoKCk7CiB9CkBAIC0yODEsOSArMjgxLDkgQEAgdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgaWYgKCFib3gpIHsKICAgICAg
ICAgaWYgKCFldmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKICAgICAgICAgICAgIEhUTUxEaXZFbGVt
ZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm47ICAgICAgICAKICAgICB9Ci0KKyAgICAKICAgICBIVE1MSW5wdXRFbGVtZW50KiBp
bnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dBbmNlc3Rvck5vZGUo
KSk7CiAgICAgaWYgKGlucHV0LT5kaXNhYmxlZCgpIHx8IGlucHV0LT5pc1JlYWRPbmx5Rm9ybUNv
bnRyb2woKSkgewogICAgICAgICBpZiAoIWV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQpAQCAtNDMx
LDcgKzQzMSw3IEBAIHZvaWQgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5jbGlja0V2ZW50KSB7CiAgICAgICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAgICAg
ICBjYXNlIElkbGU6Ci0gICAgICAgICAgICBpZiAoc3BlZWNoSW5wdXQoKS0+c3RhcnRSZWNvZ25p
dGlvbihtX2xpc3RlbmVySWQsIGlucHV0LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKSwgaW5w
dXQtPnJlbmRlcmVyKCktPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkpKQorICAgICAgICAgICAg
aWYgKHNwZWVjaElucHV0KCktPnN0YXJ0UmVjb2duaXRpb24obV9saXN0ZW5lcklkLCBpbnB1dC0+
cmVuZGVyZXIoKS0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKSkpCiAgICAgICAgICAgICAgICAg
c2V0U3RhdGUoUmVjb3JkaW5nKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJl
Y29yZGluZzoKQEAgLTQ4Nyw3ICs0ODcsNyBAQCB2b2lkIElucHV0RmllbGRTcGVlY2hCdXR0b25F
bGVtZW50OjpkZXRhY2goKQogewogICAgIGlmIChtX2NhcHR1cmluZykgewogICAgICAgICBpZiAo
RnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKLSAgICAgICAgICAgIGZyYW1lLT5l
dmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOworICAgICAgICAg
ICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoMCk7
ICAgICAgCiAgICAgfQogCiAgICAgaWYgKG1fc3RhdGUgIT0gSWRsZSkKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY2N2EzNzQ3MTc5NDNlZGQwNDRlOGIzMjY1MzNmMGU5MWNjYzY5NDguLjVjN2MyNWYxZDE0MTNj
YzAzNjA5NTNlODZkMjkyMTIyOGViNzAzNTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBA
CisyMDEwLTEwLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzAzMDEuCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzcwMzAxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODEyNgorCisgICAgICAgICJMYW5nIGF0dHJpYnV0
ZSBsYXlvdXQgdGVzdHMgZmFpbGluZyIgKFJlcXVlc3RlZCBieSBzYXRpc2ggb24KKyAgICAgICAg
I3dlYmtpdCkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyLmg6
CisgICAgICAgIChXZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxlcjo6c3RhcnRSZWNvZ25p
dGlvbik6CisgICAgICAgICogcHVibGljL1dlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2suaDoK
KyAgICAgICAgKiBzcmMvU3BlZWNoSW5wdXRDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3BlZWNoSW5wdXRDbGllbnRJbXBsOjpzdGFydFJlY29nbml0aW9uKToKKyAgICAgICAgKiBz
cmMvU3BlZWNoSW5wdXRDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlNwZWVjaElucHV0
Q29udHJvbGxlck1vY2tJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU3BlZWNoSW5wdXRD
b250cm9sbGVyTW9ja0ltcGw6OnNldE1vY2tSZWNvZ25pdGlvblJlc3VsdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBsOjpzdGFydFJlY29nbml0aW9u
KToKKyAgICAgICAgKiBzcmMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaDoKKyAg
ICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1w
bDo6V2ViVmlld0ltcGwpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEwLTEw
LTIyICBMZWFuZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyLmgKaW5kZXggMWZkZTJhOGU3NzRmMzJlNThm
ODg3MmYyNDgyMjIzMDU5Yzg4YzE0Ny4uNTQwODc0MWEzYzk0ZDNiZjFjNTQzZDk2ZTlmYzE2YTYz
OTBkYjAyZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTcGVlY2hJbnB1
dENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNwZWVjaElucHV0
Q29udHJvbGxlci5oCkBAIC0zNSw3ICszNSw2IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1j
bGFzcyBXZWJTdHJpbmc7CiBzdHJ1Y3QgV2ViUmVjdDsKIAogLy8gUHJvdmlkZXMgYW4gZW1iZWRk
ZXIgQVBJIGNhbGxlZCBieSBXZWJLaXQuCkBAIC00NCw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICAv
LyBTdGFydHMgc3BlZWNoIHJlY29nbml0aW9uLiBTcGVlY2ggd2lsbCBnZXQgcmVjb3JkZWQgdW50
aWwgdGhlIGVuZHBvaW50ZXIgZGV0ZWN0cyBzaWxlbmNlLAogICAgIC8vIHJ1bnMgdG8gdGhlIGxp
bWl0IG9yIHN0b3BSZWNvcmRpbmcgaXMgY2FsbGVkLiBQcm9ncmVzcyBpbmRpY2F0aW9ucyBhbmQg
dGhlIHJlY29nbml6ZWQKICAgICAvLyB0ZXh0IGFyZSByZXR1cm5lZCB2aWEgdGhlIGxpc3RlbmVy
IGludGVyZmFjZS4KLSAgICB2aXJ0dWFsIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVz
dElkLCBjb25zdCBXZWJTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBXZWJSZWN0JiBlbGVtZW50UmVj
dCkKKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25z
dCBXZWJSZWN0JikKICAgICB7CiAgICAgICAgIFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrLmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2suaAppbmRleCBiNGM1MGEwNWRjZjVhMTJmODQx
YmY5YjY3NTVjZDI4ODE3ZjhjMDhiLi45YTI2MjM1ZmY2ZDVkY2NiYmUyNDcyNjJhZTQ0YTNhYzcz
OTdjM2Y0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNwZWVjaElucHV0
Q29udHJvbGxlck1vY2suaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNwZWVjaElu
cHV0Q29udHJvbGxlck1vY2suaApAQCAtNDQsMTAgKzQ0LDYgQEAgcHVibGljOgogICAgICAgICBX
ZWJTcGVlY2hJbnB1dExpc3RlbmVyKiBsaXN0ZW5lcik7CiAgICAgdmlydHVhbCB+V2ViU3BlZWNo
SW5wdXRDb250cm9sbGVyTW9jaygpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHNldE1vY2tSZWNv
Z25pdGlvblJlc3VsdChjb25zdCBXZWJTdHJpbmcmIHJlc3VsdCwgY29uc3QgV2ViU3RyaW5nJiBs
YW5ndWFnZSkgPSAwOwotCi0gICAgLy8gRklYTUU6IHRoaXMgaXMgYSBmaXggZm9yIGEgdHdvLXNp
ZGVkIHBhdGNoLiBEZWxldGUgYXMgc29vbiBhcyB0aGUgY2hyb21pdW0gc2lkZSBpcyBwYXRjaGVk
LgotICAgIC8vIENocm9taXVtIHBhdGNoIG5vdCB1cGxvYWRlZCB5ZXQsIGJ1dCB3aWxsIGRlcGVu
ZCBvbiBodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvMzYxNTAwNS9zaG93IHBhdGNoLgog
ICAgIHZpcnR1YWwgdm9pZCBzZXRNb2NrUmVjb2duaXRpb25SZXN1bHQoY29uc3QgV2ViU3RyaW5n
JiByZXN1bHQpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvU3Bl
ZWNoSW5wdXRDbGllbnRJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoSW5wdXRD
bGllbnRJbXBsLmNwcAppbmRleCAxMzgxOTI5NjNiNTQzMDVjNmEzODNhNTJlYzIzOGNhMGM1YjEw
NGNmLi45NjNkNDQwNWE2MmQzMmUxYThjZWNkNTRjMDhjNWJiZWIzYTYyZGNhIDEwMDY0NAotLS0g
YS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaElucHV0Q2xpZW50SW1wbC5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuY3BwCkBAIC0zMiwyMSArMzIs
MTUgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudEltcGwuaCIKIAogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIldlYlNwZWVjaElucHV0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgog
I2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgInBhZ2UvU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogCiAjaWYgRU5BQkxFKElOUFVU
X1NQRUVDSCkKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NPd25QdHI8U3BlZWNoSW5wdXRD
bGllbnRJbXBsPiBTcGVlY2hJbnB1dENsaWVudEltcGw6OmNyZWF0ZShXZWJWaWV3Q2xpZW50KiBj
bGllbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTcGVlY2hJbnB1dENsaWVudEltcGwo
Y2xpZW50KSk7Ci19Ci0KIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6U3BlZWNoSW5wdXRDbGllbnRJ
bXBsKFdlYlZpZXdDbGllbnQqIHdlYl92aWV3X2NsaWVudCkKICAgICA6IG1fY29udHJvbGxlcih3
ZWJfdmlld19jbGllbnQgPyB3ZWJfdmlld19jbGllbnQtPnNwZWVjaElucHV0Q29udHJvbGxlcih0
aGlzKSA6IDApCiAgICAgLCBtX2xpc3RlbmVyKDApCkBAIC02MiwxMCArNTYsMTAgQEAgdm9pZCBT
cGVlY2hJbnB1dENsaWVudEltcGw6OnNldExpc3RlbmVyKFdlYkNvcmU6OlNwZWVjaElucHV0TGlz
dGVuZXIqIGxpc3RlbmVyKQogICAgIG1fbGlzdGVuZXIgPSBsaXN0ZW5lcjsKIH0KIAotYm9vbCBT
cGVlY2hJbnB1dENsaWVudEltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29u
c3QgU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3Qp
Citib29sIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6c3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVz
dElkLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCkKIHsKICAgICBBU1NFUlQo
bV9saXN0ZW5lcik7Ci0gICAgcmV0dXJuIG1fY29udHJvbGxlci0+c3RhcnRSZWNvZ25pdGlvbihy
ZXF1ZXN0SWQsIGxhbmd1YWdlLCBlbGVtZW50UmVjdCk7CisgICAgcmV0dXJuIG1fY29udHJvbGxl
ci0+c3RhcnRSZWNvZ25pdGlvbihyZXF1ZXN0SWQsIGVsZW1lbnRSZWN0KTsKIH0KIAogdm9pZCBT
cGVlY2hJbnB1dENsaWVudEltcGw6OnN0b3BSZWNvcmRpbmcoaW50IHJlcXVlc3RJZCkKZGlmZiAt
LWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoSW5wdXRDbGllbnRJbXBsLmggYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1NwZWVjaElucHV0Q2xpZW50SW1wbC5oCmluZGV4IGM3ZDFmYTNhNmM1
ODU1NzdmYzk0NTJjNGRiY2Q1ZTg3MGZjODdhM2EuLjgxN2IzMmIxMjQxNGIzYTA3ZGZhM2FlMzUx
OTA4N2RlYTVhMGY3MzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoSW5w
dXRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVu
dEltcGwuaApAQCAtMzMsMTUgKzMzLDggQEAKIAogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCiAK
LSNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudC5oIgogI2luY2x1ZGUgIldlYlNwZWVjaElucHV0
TGlzdGVuZXIuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV1RGIHsKLWNs
YXNzIFN0cmluZzsKLX0KKyNpbmNsdWRlICJwYWdlL1NwZWVjaElucHV0Q2xpZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CkBAIC01NiwxMiAr
NDksMTIgQEAgY2xhc3MgU3BlZWNoSW5wdXRDbGllbnRJbXBsCiAgICAgOiBwdWJsaWMgV2ViQ29y
ZTo6U3BlZWNoSW5wdXRDbGllbnQsCiAgICAgICBwdWJsaWMgV2ViU3BlZWNoSW5wdXRMaXN0ZW5l
ciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U3BlZWNoSW5wdXRDbGllbnRJbXBs
PiBjcmVhdGUoV2ViVmlld0NsaWVudCopOworICAgIFNwZWVjaElucHV0Q2xpZW50SW1wbChXZWJW
aWV3Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNoSW5wdXRDbGllbnRJbXBsKCk7CiAKICAg
ICAvLyBTcGVlY2hJbnB1dENsaWVudCBtZXRob2RzLgogICAgIHZvaWQgc2V0TGlzdGVuZXIoV2Vi
Q29yZTo6U3BlZWNoSW5wdXRMaXN0ZW5lciopOwotICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihp
bnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICBib29sIHN0
YXJ0UmVjb2duaXRpb24oaW50LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCBz
dG9wUmVjb3JkaW5nKGludCk7CiAgICAgdm9pZCBjYW5jZWxSZWNvZ25pdGlvbihpbnQpOwogCkBA
IC03MSw4ICs2NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENvbXBsZXRlUmVjb2duaXRpb24o
aW50KTsKIAogcHJpdmF0ZToKLSAgICBTcGVlY2hJbnB1dENsaWVudEltcGwoV2ViVmlld0NsaWVu
dCopOwotCiAgICAgV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyKiBtX2NvbnRyb2xsZXI7IC8vIFRv
IGNhbGwgaW50byB0aGUgZW1iZWRkZXIuCiAgICAgV2ViQ29yZTo6U3BlZWNoSW5wdXRMaXN0ZW5l
ciogbV9saXN0ZW5lcjsKIH07CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNw
ZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuY3BwCmluZGV4IDQ1YzZmZjA4NjJmMDI0ZmMx
ODA1NzMzYzE2YTkzMzA1NzM3YWMzOTMuLjYwYzRmZWQ4NTJiMjg0ZTAyNzFhZDAwZWQ5NzEwMDJh
MmY1N2E0YjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3BlZWNoSW5wdXRD
b250cm9sbGVyTW9ja0ltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3BlZWNo
SW5wdXRDb250cm9sbGVyTW9ja0ltcGwuY3BwCkBAIC01NywxMiArNTcsNyBAQCBXZWJTcGVlY2hJ
bnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6fldlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBs
KCkKIAogdm9pZCBXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6c2V0TW9ja1JlY29n
bml0aW9uUmVzdWx0KGNvbnN0IFdlYlN0cmluZyYgcmVzdWx0KQogewotICAgIG1fd2ViY29yZU1v
Y2stPnNldFJlY29nbml0aW9uUmVzdWx0KHJlc3VsdCwgV2ViU3RyaW5nOjpmcm9tVVRGOCgiIikp
OwotfQotCi12b2lkIFdlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBsOjpzZXRNb2NrUmVj
b2duaXRpb25SZXN1bHQoY29uc3QgV2ViU3RyaW5nJiByZXN1bHQsIGNvbnN0IFdlYlN0cmluZyAm
bGFuZ3VhZ2UpCi17Ci0gICAgbV93ZWJjb3JlTW9jay0+c2V0UmVjb2duaXRpb25SZXN1bHQocmVz
dWx0LCBsYW5ndWFnZSk7CisgICAgbV93ZWJjb3JlTW9jay0+c2V0UmVjb2duaXRpb25SZXN1bHQo
cmVzdWx0KTsKIH0KIAogdm9pZCBXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6ZGlk
Q29tcGxldGVSZWNvcmRpbmcoaW50IHJlcXVlc3RJZCkKQEAgLTgwLDkgKzc1LDkgQEAgdm9pZCBX
ZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6c2V0UmVjb2duaXRpb25SZXN1bHQoaW50
IHJlcXVlc3RJZCwgY29uc3QKICAgICBtX2xpc3RlbmVyLT5zZXRSZWNvZ25pdGlvblJlc3VsdChy
ZXF1ZXN0SWQsIHJlc3VsdCk7CiB9CiAKLWJvb2wgV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9j
a0ltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QpCitib29sIFdlYlNwZWVjaElucHV0
Q29udHJvbGxlck1vY2tJbXBsOjpzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0
IFdlYlJlY3QmIGVsZW1lbnRSZWN0KQogewotICAgIHJldHVybiBtX3dlYmNvcmVNb2NrLT5zdGFy
dFJlY29nbml0aW9uKHJlcXVlc3RJZCwgbGFuZ3VhZ2UsIGVsZW1lbnRSZWN0KTsKKyAgICByZXR1
cm4gbV93ZWJjb3JlTW9jay0+c3RhcnRSZWNvZ25pdGlvbihyZXF1ZXN0SWQsIGVsZW1lbnRSZWN0
KTsKIH0KIAogdm9pZCBXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6Y2FuY2VsUmVj
b2duaXRpb24oaW50IHJlcXVlc3RJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaAppbmRleCAxYjMwNTNiZjA5Mjc1M2Vm
NzkyOTNkZGNhMTJlODQzNTIwNmJkYmMwLi5lZGJmY2EzZWU2MGU5Mzk0Mjg5M2UyNzIxODkzZTQz
YTBlYjg3YzVmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNwZWVjaElucHV0
Q29udHJvbGxlck1vY2tJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJ
bnB1dENvbnRyb2xsZXJNb2NrSW1wbC5oCkBAIC0zNywxMCArMzcsNiBAQAogI2luY2x1ZGUgIldl
YlN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotbmFtZXNwYWNlIFdURiB7Ci1j
bGFzcyBTdHJpbmc7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNwZWVjaElucHV0
Q2xpZW50TW9jazsKIH0KQEAgLTYxLDE1ICs1NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRS
ZWNvZ25pdGlvblJlc3VsdChpbnQgcmVxdWVzdElkLCBjb25zdCBXVEY6OlN0cmluZyYgcmVzdWx0
KTsKIAogICAgIC8vIFdlYlNwZWVjaElucHV0Q29udHJvbGxlciBtZXRob2RzLgotICAgIGJvb2wg
c3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBXZWJTdHJpbmcmIGxhbmd1YWdl
LCBjb25zdCBXZWJSZWN0JiBlbGVtZW50UmVjdCk7CisgICAgYm9vbCBzdGFydFJlY29nbml0aW9u
KGludCByZXF1ZXN0SWQsIGNvbnN0IFdlYlJlY3QmIGVsZW1lbnRSZWN0KTsKICAgICB2b2lkIGNh
bmNlbFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQpOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhp
bnQgcmVxdWVzdElkKTsKIAogICAgIC8vIFdlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2sgbWV0
aG9kcy4KLSAgICB2b2lkIHNldE1vY2tSZWNvZ25pdGlvblJlc3VsdChjb25zdCBXZWJTdHJpbmcm
IHJlc3VsdCwgY29uc3QgV2ViU3RyaW5nJiBsYW5ndWFnZSk7Ci0KLSAgICAvLyBGSVhNRTogdGhp
cyBpcyBhIGZpeCBmb3IgYSB0d28tc2lkZWQgcGF0Y2guIERlbGV0ZSBhcyBzb29uIGFzIHRoZSBj
aHJvbWl1bSBzaWRlIGlzIHBhdGNoZWQuCi0gICAgLy8gQ2hyb21pdW0gcGF0Y2ggbm90IHVwbG9h
ZGVkIHlldCwgYnV0IHdpbGwgZGVwZW5kIG9uIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9y
Zy8zNjE1MDA1L3Nob3cgcGF0Y2guCiAgICAgdm9pZCBzZXRNb2NrUmVjb2duaXRpb25SZXN1bHQo
Y29uc3QgV2ViU3RyaW5nJiByZXN1bHQpOwogCiBwcml2YXRlOgpAQCAtODAsMyArNzIsNCBAQCBw
cml2YXRlOgogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBXZWJTcGVlY2hJbnB1
dENvbnRyb2xsZXJNb2NrSW1wbF9oCisKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5k
ZXggN2ZjOWVmNzYwNDcwYjM2NTJmM2EzN2JkMjgzYWQxMzZiODk1ZGJhNy4uOTI5ZjkxYWJmNDQw
MTFlNTBkMzM1MjQxZjU2MWI4NjdhZjg4YzRmZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKQEAgLTg4LDcgKzg4LDYgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2lu
Y2x1ZGUgIlNwZWVjaElucHV0Q2xpZW50SW1wbC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSAiVHlwaW5nQ29tbWFuZC5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgi
CkBAIC0yODMsNyArMjgyLDcgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGll
bnQqIGNsaWVudCwgV2ViRGV2VG9vbHNBZ2VudENsaWVudCogZGV2VG9vbHMKICAgICAsIG1fY29t
cG9zaXRvckNyZWF0aW9uRmFpbGVkKGZhbHNlKQogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQ
RUVDSCkKLSAgICAsIG1fc3BlZWNoSW5wdXRDbGllbnQoU3BlZWNoSW5wdXRDbGllbnRJbXBsOjpj
cmVhdGUoY2xpZW50KSkKKyAgICAsIG1fc3BlZWNoSW5wdXRDbGllbnQoY2xpZW50KQogI2VuZGlm
CiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkobmV3IERldmljZU9yaWVudGF0
aW9uQ2xpZW50UHJveHkoY2xpZW50ID8gY2xpZW50LT5kZXZpY2VPcmllbnRhdGlvbkNsaWVudCgp
IDogMCkpCiB7CkBAIC0zMDYsNyArMzA1LDcgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdl
YlZpZXdDbGllbnQqIGNsaWVudCwgV2ViRGV2VG9vbHNBZ2VudENsaWVudCogZGV2VG9vbHMKICAg
ICBwYWdlQ2xpZW50cy5kcmFnQ2xpZW50ID0gJm1fZHJhZ0NsaWVudEltcGw7CiAgICAgcGFnZUNs
aWVudHMuaW5zcGVjdG9yQ2xpZW50ID0gJm1faW5zcGVjdG9yQ2xpZW50SW1wbDsKICNpZiBFTkFC
TEUoSU5QVVRfU1BFRUNIKQotICAgIHBhZ2VDbGllbnRzLnNwZWVjaElucHV0Q2xpZW50ID0gbV9z
cGVlY2hJbnB1dENsaWVudC5nZXQoKTsKKyAgICBwYWdlQ2xpZW50cy5zcGVlY2hJbnB1dENsaWVu
dCA9ICZtX3NwZWVjaElucHV0Q2xpZW50OwogI2VuZGlmCiAgICAgcGFnZUNsaWVudHMuZGV2aWNl
T3JpZW50YXRpb25DbGllbnQgPSBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuZ2V0KCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCAwNTA5ZDA1MGRiYTFhMTUwNTExOGU0
NDc2N2JkNzRmMzgwYzE0NGRkLi44NDEwZWJkNDg1MjMwYzBlYWUxNWE1ZmExYTVjYWNjNmU4OGNk
NDExIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC00OSw2ICs0OSw3IEBACiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxheWVyUmVuZGVyZXJDaHJvbWl1bS5oIgogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKKyNpbmNsdWRlICJTcGVlY2hJbnB1
dENsaWVudEltcGwuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KIApAQCAtNzMsNyArNzQsNiBAQCBjbGFzcyBBdXRvRmlsbFBvcHVwTWVudUNs
aWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50SW1wbDsKIGNsYXNzIERldmljZU9yaWVudGF0
aW9uQ2xpZW50UHJveHk7CiBjbGFzcyBEcmFnU2Nyb2xsVGltZXI7Ci1jbGFzcyBTcGVlY2hJbnB1
dENsaWVudEltcGw7CiBjbGFzcyBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OwogY2xhc3MgV2ViRGV2
VG9vbHNBZ2VudENsaWVudDsKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnRQcml2YXRlOwpAQCAtNTQ3
LDcgKzU0Nyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IFdlYklucHV0RXZlbnQqIG1f
Y3VycmVudElucHV0RXZlbnQ7CiAKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQotICAgIE93blB0
cjxTcGVlY2hJbnB1dENsaWVudEltcGw+IG1fc3BlZWNoSW5wdXRDbGllbnQ7CisgICAgU3BlZWNo
SW5wdXRDbGllbnRJbXBsIG1fc3BlZWNoSW5wdXRDbGllbnQ7CiAjZW5kaWYKICAgICAvLyBJZiB3
ZSBhdHRlbXB0IHRvIGZldGNoIHRoZSBvbi1zY3JlZW4gR3JhcGhpY3NDb250ZXh0M0QgYmVmb3Jl
CiAgICAgLy8gdGhlIGNvbXBvc2l0b3IgaGFzIGJlZW4gdHVybmVkIG9uLCB3ZSBuZWVkIHRvIGlu
c3RhbnRpYXRlIGl0CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKaW5kZXggZGVhZTgyZDViYzg5ZjY3M2I1NGNlOTMyZWRhMjdjZGY5OTZk
YTkyNy4uYTkxZmU4NWVhMzMyNzdhM2EwYjY5NGI3NWNkYzZjYmU3ZDdlYzc4YiAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI5IEBACisyMDEwLTEwLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzAzMDEuCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzcwMzAxCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODEyNgorCisgICAgICAgICJM
YW5nIGF0dHJpYnV0ZSBsYXlvdXQgdGVzdHMgZmFpbGluZyIgKFJlcXVlc3RlZCBieSBzYXRpc2gg
b24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChzZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHRDYWxs
YmFjayk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja1NwZWVjaElucHV0UmVz
dWx0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJH
dGsuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tTcGVlY2hJbnB1
dFJlc3VsdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9s
bGVyTWFjLm1tOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tTcGVlY2hJ
bnB1dFJlc3VsdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja1NwZWVj
aElucHV0UmVzdWx0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250
cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrU3Bl
ZWNoSW5wdXRSZXN1bHQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RD
b250cm9sbGVyV3guY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tT
cGVlY2hJbnB1dFJlc3VsdCk6CisKIDIwMTAtMTAtMjIgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxl
YW5kcm9ncmFjaWFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKZXJlbXkgT3Js
b3cuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggZGI0NzBjODYyMmMwM2RiYTRhZDg5MDE3YjBlYzkyOGJiZDRhMzdjMS4u
YjVjYzg3NDIxNWI0MGY1OTA3NTVhNDA0N2ViZGQ1ZDlmOGVkNjI3OSAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTA3
MCwxNyArMTA3MCwxNCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRNb2NrR2VvbG9jYXRpb25FcnJv
ckNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdAogCiBzdGF0aWMgSlNWYWx1
ZVJlZiBzZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBh
cmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCiB7Ci0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAyKQorICAgIGlmIChhcmd1bWVu
dENvdW50IDwgMSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQp
OwogCiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHJlc3VsdChBZG9wdCwgSlNWYWx1ZVRv
U3RyaW5nQ29weShjb250ZXh0LCBhcmd1bWVudHNbMF0sIGV4Y2VwdGlvbikpOwogICAgIEFTU0VS
VCghKmV4Y2VwdGlvbik7CiAKLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGFuZ3VhZ2Uo
QWRvcHQsIEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgYXJndW1lbnRzWzFdLCBleGNlcHRp
b24pKTsKLSAgICBBU1NFUlQoISpleGNlcHRpb24pOwotCiAgICAgTGF5b3V0VGVzdENvbnRyb2xs
ZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2Jq
ZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0TW9ja1NwZWVj
aElucHV0UmVzdWx0KHJlc3VsdC5nZXQoKSwgbGFuZ3VhZ2UuZ2V0KCkpOworICAgIGNvbnRyb2xs
ZXItPnNldE1vY2tTcGVlY2hJbnB1dFJlc3VsdChyZXN1bHQuZ2V0KCkpOwogCiAgICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggNDQxMGJmZDJjYWJkMjMx
Yjk3MWQxOTQ4MDhjNmRlZjJiZjNmYWU0Ni4uNjg5ZTExNDU3NTA4ZGZmZTdkODg3YmRlMTY0ODIx
NDBiYTc1YmMxYSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1v
Y2tEZXZpY2VPcmllbnRhdGlvbihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBi
b29sIGNhblByb3ZpZGVCZXRhLCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRv
dWJsZSBnYW1tYSk7CiAgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihpbnQgY29kZSwg
SlNTdHJpbmdSZWYgbWVzc2FnZSk7CiAgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlv
bihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSk7Ci0g
ICAgdm9pZCBzZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHQoSlNTdHJpbmdSZWYgcmVzdWx0LCBKU1N0
cmluZ1JlZiBsYW5ndWFnZSk7CisgICAgdm9pZCBzZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHQoSlNT
dHJpbmdSZWYgcmVzdWx0KTsKICAgICB2b2lkIHNldFBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKEpTU3RyaW5nUmVmIHBhdGgpOwogICAgIHZvaWQgc2V0UGx1Z2luc0VuYWJsZWQoYm9v
bCBmbGFnKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGJvb2wgZmxhZyk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZDlkODE4MzU2ZTMzOTAxYTIzZjFiMjViMzMyMmY2
MWI5NzZiYmJjMi4uODJmZDA4NTE2N2RiM2VlYWJkOTVjZGY0YzgxNzBmN2RlY2ZmYTE3NSAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTUyNiwxMCArMTUyNiwxMCBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjphYm9ydE1vZGFsKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1l
bnRzLCBDcHBWYXJpYQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja1NwZWVjaElu
cHV0UmVzdWx0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiBy
ZXN1bHQpCiB7CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7Ci0gICAgaWYgKGFyZ3VtZW50cy5zaXpl
KCkgPCAyIHx8ICFhcmd1bWVudHNbMF0uaXNTdHJpbmcoKSB8fCAhYXJndW1lbnRzWzFdLmlzU3Ry
aW5nKCkpCisgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPCAxIHx8ICFhcmd1bWVudHNbMF0uaXNT
dHJpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zcGVlY2hJbnB1dENvbnRyb2xsZXJN
b2NrLT5zZXRNb2NrUmVjb2duaXRpb25SZXN1bHQoY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3Vt
ZW50c1swXSksIGNwcFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMV0pKTsKKyAgICBtX3Nw
ZWVjaElucHV0Q29udHJvbGxlck1vY2stPnNldE1vY2tSZWNvZ25pdGlvblJlc3VsdChjcHBWYXJp
YW50VG9XZWJTdHJpbmcoYXJndW1lbnRzWzBdKSk7CiB9CiAKIFdlYktpdDo6V2ViU3BlZWNoSW5w
dXRDb250cm9sbGVyKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3BlZWNoSW5wdXRDb250cm9sbGVy
KFdlYktpdDo6V2ViU3BlZWNoSW5wdXRMaXN0ZW5lciogbGlzdGVuZXIpCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3Rr
LmNwcAppbmRleCBmM2RiNjIyZTY2NzgwMWU3MGY2NDg0NWNjMGY0OTA3NDVjNzBmOTI0Li4xODFl
ZjlmMGIyOWNlNjA5OGIxOGJkNjQwM2UxZWNhYjE4ZTAzYjQ0IDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5j
cHAKQEAgLTUwMCw3ICs1MDAsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRHZW9s
b2NhdGlvblBlcm1pc3Npb24oYm9vbCBhbGxvdykKICAgICBzZXRHZW9sb2NhdGlvblBlcm1pc3Np
b25Db21tb24oYWxsb3cpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2Nr
U3BlZWNoSW5wdXRSZXN1bHQoSlNTdHJpbmdSZWYgcmVzdWx0LCBKU1N0cmluZ1JlZiBsYW5ndWFn
ZSkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tTcGVlY2hJbnB1dFJlc3VsdChK
U1N0cmluZ1JlZiByZXN1bHQpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3Igc3BlZWNo
IGlucHV0IGxheW91dCB0ZXN0cy4KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM5NDg1LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDE1MGI2ZjljZDNh
NWJjZjQ5MDEwNzcxOGRmZmY5MzNkNWM5NGM0ZDEuLmM1ZDVhOTA2OTU5OWJhNGJjZmMyYWNhMzEx
YzdhM2E3NjVhYjVlMWQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTM3MSw3ICszNzEsNyBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oYm9vbCBh
bGxvdykKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gVUlEZWxlZ2F0ZV0gZGlkU2V0TW9ja0dl
b2xvY2F0aW9uUGVybWlzc2lvbl07CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dE1vY2tTcGVlY2hJbnB1dFJlc3VsdChKU1N0cmluZ1JlZiByZXN1bHQsIEpTU3RyaW5nUmVmIGxh
bmd1YWdlKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja1NwZWVjaElucHV0UmVz
dWx0KEpTU3RyaW5nUmVmIHJlc3VsdCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZvciBz
cGVlY2ggaW5wdXQgbGF5b3V0IHRlc3RzLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0ODUuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDIwNTZiNDBi
ZmQxYTYzODA0NGRlZGM4NGNjMDViZWFiZDdiZTBjYjIuLmQzNmEwNzQ0ZTY4NmQzM2FlNTYxYmNh
MWVjNWMyOTQyN2I0ZThjMWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC03NTksNyArNzU5LDcgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91
YmxlIGxhdGl0dWRlLCBkb3VibGUgbG8KICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0
TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obGF0aXR1ZGUsIGxvbmdpdHVkZSwgYWNjdXJhY3kpOwog
fQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrU3BlZWNoSW5wdXRSZXN1bHQo
Y29uc3QgUVN0cmluZyYgcmVzdWx0LCBjb25zdCBRU3RyaW5nJiBsYW5ndWFnZSkKK3ZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tTcGVlY2hJbnB1dFJlc3VsdChjb25zdCBRU3RyaW5n
JiByZXN1bHQpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3Igc3BlZWNoIGlucHV0IGxh
eW91dCB0ZXN0cy4KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5NDg1LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDEwNmM3M2JlMjAyM2IxMDdmYzUyYzczNjU0
ZDE1YWZlZDRlODNlNTAuLjM2ODQ5NDZhNDA1NTA1NWFjMTRjNDFmZjIzMTVlOTczMjFiNTlkZDkg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmgKQEAgLTIxNSw3ICsyMTUsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgYm9v
bCBpc0dlb2xvY2F0aW9uUGVybWlzc2lvblNldCgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW9sb2Nh
dGlvblBlcm1pc3Npb25TZXQ7IH0KICAgICBib29sIGdlb2xvY2F0aW9uUGVybWlzc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uOyB9CiAKLSAgICB2b2lkIHNldE1v
Y2tTcGVlY2hJbnB1dFJlc3VsdChjb25zdCBRU3RyaW5nJiByZXN1bHQsIGNvbnN0IFFTdHJpbmcm
IGxhbmd1YWdlKTsKKyAgICB2b2lkIHNldE1vY2tTcGVlY2hJbnB1dFJlc3VsdChjb25zdCBRU3Ry
aW5nJiByZXN1bHQpOwogCiAgICAgLy8gRW1wdHkgc3R1YiBtZXRob2QgdG8ga2VlcCBwYXJpdHkg
d2l0aCBvYmplY3QgbW9kZWwgZXhwb3NlZCBieSBnbG9iYWwgTGF5b3V0VGVzdENvbnRyb2xsZXIu
CiAgICAgdm9pZCBhYm9ydE1vZGFsKCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IGQ3YzQx
ZTBhNmJmNTdlZjRkMDk5MTVlODNhNDkyMTI1Y2RhNThjZDguLjllOGVkMWU2OTU3ZDdmN2NhNGZl
YWQ5MWQ4N2I5YjU2ZmI0MjE0NTkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAtNDA1LDcgKzQw
NSw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW9uUGVybWlzc2lv
bihib29sIGFsbG93KQogICAgIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbkNvbW1vbihhbGxvdyk7
CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tTcGVlY2hJbnB1dFJlc3Vs
dChKU1N0cmluZ1JlZiByZXN1bHQsIEpTU3RyaW5nUmVmIGxhbmd1YWdlKQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0TW9ja1NwZWVjaElucHV0UmVzdWx0KEpTU3RyaW5nUmVmIHJlc3Vs
dCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZvciBzcGVlY2ggaW5wdXQgbGF5b3V0IHRl
c3RzLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mzk0ODUuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91
dFRlc3RDb250cm9sbGVyV3guY3BwCmluZGV4IDMyNjE0YzExMzNkZGY4YWFkNzdlZmIwZDFkNGE2
YjMwZTQwMTEwOGIuLmVlZmM1ODc4MWUwYTFlYWJjZDBmZDgxMzg5MzJjYzQzYzRkNzg0N2YgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9s
bGVyV3guY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RD
b250cm9sbGVyV3guY3BwCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2wgYWxsb3cpCiAgICAgc2V0R2VvbG9j
YXRpb25QZXJtaXNzaW9uQ29tbW9uKGFsbG93KTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0TW9ja1NwZWVjaElucHV0UmVzdWx0KEpTU3RyaW5nUmVmIHJlc3VsdCwgSlNTdHJp
bmdSZWYgbGFuZ3VhZ2UpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrU3BlZWNo
SW5wdXRSZXN1bHQoSlNTdHJpbmdSZWYgcmVzdWx0KQogewogICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgZm9yIHNwZWVjaCBpbnB1dCBsYXlvdXQgdGVzdHMuCiAgICAgLy8gU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ4NS4KQEAgLTUyOCwzICs1MjgsNCBAQCBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VTaXplQW5k
TWFyZ2luc0luUGl4ZWxzKGludCBwYQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKICAgICByZXR1
cm4gMDsKIH0KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>