<?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>106970</bug_id>
          
          <creation_ts>2013-01-15 18:37:09 -0800</creation_ts>
          <short_desc>REGRESSION(r139792): Broke the windows build.</short_desc>
          <delta_ts>2013-01-15 19:00:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106904</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>abarth</cc>
    
    <cc>jochen</cc>
    
    <cc>noel.gordon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807906</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-01-15 18:37:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/139792 broke the build:
Broke the windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807908</commentid>
    <comment_count>1</comment_count>
      <attachid>182897</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-01-15 18:37:26 -0800</bug_when>
    <thetext>Created attachment 182897
ROLLOUT of r139792

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807916</commentid>
    <comment_count>2</comment_count>
      <attachid>182897</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-01-15 18:40:31 -0800</bug_when>
    <thetext>Comment on attachment 182897
ROLLOUT of r139792

Clearing flags on attachment: 182897

Committed r139821: &lt;http://trac.webkit.org/changeset/139821&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807917</commentid>
    <comment_count>3</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-01-15 18:40:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807925</commentid>
    <comment_count>4</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2013-01-15 19:00:12 -0800</bug_when>
    <thetext>e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1107) : error C2079: &apos;tempPath&apos; uses undefined class &apos;WTF::OwnArrayPtr&lt;T&gt;&apos;

        with

        [

            T=WCHAR

        ]

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1107) : error C3861: &apos;adoptArrayPtr&apos;: identifier not found

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1108) : error C2228: left of &apos;.get&apos; must have class/struct/union

        type is &apos;int&apos;

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1111) : error C3861: &apos;adoptArrayPtr&apos;: identifier not found

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1112) : error C2228: left of &apos;.get&apos; must have class/struct/union

        type is &apos;int&apos;

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1115) : error C2228: left of &apos;.get&apos; must have class/struct/union

        type is &apos;int&apos;

e:\b\build\slave\win\build\src\third_party\webkit\tools\dumprendertree\chromium\webviewhost.cpp(1115) : error C2228: left of &apos;.utf8&apos; must have class/struct/union



ninja: build stopped: subcommand failed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182897</attachid>
            <date>2013-01-15 18:37:26 -0800</date>
            <delta_ts>2013-01-15 18:40:31 -0800</delta_ts>
            <desc>ROLLOUT of r139792</desc>
            <filename>bug-106970-20130115183428.patch</filename>
            <type>text/plain</type>
            <size>24948</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM5ODE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEzLTAxLTE1ICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM5NzkyLgorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xMzk3OTIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjk3MAorCisgICAgICAgIEJyb2tlIHRoZSB3aW5kb3dz
IGJ1aWxkLgorCisgICAgICAgICogYnl0ZWNvZGUvR2xvYmFsUmVzb2x2ZUluZm8uaDogUmVtb3Zl
ZCBwcm9wZXJ0eSBzdm46bWVyZ2VpbmZvLgorCiAyMDEzLTAxLTE1ICBQcmF0aWsgU29sYW5raSAg
PHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgTUFEVl9GUkVFX1JFVVNBQkxFIHRv
IHJldHVybiBKSVQgbWVtb3J5IHRvIE9TCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzk4MTkpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0MCBAQAorMjAxMy0wMS0xNSAgTGV2aSBXZWlu
dHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEzOTc5Mi4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTM5NzkyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDY5NzAKKworICAgICAgICBCcm9rZSB0aGUgd2luZG93cyBidWlsZC4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwOgorICAgICAgICAoRFJUVGVz
dFJ1bm5lcjo6RFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpub3RpZnlE
b25lKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnJlc2V0KToKKyAgICAgICAgKERSVFRlc3RS
dW5uZXI6OnNldEFsd2F5c0FjY2VwdENvb2tpZXMpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6
c2V0V2luZG93SXNLZXkpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxSZXNv
dXJjZSk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRQT1NJWExvY2FsZSk6CisgICAgICAg
IChJbnZva2VDYWxsYmFja1Rhc2spOgorICAgICAgICAoSW52b2tlQ2FsbGJhY2tUYXNrOjpJbnZv
a2VDYWxsYmFja1Rhc2spOgorICAgICAgICAoSW52b2tlQ2FsbGJhY2tUYXNrOjpydW5JZlZhbGlk
KToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNldEJhY2tpbmdTY2FsZUZhY3Rvcik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAo
RFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjp0YXNrTGlzdCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJsaWMvV2ViVGVzdERl
bGVnYXRlLmg6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0RGVsZWdhdGU6OnNldERh
dGFiYXNlUXVvdGEpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5u
ZXIvc3JjL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6VGVzdFJ1bm5l
cjo6VGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpUZXN0UnVubmVyOjpyZXNl
dCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpUZXN0UnVubmVyOjpzZXREYXRhYmFzZVF1b3Rh
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0
UnVubmVyLmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6c2V0UGVu
ZGluZ0V4dHJhRGF0YSk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6c2V0RGV2aWNlU2NhbGVGYWN0
b3IpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6Cisg
ICAgICAgIChXZWJWaWV3SG9zdCk6CisKIDIwMTMtMDEtMTUgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4IGFmdGVyIHIxMzkzNTcuIFRoZSBwb3J0
IG5hbWUgb2YgTWFjV0syRVdTIHNob3VsZCBiZSAnbWFjLXdrMicuCkluZGV4OiBUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMTM5
ODE5KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9y
dC93ZWJraXRfc3VwcG9ydC5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxjY3R5
cGU+CisjaW5jbHVkZSA8Y2xvY2FsZT4KICNpbmNsdWRlIDxjc3RkbGliPgogI2luY2x1ZGUgPGxp
bWl0cz4KICNpbmNsdWRlIDxzc3RyZWFtPgpAQCAtMTE1LDYgKzExNiw3IEBAIERSVFRlc3RSdW5u
ZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKgogI2VuZGlmCiAgICAgYmluZE1ldGhvZCgibm90
aWZ5RG9uZSIsICZEUlRUZXN0UnVubmVyOjpub3RpZnlEb25lKTsKICAgICBiaW5kTWV0aG9kKCJu
dW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyIsICZEUlRUZXN0UnVu
bmVyOjogbnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMpOworICAg
IGJpbmRNZXRob2QoInBhdGhUb0xvY2FsUmVzb3VyY2UiLCAmRFJUVGVzdFJ1bm5lcjo6cGF0aFRv
TG9jYWxSZXNvdXJjZSk7CiAgICAgYmluZE1ldGhvZCgicXVldWVCYWNrTmF2aWdhdGlvbiIsICZE
UlRUZXN0UnVubmVyOjpxdWV1ZUJhY2tOYXZpZ2F0aW9uKTsKICAgICBiaW5kTWV0aG9kKCJxdWV1
ZUZvcndhcmROYXZpZ2F0aW9uIiwgJkRSVFRlc3RSdW5uZXI6OnF1ZXVlRm9yd2FyZE5hdmlnYXRp
b24pOwogICAgIGJpbmRNZXRob2QoInF1ZXVlTG9hZGluZ1NjcmlwdCIsICZEUlRUZXN0UnVubmVy
OjpxdWV1ZUxvYWRpbmdTY3JpcHQpOwpAQCAtMTIyLDYgKzEyNCw3IEBAIERSVFRlc3RSdW5uZXI6
OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKgogICAgIGJpbmRNZXRob2QoInF1ZXVlTG9hZEhUTUxT
dHJpbmciLCAmRFJUVGVzdFJ1bm5lcjo6cXVldWVMb2FkSFRNTFN0cmluZyk7CiAgICAgYmluZE1l
dGhvZCgicXVldWVOb25Mb2FkaW5nU2NyaXB0IiwgJkRSVFRlc3RSdW5uZXI6OnF1ZXVlTm9uTG9h
ZGluZ1NjcmlwdCk7CiAgICAgYmluZE1ldGhvZCgicXVldWVSZWxvYWQiLCAmRFJUVGVzdFJ1bm5l
cjo6cXVldWVSZWxvYWQpOworICAgIGJpbmRNZXRob2QoInNldEFsd2F5c0FjY2VwdENvb2tpZXMi
LCAmRFJUVGVzdFJ1bm5lcjo6c2V0QWx3YXlzQWNjZXB0Q29va2llcyk7CiAgICAgYmluZE1ldGhv
ZCgic2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlIiwgJkRSVFRlc3RSdW5uZXI6
OnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSk7CiAgICAgYmluZE1ldGhvZCgi
c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUiLCAmRFJUVGVzdFJ1bm5lcjo6c2V0Q3VzdG9tUG9saWN5
RGVsZWdhdGUpOwogICAgIGJpbmRNZXRob2QoInNldEdlb2xvY2F0aW9uUGVybWlzc2lvbiIsICZE
UlRUZXN0UnVubmVyOjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24pOwpAQCAtMTMyLDkgKzEzNSwx
MiBAQCBEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKFRlc3RTaGVsbCoKICAgICBiaW5kTWV0
aG9kKCJzZXRQb2ludGVyTG9ja1dpbGxSZXNwb25kQXN5bmNocm9ub3VzbHkiLCAmRFJUVGVzdFJ1
bm5lcjo6c2V0UG9pbnRlckxvY2tXaWxsUmVzcG9uZEFzeW5jaHJvbm91c2x5KTsKICAgICBiaW5k
TWV0aG9kKCJzZXRQb2ludGVyTG9ja1dpbGxGYWlsU3luY2hyb25vdXNseSIsICZEUlRUZXN0UnVu
bmVyOjpzZXRQb2ludGVyTG9ja1dpbGxGYWlsU3luY2hyb25vdXNseSk7CiAjZW5kaWYKKyAgICBi
aW5kTWV0aG9kKCJzZXRQT1NJWExvY2FsZSIsICZEUlRUZXN0UnVubmVyOjpzZXRQT1NJWExvY2Fs
ZSk7CisgICAgYmluZE1ldGhvZCgic2V0QmFja2luZ1NjYWxlRmFjdG9yIiwgJkRSVFRlc3RSdW5u
ZXI6OnNldEJhY2tpbmdTY2FsZUZhY3Rvcik7CiAgICAgYmluZE1ldGhvZCgic2V0V2lsbFNlbmRS
ZXF1ZXN0Q2xlYXJIZWFkZXIiLCAmRFJUVGVzdFJ1bm5lcjo6c2V0V2lsbFNlbmRSZXF1ZXN0Q2xl
YXJIZWFkZXIpOwogICAgIGJpbmRNZXRob2QoInNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxs
IiwgJkRSVFRlc3RSdW5uZXI6OnNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsKTsKICAgICBi
aW5kTWV0aG9kKCJzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbE9uUmVkaXJlY3QiLCAmRFJU
VGVzdFJ1bm5lcjo6c2V0V2lsbFNlbmRSZXF1ZXN0UmV0dXJuc051bGxPblJlZGlyZWN0KTsKKyAg
ICBiaW5kTWV0aG9kKCJzZXRXaW5kb3dJc0tleSIsICZEUlRUZXN0UnVubmVyOjpzZXRXaW5kb3dJ
c0tleSk7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgYmluZE1ldGhvZCgic2ltdWxh
dGVMZWdhY3lXZWJOb3RpZmljYXRpb25DbGljayIsICZEUlRUZXN0UnVubmVyOjpzaW11bGF0ZUxl
Z2FjeVdlYk5vdGlmaWNhdGlvbkNsaWNrKTsKICNlbmRpZgpAQCAtMjEzLDcgKzIxOSw3IEBAIHZv
aWQgRFJUVGVzdFJ1bm5lcjo6d2FpdFVudGlsRG9uZShjb25zdAogdm9pZCBEUlRUZXN0UnVubmVy
Ojpub3RpZnlEb25lKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkK
IHsKICAgICAvLyBUZXN0IGRpZG4ndCB0aW1lb3V0LiBLaWxsIHRoZSB0aW1lb3V0IHRpbWVyLgot
ICAgIHRhc2tMaXN0KCktPnJldm9rZUFsbCgpOworICAgIG1fdGFza0xpc3QucmV2b2tlQWxsKCk7
CiAKICAgICBjb21wbGV0ZU5vdGlmeURvbmUoZmFsc2UpOwogICAgIHJlc3VsdC0+c2V0TnVsbCgp
OwpAQCAtMzg0LDE2ICszOTAsMjMgQEAgdm9pZCBEUlRUZXN0UnVubmVyOjpxdWV1ZUxvYWRIVE1M
U3RyaW5nKAogdm9pZCBEUlRUZXN0UnVubmVyOjpyZXNldCgpCiB7CiAgICAgVGVzdFJ1bm5lcjo6
cmVzZXQoKTsKKyAgICBpZiAobV9zaGVsbCkKKyAgICAgICAgbV9zaGVsbC0+d2ViVmlld0hvc3Qo
KS0+c2V0RGV2aWNlU2NhbGVGYWN0b3IoMSk7CiAgICAgbV93YWl0VW50aWxEb25lID0gZmFsc2U7
CiAgICAgbV93ZWJIaXN0b3J5SXRlbUNvdW50LnNldCgwKTsKICAgICBtX3RpdGxlVGV4dERpcmVj
dGlvbi5zZXQoImx0ciIpOwogICAgIG1faW50ZXJjZXB0UG9zdE1lc3NhZ2Uuc2V0KGZhbHNlKTsK
IAorICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRBY2NlcHRBbGxDb29raWVzKGZhbHNlKTsKKworICAg
IHNldGxvY2FsZShMQ19BTEwsICIiKTsKKwogICAgIGlmIChtX2Nsb3NlUmVtYWluaW5nV2luZG93
cykKICAgICAgICAgbV9zaGVsbC0+Y2xvc2VSZW1haW5pbmdXaW5kb3dzKCk7CiAgICAgZWxzZQog
ICAgICAgICBtX2Nsb3NlUmVtYWluaW5nV2luZG93cyA9IHRydWU7CiAgICAgbV93b3JrUXVldWUu
cmVzZXQoKTsKKyAgICBtX3Rhc2tMaXN0LnJldm9rZUFsbCgpOwogfQogCiB2b2lkIERSVFRlc3RS
dW5uZXI6OmxvY2F0aW9uQ2hhbmdlRG9uZSgpCkBAIC00MjYsNiArNDM5LDIwIEBAIHZvaWQgRFJU
VGVzdFJ1bm5lcjo6c2V0Q2xvc2VSZW1haW5pbmdXaW4KICAgICByZXN1bHQtPnNldE51bGwoKTsK
IH0KIAordm9pZCBEUlRUZXN0UnVubmVyOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgaWYg
KGFyZ3VtZW50cy5zaXplKCkgPiAwKQorICAgICAgICB3ZWJraXRfc3VwcG9ydDo6U2V0QWNjZXB0
QWxsQ29va2llcyhjcHBWYXJpYW50VG9Cb29sKGFyZ3VtZW50c1swXSkpOworICAgIHJlc3VsdC0+
c2V0TnVsbCgpOworfQorCit2b2lkIERSVFRlc3RSdW5uZXI6OnNldFdpbmRvd0lzS2V5KGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAg
aWYgKGFyZ3VtZW50cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkKKyAgICAg
ICAgbV9zaGVsbC0+c2V0Rm9jdXMobV9zaGVsbC0+d2ViVmlldygpLCBhcmd1bWVudHNbMF0udmFs
dWUuYm9vbFZhbHVlKTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBEUlRUZXN0
UnVubmVyOjpzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFy
Z3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGlmIChhcmd1bWVudHMuc2l6ZSgp
ID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKQEAgLTQ2OSw2ICs0OTYsNDQgQEAgdm9p
ZCBEUlRUZXN0UnVubmVyOjpzZXRXaWxsU2VuZFJlcXVlc3RSZQogICAgIHJlc3VsdC0+c2V0TnVs
bCgpOwogfQogCit2b2lkIERSVFRlc3RSdW5uZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBy
ZXN1bHQtPnNldE51bGwoKTsKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8PSAwIHx8ICFhcmd1
bWVudHNbMF0uaXNTdHJpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RyaW5nIHVybCA9
IGFyZ3VtZW50c1swXS50b1N0cmluZygpOworI2lmIE9TKFdJTkRPV1MpCisgICAgaWYgKCF1cmwu
ZmluZCgiL3RtcC8iKSkgeworICAgICAgICAvLyBXZSB3YW50IGEgdGVtcCBmaWxlLgorICAgICAg
ICBjb25zdCB1bnNpZ25lZCB0ZW1wUHJlZml4TGVuZ3RoID0gNTsKKyAgICAgICAgc2l6ZV90IGJ1
ZmZlclNpemUgPSBNQVhfUEFUSDsKKyAgICAgICAgT3duQXJyYXlQdHI8V0NIQVI+IHRlbXBQYXRo
ID0gYWRvcHRBcnJheVB0cihuZXcgV0NIQVJbYnVmZmVyU2l6ZV0pOworICAgICAgICBEV09SRCB0
ZW1wTGVuZ3RoID0gOjpHZXRUZW1wUGF0aFcoYnVmZmVyU2l6ZSwgdGVtcFBhdGguZ2V0KCkpOwor
ICAgICAgICBpZiAodGVtcExlbmd0aCArIHVybC5sZW5ndGgoKSAtIHRlbXBQcmVmaXhMZW5ndGgg
KyAxID4gYnVmZmVyU2l6ZSkgeworICAgICAgICAgICAgYnVmZmVyU2l6ZSA9IHRlbXBMZW5ndGgg
KyB1cmwubGVuZ3RoKCkgLSB0ZW1wUHJlZml4TGVuZ3RoICsgMTsKKyAgICAgICAgICAgIHRlbXBQ
YXRoID0gYWRvcHRBcnJheVB0cihuZXcgV0NIQVJbYnVmZmVyU2l6ZV0pOworICAgICAgICAgICAg
dGVtcExlbmd0aCA9IEdldFRlbXBQYXRoVyhidWZmZXJTaXplLCB0ZW1wUGF0aC5nZXQoKSk7Cisg
ICAgICAgICAgICBBU1NFUlQodGVtcExlbmd0aCA8IGJ1ZmZlclNpemUpOworICAgICAgICB9Cisg
ICAgICAgIHN0cmluZyByZXN1bHRQYXRoKFdlYlN0cmluZyh0ZW1wUGF0aC5nZXQoKSwgdGVtcExl
bmd0aCkudXRmOCgpKTsKKyAgICAgICAgcmVzdWx0UGF0aC5hcHBlbmQodXJsLnN1YnN0cih0ZW1w
UHJlZml4TGVuZ3RoKSk7CisgICAgICAgIHJlc3VsdC0+c2V0KHJlc3VsdFBhdGgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAgICAvLyBTb21lIGxheW91dCB0ZXN0cyB1c2Ug
ZmlsZTovLy8vIHdoaWNoIHdlIHJlc29sdmUgYXMgYSBVTkMgcGF0aC4gTm9ybWFsaXplCisgICAg
Ly8gdGhlbSB0byBqdXN0IGZpbGU6Ly8vLgorICAgIHN0cmluZyBsb3dlclVybCA9IHVybDsKKyAg
ICB0cmFuc2Zvcm0obG93ZXJVcmwuYmVnaW4oKSwgbG93ZXJVcmwuZW5kKCksIGxvd2VyVXJsLmJl
Z2luKCksIDo6dG9sb3dlcik7CisgICAgd2hpbGUgKCFsb3dlclVybC5maW5kKCJmaWxlOi8vLy8i
KSkgeworICAgICAgICB1cmwgPSB1cmwuc3Vic3RyKDAsIDgpICsgdXJsLnN1YnN0cig5KTsKKyAg
ICAgICAgbG93ZXJVcmwgPSBsb3dlclVybC5zdWJzdHIoMCwgOCkgKyBsb3dlclVybC5zdWJzdHIo
OSk7CisgICAgfQorICAgIHJlc3VsdC0+c2V0KHdlYmtpdF9zdXBwb3J0OjpSZXdyaXRlTGF5b3V0
VGVzdHNVUkwodXJsKS5zcGVjKCkpOworfQorCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
IHZvaWQgRFJUVGVzdFJ1bm5lcjo6Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCkBAIC01MTcs
NiArNTgyLDEzIEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6ZGlzcGxheUludmFsaWRhdGVkUmUKICAg
ICByZXN1bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBEUlRUZXN0UnVubmVyOjpzZXRQT1NJWExv
Y2FsZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0
KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID09
IDEgJiYgYXJndW1lbnRzWzBdLmlzU3RyaW5nKCkpCisgICAgICAgIHNldGxvY2FsZShMQ19BTEws
IGFyZ3VtZW50c1swXS50b1N0cmluZygpLmNfc3RyKCkpOworfQorCiB2b2lkIERSVFRlc3RSdW5u
ZXI6Om51bWJlck9mUGVuZGluZ0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgcmVz
dWx0LT5zZXROdWxsKCk7CkBAIC02MzIsNiArNzA0LDQwIEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6
d2FzTW9ja1NwZWVjaFJlY29nbmkKIH0KICNlbmRpZgogCitjbGFzcyBJbnZva2VDYWxsYmFja1Rh
c2sgOiBwdWJsaWMgV2ViTWV0aG9kVGFzazxEUlRUZXN0UnVubmVyPiB7CitwdWJsaWM6CisgICAg
SW52b2tlQ2FsbGJhY2tUYXNrKERSVFRlc3RSdW5uZXIqIG9iamVjdCwgUGFzc093bkFycmF5UHRy
PENwcFZhcmlhbnQ+IGNhbGxiYWNrQXJndW1lbnRzLCB1aW50MzJfdCBudW1iZXJPZkFyZ3VtZW50
cykKKyAgICAgICAgOiBXZWJNZXRob2RUYXNrPERSVFRlc3RSdW5uZXI+KG9iamVjdCkKKyAgICAg
ICAgLCBtX2NhbGxiYWNrQXJndW1lbnRzKGNhbGxiYWNrQXJndW1lbnRzKQorICAgICAgICAsIG1f
bnVtYmVyT2ZBcmd1bWVudHMobnVtYmVyT2ZBcmd1bWVudHMpCisgICAgeworICAgIH0KKworICAg
IHZpcnR1YWwgdm9pZCBydW5JZlZhbGlkKCkKKyAgICB7CisgICAgICAgIENwcFZhcmlhbnQgaW52
b2tlUmVzdWx0OworICAgICAgICBtX2NhbGxiYWNrQXJndW1lbnRzWzBdLmludm9rZURlZmF1bHQo
bV9jYWxsYmFja0FyZ3VtZW50cy5nZXQoKSwgbV9udW1iZXJPZkFyZ3VtZW50cywgaW52b2tlUmVz
dWx0KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgT3duQXJyYXlQdHI8Q3BwVmFyaWFudD4gbV9j
YWxsYmFja0FyZ3VtZW50czsKKyAgICB1aW50MzJfdCBtX251bWJlck9mQXJndW1lbnRzOworfTsK
Kwordm9pZCBEUlRUZXN0UnVubmVyOjpzZXRCYWNraW5nU2NhbGVGYWN0b3IoY29uc3QgQ3BwQXJn
dW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBpZiAoYXJn
dW1lbnRzLnNpemUoKSA8IDIgfHwgIWFyZ3VtZW50c1swXS5pc051bWJlcigpIHx8ICFhcmd1bWVu
dHNbMV0uaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGZsb2F0IHZhbHVl
ID0gYXJndW1lbnRzWzBdLnZhbHVlLmRvdWJsZVZhbHVlOworICAgIG1fc2hlbGwtPndlYlZpZXdI
b3N0KCktPnNldERldmljZVNjYWxlRmFjdG9yKHZhbHVlKTsKKworICAgIE93bkFycmF5UHRyPENw
cFZhcmlhbnQ+IGNhbGxiYWNrQXJndW1lbnRzID0gYWRvcHRBcnJheVB0cihuZXcgQ3BwVmFyaWFu
dFsxXSk7CisgICAgY2FsbGJhY2tBcmd1bWVudHNbMF0uc2V0KGFyZ3VtZW50c1sxXSk7CisgICAg
cmVzdWx0LT5zZXROdWxsKCk7CisgICAgcG9zdFRhc2sobmV3IEludm9rZUNhbGxiYWNrVGFzayh0
aGlzLCBjYWxsYmFja0FyZ3VtZW50cy5yZWxlYXNlKCksIDEpKTsKK30KKwogI2lmIEVOQUJMRShQ
T0lOVEVSX0xPQ0spCiB2b2lkIERSVFRlc3RSdW5uZXI6OmRpZEFjcXVpcmVQb2ludGVyTG9jayhj
b25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCShyZXZpc2lvbiAx
Mzk4MTkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVl
TG9hZChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBxdWV1
ZUxvYWRIVE1MU3RyaW5nKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAor
ICAgIC8vIENoYW5nZXMgdGhlIGNvb2tpZSBwb2xpY3kgZnJvbSB0aGUgZGVmYXVsdCB0byBhbGxv
dyBhbGwgY29va2llcy4KKyAgICB2b2lkIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworCisgICAgLy8gR2l2ZXMgZm9jdXMgdG8gdGhl
IHdpbmRvdy4KKyAgICB2b2lkIHNldFdpbmRvd0lzS2V5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYs
IENwcFZhcmlhbnQqKTsKKwogCiAgICAgLy8gQ2F1c2VzIG5hdmlnYXRpb24gYWN0aW9ucyBqdXN0
IHByaW50b3V0IHRoZSBpbnRlbmRlZCBuYXZpZ2F0aW9uIGluc3RlYWQKICAgICAvLyBvZiB0YWtp
bmcgeW91IHRvIHRoZSBwYWdlLiBUaGlzIGlzIHVzZWQgZm9yIGNhc2VzIGxpa2UgbWFpbHRvLCB3
aGVyZSB5b3UKQEAgLTExMiw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgLy8gQ2F1c2VzIFdpbGxT
ZW5kUmVxdWVzdCB0byByZXR1cm4gYW4gZW1wdHkgcmVxdWVzdC4KICAgICB2b2lkIHNldFdpbGxT
ZW5kUmVxdWVzdFJldHVybnNOdWxsKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKIAorICAgIC8vIENvbnZlcnRzIGEgVVJMIHN0YXJ0aW5nIHdpdGggZmlsZTovLy90bXAvIHRv
IHRoZSBsb2NhbCBtYXBwaW5nLgorICAgIHZvaWQgcGF0aFRvTG9jYWxSZXNvdXJjZShjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICAvLyBHcmFudHMgcGVybWlzc2lvbiBmb3IgZGVza3RvcCBub3RpZmljYXRpb25zIHRv
IGFuIG9yaWdpbgogICAgIHZvaWQgZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKQEAgLTEyMiw2ICsxMzEsMTAgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlzcGxheShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
Kik7CiAgICAgdm9pZCBkaXNwbGF5SW52YWxpZGF0ZWRSZWdpb24oY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOwogCisgICAgLy8gQ2FsbHMgc2V0bG9jYWxlKExDX0FMTCwgLi4u
KSBmb3IgYSBzcGVjaWZpZWQgbG9jYWxlLgorICAgIC8vIFJlc2V0cyBiZXR3ZWVuIHRlc3RzLgor
ICAgIHZvaWQgc2V0UE9TSVhMb2NhbGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFu
dCopOworCiAgICAgLy8gR2V0cyB0aGUgbnVtYmVyIG9mIGdlb2xvY2F0aW9uIHBlcm1pc3Npb25z
IHJlcXVlc3RzIHBlbmRpbmcuCiAgICAgdm9pZCBudW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0cyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAK
QEAgLTE1Miw2ICsxNjUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQb2ludGVyTG9ja1dpbGxS
ZXNwb25kQXN5bmNocm9ub3VzbHkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCop
OwogI2VuZGlmCiAKKyAgICAvLyBVc2VkIHRvIHNldCB0aGUgZGV2aWNlIHNjYWxlIGZhY3Rvci4K
KyAgICB2b2lkIHNldEJhY2tpbmdTY2FsZUZhY3Rvcihjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7CisKIHB1YmxpYzoKICAgICAvLyBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJl
IG5vdCBleHBvc2VkIHRvIEphdmFTY3JpcHQuCiAgICAgdm9pZCBzZXRXb3JrUXVldWVGcm96ZW4o
Ym9vbCBmcm96ZW4pIHsgbV93b3JrUXVldWUuc2V0RnJvemVuKGZyb3plbik7IH0KQEAgLTE4Nyw2
ICsyMDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW4oVGVzdFNoZWxsKikg
PSAwOwogICAgIH07CiAKKyAgICBXZWJUYXNrTGlzdCogdGFza0xpc3QoKSB7IHJldHVybiAmbV90
YXNrTGlzdDsgfQorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXb3JrSXRlbTsKICAgICBm
cmllbmQgY2xhc3MgV29ya1F1ZXVlOwpAQCAtMjI4LDYgKzI0Niw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBydW5JZlZhbGlkKCkgeyBtX29iamVjdC0+Y29tcGxldGVOb3RpZnlE
b25lKHRydWUpOyB9CiAgICAgfTsKIAorICAgIC8vIFVzZWQgZm9yIHRlc3QgdGltZW91dHMuCisg
ICAgV2ViVGFza0xpc3QgbV90YXNrTGlzdDsKKwogICAgIC8vIE5vbi1vd25pbmcgcG9pbnRlci4g
VGhlIERSVFRlc3RSdW5uZXIgaXMgb3duZWQgYnkgdGhlIGhvc3QuCiAgICAgVGVzdFNoZWxsKiBt
X3NoZWxsOwogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwCShyZXZpc2lvbiAxMzk4MTkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDggKzcwLDYgQEAKICNp
bmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ3ZWJraXQvc3Vw
cG9ydC90ZXN0X21lZGlhX3N0cmVhbV9jbGllbnQuaCIKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9y
dC93ZWJraXRfc3VwcG9ydC5oIgotI2luY2x1ZGUgPGNjdHlwZT4KLSNpbmNsdWRlIDxjbG9jYWxl
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDU3RyaW5nLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNv
bXBvc2l0b3JPdXRwdXRTdXJmYWNlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNvbXBvc2l0b3JT
dXBwb3J0Lmg+CkBAIC0xMDgxLDYwICsxMDc5LDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6c2V0RGF0
YWJhc2VRdW90YShpbnQgcQogICAgIHdlYmtpdF9zdXBwb3J0OjpTZXREYXRhYmFzZVF1b3RhKHF1
b3RhKTsKIH0KIAotdm9pZCBXZWJWaWV3SG9zdDo6c2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IpCi17Ci0gICAgd2ViVmlldygpLT5zZXREZXZpY2VTY2FsZUZhY3Rv
cihkZXZpY2VTY2FsZUZhY3Rvcik7Ci0gICAgZGlzY2FyZEJhY2tpbmdTdG9yZSgpOwotfQotCi12
b2lkIFdlYlZpZXdIb3N0OjpzZXRGb2N1cyhib29sIGZvY3VzZWQpCi17Ci0gICAgbV9zaGVsbC0+
c2V0Rm9jdXMobV9zaGVsbC0+d2ViVmlldygpLCBmb2N1c2VkKTsKLX0KLQotdm9pZCBXZWJWaWV3
SG9zdDo6c2V0QWNjZXB0QWxsQ29va2llcyhib29sIGFjY2VwdENvb2tpZXMpCi17Ci0gICAgd2Vi
a2l0X3N1cHBvcnQ6OlNldEFjY2VwdEFsbENvb2tpZXMoYWNjZXB0Q29va2llcyk7Ci19Ci0KLXN0
cmluZyBXZWJWaWV3SG9zdDo6cGF0aFRvTG9jYWxSZXNvdXJjZShjb25zdCBzdHJpbmcmIHVybCkK
LXsKLSNpZiBPUyhXSU5ET1dTKQotICAgIGlmICghdXJsLmZpbmQoIi90bXAvIikpIHsKLSAgICAg
ICAgLy8gV2Ugd2FudCBhIHRlbXAgZmlsZS4KLSAgICAgICAgY29uc3QgdW5zaWduZWQgdGVtcFBy
ZWZpeExlbmd0aCA9IDU7Ci0gICAgICAgIHNpemVfdCBidWZmZXJTaXplID0gTUFYX1BBVEg7Ci0g
ICAgICAgIE93bkFycmF5UHRyPFdDSEFSPiB0ZW1wUGF0aCA9IGFkb3B0QXJyYXlQdHIobmV3IFdD
SEFSW2J1ZmZlclNpemVdKTsKLSAgICAgICAgRFdPUkQgdGVtcExlbmd0aCA9IDo6R2V0VGVtcFBh
dGhXKGJ1ZmZlclNpemUsIHRlbXBQYXRoLmdldCgpKTsKLSAgICAgICAgaWYgKHRlbXBMZW5ndGgg
KyB1cmwubGVuZ3RoKCkgLSB0ZW1wUHJlZml4TGVuZ3RoICsgMSA+IGJ1ZmZlclNpemUpIHsKLSAg
ICAgICAgICAgIGJ1ZmZlclNpemUgPSB0ZW1wTGVuZ3RoICsgdXJsLmxlbmd0aCgpIC0gdGVtcFBy
ZWZpeExlbmd0aCArIDE7Ci0gICAgICAgICAgICB0ZW1wUGF0aCA9IGFkb3B0QXJyYXlQdHIobmV3
IFdDSEFSW2J1ZmZlclNpemVdKTsKLSAgICAgICAgICAgIHRlbXBMZW5ndGggPSBHZXRUZW1wUGF0
aFcoYnVmZmVyU2l6ZSwgdGVtcFBhdGguZ2V0KCkpOwotICAgICAgICAgICAgQVNTRVJUKHRlbXBM
ZW5ndGggPCBidWZmZXJTaXplKTsKLSAgICAgICAgfQotICAgICAgICBzdHJpbmcgcmVzdWx0UGF0
aChXZWJTdHJpbmcodGVtcFBhdGguZ2V0KCksIHRlbXBMZW5ndGgpLnV0ZjgoKSk7Ci0gICAgICAg
IHJlc3VsdFBhdGguYXBwZW5kKHVybC5zdWJzdHIodGVtcFByZWZpeExlbmd0aCkpOwotICAgICAg
ICByZXR1cm4gcmVzdWx0UGF0aDsKLSAgICB9Ci0jZW5kaWYKLQotICAgIC8vIFNvbWUgbGF5b3V0
IHRlc3RzIHVzZSBmaWxlOi8vLy8gd2hpY2ggd2UgcmVzb2x2ZSBhcyBhIFVOQyBwYXRoLiBOb3Jt
YWxpemUKLSAgICAvLyB0aGVtIHRvIGp1c3QgZmlsZTovLy8uCi0gICAgc3RyaW5nIGxvd2VyVXJs
ID0gdXJsOwotICAgIHN0cmluZyByZXN1bHQgPSB1cmw7Ci0gICAgdHJhbnNmb3JtKGxvd2VyVXJs
LmJlZ2luKCksIGxvd2VyVXJsLmVuZCgpLCBsb3dlclVybC5iZWdpbigpLCA6OnRvbG93ZXIpOwot
ICAgIHdoaWxlICghbG93ZXJVcmwuZmluZCgiZmlsZTovLy8vIikpIHsKLSAgICAgICAgcmVzdWx0
ID0gcmVzdWx0LnN1YnN0cigwLCA4KSArIHJlc3VsdC5zdWJzdHIoOSk7Ci0gICAgICAgIGxvd2Vy
VXJsID0gbG93ZXJVcmwuc3Vic3RyKDAsIDgpICsgbG93ZXJVcmwuc3Vic3RyKDkpOwotICAgIH0K
LSAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OlJld3JpdGVMYXlvdXRUZXN0c1VSTChyZXN1bHQp
LnNwZWMoKTsKLX0KLQotdm9pZCBXZWJWaWV3SG9zdDo6c2V0TG9jYWxlKGNvbnN0IHN0ZDo6c3Ry
aW5nJiBsb2NhbGUpCi17Ci0gICAgc2V0bG9jYWxlKExDX0FMTCwgbG9jYWxlLmNfc3RyKCkpOwot
fQotCiAvLyBQdWJsaWMgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFdlYlZpZXdIb3N0OjpXZWJWaWV3SG9zdChU
ZXN0U2hlbGwqIHNoZWxsKQpAQCAtMTQ1OCw2ICsxNDAyLDEyIEBAIHZvaWQgV2ViVmlld0hvc3Q6
OnNldFBlbmRpbmdFeHRyYURhdGEoUGEKICAgICBtX3BlbmRpbmdFeHRyYURhdGEgPSBleHRyYURh
dGE7CiB9CiAKK3ZvaWQgV2ViVmlld0hvc3Q6OnNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yKQoreworICAgIHdlYlZpZXcoKS0+c2V0RGV2aWNlU2NhbGVGYWN0b3Io
ZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGRpc2NhcmRCYWNraW5nU3RvcmUoKTsKK30KKwogdm9p
ZCBXZWJWaWV3SG9zdDo6c2V0UGFnZVRpdGxlKGNvbnN0IFdlYlN0cmluZyYpCiB7CiAgICAgLy8g
Tm90aGluZyB0byBkbyBpbiBsYXlvdXQgdGVzdC4KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAkocmV2aXNpb24gMTM5ODE5KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAkod29ya2luZyBjb3B5KQpAQCAtOTYs
NiArOTYsNyBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAgICAg
dm9pZCBzZXRCbG9ja1JlZGlyZWN0cyhib29sIGJsb2NrKSB7IG1fYmxvY2tzUmVkaXJlY3RzID0g
YmxvY2s7IH0KICAgICB2b2lkIHNldFJlcXVlc3RSZXR1cm5OdWxsKGJvb2wgcmV0dXJuTnVsbCkg
eyBtX3JlcXVlc3RSZXR1cm5OdWxsID0gcmV0dXJuTnVsbDsgfQogICAgIHZvaWQgc2V0UGVuZGlu
Z0V4dHJhRGF0YShQYXNzT3duUHRyPFRlc3RTaGVsbEV4dHJhRGF0YT4pOworICAgIHZvaWQgc2V0
RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQpOwogCiAgICAgdm9pZCBwYWludFJlY3QoY29uc3QgV2Vi
S2l0OjpXZWJSZWN0Jik7CiAgICAgdm9pZCBwYWludEludmFsaWRhdGVkUmVnaW9uKCk7CkBAIC0x
NTUsMTEgKzE1Niw2IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkK
ICAgICB2aXJ0dWFsIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nLCBjb25zdCBzdGQ6
OnN0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbERhdGFiYXNlcygp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhYmFzZVF1b3RhKGludCkgT1ZFUlJJ
REU7Ci0gICAgdmlydHVhbCB2b2lkIHNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0KSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXMoYm9vbCkgT1ZFUlJJREU7Ci0gICAgdmlydHVh
bCB2b2lkIHNldEFjY2VwdEFsbENvb2tpZXMoYm9vbCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBz
dGQ6OnN0cmluZyBwYXRoVG9Mb2NhbFJlc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nJiB1cmwpIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXRMb2NhbGUoY29uc3Qgc3RkOjpzdHJpbmcmKSBP
VkVSUklERTsKIAogICAgIC8vIE5hdmlnYXRpb25Ib3N0CiAgICAgdmlydHVhbCBib29sIG5hdmln
YXRlKGNvbnN0IFRlc3ROYXZpZ2F0aW9uRW50cnkmLCBib29sIHJlbG9hZCk7CkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3B1YmxpYy9XZWJUZXN0RGVsZWdh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVu
bmVyL3B1YmxpYy9XZWJUZXN0RGVsZWdhdGUuaAkocmV2aXNpb24gMTM5ODE5KQorKysgVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJsaWMvV2ViVGVzdERlbGVnYXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDExICs4Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nLCBjb25zdCBzdGQ6OnN0cmluZyYpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbERhdGFiYXNlcygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXREYXRhYmFzZVF1b3RhKGludCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldERldmlj
ZVNjYWxlRmFjdG9yKGZsb2F0KSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXMoYm9vbCkg
eyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldEFjY2VwdEFsbENvb2tpZXMoYm9vbCkgeyB9Ci0gICAg
dmlydHVhbCBzdGQ6OnN0cmluZyBwYXRoVG9Mb2NhbFJlc291cmNlKGNvbnN0IHN0ZDo6c3RyaW5n
JiByZXNvdXJjZSkgeyByZXR1cm4gc3RkOjpzdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBz
ZXRMb2NhbGUoY29uc3Qgc3RkOjpzdHJpbmcmKSB7IH0KIH07CiAKIH0KSW5kZXg6IFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rl
c3RSdW5uZXIuY3BwCShyZXZpc2lvbiAxMzk4MTkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDcsMTQgKzQ3LDEyIEBACiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRl
ICJXZWJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldlYlN1cnJvdW5kaW5nVGV4dC5oIgotI2luY2x1
ZGUgIldlYlRhc2suaCIKICNpbmNsdWRlICJXZWJUZXN0RGVsZWdhdGUuaCIKICNpbmNsdWRlICJX
ZWJWaWV3LmgiCiAjaW5jbHVkZSAiV2ViV29ya2VySW5mby5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYlBvaW50LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmgiCiAjaW5jbHVkZSAidjgvaW5jbHVkZS92OC5oIgotI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgT1MoTElOVVgpIHx8
IE9TKEFORFJPSUQpCkBAIC03OCwyNiArNzYsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRlc3Ryb3koKSB7IH0KIH07CiAKLWNsYXNzIEludm9rZUNhbGxiYWNrVGFzayA6IHB1YmxpYyBX
ZWJNZXRob2RUYXNrPFRlc3RSdW5uZXI+IHsKLXB1YmxpYzoKLSAgICBJbnZva2VDYWxsYmFja1Rh
c2soVGVzdFJ1bm5lciogb2JqZWN0LCBQYXNzT3duQXJyYXlQdHI8Q3BwVmFyaWFudD4gY2FsbGJh
Y2tBcmd1bWVudHMsIHVpbnQzMl90IG51bWJlck9mQXJndW1lbnRzKQotICAgICAgICA6IFdlYk1l
dGhvZFRhc2s8VGVzdFJ1bm5lcj4ob2JqZWN0KQotICAgICAgICAsIG1fY2FsbGJhY2tBcmd1bWVu
dHMoY2FsbGJhY2tBcmd1bWVudHMpCi0gICAgICAgICwgbV9udW1iZXJPZkFyZ3VtZW50cyhudW1i
ZXJPZkFyZ3VtZW50cykKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHJ1bklmVmFs
aWQoKQotICAgIHsKLSAgICAgICAgQ3BwVmFyaWFudCBpbnZva2VSZXN1bHQ7Ci0gICAgICAgIG1f
Y2FsbGJhY2tBcmd1bWVudHNbMF0uaW52b2tlRGVmYXVsdChtX2NhbGxiYWNrQXJndW1lbnRzLmdl
dCgpLCBtX251bWJlck9mQXJndW1lbnRzLCBpbnZva2VSZXN1bHQpOwotICAgIH0KLQotcHJpdmF0
ZToKLSAgICBPd25BcnJheVB0cjxDcHBWYXJpYW50PiBtX2NhbGxiYWNrQXJndW1lbnRzOwotICAg
IHVpbnQzMl90IG1fbnVtYmVyT2ZBcmd1bWVudHM7Ci19OwotCiB9CiAKIFRlc3RSdW5uZXI6OlRl
c3RSdW5uZXIoKQpAQCAtMjAyLDExICsxODAsNiBAQCBUZXN0UnVubmVyOjpUZXN0UnVubmVyKCkK
ICAgICBiaW5kTWV0aG9kKCJldmFsdWF0ZUluV2ViSW5zcGVjdG9yIiwgJlRlc3RSdW5uZXI6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOwogICAgIGJpbmRNZXRob2QoImNsZWFyQWxsRGF0YWJhc2Vz
IiwgJlRlc3RSdW5uZXI6OmNsZWFyQWxsRGF0YWJhc2VzKTsKICAgICBiaW5kTWV0aG9kKCJzZXRE
YXRhYmFzZVF1b3RhIiwgJlRlc3RSdW5uZXI6OnNldERhdGFiYXNlUXVvdGEpOwotICAgIGJpbmRN
ZXRob2QoInNldEFsd2F5c0FjY2VwdENvb2tpZXMiLCAmVGVzdFJ1bm5lcjo6c2V0QWx3YXlzQWNj
ZXB0Q29va2llcyk7Ci0gICAgYmluZE1ldGhvZCgic2V0V2luZG93SXNLZXkiLCAmVGVzdFJ1bm5l
cjo6c2V0V2luZG93SXNLZXkpOwotICAgIGJpbmRNZXRob2QoInBhdGhUb0xvY2FsUmVzb3VyY2Ui
LCAmVGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSk7Ci0gICAgYmluZE1ldGhvZCgic2V0
QmFja2luZ1NjYWxlRmFjdG9yIiwgJlRlc3RSdW5uZXI6OnNldEJhY2tpbmdTY2FsZUZhY3Rvcik7
Ci0gICAgYmluZE1ldGhvZCgic2V0UE9TSVhMb2NhbGUiLCAmVGVzdFJ1bm5lcjo6c2V0UE9TSVhM
b2NhbGUpOwogCiAgICAgLy8gUHJvcGVydGllcy4KICAgICBiaW5kUHJvcGVydHkoIndvcmtlclRo
cmVhZENvdW50IiwgJlRlc3RSdW5uZXI6OndvcmtlclRocmVhZENvdW50KTsKQEAgLTI3NSw5ICsy
NDgsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnJlc2V0KCkKIAogICAgIC8vIFJlc2V0IHRoZSBkZWZh
dWx0IHF1b3RhIGZvciBlYWNoIG9yaWdpbiB0byA1TUIKICAgICBtX2RlbGVnYXRlLT5zZXREYXRh
YmFzZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7Ci0gICAgbV9kZWxlZ2F0ZS0+c2V0RGV2aWNlU2Nh
bGVGYWN0b3IoMSk7Ci0gICAgbV9kZWxlZ2F0ZS0+c2V0QWNjZXB0QWxsQ29va2llcyhmYWxzZSk7
Ci0gICAgbV9kZWxlZ2F0ZS0+c2V0TG9jYWxlKCIiKTsKIAogICAgIG1fZHVtcEVkaXRpbmdDYWxs
YmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBBc1RleHQgPSBmYWxzZTsKQEAgLTMxMCw4ICsyODAs
NiBAQCB2b2lkIFRlc3RSdW5uZXI6OnJlc2V0KCkKICAgICBtX3VzZXJTdHlsZVNoZWV0TG9jYXRp
b24gPSBXZWJVUkwoKTsKIAogICAgIG1fd2ViUGVybWlzc2lvbnMtPnJlc2V0KCk7Ci0KLSAgICBt
X3Rhc2tMaXN0LnJldm9rZUFsbCgpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnNldFRlc3RJc1J1
bm5pbmcoYm9vbCBydW5uaW5nKQpAQCAtMTM0NSw1MCArMTMxMyw2IEBAIHZvaWQgVGVzdFJ1bm5l
cjo6c2V0RGF0YWJhc2VRdW90YShjb25zdAogICAgICAgICBtX2RlbGVnYXRlLT5zZXREYXRhYmFz
ZVF1b3RhKGFyZ3VtZW50c1swXS50b0ludDMyKCkpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNl
dEFsd2F5c0FjY2VwdENvb2tpZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENw
cFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+IDApCi0gICAg
ICAgIG1fZGVsZWdhdGUtPnNldEFjY2VwdEFsbENvb2tpZXMoY3BwVmFyaWFudFRvQm9vbChhcmd1
bWVudHNbMF0pKTsKLSAgICByZXN1bHQtPnNldE51bGwoKTsKLX0KLQotdm9pZCBUZXN0UnVubmVy
OjpzZXRXaW5kb3dJc0tleShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFy
aWFudCogcmVzdWx0KQotewotICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVu
dHNbMF0uaXNCb29sKCkpCi0gICAgICAgIG1fZGVsZWdhdGUtPnNldEZvY3VzKGFyZ3VtZW50c1sw
XS52YWx1ZS5ib29sVmFsdWUpOwotICAgIHJlc3VsdC0+c2V0TnVsbCgpOwotfQotCi12b2lkIFRl
c3RSdW5uZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1
bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAgICByZXN1bHQtPnNldE51bGwoKTsKLSAg
ICBpZiAoYXJndW1lbnRzLnNpemUoKSA8PSAwIHx8ICFhcmd1bWVudHNbMF0uaXNTdHJpbmcoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgcmVzdWx0LT5zZXQobV9kZWxlZ2F0ZS0+cGF0aFRvTG9j
YWxSZXNvdXJjZShhcmd1bWVudHNbMF0udG9TdHJpbmcoKSkpOwotfQotCi12b2lkIFRlc3RSdW5u
ZXI6OnNldEJhY2tpbmdTY2FsZUZhY3Rvcihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50
cywgQ3BwVmFyaWFudCogcmVzdWx0KQotewotICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMiB8
fCAhYXJndW1lbnRzWzBdLmlzTnVtYmVyKCkgfHwgIWFyZ3VtZW50c1sxXS5pc09iamVjdCgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBmbG9hdCB2YWx1ZSA9IGFyZ3VtZW50c1swXS52YWx1ZS5k
b3VibGVWYWx1ZTsKLSAgICBtX2RlbGVnYXRlLT5zZXREZXZpY2VTY2FsZUZhY3Rvcih2YWx1ZSk7
Ci0KLSAgICBPd25BcnJheVB0cjxDcHBWYXJpYW50PiBjYWxsYmFja0FyZ3VtZW50cyA9IGFkb3B0
QXJyYXlQdHIobmV3IENwcFZhcmlhbnRbMV0pOwotICAgIGNhbGxiYWNrQXJndW1lbnRzWzBdLnNl
dChhcmd1bWVudHNbMV0pOwotICAgIHJlc3VsdC0+c2V0TnVsbCgpOwotICAgIG1fZGVsZWdhdGUt
PnBvc3RUYXNrKG5ldyBJbnZva2VDYWxsYmFja1Rhc2sodGhpcywgY2FsbGJhY2tBcmd1bWVudHMu
cmVsZWFzZSgpLCAxKSk7Ci19Ci0KLXZvaWQgVGVzdFJ1bm5lcjo6c2V0UE9TSVhMb2NhbGUoY29u
c3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAg
ICByZXN1bHQtPnNldE51bGwoKTsKLSAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA9PSAxICYmIGFy
Z3VtZW50c1swXS5pc1N0cmluZygpKQotICAgICAgICBtX2RlbGVnYXRlLT5zZXRMb2NhbGUoYXJn
dW1lbnRzWzBdLnRvU3RyaW5nKCkpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OmR1bXBFZGl0aW5n
Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsK
ICAgICBtX2R1bXBFZGl0aW5nQ2FsbGJhY2tzID0gdHJ1ZTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVy
LmgJKHJldmlzaW9uIDEzOTgxOSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNiBA
QAogCiAjaW5jbHVkZSAiQ3BwQm91bmRDbGFzcy5oIgogI2luY2x1ZGUgIldlYkRlbGl2ZXJlZElu
dGVudENsaWVudC5oIgotI2luY2x1ZGUgIldlYlRhc2suaCIKICNpbmNsdWRlICJXZWJUZXN0UnVu
bmVyLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQXJyYXlCdWZmZXJWaWV3LmgiCiAjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViVVJMLmgiCkBAIC02MCw4ICs1OSw2IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcmVzZXQoKTsKIAotICAgIFdlYlRhc2tMaXN0KiB0YXNrTGlzdCgpIHsgcmV0dXJuICZtX3Rh
c2tMaXN0OyB9Ci0KICAgICAvLyBXZWJUZXN0UnVubmVyIGltcGxlbWVudGF0aW9uLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRUZXN0SXNSdW5uaW5nKGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGREdW1wRWRpdGluZ0NhbGxiYWNrcygpIGNvbnN0IE9WRVJSSURFOwpAQCAtMzM5
LDI3ICszMzYsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBTZXRzIHRoZSBkZWZhdWx0IHF1b3RhIGZv
ciBhbGwgb3JpZ2lucwogICAgIHZvaWQgc2V0RGF0YWJhc2VRdW90YShjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CiAKLSAgICAvLyBDaGFuZ2VzIHRoZSBjb29raWUgcG9saWN5
IGZyb20gdGhlIGRlZmF1bHQgdG8gYWxsb3cgYWxsIGNvb2tpZXMuCi0gICAgdm9pZCBzZXRBbHdh
eXNBY2NlcHRDb29raWVzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKLQot
ICAgIC8vIEdpdmVzIGZvY3VzIHRvIHRoZSB3aW5kb3cuCi0gICAgdm9pZCBzZXRXaW5kb3dJc0tl
eShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7Ci0KLSAgICAvLyBDb252ZXJ0
cyBhIFVSTCBzdGFydGluZyB3aXRoIGZpbGU6Ly8vdG1wLyB0byB0aGUgbG9jYWwgbWFwcGluZy4K
LSAgICB2b2lkIHBhdGhUb0xvY2FsUmVzb3VyY2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCopOwotCi0gICAgLy8gVXNlZCB0byBzZXQgdGhlIGRldmljZSBzY2FsZSBmYWN0b3Iu
Ci0gICAgdm9pZCBzZXRCYWNraW5nU2NhbGVGYWN0b3IoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwotCi0gICAgLy8gQ2FsbHMgc2V0bG9jYWxlKExDX0FMTCwgLi4uKSBmb3Ig
YSBzcGVjaWZpZWQgbG9jYWxlLgotICAgIC8vIFJlc2V0cyBiZXR3ZWVuIHRlc3RzLgotICAgIHZv
aWQgc2V0UE9TSVhMb2NhbGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwot
CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgLy8gUHJvcGVydGllcwogICAgIHZvaWQgd29y
a2VyVGhyZWFkQ291bnQoQ3BwVmFyaWFudCopOwogCi0gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAg
ICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAvLyBGYWxsYmFjayBhbmQgc3R1YiBtZXRob2RzCiAK
ICAgICAvLyBUaGUgZmFsbGJhY2sgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGEgbm9uZXhpc3RlbnQg
bWV0aG9kIGlzIGNhbGxlZCBvbgpAQCAtNDgxLDkgKzQ2Miw2IEBAIHByaXZhdGU6CiAgICAgLy8g
V0FWIGF1ZGlvIGRhdGEgaXMgc3RvcmVkIGhlcmUuCiAgICAgV2ViS2l0OjpXZWJBcnJheUJ1ZmZl
clZpZXcgbV9hdWRpb0RhdGE7CiAKLSAgICAvLyBVc2VkIGZvciB0ZXN0IHRpbWVvdXRzLgotICAg
IFdlYlRhc2tMaXN0IG1fdGFza0xpc3Q7Ci0KICAgICBXZWJUZXN0RGVsZWdhdGUqIG1fZGVsZWdh
dGU7CiAgICAgV2ViS2l0OjpXZWJWaWV3KiBtX3dlYlZpZXc7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>