<?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>135055</bug_id>
          
          <creation_ts>2014-07-18 09:50:18 -0700</creation_ts>
          <short_desc>REGRESSION(r171218): Made fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml crash (Requested by ap on #webkit).</short_desc>
          <delta_ts>2014-07-18 09:54:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>134303</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>krit</cc>
    
    <cc>rniwa</cc>
    
    <cc>stavila</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1023274</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-18 09:50:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/171218 broke the build:
Made fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml crash (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023276</commentid>
    <comment_count>1</comment_count>
      <attachid>235130</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-18 09:50:50 -0700</bug_when>
    <thetext>Created attachment 235130
ROLLOUT of r171218

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>1023277</commentid>
    <comment_count>2</comment_count>
      <attachid>235130</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-18 09:54:14 -0700</bug_when>
    <thetext>Comment on attachment 235130
ROLLOUT of r171218

Clearing flags on attachment: 235130

Committed r171222: &lt;http://trac.webkit.org/changeset/171222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023278</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-18 09:54:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235130</attachid>
            <date>2014-07-18 09:50:50 -0700</date>
            <delta_ts>2014-07-18 09:54:14 -0700</delta_ts>
            <desc>ROLLOUT of r171218</desc>
            <filename>bug-135055-20140718095034.patch</filename>
            <type>text/plain</type>
            <size>26905</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxMjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE5ZmQyNGRjMWY5NzIy
OThjYzJjZTM5NGY2OWE4MDNiNWJhZDBhMi4uMTM0OTkzNzkyZjViNjUxOGIyMGI5NDkyMDY0MDY2
MGNlMzkxOTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTA3LTE4ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTcxMjE4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM1MDU1CisKKyAgICAgICAgTWFkZSBmYXN0L2RvbS9IVE1MT2JqZWN0
RWxlbWVudC9iZWZvcmVsb2FkLXNldC10ZXh0LQorICAgICAgICBjcmFzaC54aHRtbCBjcmFzaCAo
UmVxdWVzdGVkIGJ5IGFwIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNl
dDoKKworICAgICAgICAiUkVHUkVTU0lPTiAocjE2OTEwNSk6IENyYXNoIGluIHNlbGVjdGlvbiIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDMwMwor
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNzEyMTgKKwogMjAxNC0w
Ny0xOCAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9iZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjE2OTEwNSk6IENyYXNoIGluIHNlbGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVmNmM5ZmUwY2RiMjA3OTkx
YjQyYWMxZDdmMmMwMmU1OGIwNTcyNTguLjE0ZDJlNGQzNGRjODljNjRkZWI1YjNmZmYzNzI5ZWQz
MzQ5ZDVkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTQ2Niw3ICs0NjYsNyBAQAogCQkwRjA5MDg3RjE0NDRGREIyMDAwMjg5
MTcgLyogU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1l
LmNwcCAqLzsgfTsKIAkJMEYwOTlEMDgxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFy
cmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjA5OUQwNjE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250
cm9sbGVyLmNwcCAqLzsgfTsKIAkJMEYwOTlEMDkxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVU
eXBlZEFycmF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5
Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTBGMTFBNTRGMEYzOTIzMzEwMEMzNzg4NCAvKiBSZW5kZXJTZWxlY3Rpb25JbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjExQTU0RTBG
MzkyMzMxMDBDMzc4ODQgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGMTFBNTRGMEYzOTIzMzEwMEMzNzg4
NCAvKiBSZW5kZXJTZWxlY3Rpb25JbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjExQTU0RTBGMzkyMzMxMDBDMzc4ODQgLyogUmVuZGVyU2VsZWN0
aW9uSW5mby5oICovOyB9OwogCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1D
QUZpbHRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMTMxNjNEMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMTMxNjQwMTZFRDBD
REUwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVyc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTMxNjNGMTZFRDBDREUwMDM1Q0MwNCAvKiBQ
bGF0Zm9ybUNBRmlsdGVyc01hYy5tbSAqLzsgfTsKIAkJMEYxNURBOEEwRjNBQUVFNzAwMDBDRTQ3
IC8qIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE1REE4OTBGM0FBRUU3MDAwMENFNDcgLyogQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUuaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCmluZGV4IDAwMGJkMzkwMjRhYTM4ZTVhMmM0MjMwODY0NDcxODMwMjhhMjkw
ZGYuLmJkYWFjZDBiMDQ1OGEyY2E0YWFmMDUwYWIxYjU2NzU1OTY2ZDg2MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTgyOCw4ICsxODI4LDggQEAgYm9v
bCBSZW5kZXJCbG9jazo6aXNTZWxlY3Rpb25Sb290KCkgY29uc3QKICAgICAgICAgfHwgaXNSZW5k
ZXJGbG93VGhyZWFkKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3BhbkFsbCkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCi0gICAgaWYgKHZpZXcoKS5zZWxlY3Rpb25VbnNw
bGl0U3RhcnQoKSkgewotICAgICAgICBOb2RlKiBzdGFydEVsZW1lbnQgPSB2aWV3KCkuc2VsZWN0
aW9uVW5zcGxpdFN0YXJ0KCktPm5vZGUoKTsKKyAgICBpZiAodmlldygpLnNlbGVjdGlvblN0YXJ0
KCkpIHsKKyAgICAgICAgTm9kZSogc3RhcnRFbGVtZW50ID0gdmlldygpLnNlbGVjdGlvblN0YXJ0
KCktPm5vZGUoKTsKICAgICAgICAgaWYgKHN0YXJ0RWxlbWVudCAmJiBzdGFydEVsZW1lbnQtPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKSA9PSBlbGVtZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Vs
ZWN0aW9uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbklu
Zm8uaAppbmRleCA5M2FlN2Q5YzUwOGFkMWE5MjdhZTVkNGUyM2EyMzhkMmNiZjhjODhjLi40NmU4
ODZmMDY4ZDkyNGE3Y2RmZTY2MGMzYTJmMjEwYjVjOGVjZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTI1LDkgKzI1LDggQEAKICNp
Zm5kZWYgUmVuZGVyU2VsZWN0aW9uSW5mb19oCiAjZGVmaW5lIFJlbmRlclNlbGVjdGlvbkluZm9f
aAogCi0jaW5jbHVkZSAiR2FwUmVjdHMuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCi0jaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5k
ZXJUZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcAppbmRleCAxODFjMzJkNzlhNmVjYjkxMjFkM2FiMjg4NDBkZmExNTBhZTZi
Mjc3Li4wNDQ0NGEyN2ZhMjI1ODE5MDk0ZTA2ODQ2NDY0ZTE5NzY4MDA4ZmI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC05NiwxMCArOTYsMTAgQEAgc3RydWN0
IFNlbGVjdGlvbkl0ZXJhdG9yIHsKIFJlbmRlclZpZXc6OlJlbmRlclZpZXcoRG9jdW1lbnQmIGRv
Y3VtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxlPiBzdHlsZSkKICAgICA6IFJlbmRlckJsb2NrRmxv
dyhkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxlKSkKICAgICAsIG1fZnJhbWVWaWV3KCpkb2N1bWVu
dC52aWV3KCkpCi0gICAgLCBtX3Vuc3BsaXRTZWxlY3Rpb25TdGFydCgwKQotICAgICwgbV91bnNw
bGl0U2VsZWN0aW9uRW5kKDApCi0gICAgLCBtX3Vuc3BsaXRTZWxlY3Rpb25TdGFydFBvcygtMSkK
LSAgICAsIG1fdW5zcGxpdFNlbGVjdGlvbkVuZFBvcygtMSkKKyAgICAsIG1fc2VsZWN0aW9uU3Rh
cnQoMCkKKyAgICAsIG1fc2VsZWN0aW9uRW5kKDApCisgICAgLCBtX3NlbGVjdGlvblN0YXJ0UG9z
KC0xKQorICAgICwgbV9zZWxlY3Rpb25FbmRQb3MoLTEpCiAgICAgLCBtX3JlbmRlcmVyQ291bnQo
MCkKICAgICAsIG1fbWF4aW1hbE91dGxpbmVTaXplKDApCiAgICAgLCBtX2xhenlSZXBhaW50VGlt
ZXIodGhpcywgJlJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZCkKQEAgLTg0MiwyMiAr
ODQyLDE5IEBAIHZvaWQgUmVuZGVyVmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3Rh
cnQsIGludCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlCiAgICAgYm9vbCBjYXJldENoYW5nZWQg
PSBtX3NlbGVjdGlvbldhc0NhcmV0ICE9IGZyYW1lKCkuc2VsZWN0aW9uKCkuaXNDYXJldCgpOwog
ICAgIG1fc2VsZWN0aW9uV2FzQ2FyZXQgPSBmcmFtZSgpLnNlbGVjdGlvbigpLmlzQ2FyZXQoKTsK
ICAgICAvLyBKdXN0IHJldHVybiBpZiB0aGUgc2VsZWN0aW9uIGhhc24ndCBjaGFuZ2VkLgotICAg
IGlmIChtX3Vuc3BsaXRTZWxlY3Rpb25TdGFydCA9PSBzdGFydCAmJiBtX3Vuc3BsaXRTZWxlY3Rp
b25TdGFydFBvcyA9PSBzdGFydFBvcwotICAgICAgICAmJiBtX3Vuc3BsaXRTZWxlY3Rpb25FbmQg
PT0gZW5kICYmIG1fdW5zcGxpdFNlbGVjdGlvbkVuZFBvcyA9PSBlbmRQb3MgJiYgIWNhcmV0Q2hh
bmdlZCkgeworICAgIGlmIChtX3NlbGVjdGlvblN0YXJ0ID09IHN0YXJ0ICYmIG1fc2VsZWN0aW9u
U3RhcnRQb3MgPT0gc3RhcnRQb3MgJiYKKyAgICAgICAgbV9zZWxlY3Rpb25FbmQgPT0gZW5kICYm
IG1fc2VsZWN0aW9uRW5kUG9zID09IGVuZFBvcyAmJiAhY2FyZXRDaGFuZ2VkKQogICAgICAgICBy
ZXR1cm47Ci0gICAgfQogCiAgICAgLy8gU2V0IGdsb2JhbCBwb3NpdGlvbnMgZm9yIG5ldyBzZWxl
Y3Rpb24uCi0gICAgbV91bnNwbGl0U2VsZWN0aW9uU3RhcnQgPSBzdGFydDsKLSAgICBtX3Vuc3Bs
aXRTZWxlY3Rpb25TdGFydFBvcyA9IHN0YXJ0UG9zOwotICAgIG1fdW5zcGxpdFNlbGVjdGlvbkVu
ZCA9IGVuZDsKLSAgICBtX3Vuc3BsaXRTZWxlY3Rpb25FbmRQb3MgPSBlbmRQb3M7CisgICAgbV9z
ZWxlY3Rpb25TdGFydCA9IHN0YXJ0OworICAgIG1fc2VsZWN0aW9uU3RhcnRQb3MgPSBzdGFydFBv
czsKKyAgICBtX3NlbGVjdGlvbkVuZCA9IGVuZDsKKyAgICBtX3NlbGVjdGlvbkVuZFBvcyA9IGVu
ZFBvczsKIAogICAgIC8vIElmIHRoZXJlIGlzIG5vIFJlbmRlck5hbWVkRmxvd1RocmVhZHMgd2Ug
Zm9sbG93IHRoZSByZWd1bGFyIHNlbGVjdGlvbi4KICAgICBpZiAoIWhhc1JlbmRlck5hbWVkRmxv
d1RocmVhZHMoKSkgewotICAgICAgICBSZW5kZXJTdWJ0cmVlc01hcCBzaW5nbGVTdWJ0cmVlTWFw
OwotICAgICAgICBzaW5nbGVTdWJ0cmVlTWFwLnNldCh0aGlzLCBTZWxlY3Rpb25TdWJ0cmVlUm9v
dChzdGFydCwgc3RhcnRQb3MsIGVuZCwgZW5kUG9zKSk7Ci0gICAgICAgIHVwZGF0ZVNlbGVjdGlv
bkZvclN1YnRyZWVzKHNpbmdsZVN1YnRyZWVNYXAsIGJsb2NrUmVwYWludE1vZGUpOworICAgICAg
ICBzZXRTdWJ0cmVlU2VsZWN0aW9uKCp0aGlzLCBzdGFydCwgc3RhcnRQb3MsIGVuZCwgZW5kUG9z
LCBibG9ja1JlcGFpbnRNb2RlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODY3LDYg
Kzg2NCw3IEBAIHZvaWQgUmVuZGVyVmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3Rh
cnQsIGludCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlCiB2b2lkIFJlbmRlclZpZXc6OnNwbGl0
U2VsZWN0aW9uQmV0d2VlblN1YnRyZWVzKFJlbmRlck9iamVjdCogc3RhcnQsIGludCBzdGFydFBv
cywgUmVuZGVyT2JqZWN0KiBlbmQsIGludCBlbmRQb3MsIFNlbGVjdGlvblJlcGFpbnRNb2RlIGJs
b2NrUmVwYWludE1vZGUpCiB7CiAgICAgLy8gQ29tcHV0ZSB0aGUgdmlzaWJsZSBzZWxlY3Rpb24g
ZW5kIHBvaW50cyBmb3IgZWFjaCBvZiB0aGUgc3VidHJlZXMuCisgICAgdHlwZWRlZiBIYXNoTWFw
PFNlbGVjdGlvblN1YnRyZWVSb290KiwgU2VsZWN0aW9uU3VidHJlZVJvb3Q+IFJlbmRlclN1YnRy
ZWVzTWFwOwogICAgIFJlbmRlclN1YnRyZWVzTWFwIHJlbmRlclN1YnRyZWVzTWFwOwogCiAgICAg
U2VsZWN0aW9uU3VidHJlZVJvb3QgaW5pdGlhbFNlbGVjdGlvbjsKQEAgLTkwMCw0OSArODk4LDMz
IEBAIHZvaWQgUmVuZGVyVmlldzo6c3BsaXRTZWxlY3Rpb25CZXR3ZWVuU3VidHJlZXMoUmVuZGVy
T2JqZWN0KiBzdGFydCwgaW50IHN0YXJ0UG9zCiAgICAgICAgICAgICByZW5kZXJTdWJ0cmVlc01h
cC5zZXQoJnJvb3QsIHNlbGVjdGlvbkRhdGEpOwogICAgICAgICB9CiAgICAgfQotICAgIAotICAg
IHVwZGF0ZVNlbGVjdGlvbkZvclN1YnRyZWVzKHJlbmRlclN1YnRyZWVzTWFwLCBibG9ja1JlcGFp
bnRNb2RlKTsKLX0KLQotdm9pZCBSZW5kZXJWaWV3Ojp1cGRhdGVTZWxlY3Rpb25Gb3JTdWJ0cmVl
cyhSZW5kZXJTdWJ0cmVlc01hcCYgcmVuZGVyU3VidHJlZXNNYXAsIFNlbGVjdGlvblJlcGFpbnRN
b2RlIGJsb2NrUmVwYWludE1vZGUpCi17Ci0gICAgU3VidHJlZU9sZFNlbGVjdGlvbkRhdGFNYXAg
b2xkU2VsZWN0aW9uRGF0YU1hcDsKLSAgICBmb3IgKGF1dG8gaXQgPSByZW5kZXJTdWJ0cmVlc01h
cC5iZWdpbigpOyBpdCAhPSByZW5kZXJTdWJ0cmVlc01hcC5lbmQoKTsgKytpdCkgewotICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8T2xkU2VsZWN0aW9uRGF0YT4gb2xkU2VsZWN0aW9uRGF0YSA9IHN0
ZDo6bWFrZV91bmlxdWU8T2xkU2VsZWN0aW9uRGF0YT4oKTsKLSAgICAgICAgY2xlYXJTdWJ0cmVl
U2VsZWN0aW9uKCppdC0+a2V5LCBibG9ja1JlcGFpbnRNb2RlLCAqb2xkU2VsZWN0aW9uRGF0YSk7
Ci0gICAgICAgIG9sZFNlbGVjdGlvbkRhdGFNYXAuc2V0KGl0LT5rZXksIHN0ZDo6bW92ZShvbGRT
ZWxlY3Rpb25EYXRhKSk7CiAKLSAgICAgICAgU2VsZWN0aW9uU3VidHJlZVJvb3QmIHN1YnRyZWVT
ZWxlY3Rpb25EYXRhID0gaXQtPnZhbHVlOworICAgIGZvciAoUmVuZGVyU3VidHJlZXNNYXA6Oml0
ZXJhdG9yIGkgPSByZW5kZXJTdWJ0cmVlc01hcC5iZWdpbigpOyBpICE9IHJlbmRlclN1YnRyZWVz
TWFwLmVuZCgpOyArK2kpIHsKKyAgICAgICAgU2VsZWN0aW9uU3VidHJlZVJvb3Qgc3VidHJlZVNl
bGVjdGlvbkRhdGEgPSBpLT52YWx1ZTsKICAgICAgICAgc3VidHJlZVNlbGVjdGlvbkRhdGEuYWRq
dXN0Rm9yVmlzaWJsZVNlbGVjdGlvbihkb2N1bWVudCgpKTsKLSAgICAgICAgCi0gICAgICAgIFNl
bGVjdGlvblN1YnRyZWVSb290JiByb290ID0gKml0LT5rZXk7Ci0gICAgICAgIHJvb3Quc2V0U2Vs
ZWN0aW9uU3RhcnQoc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0aW9uU3RhcnQoKSk7Ci0gICAg
ICAgIHJvb3Quc2V0U2VsZWN0aW9uU3RhcnRQb3Moc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0
aW9uU3RhcnRQb3MoKSk7Ci0gICAgICAgIHJvb3Quc2V0U2VsZWN0aW9uRW5kKHN1YnRyZWVTZWxl
Y3Rpb25EYXRhLnNlbGVjdGlvbkVuZCgpKTsKLSAgICAgICAgcm9vdC5zZXRTZWxlY3Rpb25FbmRQ
b3Moc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0aW9uRW5kUG9zKCkpOwotICAgIH0KLQotICAg
IC8vIFVwZGF0ZSBzZWxlY3Rpb24gc3RhdHVzIGZvciB0aGUgb2JqZWN0cyBpbnNpZGUgdGhlIHNl
bGVjdGlvbiBzdWJ0cmVlcy4KLSAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgYWZ0ZXIgdGhl
IHByZXZpb3VzIGxvb3AgdXBkYXRlZCB0aGUgc2VsZWN0aW9uU3RhcnQvRW5kCi0gICAgLy8gcGFy
YW1ldGVycyBvZiBhbGwgc3VidHJlZXMgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBiZSBjbGltYmlu
ZyB1cCB0aGUgY29udGFpbmluZwotICAgIC8vIGJsb2NrIGNoYWluIGFuZCB3ZSBtaWdodCBlbmQg
dXAgaW4gYSBkaWZmZXJlbnQgc2VsZWN0aW9uIHN1YnRyZWUuCi0gICAgZm9yIChhdXRvIGl0ID0g
cmVuZGVyU3VidHJlZXNNYXAuYmVnaW4oKTsgaXQgIT0gcmVuZGVyU3VidHJlZXNNYXAuZW5kKCk7
ICsraXQpIHsKLSAgICAgICAgU2VsZWN0aW9uU3VidHJlZVJvb3Qgc3VidHJlZVNlbGVjdGlvbkRh
dGEgPSBpdC0+dmFsdWU7Ci0gICAgICAgIE9sZFNlbGVjdGlvbkRhdGEmIG9sZFNlbGVjdGlvbkRh
dGEgPSAqb2xkU2VsZWN0aW9uRGF0YU1hcC5nZXQoaXQtPmtleSk7Ci0gICAgICAgIGFwcGx5U3Vi
dHJlZVNlbGVjdGlvbigqaXQtPmtleSwgc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0aW9uU3Rh
cnQoKSwgc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0aW9uRW5kKCksIHN1YnRyZWVTZWxlY3Rp
b25EYXRhLnNlbGVjdGlvbkVuZFBvcygpLCBibG9ja1JlcGFpbnRNb2RlLCBvbGRTZWxlY3Rpb25E
YXRhKTsKKyAgICAgICAgc2V0U3VidHJlZVNlbGVjdGlvbigqaS0+a2V5LCBzdWJ0cmVlU2VsZWN0
aW9uRGF0YS5zZWxlY3Rpb25TdGFydCgpLCBzdWJ0cmVlU2VsZWN0aW9uRGF0YS5zZWxlY3Rpb25T
dGFydFBvcygpLAorICAgICAgICAgICAgc3VidHJlZVNlbGVjdGlvbkRhdGEuc2VsZWN0aW9uRW5k
KCksIHN1YnRyZWVTZWxlY3Rpb25EYXRhLnNlbGVjdGlvbkVuZFBvcygpLCBibG9ja1JlcGFpbnRN
b2RlKTsKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6Y2xlYXJTdWJ0cmVlU2VsZWN0aW9u
KGNvbnN0IFNlbGVjdGlvblN1YnRyZWVSb290JiByb290LCBTZWxlY3Rpb25SZXBhaW50TW9kZSBi
bG9ja1JlcGFpbnRNb2RlLCBPbGRTZWxlY3Rpb25EYXRhJiBvbGRTZWxlY3Rpb25EYXRhKQordm9p
ZCBSZW5kZXJWaWV3OjpzZXRTdWJ0cmVlU2VsZWN0aW9uKFNlbGVjdGlvblN1YnRyZWVSb290JiBy
b290LCBSZW5kZXJPYmplY3QqIHN0YXJ0LCBpbnQgc3RhcnRQb3MsIFJlbmRlck9iamVjdCogZW5k
LCBpbnQgZW5kUG9zLCBTZWxlY3Rpb25SZXBhaW50TW9kZSBibG9ja1JlcGFpbnRNb2RlKQogewog
ICAgIC8vIFJlY29yZCB0aGUgb2xkIHNlbGVjdGVkIG9iamVjdHMuICBUaGVzZSB3aWxsIGJlIHVz
ZWQgbGF0ZXIKICAgICAvLyB3aGVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0aGUgbmV3IHNlbGVjdGVk
IG9iamVjdHMuCi0gICAgb2xkU2VsZWN0aW9uRGF0YS5zZWxlY3Rpb25TdGFydFBvcyA9IHJvb3Qu
c2VsZWN0aW9uU3RhcnRQb3MoKTsKLSAgICBvbGRTZWxlY3Rpb25EYXRhLnNlbGVjdGlvbkVuZFBv
cyA9IHJvb3Quc2VsZWN0aW9uRW5kUG9zKCk7Ci0gICAgCisgICAgaW50IG9sZFN0YXJ0UG9zID0g
cm9vdC5zZWxlY3Rpb25TdGFydFBvcygpOworICAgIGludCBvbGRFbmRQb3MgPSByb290LnNlbGVj
dGlvbkVuZFBvcygpOworCisgICAgLy8gT2JqZWN0cyBlYWNoIGhhdmUgYSBzaW5nbGUgc2VsZWN0
aW9uIHJlY3QgdG8gZXhhbWluZS4KKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVuZGVyT2JqZWN0Kiwg
c3RkOjp1bmlxdWVfcHRyPFJlbmRlclNlbGVjdGlvbkluZm8+PiBTZWxlY3RlZE9iamVjdE1hcDsK
KyAgICBTZWxlY3RlZE9iamVjdE1hcCBvbGRTZWxlY3RlZE9iamVjdHM7CisgICAgU2VsZWN0ZWRP
YmplY3RNYXAgbmV3U2VsZWN0ZWRPYmplY3RzOworCiAgICAgLy8gQmxvY2tzIGNvbnRhaW4gc2Vs
ZWN0ZWQgb2JqZWN0cyBhbmQgZmlsbCBnYXBzIGJldHdlZW4gdGhlbSwgZWl0aGVyIG9uIHRoZSBs
ZWZ0LCByaWdodCwgb3IgaW4gYmV0d2VlbiBsaW5lcyBhbmQgYmxvY2tzLgogICAgIC8vIEluIG9y
ZGVyIHRvIGdldCB0aGUgcmVwYWludCByZWN0IHJpZ2h0LCB3ZSBoYXZlIHRvIGV4YW1pbmUgbGVm
dCwgbWlkZGxlLCBhbmQgcmlnaHQgcmVjdHMgaW5kaXZpZHVhbGx5LCBzaW5jZSBvdGhlcndpc2UK
ICAgICAvLyB0aGUgdW5pb24gb2YgdGhvc2UgcmVjdHMgbWlnaHQgcmVtYWluIHRoZSBzYW1lIGV2
ZW4gd2hlbiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQuCisgICAgdHlwZWRlZiBIYXNoTWFwPFJlbmRl
ckJsb2NrKiwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbz4+IFNlbGVj
dGVkQmxvY2tNYXA7CisgICAgU2VsZWN0ZWRCbG9ja01hcCBvbGRTZWxlY3RlZEJsb2NrczsKKyAg
ICBTZWxlY3RlZEJsb2NrTWFwIG5ld1NlbGVjdGVkQmxvY2tzOwogCiAgICAgUmVuZGVyT2JqZWN0
KiBvcyA9IHJvb3Quc2VsZWN0aW9uU3RhcnQoKTsKICAgICBSZW5kZXJPYmplY3QqIHN0b3AgPSBy
ZW5kZXJlckFmdGVyUG9zaXRpb24ocm9vdC5zZWxlY3Rpb25FbmQoKSwgcm9vdC5zZWxlY3Rpb25F
bmRQb3MoKSk7CkBAIC05NTEsMTEgKzkzMywxMSBAQCB2b2lkIFJlbmRlclZpZXc6OmNsZWFyU3Vi
dHJlZVNlbGVjdGlvbihjb25zdCBTZWxlY3Rpb25TdWJ0cmVlUm9vdCYgcm9vdCwgU2VsZWN0aQog
ICAgICAgICBpZiAoKG9zLT5jYW5CZVNlbGVjdGlvbkxlYWYoKSB8fCBvcyA9PSByb290LnNlbGVj
dGlvblN0YXJ0KCkgfHwgb3MgPT0gcm9vdC5zZWxlY3Rpb25FbmQoKSkKICAgICAgICAgICAgICYm
IG9zLT5zZWxlY3Rpb25TdGF0ZSgpICE9IFNlbGVjdGlvbk5vbmUpIHsKICAgICAgICAgICAgIC8v
IEJsb2NrcyBhcmUgcmVzcG9uc2libGUgZm9yIHBhaW50aW5nIGxpbmUgZ2FwcyBhbmQgbWFyZ2lu
IGdhcHMuICBUaGV5IG11c3QgYmUgZXhhbWluZWQgYXMgd2VsbC4KLSAgICAgICAgICAgIG9sZFNl
bGVjdGlvbkRhdGEuc2VsZWN0ZWRPYmplY3RzLnNldChvcywgc3RkOjptYWtlX3VuaXF1ZTxSZW5k
ZXJTZWxlY3Rpb25JbmZvPihvcywgdHJ1ZSkpOworICAgICAgICAgICAgb2xkU2VsZWN0ZWRPYmpl
Y3RzLnNldChvcywgc3RkOjptYWtlX3VuaXF1ZTxSZW5kZXJTZWxlY3Rpb25JbmZvPihvcywgdHJ1
ZSkpOwogICAgICAgICAgICAgaWYgKGJsb2NrUmVwYWludE1vZGUgPT0gUmVwYWludE5ld1hPUk9s
ZCkgewogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBjYiA9IG9zLT5jb250YWluaW5nQmxv
Y2soKTsKICAgICAgICAgICAgICAgICB3aGlsZSAoY2IgJiYgIWNiLT5pc1JlbmRlclZpZXcoKSkg
ewotICAgICAgICAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyQmxvY2tTZWxlY3Rp
b25JbmZvPiYgYmxvY2tJbmZvID0gb2xkU2VsZWN0aW9uRGF0YS5zZWxlY3RlZEJsb2Nrcy5hZGQo
Y2IsIG51bGxwdHIpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbz4mIGJsb2NrSW5mbyA9IG9sZFNlbGVj
dGVkQmxvY2tzLmFkZChjYiwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwogICAgICAgICAgICAg
ICAgICAgICBpZiAoYmxvY2tJbmZvKQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgICAgIGJsb2NrSW5mbyA9IHN0ZDo6bWFrZV91bmlxdWU8UmVuZGVyQmxv
Y2tTZWxlY3Rpb25JbmZvPihjYik7CkBAIC05NjcsMTMgKzk0OSwxNyBAQCB2b2lkIFJlbmRlclZp
ZXc6OmNsZWFyU3VidHJlZVNlbGVjdGlvbihjb25zdCBTZWxlY3Rpb25TdWJ0cmVlUm9vdCYgcm9v
dCwgU2VsZWN0aQogICAgICAgICBvcyA9IHNlbGVjdGlvbkl0ZXJhdG9yLm5leHQoKTsKICAgICB9
CiAKLSAgICBhdXRvIG9sZE9iamVjdHNFbmQgPSBvbGRTZWxlY3Rpb25EYXRhLnNlbGVjdGVkT2Jq
ZWN0cy5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaSA9IG9sZFNlbGVjdGlvbkRhdGEuc2VsZWN0ZWRP
YmplY3RzLmJlZ2luKCk7IGkgIT0gb2xkT2JqZWN0c0VuZDsgKytpKQorICAgIC8vIE5vdyBjbGVh
ciB0aGUgc2VsZWN0aW9uLgorICAgIFNlbGVjdGVkT2JqZWN0TWFwOjppdGVyYXRvciBvbGRPYmpl
Y3RzRW5kID0gb2xkU2VsZWN0ZWRPYmplY3RzLmVuZCgpOworICAgIGZvciAoU2VsZWN0ZWRPYmpl
Y3RNYXA6Oml0ZXJhdG9yIGkgPSBvbGRTZWxlY3RlZE9iamVjdHMuYmVnaW4oKTsgaSAhPSBvbGRP
YmplY3RzRW5kOyArK2kpCiAgICAgICAgIGktPmtleS0+c2V0U2VsZWN0aW9uU3RhdGVJZk5lZWRl
ZChTZWxlY3Rpb25Ob25lKTsKLX0KIAotdm9pZCBSZW5kZXJWaWV3OjphcHBseVN1YnRyZWVTZWxl
Y3Rpb24oU2VsZWN0aW9uU3VidHJlZVJvb3QmIHJvb3QsIFJlbmRlck9iamVjdCogc3RhcnQsIFJl
bmRlck9iamVjdCogZW5kLCBpbnQgZW5kUG9zLCBTZWxlY3Rpb25SZXBhaW50TW9kZSBibG9ja1Jl
cGFpbnRNb2RlLCBjb25zdCBPbGRTZWxlY3Rpb25EYXRhJiBvbGRTZWxlY3Rpb25EYXRhKQotewor
ICAgIC8vIHNldCBzZWxlY3Rpb24gc3RhcnQgYW5kIGVuZAorICAgIHJvb3Quc2V0U2VsZWN0aW9u
U3RhcnQoc3RhcnQpOworICAgIHJvb3Quc2V0U2VsZWN0aW9uU3RhcnRQb3Moc3RhcnRQb3MpOwor
ICAgIHJvb3Quc2V0U2VsZWN0aW9uRW5kKGVuZCk7CisgICAgcm9vdC5zZXRTZWxlY3Rpb25FbmRQ
b3MoZW5kUG9zKTsKKwogICAgIC8vIFVwZGF0ZSB0aGUgc2VsZWN0aW9uIHN0YXR1cyBvZiBhbGwg
b2JqZWN0cyBiZXR3ZWVuIHNlbGVjdGlvblN0YXJ0IGFuZCBzZWxlY3Rpb25FbmQKICAgICBpZiAo
c3RhcnQgJiYgc3RhcnQgPT0gZW5kKQogICAgICAgICBzdGFydC0+c2V0U2VsZWN0aW9uU3RhdGVJ
Zk5lZWRlZChTZWxlY3Rpb25Cb3RoKTsKQEAgLTk4NSw4ICs5NzEsOCBAQCB2b2lkIFJlbmRlclZp
ZXc6OmFwcGx5U3VidHJlZVNlbGVjdGlvbihTZWxlY3Rpb25TdWJ0cmVlUm9vdCYgcm9vdCwgUmVu
ZGVyT2JqZWN0KgogICAgIH0KIAogICAgIFJlbmRlck9iamVjdCogbyA9IHN0YXJ0OwotICAgIFJl
bmRlck9iamVjdCogc3RvcCA9IHJlbmRlcmVyQWZ0ZXJQb3NpdGlvbihlbmQsIGVuZFBvcyk7Ci0g
ICAgU2VsZWN0aW9uSXRlcmF0b3Igc2VsZWN0aW9uSXRlcmF0b3Iobyk7CisgICAgc3RvcCA9IHJl
bmRlcmVyQWZ0ZXJQb3NpdGlvbihlbmQsIGVuZFBvcyk7CisgICAgc2VsZWN0aW9uSXRlcmF0b3Ig
PSBTZWxlY3Rpb25JdGVyYXRvcihvKTsKICAgICAKICAgICB3aGlsZSAobyAmJiBvICE9IHN0b3Ap
IHsKICAgICAgICAgaWYgKG8gIT0gc3RhcnQgJiYgbyAhPSBlbmQgJiYgby0+Y2FuQmVTZWxlY3Rp
b25MZWFmKCkpCkBAIC05OTksOCArOTg1LDYgQEAgdm9pZCBSZW5kZXJWaWV3OjphcHBseVN1YnRy
ZWVTZWxlY3Rpb24oU2VsZWN0aW9uU3VidHJlZVJvb3QmIHJvb3QsIFJlbmRlck9iamVjdCoKIAog
ICAgIC8vIE5vdyB0aGF0IHRoZSBzZWxlY3Rpb24gc3RhdGUgaGFzIGJlZW4gdXBkYXRlZCBmb3Ig
dGhlIG5ldyBvYmplY3RzLCB3YWxrIHRoZW0gYWdhaW4gYW5kCiAgICAgLy8gcHV0IHRoZW0gaW4g
dGhlIG5ldyBvYmplY3RzIGxpc3QuCi0gICAgU2VsZWN0ZWRPYmplY3RNYXAgbmV3U2VsZWN0ZWRP
YmplY3RzOwotICAgIFNlbGVjdGVkQmxvY2tNYXAgbmV3U2VsZWN0ZWRCbG9ja3M7CiAgICAgbyA9
IHN0YXJ0OwogICAgIHNlbGVjdGlvbkl0ZXJhdG9yID0gU2VsZWN0aW9uSXRlcmF0b3Iobyk7CiAg
ICAgd2hpbGUgKG8gJiYgbyAhPSBzdG9wKSB7CkBAIC0xMDM1LDE0ICsxMDE5LDEzIEBAIHZvaWQg
UmVuZGVyVmlldzo6YXBwbHlTdWJ0cmVlU2VsZWN0aW9uKFNlbGVjdGlvblN1YnRyZWVSb290JiBy
b290LCBSZW5kZXJPYmplY3QqCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIEhhdmUgYW55IG9m
IHRoZSBvbGQgc2VsZWN0ZWQgb2JqZWN0cyBjaGFuZ2VkIGNvbXBhcmVkIHRvIHRoZSBuZXcgc2Vs
ZWN0aW9uPwotICAgIGF1dG8gb2xkT2JqZWN0c0VuZCA9IG9sZFNlbGVjdGlvbkRhdGEuc2VsZWN0
ZWRPYmplY3RzLmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IG9sZFNlbGVjdGlvbkRhdGEuc2Vs
ZWN0ZWRPYmplY3RzLmJlZ2luKCk7IGl0ICE9IG9sZE9iamVjdHNFbmQ7ICsraXQpIHsKLSAgICAg
ICAgUmVuZGVyT2JqZWN0KiBvYmogPSBpdC0+a2V5OworICAgIGZvciAoU2VsZWN0ZWRPYmplY3RN
YXA6Oml0ZXJhdG9yIGkgPSBvbGRTZWxlY3RlZE9iamVjdHMuYmVnaW4oKTsgaSAhPSBvbGRPYmpl
Y3RzRW5kOyArK2kpIHsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmogPSBpLT5rZXk7CiAgICAg
ICAgIFJlbmRlclNlbGVjdGlvbkluZm8qIG5ld0luZm8gPSBuZXdTZWxlY3RlZE9iamVjdHMuZ2V0
KG9iaik7Ci0gICAgICAgIFJlbmRlclNlbGVjdGlvbkluZm8qIG9sZEluZm8gPSBpdC0+dmFsdWUu
Z2V0KCk7CisgICAgICAgIFJlbmRlclNlbGVjdGlvbkluZm8qIG9sZEluZm8gPSBpLT52YWx1ZS5n
ZXQoKTsKICAgICAgICAgaWYgKCFuZXdJbmZvIHx8IG9sZEluZm8tPnJlY3QoKSAhPSBuZXdJbmZv
LT5yZWN0KCkgfHwgb2xkSW5mby0+c3RhdGUoKSAhPSBuZXdJbmZvLT5zdGF0ZSgpCi0gICAgICAg
ICAgICB8fCAocm9vdC5zZWxlY3Rpb25TdGFydCgpID09IG9iaiAmJiBvbGRTZWxlY3Rpb25EYXRh
LnNlbGVjdGlvblN0YXJ0UG9zICE9IHJvb3Quc2VsZWN0aW9uU3RhcnRQb3MoKSkKLSAgICAgICAg
ICAgIHx8IChyb290LnNlbGVjdGlvbkVuZCgpID09IG9iaiAmJiBvbGRTZWxlY3Rpb25EYXRhLnNl
bGVjdGlvbkVuZFBvcyAhPSByb290LnNlbGVjdGlvbkVuZFBvcygpKSkgeworICAgICAgICAgICAg
fHwgKHJvb3Quc2VsZWN0aW9uU3RhcnQoKSA9PSBvYmogJiYgb2xkU3RhcnRQb3MgIT0gcm9vdC5z
ZWxlY3Rpb25TdGFydFBvcygpKQorICAgICAgICAgICAgfHwgKHJvb3Quc2VsZWN0aW9uRW5kKCkg
PT0gb2JqICYmIG9sZEVuZFBvcyAhPSByb290LnNlbGVjdGlvbkVuZFBvcygpKSkgewogICAgICAg
ICAgICAgb2xkSW5mby0+cmVwYWludCgpOwogICAgICAgICAgICAgaWYgKG5ld0luZm8pIHsKICAg
ICAgICAgICAgICAgICBuZXdJbmZvLT5yZXBhaW50KCk7CkBAIC0xMDUyLDE2ICsxMDM1LDE2IEBA
IHZvaWQgUmVuZGVyVmlldzo6YXBwbHlTdWJ0cmVlU2VsZWN0aW9uKFNlbGVjdGlvblN1YnRyZWVS
b290JiByb290LCBSZW5kZXJPYmplY3QqCiAgICAgfQogCiAgICAgLy8gQW55IG5ldyBvYmplY3Rz
IHRoYXQgcmVtYWluIHdlcmUgbm90IGZvdW5kIGluIHRoZSBvbGQgb2JqZWN0cyBkaWN0LCBhbmQg
c28gdGhleSBuZWVkIHRvIGJlIHVwZGF0ZWQuCi0gICAgYXV0byBuZXdPYmplY3RzRW5kID0gbmV3
U2VsZWN0ZWRPYmplY3RzLmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IG5ld1NlbGVjdGVkT2Jq
ZWN0cy5iZWdpbigpOyBpdCAhPSBuZXdPYmplY3RzRW5kOyArK2l0KQotICAgICAgICBpdC0+dmFs
dWUtPnJlcGFpbnQoKTsKKyAgICBTZWxlY3RlZE9iamVjdE1hcDo6aXRlcmF0b3IgbmV3T2JqZWN0
c0VuZCA9IG5ld1NlbGVjdGVkT2JqZWN0cy5lbmQoKTsKKyAgICBmb3IgKFNlbGVjdGVkT2JqZWN0
TWFwOjppdGVyYXRvciBpID0gbmV3U2VsZWN0ZWRPYmplY3RzLmJlZ2luKCk7IGkgIT0gbmV3T2Jq
ZWN0c0VuZDsgKytpKQorICAgICAgICBpLT52YWx1ZS0+cmVwYWludCgpOwogCiAgICAgLy8gSGF2
ZSBhbnkgb2YgdGhlIG9sZCBibG9ja3MgY2hhbmdlZD8KLSAgICBhdXRvIG9sZEJsb2Nrc0VuZCA9
IG9sZFNlbGVjdGlvbkRhdGEuc2VsZWN0ZWRCbG9ja3MuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0
ID0gb2xkU2VsZWN0aW9uRGF0YS5zZWxlY3RlZEJsb2Nrcy5iZWdpbigpOyBpdCAhPSBvbGRCbG9j
a3NFbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gaXQtPmtleTsKKyAg
ICBTZWxlY3RlZEJsb2NrTWFwOjppdGVyYXRvciBvbGRCbG9ja3NFbmQgPSBvbGRTZWxlY3RlZEJs
b2Nrcy5lbmQoKTsKKyAgICBmb3IgKFNlbGVjdGVkQmxvY2tNYXA6Oml0ZXJhdG9yIGkgPSBvbGRT
ZWxlY3RlZEJsb2Nrcy5iZWdpbigpOyBpICE9IG9sZEJsb2Nrc0VuZDsgKytpKSB7CisgICAgICAg
IFJlbmRlckJsb2NrKiBibG9jayA9IGktPmtleTsKICAgICAgICAgUmVuZGVyQmxvY2tTZWxlY3Rp
b25JbmZvKiBuZXdJbmZvID0gbmV3U2VsZWN0ZWRCbG9ja3MuZ2V0KGJsb2NrKTsKLSAgICAgICAg
UmVuZGVyQmxvY2tTZWxlY3Rpb25JbmZvKiBvbGRJbmZvID0gaXQtPnZhbHVlLmdldCgpOworICAg
ICAgICBSZW5kZXJCbG9ja1NlbGVjdGlvbkluZm8qIG9sZEluZm8gPSBpLT52YWx1ZS5nZXQoKTsK
ICAgICAgICAgaWYgKCFuZXdJbmZvIHx8IG9sZEluZm8tPnJlY3RzKCkgIT0gbmV3SW5mby0+cmVj
dHMoKSB8fCBvbGRJbmZvLT5zdGF0ZSgpICE9IG5ld0luZm8tPnN0YXRlKCkpIHsKICAgICAgICAg
ICAgIG9sZEluZm8tPnJlcGFpbnQoKTsKICAgICAgICAgICAgIGlmIChuZXdJbmZvKSB7CkBAIC0x
MDcyLDE3ICsxMDU1LDE3IEBAIHZvaWQgUmVuZGVyVmlldzo6YXBwbHlTdWJ0cmVlU2VsZWN0aW9u
KFNlbGVjdGlvblN1YnRyZWVSb290JiByb290LCBSZW5kZXJPYmplY3QqCiAgICAgfQogCiAgICAg
Ly8gQW55IG5ldyBibG9ja3MgdGhhdCByZW1haW4gd2VyZSBub3QgZm91bmQgaW4gdGhlIG9sZCBi
bG9ja3MgZGljdCwgYW5kIHNvIHRoZXkgbmVlZCB0byBiZSB1cGRhdGVkLgotICAgIGF1dG8gbmV3
QmxvY2tzRW5kID0gbmV3U2VsZWN0ZWRCbG9ja3MuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0g
bmV3U2VsZWN0ZWRCbG9ja3MuYmVnaW4oKTsgaXQgIT0gbmV3QmxvY2tzRW5kOyArK2l0KQotICAg
ICAgICBpdC0+dmFsdWUtPnJlcGFpbnQoKTsKKyAgICBTZWxlY3RlZEJsb2NrTWFwOjppdGVyYXRv
ciBuZXdCbG9ja3NFbmQgPSBuZXdTZWxlY3RlZEJsb2Nrcy5lbmQoKTsKKyAgICBmb3IgKFNlbGVj
dGVkQmxvY2tNYXA6Oml0ZXJhdG9yIGkgPSBuZXdTZWxlY3RlZEJsb2Nrcy5iZWdpbigpOyBpICE9
IG5ld0Jsb2Nrc0VuZDsgKytpKQorICAgICAgICBpLT52YWx1ZS0+cmVwYWludCgpOwogfQogCiB2
b2lkIFJlbmRlclZpZXc6OmdldFNlbGVjdGlvbihSZW5kZXJPYmplY3QqJiBzdGFydFJlbmRlcmVy
LCBpbnQmIHN0YXJ0T2Zmc2V0LCBSZW5kZXJPYmplY3QqJiBlbmRSZW5kZXJlciwgaW50JiBlbmRP
ZmZzZXQpIGNvbnN0CiB7Ci0gICAgc3RhcnRSZW5kZXJlciA9IG1fdW5zcGxpdFNlbGVjdGlvblN0
YXJ0OwotICAgIHN0YXJ0T2Zmc2V0ID0gbV91bnNwbGl0U2VsZWN0aW9uU3RhcnRQb3M7Ci0gICAg
ZW5kUmVuZGVyZXIgPSBtX3Vuc3BsaXRTZWxlY3Rpb25FbmQ7Ci0gICAgZW5kT2Zmc2V0ID0gbV91
bnNwbGl0U2VsZWN0aW9uRW5kUG9zOworICAgIHN0YXJ0UmVuZGVyZXIgPSBtX3NlbGVjdGlvblN0
YXJ0OworICAgIHN0YXJ0T2Zmc2V0ID0gbV9zZWxlY3Rpb25TdGFydFBvczsKKyAgICBlbmRSZW5k
ZXJlciA9IG1fc2VsZWN0aW9uRW5kOworICAgIGVuZE9mZnNldCA9IG1fc2VsZWN0aW9uRW5kUG9z
OwogfQogCiB2b2lkIFJlbmRlclZpZXc6OmNsZWFyU2VsZWN0aW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IGQ3NzcyYWMxODEyNzZlOWQ0NGYyYWM2M2U4MWI0OTNk
ZmE3YWFmODMuLjBjMjZiNjgzNWRjMDY5NDRjNWRjZjVkZmQxYTA0M2E2OTA2MTZlZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtODksOCArODksOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTZWxlY3Rpb24oUmVuZGVyT2JqZWN0KiBzdGFydCwgaW50IHN0YXJ0UG9z
LCBSZW5kZXJPYmplY3QqIGVuZCwgaW50IGVuZFBvcywgU2VsZWN0aW9uUmVwYWludE1vZGUgPSBS
ZXBhaW50TmV3WE9ST2xkKTsKICAgICB2b2lkIGdldFNlbGVjdGlvbihSZW5kZXJPYmplY3QqJiBz
dGFydFJlbmRlcmVyLCBpbnQmIHN0YXJ0T2Zmc2V0LCBSZW5kZXJPYmplY3QqJiBlbmRSZW5kZXJl
ciwgaW50JiBlbmRPZmZzZXQpIGNvbnN0OwogICAgIHZvaWQgY2xlYXJTZWxlY3Rpb24oKTsKLSAg
ICBSZW5kZXJPYmplY3QqIHNlbGVjdGlvblVuc3BsaXRTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1f
dW5zcGxpdFNlbGVjdGlvblN0YXJ0OyB9Ci0gICAgUmVuZGVyT2JqZWN0KiBzZWxlY3Rpb25VbnNw
bGl0RW5kKCkgY29uc3QgeyByZXR1cm4gbV91bnNwbGl0U2VsZWN0aW9uRW5kOyB9CisgICAgUmVu
ZGVyT2JqZWN0KiBzZWxlY3Rpb25TdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0aW9uU3Rh
cnQ7IH0KKyAgICBSZW5kZXJPYmplY3QqIHNlbGVjdGlvbkVuZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VsZWN0aW9uRW5kOyB9CiAgICAgSW50UmVjdCBzZWxlY3Rpb25Cb3VuZHMoYm9vbCBjbGlwVG9W
aXNpYmxlQ29udGVudCA9IHRydWUpIGNvbnN0OwogICAgIHZvaWQgcmVwYWludFNlbGVjdGlvbigp
IGNvbnN0OwogCkBAIC0zMDQsMTkgKzMwNCwxNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBMYXlvdXRTdGF0ZURpc2FibGVyOwogCiAgICAgdm9pZCBzcGxpdFNlbGVjdGlvbkJldHdlZW5T
dWJ0cmVlcyhSZW5kZXJPYmplY3QqIHN0YXJ0LCBpbnQgc3RhcnRQb3MsIFJlbmRlck9iamVjdCog
ZW5kLCBpbnQgZW5kUG9zLCBTZWxlY3Rpb25SZXBhaW50TW9kZSBibG9ja1JlcGFpbnRNb2RlKTsK
LSAgICB2b2lkIGNsZWFyU3VidHJlZVNlbGVjdGlvbihjb25zdCBTZWxlY3Rpb25TdWJ0cmVlUm9v
dCYsIFNlbGVjdGlvblJlcGFpbnRNb2RlLCBPbGRTZWxlY3Rpb25EYXRhJik7Ci0gICAgdm9pZCB1
cGRhdGVTZWxlY3Rpb25Gb3JTdWJ0cmVlcyhSZW5kZXJTdWJ0cmVlc01hcCYsIFNlbGVjdGlvblJl
cGFpbnRNb2RlKTsKLSAgICB2b2lkIGFwcGx5U3VidHJlZVNlbGVjdGlvbihTZWxlY3Rpb25TdWJ0
cmVlUm9vdCYsIFJlbmRlck9iamVjdCogc3RhcnQsIFJlbmRlck9iamVjdCogZW5kLCBpbnQgZW5k
UG9zLCBTZWxlY3Rpb25SZXBhaW50TW9kZSwgY29uc3QgT2xkU2VsZWN0aW9uRGF0YSYpOworICAg
IHZvaWQgc2V0U3VidHJlZVNlbGVjdGlvbihTZWxlY3Rpb25TdWJ0cmVlUm9vdCYsIFJlbmRlck9i
amVjdCogc3RhcnQsIGludCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlbmQsIGludCBlbmRQb3Ms
IFNlbGVjdGlvblJlcGFpbnRNb2RlKTsKICAgICBMYXlvdXRSZWN0IHN1YnRyZWVTZWxlY3Rpb25C
b3VuZHMoY29uc3QgU2VsZWN0aW9uU3VidHJlZVJvb3QmLCBib29sIGNsaXBUb1Zpc2libGVDb250
ZW50ID0gdHJ1ZSkgY29uc3Q7CiAgICAgdm9pZCByZXBhaW50U3VidHJlZVNlbGVjdGlvbihjb25z
dCBTZWxlY3Rpb25TdWJ0cmVlUm9vdCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIEZyYW1lVmll
dyYgbV9mcmFtZVZpZXc7CiAKLSAgICBSZW5kZXJPYmplY3QqIG1fdW5zcGxpdFNlbGVjdGlvblN0
YXJ0OwotICAgIFJlbmRlck9iamVjdCogbV91bnNwbGl0U2VsZWN0aW9uRW5kOwotICAgIGludCBt
X3Vuc3BsaXRTZWxlY3Rpb25TdGFydFBvczsKLSAgICBpbnQgbV91bnNwbGl0U2VsZWN0aW9uRW5k
UG9zOworICAgIFJlbmRlck9iamVjdCogbV9zZWxlY3Rpb25TdGFydDsKKyAgICBSZW5kZXJPYmpl
Y3QqIG1fc2VsZWN0aW9uRW5kOworICAgIGludCBtX3NlbGVjdGlvblN0YXJ0UG9zOworICAgIGlu
dCBtX3NlbGVjdGlvbkVuZFBvczsKIAogICAgIHVpbnQ2NF90IG1fcmVuZGVyZXJDb3VudDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlvblN1YnRyZWVSb290
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TZWxlY3Rpb25TdWJ0cmVlUm9vdC5jcHAK
aW5kZXggZmFmYWVlNjQ0ZmNkNTc3ZjFjZmVhZGYwMWQ0YWRmYzE5ODM5MjY0Mi4uNWNmZDNmY2Iz
OWEyZDg3NjY0MmZjMmE2Yjk0Y2YzYTYzY2E2NTM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NlbGVjdGlvblN1YnRyZWVSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2VsZWN0aW9uU3VidHJlZVJvb3QuY3BwCkBAIC00NSwxNCArNDUsNiBAQCBT
ZWxlY3Rpb25TdWJ0cmVlUm9vdDo6U2VsZWN0aW9uU3VidHJlZVJvb3QoKQogewogfQogCi1TZWxl
Y3Rpb25TdWJ0cmVlUm9vdDo6U2VsZWN0aW9uU3VidHJlZVJvb3QoUmVuZGVyT2JqZWN0KiBzZWxl
Y3Rpb25TdGFydCwgaW50IHNlbGVjdGlvblN0YXJ0UG9zLCBSZW5kZXJPYmplY3QqIHNlbGVjdGlv
bkVuZCwgaW50IHNlbGVjdGlvbkVuZFBvcykKLSAgICA6IG1fc2VsZWN0aW9uU3RhcnQoc2VsZWN0
aW9uU3RhcnQpCi0gICAgLCBtX3NlbGVjdGlvblN0YXJ0UG9zKHNlbGVjdGlvblN0YXJ0UG9zKQot
ICAgICwgbV9zZWxlY3Rpb25FbmQoc2VsZWN0aW9uRW5kKQotICAgICwgbV9zZWxlY3Rpb25FbmRQ
b3Moc2VsZWN0aW9uRW5kUG9zKQotewotfQotCiB2b2lkIFNlbGVjdGlvblN1YnRyZWVSb290Ojph
ZGp1c3RGb3JWaXNpYmxlU2VsZWN0aW9uKERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAo
c2VsZWN0aW9uQ2xlYXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
ZWxlY3Rpb25TdWJ0cmVlUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlv
blN1YnRyZWVSb290LmgKaW5kZXggNDJjNWM5MzQwOThkM2IzY2QxZGMxYzAzMDJlMjYxYWM3YWJh
YWJhYS4uMzVjZWYxMTgyYzc2NzA1ZDBlZTc1ZTVmNDdlNDYyOGFiZjNiOTcyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlvblN1YnRyZWVSb290LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlvblN1YnRyZWVSb290LmgKQEAgLTMxLDcg
KzMxLDYgQEAKICNkZWZpbmUgU2VsZWN0aW9uU3VidHJlZVJvb3RfaAogCiAjaW5jbHVkZSAiUmVu
ZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU2VsZWN0aW9uSW5mby5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM5LDI4ICszOCw4IEBAIGNsYXNzIERvY3VtZW50OwogCiBjbGFz
cyBTZWxlY3Rpb25TdWJ0cmVlUm9vdCB7CiBwdWJsaWM6Ci0gICAgCi0gICAgdHlwZWRlZiBIYXNo
TWFwPFJlbmRlck9iamVjdCosIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTZWxlY3Rpb25JbmZvPj4g
U2VsZWN0ZWRPYmplY3RNYXA7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlbmRlckJsb2NrKiwgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbz4+IFNlbGVjdGVkQmxvY2tNYXA7
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFNlbGVjdGlvblN1YnRyZWVSb290KiwgU2VsZWN0aW9uU3Vi
dHJlZVJvb3Q+IFJlbmRlclN1YnRyZWVzTWFwOwotCi0gICAgc3RydWN0IE9sZFNlbGVjdGlvbkRh
dGEgewotICAgICAgICBPbGRTZWxlY3Rpb25EYXRhKCkKLSAgICAgICAgICAgIDogc2VsZWN0aW9u
U3RhcnRQb3MoLTEpCi0gICAgICAgICAgICAsIHNlbGVjdGlvbkVuZFBvcygtMSkKLSAgICAgICAg
ewotICAgICAgICB9Ci0KLSAgICAgICAgaW50IHNlbGVjdGlvblN0YXJ0UG9zOwotICAgICAgICBp
bnQgc2VsZWN0aW9uRW5kUG9zOwotICAgICAgICBTZWxlY3RlZE9iamVjdE1hcCBzZWxlY3RlZE9i
amVjdHM7Ci0gICAgICAgIFNlbGVjdGVkQmxvY2tNYXAgc2VsZWN0ZWRCbG9ja3M7Ci0gICAgfTsK
LSAgICAKLSAgICB0eXBlZGVmIEhhc2hNYXA8U2VsZWN0aW9uU3VidHJlZVJvb3QqLCBzdGQ6OnVu
aXF1ZV9wdHI8T2xkU2VsZWN0aW9uRGF0YT4+IFN1YnRyZWVPbGRTZWxlY3Rpb25EYXRhTWFwOwog
CiAgICAgU2VsZWN0aW9uU3VidHJlZVJvb3QoKTsKLSAgICBTZWxlY3Rpb25TdWJ0cmVlUm9vdChS
ZW5kZXJPYmplY3QqIHNlbGVjdGlvblN0YXJ0LCBpbnQgc2VsZWN0aW9uU3RhcnRQb3MsIFJlbmRl
ck9iamVjdCogc2VsZWN0aW9uRW5kLCBpbnQgc2VsZWN0aW9uRW5kUG9zKTsKIAogICAgIFJlbmRl
ck9iamVjdCogc2VsZWN0aW9uU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvblN0YXJ0
OyB9CiAgICAgaW50IHNlbGVjdGlvblN0YXJ0UG9zKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rp
b25TdGFydFBvczsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU1Y2ViZmVhYTEwY2NlNzE0OGQ5OWRlOTcwYzhiY2I5ZGYz
N2I3ODUuLjNjOTM1YWJlMTE3MGExZTE5NjEzMTczNjZkMmZhNTE4ZWI4YzI4YjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxNC0wNy0xOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3MTIxOC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTA1NQorCisg
ICAgICAgIE1hZGUgZmFzdC9kb20vSFRNTE9iamVjdEVsZW1lbnQvYmVmb3JlbG9hZC1zZXQtdGV4
dC0KKyAgICAgICAgY3Jhc2gueGh0bWwgY3Jhc2ggKFJlcXVlc3RlZCBieSBhcCBvbiAjd2Via2l0
KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIlJFR1JFU1NJT04g
KHIxNjkxMDUpOiBDcmFzaCBpbiBzZWxlY3Rpb24iCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQzMDMKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTcxMjE4CisKIDIwMTQtMDctMTggIE1hcmlvIFNhbmNoZXogUHJhZGEg
IDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBVbnJldmlld2VkIEdU
SyBnYXJkZW5pbmcuIFRlc3RzIHBhc3NpbmcgYWZ0ZXIgU1ZOIHIxNzEwMDEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zZWxlY3Rpb24vY3Jhc2gtZGVzZWxlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NlbGVjdGlvbi9jcmFzaC1kZXNlbGVj
dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmMjFlMjE5NTg0
YTFkZTc5ZGExNzhjYzZmMDMyY2ZhYWE5MWFjYTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NlbGVjdGlvbi9j
cmFzaC1kZXNlbGVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhj
ZXB0aW9uIDM6IEEgTm9kZSB3YXMgaW5zZXJ0ZWQgc29tZXdoZXJlIGl0IGRvZXNuJ3QgYmVsb25n
LgotCi1FcnJsb2cgc2VsZWN0aW9uVGVzdDogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMyA6IGluZGV4IDEgCi1FcnJsb2cgd2VidGVz
dF9mbl8yNDogCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zZWxlY3Rp
b24vY3Jhc2gtZGVzZWxlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zZWxlY3Rp
b24vY3Jhc2gtZGVzZWxlY3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFh
OTI0OGY1M2Q1NTNjZWUzMWI0ZDBhYTA3NzQxMzhlYTM3NjdkOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2Vs
ZWN0aW9uL2NyYXNoLWRlc2VsZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGlkPSJ3ZWJ0ZXN0MCI+Ci0gICAgPGhlYWQgaWQ9Indl
YnRlc3QxIj4KLSAgICAgICAgPHN0eWxlIGlkPSJ3ZWJ0ZXN0MiI+PC9zdHlsZT4KLSAgICAgICAg
PHN0eWxlPgotICAgICAgICAgICAgOmxhc3QtY2hpbGQgeyAtd2Via2l0LWZsb3ctaW50bzogZm9v
OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgICAgIAotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBp
ZD0id2VidGVzdDMiPgotICAgICAgICA8c2NyaXB0IGlkPSJleGFtcGxlIj48L3NjcmlwdD4KLQot
ICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KGZhbHNlKTsKLSAgICAgICAgPC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAg
ICAgIHZhciBuZXdfZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwotICAg
ICAgICAgICAgbmV3X2VsZW0uc2V0QXR0cmlidXRlKCJpZCIsICJ3ZWJ0ZXN0MTEiKTsKLSAgICAg
ICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN3ZWJ0ZXN0MCIpLmFwcGVuZENoaWxkKG5l
d19lbGVtKTsKLQotICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIjxicj48c3VtbWFyeT4iKTsK
LSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgICAgIDxzdW1tYXJ5PgotICAgICAgICAgICAgPG1hdGht
bCBpZD0id2VidGVzdDEyIj4KLSAgICAgICAgICAgICAgICA8ZmVtZXJnZT48L2ZlbWVyZ2U+Ci0g
ICAgICAgICAgICA8L21hdGhtbD4KLQotICAgICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAg
ICAgICBmdW5jdGlvbiBzZWxlY3Rpb25UZXN0KCkgewotICAgICAgICAgICAgICAgICAgICB0cnkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgd2ZfaSA9IDA7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBmb3IgKDsgd2ZfaTw0MDsgd2ZfaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKLQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhbmdlLnNldFN0YXJ0QmVmb3JlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ3ZWJ0ZXN0MyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRFbmRB
ZnRlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VidGVzdDIiKSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmFuZ2UuZGVsZXRlQ29udGVudHMoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWFya0VsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VidGVzdDEiKS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMoIiIsICJtYXJrIikpOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhbmdlLnNldFN0YXJ0QWZ0ZXIobWFya0VsZW1lbnQpOwotCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmFyIGFwcGxldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZXhhbXBsZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImFwcGxldCIpKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRFbmRBZnRlcihhcHBsZXRFbGVt
ZW50KTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlLmluc2VydE5vZGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LndyaXRlKCJFcnJsb2cgc2VsZWN0aW9uVGVzdDogIiArIGUubmFtZSArICI6
ICIgKyBlLm1lc3NhZ2UgKyAiIDogaW5kZXggIiArIHdmX2kgKyAiIDxicj48dGFibGUvPiIpOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IHNlbGVjdGlvblRlc3QoKTsKLSAgICAgICAgICAgIDwvc2NyaXB0PgotICAgICAgICAgICAgPHN1
Yj4KLQotICAgICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5kZXNp
Z25Nb2RlID0gIm9uIjsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIik7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIkVycmxvZyB3ZWJ0ZXN0
X2ZuXzI0OiA8YnI+PG5vYnI+Iik7Ci0KLSAgICAgICAgICAgICAgICB2YXIgZmVtZXJnZUVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VidGVzdDEyIikuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZmVtZXJnZSIpKTsKLSAgICAgICAgICAgICAgICB2YXIgYXBw
bGV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIikuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYXBwbGV0IikpOwotICAgICAgICAgICAgICAgIHZh
ciBncmFkaWVudEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImdyYWRpZW50IikpOwotICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlYnRlc3QyIikuaXNFcXVhbE5v
ZGUoZmVtZXJnZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwg
Z3JhZGllbnRFbGVtZW50KSk7Ci0gICAgICAgICAgICA8L3NjcmlwdD4KLQotICAgICAgICAgICAg
PHRhYmxlPjwvdGFibGU+Ci0gICAgICAgIDwvc3VtbWFyeT4KLSAgICA8L2JvZHk+Ci08L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>