<?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>107683</bug_id>
          
          <creation_ts>2013-01-23 05:54:04 -0800</creation_ts>
          <short_desc>[V8] Move V8DOMWrapper::getEventListener() to V8EventListerList</short_desc>
          <delta_ts>2013-01-23 16:44:47 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>814139</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-23 05:54:04 -0800</bug_when>
    <thetext>[V8] Move V8DOMWrapper::getEventListener() to V8EventListerList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814146</commentid>
    <comment_count>1</comment_count>
      <attachid>184213</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-23 06:11:08 -0800</bug_when>
    <thetext>Created attachment 184213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814824</commentid>
    <comment_count>2</comment_count>
      <attachid>184213</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 16:44:44 -0800</bug_when>
    <thetext>Comment on attachment 184213
Patch

Clearing flags on attachment: 184213

Committed r140615: &lt;http://trac.webkit.org/changeset/140615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814825</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 16:44:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184213</attachid>
            <date>2013-01-23 06:11:08 -0800</date>
            <delta_ts>2013-01-23 16:44:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107683-20130123230801.patch</filename>
            <type>text/plain</type>
            <size>19100</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTAxMmQ2N2IwZGFkNDNj
YTgwNjVmOGE2MzgwNmUwNmE0MjVmYzA1ZC4uMWM2ZmYwMTM0ZTEyMTBmNWE3ZGUyZjFmMDNhNTBi
OWEyN2Y3MTFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAxLTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1vdmUgVjhE
T01XcmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKCkgdG8gVjhFdmVudExpc3Rlckxpc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzY4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIHRlc3RzLiBObyBj
aGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcik6CisgICAgICAg
IChHZW5lcmF0ZUV2ZW50TGlzdGVuZXJDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
c3RFdmVudFRhcmdldFY4SW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpUZXN0RXZlbnRUYXJnZXRWOEludGVybmFsOjpyZW1vdmVFdmVudExpc3Rl
bmVyQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmFkZEV2ZW50TGlz
dGVuZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdy
YXBwZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oOgorICAgICAg
ICAoVjhET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXJM
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lckxpc3Q6OmdldEV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhF
dmVudExpc3RlbmVyTGlzdC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChWOEV2ZW50
TGlzdGVuZXJMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lckxpc3Q6OmZp
bmRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lckxpc3Q6OmNsZWFy
V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpWOEV2ZW50TGlzdGVuZXJMaXN0Ojpkb0ZpbmRX
cmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lckxpc3Q6OmdldEhpZGRl
blByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lckxpc3Q6OmZpbmRP
ckNyZWF0ZVdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0
ZW5lckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93OjpyZW1vdmVFdmVu
dExpc3RlbmVyQ2FsbGJhY2spOgorCiAyMDEzLTAxLTIyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGEgcGxhdGZvcm0gc3RyYXRlZ3kgZm9yIGxv
Y2FsIHN0b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0KaW5kZXggNTFkN2YzNzk5ODU4OGY2N2E4NzUwODIzMWZkYWQxMGQ2NWQx
NTA4Yy4uZmYwYWU4MzRjMmZkNjdiYzdjMjJiNTgzYWFkZTQwOGQ4YTI0YzBjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAg
LTEyNjQsMTYgKzEyNjQsMTUgQEAgRU5ECiAgICAgICAgICAgICBpZiAoISRjb2RlR2VuZXJhdG9y
LT5Jc1N1YlR5cGUoJGludGVyZmFjZSwgIk5vZGUiKSkgewogICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50RGVjbHMsICIgICAgdHJhbnNmZXJIaWRkZW5EZXBlbmRlbmN5KGluZm8uSG9s
ZGVyKCksIGltcC0+JGF0dHJOYW1lKCksIHZhbHVlLCAke3Y4SW50ZXJmYWNlTmFtZX06OmV2ZW50
TGlzdGVuZXJDYWNoZUluZGV4KTtcbiIpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgQWRk
VG9JbXBsSW5jbHVkZXMoIlY4RXZlbnRMaXN0ZW5lckxpc3QuaCIpOwogICAgICAgICAgICAgaWYg
KCRpbnRlcmZhY2VOYW1lIGVxICJXb3JrZXJDb250ZXh0IiBhbmQgJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5uYW1lIGVxICJvbmVycm9yIikgewotICAgICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJWOEV2ZW50TGlzdGVuZXJMaXN0LmgiKTsKICAgICAgICAgICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgiKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlv
bk5hbWUoVjhFdmVudExpc3RlbmVyTGlzdDo6ZmluZE9yQ3JlYXRlV3JhcHBlcjxWOFdvcmtlckNv
bnRleHRFcnJvckhhbmRsZXI+KHZhbHVlLCB0cnVlKSIpOwogICAgICAgICAgICAgfSBlbHNpZiAo
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIgYW5kICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+
bmFtZSBlcSAib25lcnJvciIpIHsKLSAgICAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygi
VjhFdmVudExpc3RlbmVyTGlzdC5oIik7CiAgICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVk
ZXMoIlY4V2luZG93RXJyb3JIYW5kbGVyLmgiKTsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoVjhFdmVu
dExpc3RlbmVyTGlzdDo6ZmluZE9yQ3JlYXRlV3JhcHBlcjxWOFdpbmRvd0Vycm9ySGFuZGxlcj4o
dmFsdWUsIHRydWUpIik7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaW1wLT5zZXQkaW1wbFNldHRlckZ1bmN0aW9uTmFt
ZShWOERPTVdyYXBwZXI6OmdldEV2ZW50TGlzdGVuZXIodmFsdWUsIHRydWUsIExpc3RlbmVyRmlu
ZE9yQ3JlYXRlKSIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIg
ICAgaW1wLT5zZXQkaW1wbFNldHRlckZ1bmN0aW9uTmFtZShWOEV2ZW50TGlzdGVuZXJMaXN0Ojpn
ZXRFdmVudExpc3RlbmVyKHZhbHVlLCB0cnVlLCBMaXN0ZW5lckZpbmRPckNyZWF0ZSkiKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIsIGVjIikg
aWYgJHVzZUV4Y2VwdGlvbnM7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAi
KTtcbiIpOwpAQCAtMTM1MywxMSArMTM1MiwxMiBAQCBzdWIgR2VuZXJhdGVFdmVudExpc3RlbmVy
Q2FsbGJhY2sKICAgICBteSAkbG9va3VwVHlwZSA9ICgkZnVuY3Rpb25OYW1lIGVxICJhZGQiKSA/
ICJPckNyZWF0ZSIgOiAiT25seSI7CiAgICAgbXkgJHBhc3NSZWZQdHJIYW5kbGluZyA9ICgkZnVu
Y3Rpb25OYW1lIGVxICJhZGQiKSA/ICIiIDogIi5nZXQoKSI7CiAgICAgbXkgJGhpZGRlbkRlcGVu
ZGVuY3lBY3Rpb24gPSAoJGZ1bmN0aW9uTmFtZSBlcSAiYWRkIikgPyAiY3JlYXRlIiA6ICJyZW1v
dmUiOwotIAorCisgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlY4RXZlbnRMaXN0ZW5lckxpc3QuaCIp
OwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsIDw8RU5EKTsKIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gJHtmdW5jdGlvbk5hbWV9RXZlbnRMaXN0ZW5lckNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVy
ID0gVjhET01XcmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5l
ckZpbmQke2xvb2t1cFR5cGV9KTsKKyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIg
PSBWOEV2ZW50TGlzdGVuZXJMaXN0OjpnZXRFdmVudExpc3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBM
aXN0ZW5lckZpbmQke2xvb2t1cFR5cGV9KTsKICAgICBpZiAobGlzdGVuZXIpIHsKICAgICAgICAg
VjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJDRShWOFN0cmluZ1Jlc291cmNlPFdpdGhOdWxs
Q2hlY2s+LCBzdHJpbmdSZXNvdXJjZSwgYXJnc1swXSk7CiAgICAgICAgIFY4JHtpbnRlcmZhY2VO
YW1lfTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSktPiR7ZnVuY3Rpb25OYW1lfUV2ZW50TGlzdGVu
ZXIoc3RyaW5nUmVzb3VyY2UsIGxpc3RlbmVyJHtwYXNzUmVmUHRySGFuZGxpbmd9LCBhcmdzWzJd
LT5Cb29sZWFuVmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCAzMWUyZWZh
YTQ0NmY2MjAzODQ5MGM4ODk1ZGE1YjJhYzEyNDRiYjE2Li4yYjA2ZmVmODE1YjNmNjgzM2JkMTVj
N2ViM2JlNjBmMTQ4ZThmNWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJWOENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJWOERPTVdyYXBw
ZXIuaCIKICNpbmNsdWRlICJWOEV2ZW50LmgiCisjaW5jbHVkZSAiVjhFdmVudExpc3RlbmVyTGlz
dC5oIgogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CkBAIC02MSw3ICs2Miw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaXRlbUNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gYWRkRXZlbnRMaXN0ZW5lckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7Ci0gICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhET01XcmFwcGVyOjpn
ZXRFdmVudExpc3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPckNyZWF0ZSk7Cisg
ICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhFdmVudExpc3RlbmVyTGlzdDo6
Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSwgTGlzdGVuZXJGaW5kT3JDcmVhdGUpOwog
ICAgIGlmIChsaXN0ZW5lcikgewogICAgICAgICBWOFRSWUNBVENIX0ZPUl9WOFNUUklOR1JFU09V
UkNFKFY4U3RyaW5nUmVzb3VyY2U8V2l0aE51bGxDaGVjaz4sIHN0cmluZ1Jlc291cmNlLCBhcmdz
WzBdKTsKICAgICAgICAgVjhUZXN0RXZlbnRUYXJnZXQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
LT5hZGRFdmVudExpc3RlbmVyKHN0cmluZ1Jlc291cmNlLCBsaXN0ZW5lciwgYXJnc1syXS0+Qm9v
bGVhblZhbHVlKCkpOwpAQCAtNzIsNyArNzMsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGFkZEV2ZW50TGlzdGVuZXJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
CiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJlbW92ZUV2ZW50TGlzdGVuZXJDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIFJlZlB0cjxFdmVudExpc3RlbmVy
PiBsaXN0ZW5lciA9IFY4RE9NV3JhcHBlcjo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxz
ZSwgTGlzdGVuZXJGaW5kT25seSk7CisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVy
ID0gVjhFdmVudExpc3RlbmVyTGlzdDo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSwg
TGlzdGVuZXJGaW5kT25seSk7CiAgICAgaWYgKGxpc3RlbmVyKSB7CiAgICAgICAgIFY4VFJZQ0FU
Q0hfRk9SX1Y4U1RSSU5HUkVTT1VSQ0UoVjhTdHJpbmdSZXNvdXJjZTxXaXRoTnVsbENoZWNrPiwg
c3RyaW5nUmVzb3VyY2UsIGFyZ3NbMF0pOwogICAgICAgICBWOFRlc3RFdmVudFRhcmdldDo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSktPnJlbW92ZUV2ZW50TGlzdGVuZXIoc3RyaW5nUmVzb3VyY2Us
IGxpc3RlbmVyLmdldCgpLCBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmluZGV4
IGIxZGNmMzk3MTczZWIyMDkxMjk5NWZiNTkyYWVhOGUxMGNhNGQ5MzguLjVkMzczNTQyZWExOGI0
OTZjMWNkNTUxNTc1MmYxZTJkMzVjN2M1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC00MSw2ICs0MSw3IEBA
CiAjaW5jbHVkZSAiVjhET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiVjhET01XcmFwcGVyLmgi
CiAjaW5jbHVkZSAiVjhEb2N1bWVudC5oIgorI2luY2x1ZGUgIlY4RXZlbnRMaXN0ZW5lckxpc3Qu
aCIKICNpbmNsdWRlICJWOEZsb2F0MzJBcnJheS5oIgogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2lu
Y2x1ZGUgIlY4U1ZHRG9jdW1lbnQuaCIKQEAgLTEwNjksNyArMTA3MCw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kV2l0aEV4Y2VwdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyCiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYWRkRXZlbnRMaXN0
ZW5lckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgUmVmUHRyPEV2
ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhET01XcmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKGFy
Z3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPckNyZWF0ZSk7CisgICAgUmVmUHRyPEV2ZW50TGlz
dGVuZXI+IGxpc3RlbmVyID0gVjhFdmVudExpc3RlbmVyTGlzdDo6Z2V0RXZlbnRMaXN0ZW5lcihh
cmdzWzFdLCBmYWxzZSwgTGlzdGVuZXJGaW5kT3JDcmVhdGUpOwogICAgIGlmIChsaXN0ZW5lcikg
ewogICAgICAgICBWOFRSWUNBVENIX0ZPUl9WOFNUUklOR1JFU09VUkNFKFY4U3RyaW5nUmVzb3Vy
Y2U8V2l0aE51bGxDaGVjaz4sIHN0cmluZ1Jlc291cmNlLCBhcmdzWzBdKTsKICAgICAgICAgVjhU
ZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKS0+YWRkRXZlbnRMaXN0ZW5lcihzdHJpbmdS
ZXNvdXJjZSwgbGlzdGVuZXIsIGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpKTsKQEAgLTEwODAsNyAr
MTA4MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYWRkRXZlbnRMaXN0ZW5lckNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gcmVtb3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiB7Ci0gICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhET01XcmFw
cGVyOjpnZXRFdmVudExpc3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPbmx5KTsK
KyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBWOEV2ZW50TGlzdGVuZXJMaXN0
OjpnZXRFdmVudExpc3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPbmx5KTsKICAg
ICBpZiAobGlzdGVuZXIpIHsKICAgICAgICAgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJD
RShWOFN0cmluZ1Jlc291cmNlPFdpdGhOdWxsQ2hlY2s+LCBzdHJpbmdSZXNvdXJjZSwgYXJnc1sw
XSk7CiAgICAgICAgIFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSktPnJlbW92ZUV2
ZW50TGlzdGVuZXIoc3RyaW5nUmVzb3VyY2UsIGxpc3RlbmVyLmdldCgpLCBhcmdzWzJdLT5Cb29s
ZWFuVmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNw
cAppbmRleCAyNDc2OTdjMDdjMTM2ZDUzYTFmMjI0Yjg5MDRhMTAwY2FkMGNjNDdjLi4zYzRhOTM1
MmZiNWY3NjgwZGZhMmVjN2VlZmFlZjY4MDNjYWI1OTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTMzLDEzICszMywxMSBAQAogCiAjaW5jbHVk
ZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKLSNpbmNsdWRlICJWOEV2
ZW50TGlzdGVuZXJMaXN0LmgiCiAjaW5jbHVkZSAiVjhIVE1MQ29sbGVjdGlvbi5oIgogI2luY2x1
ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIK
ICNpbmNsdWRlICJWOE9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiVjhQZXJDb250ZXh0
RGF0YS5oIgotI2luY2x1ZGUgIlY4V29ya2VyQ29udGV4dEV2ZW50TGlzdGVuZXIuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMzAsMjAgKzEyOCw0IEBAIGJvb2wgVjhET01XcmFwcGVy
Ojppc1dyYXBwZXJPZlR5cGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCBXcmFwcGVyVHlw
ZUluZm8qCiAgICAgcmV0dXJuIHR5cGVJbmZvID09IHR5cGU7CiB9CiAKLVBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4gVjhET01XcmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKHY4OjpMb2NhbDx2ODo6
VmFsdWU+IHZhbHVlLCBib29sIGlzQXR0cmlidXRlLCBMaXN0ZW5lckxvb2t1cFR5cGUgbG9va3Vw
KQotewotICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSB2ODo6Q29udGV4dDo6
R2V0Q3VycmVudCgpOwotICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgaWYgKGxvb2t1cCA9PSBMaXN0ZW5lckZpbmRPbmx5KQotICAgICAgICByZXR1cm4g
VjhFdmVudExpc3RlbmVyTGlzdDo6ZmluZFdyYXBwZXIodmFsdWUsIGlzQXR0cmlidXRlKTsKLSAg
ICBpZiAoaXNXcmFwcGVyT2ZUeXBlKHRvSW5uZXJHbG9iYWxPYmplY3QoY29udGV4dCksICZWOERP
TVdpbmRvdzo6aW5mbykpCi0gICAgICAgIHJldHVybiBWOEV2ZW50TGlzdGVuZXJMaXN0OjpmaW5k
T3JDcmVhdGVXcmFwcGVyPFY4RXZlbnRMaXN0ZW5lcj4odmFsdWUsIGlzQXR0cmlidXRlKTsKLSNp
ZiBFTkFCTEUoV09SS0VSUykKLSAgICByZXR1cm4gVjhFdmVudExpc3RlbmVyTGlzdDo6ZmluZE9y
Q3JlYXRlV3JhcHBlcjxWOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVyPih2YWx1ZSwgaXNBdHRy
aWJ1dGUpOwotI2Vsc2UKLSAgICByZXR1cm4gMDsKLSNlbmRpZgotfQotCiB9ICAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01X
cmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAppbmRl
eCA2NzE5NjdmNDBkZDU1Zjk2Y2QxMjczYjk2NDFiOTBhZmE3YjJjOWYwLi5iOTQ0ZjUyOGRiMWMy
NDc2OGI1OGU1YzJhYzk0MDc4OTA1YmNmM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuaApAQCAtNDYsMTEgKzQ2LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0gICAgZW51bSBMaXN0ZW5lckxvb2t1cFR5cGUgewotICAgICAgICBMaXN0ZW5lckZpbmRP
bmx5LAotICAgICAgICBMaXN0ZW5lckZpbmRPckNyZWF0ZSwKLSAgICB9OwotCiAgICAgY2xhc3Mg
VjhET01XcmFwcGVyIHsKICAgICBwdWJsaWM6CiAjaWZuZGVmIE5ERUJVRwpAQCAtNjcsOSArNjIs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRX
cmFwcGVyQ2xhc3Modm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICAgICAg
c3RhdGljIGlubGluZSB2b2lkIHNldFdyYXBwZXJDbGFzcyhOb2RlKiwgdjg6OlBlcnNpc3RlbnQ8
djg6Ok9iamVjdD4pOwogCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBw
cm9iYWJseSBtb3ZlIHRvIFY4RXZlbnRMaXN0ZW5lckxpc3QuaAotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxFdmVudExpc3RlbmVyPiBnZXRFdmVudExpc3RlbmVyKHY4OjpMb2NhbDx2ODo6VmFs
dWU+LCBib29sIGlzQXR0cmlidXRlLCBMaXN0ZW5lckxvb2t1cFR5cGUpOwotCiAgICAgICAgIHN0
YXRpYyBib29sIGlzV3JhcHBlck9mVHlwZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4sIFdyYXBwZXJU
eXBlSW5mbyopOwogCiAgICAgICAgIC8vIEZJWE1FOiBXaHkgaXMgdGhpcyBmdW5jdGlvbiBpbiBW
OERPTVdyYXBwZXI/CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2
ZW50TGlzdGVuZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRM
aXN0ZW5lckxpc3QuY3BwCmluZGV4IGUzN2Q2MzAzNTczYzRhOTQ0M2UxZjYwNzE2ZmRlY2YzZTE3
MjMzOTAuLjc4ODBmODIzMWExZDQ5YWExNTU0NGQyZjM2ZDYyMmU1Mzg2N2FkMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuY3BwCkBA
IC0zMSw2ICszMSwyNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlY4RXZlbnRM
aXN0ZW5lckxpc3QuaCIKIAorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4RE9N
V2luZG93LmgiCisjaW5jbHVkZSAiVjhXb3JrZXJDb250ZXh0RXZlbnRMaXN0ZW5lci5oIgorCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gVjhFdmVudExp
c3RlbmVyTGlzdDo6Z2V0RXZlbnRMaXN0ZW5lcih2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwg
Ym9vbCBpc0F0dHJpYnV0ZSwgTGlzdGVuZXJMb29rdXBUeXBlIGxvb2t1cCkKK3sKKyAgICB2ODo6
SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKTsK
KyAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChs
b29rdXAgPT0gTGlzdGVuZXJGaW5kT25seSkKKyAgICAgICAgcmV0dXJuIFY4RXZlbnRMaXN0ZW5l
ckxpc3Q6OmZpbmRXcmFwcGVyKHZhbHVlLCBpc0F0dHJpYnV0ZSk7CisgICAgaWYgKFY4RE9NV3Jh
cHBlcjo6aXNXcmFwcGVyT2ZUeXBlKHRvSW5uZXJHbG9iYWxPYmplY3QoY29udGV4dCksICZWOERP
TVdpbmRvdzo6aW5mbykpCisgICAgICAgIHJldHVybiBWOEV2ZW50TGlzdGVuZXJMaXN0OjpmaW5k
T3JDcmVhdGVXcmFwcGVyPFY4RXZlbnRMaXN0ZW5lcj4odmFsdWUsIGlzQXR0cmlidXRlKTsKKyNp
ZiBFTkFCTEUoV09SS0VSUykKKyAgICByZXR1cm4gVjhFdmVudExpc3RlbmVyTGlzdDo6ZmluZE9y
Q3JlYXRlV3JhcHBlcjxWOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVyPih2YWx1ZSwgaXNBdHRy
aWJ1dGUpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50
TGlzdGVuZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVu
ZXJMaXN0LmgKaW5kZXggNDUyNDZiMDRmYWViOGUxNWQ4Y2I4ZTY3ZjQzYmNiOGE5YjhiMjRmMC4u
ZTNhNzA5OWRhMWI5YzliNTkzN2ZlNGY3MGVhYTdiZDlmZTg0YmE1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyTGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaApAQCAtMzgsNjcgKzM4
LDc1IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIGNsYXNzIEZyYW1lOwotCi0gICAgLy8gVGhpcyBpcyBhIGNvbnRhaW5lciBmb3IgVjhF
dmVudExpc3RlbmVyIG9iamVjdHMgdGhhdCB1c2VzIGhpZGRlbiBwcm9wZXJ0aWVzIG9mIHY4OjpP
YmplY3QgdG8gc3BlZWQgdXAgbG9va3Vwcy4KLSAgICBjbGFzcyBWOEV2ZW50TGlzdGVuZXJMaXN0
IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4RXZlbnRMaXN0ZW5l
cj4gZmluZFdyYXBwZXIodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wgaXNBdHRyaWJ1
dGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVCh2ODo6Q29udGV4dDo6SW5Db250ZXh0
KCkpOwotICAgICAgICAgICAgaWYgKCF2YWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gMDsKLQotICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiB3cmFwcGVy
UHJvcGVydHkgPSBnZXRIaWRkZW5Qcm9wZXJ0eShpc0F0dHJpYnV0ZSk7Ci0gICAgICAgICAgICBy
ZXR1cm4gZG9GaW5kV3JhcHBlcih2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QodmFsdWUpLCB3
cmFwcGVyUHJvcGVydHkpOwotICAgICAgICB9Ci0KLSAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
V3JhcHBlclR5cGU+Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4RXZlbnRMaXN0ZW5lcj4g
ZmluZE9yQ3JlYXRlV3JhcHBlcih2ODo6TG9jYWw8djg6OlZhbHVlPiwgYm9vbCBpc0F0dHJpYnV0
ZSk7Ci0KLSAgICAgICAgc3RhdGljIHZvaWQgY2xlYXJXcmFwcGVyKHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gbGlzdGVuZXJPYmplY3QsIGJvb2wgaXNBdHRyaWJ1dGUpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gd3JhcHBlclByb3BlcnR5ID0gZ2V0SGlkZGVu
UHJvcGVydHkoaXNBdHRyaWJ1dGUpOwotICAgICAgICAgICAgbGlzdGVuZXJPYmplY3QtPkRlbGV0
ZUhpZGRlblZhbHVlKHdyYXBwZXJQcm9wZXJ0eSk7Ci0gICAgICAgIH0KLQotICAgIHByaXZhdGU6
Ci0gICAgICAgIHN0YXRpYyBWOEV2ZW50TGlzdGVuZXIqIGRvRmluZFdyYXBwZXIodjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiB3cmFwcGVyUHJvcGVy
dHkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVCh2ODo6Q29udGV4dDo6SW5Db250ZXh0
KCkpOwotICAgICAgICAgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOwotICAgICAgICAgICAgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gbGlzdGVuZXIgPSBvYmplY3QtPkdldEhpZGRlblZhbHVlKHdyYXBw
ZXJQcm9wZXJ0eSk7Ci0gICAgICAgICAgICBpZiAobGlzdGVuZXIuSXNFbXB0eSgpKQotICAgICAg
ICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFY4RXZl
bnRMaXN0ZW5lcio+KHY4OjpFeHRlcm5hbDo6Q2FzdCgqbGlzdGVuZXIpLT5WYWx1ZSgpKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHN0YXRpYyBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBn
ZXRIaWRkZW5Qcm9wZXJ0eShib29sIGlzQXR0cmlidXRlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gaXNBdHRyaWJ1dGUgPyBWOEhpZGRlblByb3BlcnR5TmFtZTo6YXR0cmlidXRlTGlz
dGVuZXIoKSA6IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpsaXN0ZW5lcigpOwotICAgICAgICB9Ci0g
ICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJUeXBlPgotICAgIFBhc3NSZWZQ
dHI8VjhFdmVudExpc3RlbmVyPiBWOEV2ZW50TGlzdGVuZXJMaXN0OjpmaW5kT3JDcmVhdGVXcmFw
cGVyKHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBib29sIGlzQXR0cmlidXRlKQorY2xhc3Mg
RnJhbWU7CisKK2VudW0gTGlzdGVuZXJMb29rdXBUeXBlIHsKKyAgICBMaXN0ZW5lckZpbmRPbmx5
LAorICAgIExpc3RlbmVyRmluZE9yQ3JlYXRlLAorfTsKKworLy8gVGhpcyBpcyBhIGNvbnRhaW5l
ciBmb3IgVjhFdmVudExpc3RlbmVyIG9iamVjdHMgdGhhdCB1c2VzIGhpZGRlbiBwcm9wZXJ0aWVz
IG9mIHY4OjpPYmplY3QgdG8gc3BlZWQgdXAgbG9va3Vwcy4KK2NsYXNzIFY4RXZlbnRMaXN0ZW5l
ckxpc3QgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4RXZlbnRMaXN0ZW5lcj4g
ZmluZFdyYXBwZXIodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wgaXNBdHRyaWJ1dGUp
CiAgICAgewogICAgICAgICBBU1NFUlQodjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKTsKICAgICAg
ICAgaWYgKCF2YWx1ZS0+SXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAg
ICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBvYmplY3QgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QodmFsdWUpOwogICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHdyYXBwZXJQcm9w
ZXJ0eSA9IGdldEhpZGRlblByb3BlcnR5KGlzQXR0cmlidXRlKTsKKyAgICAgICAgcmV0dXJuIGRv
RmluZFdyYXBwZXIodjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KHZhbHVlKSwgd3JhcHBlclBy
b3BlcnR5KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyVHlwZT4KKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxWOEV2ZW50TGlzdGVuZXI+IGZpbmRPckNyZWF0ZVdyYXBwZXIo
djg6OkxvY2FsPHY4OjpWYWx1ZT4sIGJvb2wgaXNBdHRyaWJ1dGUpOworCisgICAgc3RhdGljIHZv
aWQgY2xlYXJXcmFwcGVyKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gbGlzdGVuZXJPYmplY3QsIGJv
b2wgaXNBdHRyaWJ1dGUpCisgICAgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHdy
YXBwZXJQcm9wZXJ0eSA9IGdldEhpZGRlblByb3BlcnR5KGlzQXR0cmlidXRlKTsKKyAgICAgICAg
bGlzdGVuZXJPYmplY3QtPkRlbGV0ZUhpZGRlblZhbHVlKHdyYXBwZXJQcm9wZXJ0eSk7CisgICAg
fQogCi0gICAgICAgIFY4RXZlbnRMaXN0ZW5lciogd3JhcHBlciA9IGRvRmluZFdyYXBwZXIob2Jq
ZWN0LCB3cmFwcGVyUHJvcGVydHkpOwotICAgICAgICBpZiAod3JhcHBlcikKLSAgICAgICAgICAg
IHJldHVybiB3cmFwcGVyOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGdl
dEV2ZW50TGlzdGVuZXIodjg6OkxvY2FsPHY4OjpWYWx1ZT4sIGJvb2wgaXNBdHRyaWJ1dGUsIExp
c3RlbmVyTG9va3VwVHlwZSk7CiAKLSAgICAgICAgUGFzc1JlZlB0cjxWOEV2ZW50TGlzdGVuZXI+
IHdyYXBwZXJQdHIgPSBXcmFwcGVyVHlwZTo6Y3JlYXRlKG9iamVjdCwgaXNBdHRyaWJ1dGUsIFdv
cmxkQ29udGV4dEhhbmRsZShVc2VDdXJyZW50V29ybGQpKTsKLSAgICAgICAgaWYgKHdyYXBwZXJQ
dHIpCi0gICAgICAgICAgICBvYmplY3QtPlNldEhpZGRlblZhbHVlKHdyYXBwZXJQcm9wZXJ0eSwg
djg6OkV4dGVybmFsOjpOZXcod3JhcHBlclB0ci5nZXQoKSkpOworcHJpdmF0ZToKKyAgICBzdGF0
aWMgVjhFdmVudExpc3RlbmVyKiBkb0ZpbmRXcmFwcGVyKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBv
YmplY3QsIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gd3JhcHBlclByb3BlcnR5KQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKHY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSk7CisgICAgICAgIHY4OjpIYW5k
bGVTY29wZSBzY29wZTsKKyAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gbGlzdGVuZXIgPSBv
YmplY3QtPkdldEhpZGRlblZhbHVlKHdyYXBwZXJQcm9wZXJ0eSk7CisgICAgICAgIGlmIChsaXN0
ZW5lci5Jc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFY4RXZlbnRMaXN0ZW5lcio+KHY4OjpFeHRlcm5hbDo6Q2FzdCgqbGlzdGVuZXIp
LT5WYWx1ZSgpKTsKKyAgICB9CiAKLSAgICAgICAgcmV0dXJuIHdyYXBwZXJQdHI7CisgICAgc3Rh
dGljIGlubGluZSB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGdldEhpZGRlblByb3BlcnR5KGJvb2wg
aXNBdHRyaWJ1dGUpCisgICAgeworICAgICAgICByZXR1cm4gaXNBdHRyaWJ1dGUgPyBWOEhpZGRl
blByb3BlcnR5TmFtZTo6YXR0cmlidXRlTGlzdGVuZXIoKSA6IFY4SGlkZGVuUHJvcGVydHlOYW1l
OjpsaXN0ZW5lcigpOwogICAgIH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJUeXBl
PgorUGFzc1JlZlB0cjxWOEV2ZW50TGlzdGVuZXI+IFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmZpbmRP
ckNyZWF0ZVdyYXBwZXIodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wgaXNBdHRyaWJ1
dGUpCit7CisgICAgQVNTRVJUKHY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSk7CisgICAgaWYgKCF2
YWx1ZS0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICB2ODo6TG9jYWw8djg6
Ok9iamVjdD4gb2JqZWN0ID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KHZhbHVlKTsKKyAg
ICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHdyYXBwZXJQcm9wZXJ0eSA9IGdldEhpZGRlblByb3Bl
cnR5KGlzQXR0cmlidXRlKTsKKworICAgIFY4RXZlbnRMaXN0ZW5lciogd3JhcHBlciA9IGRvRmlu
ZFdyYXBwZXIob2JqZWN0LCB3cmFwcGVyUHJvcGVydHkpOworICAgIGlmICh3cmFwcGVyKQorICAg
ICAgICByZXR1cm4gd3JhcHBlcjsKKworICAgIFJlZlB0cjxWOEV2ZW50TGlzdGVuZXI+IHdyYXBw
ZXJQdHIgPSBXcmFwcGVyVHlwZTo6Y3JlYXRlKG9iamVjdCwgaXNBdHRyaWJ1dGUsIFdvcmxkQ29u
dGV4dEhhbmRsZShVc2VDdXJyZW50V29ybGQpKTsKKyAgICBpZiAod3JhcHBlclB0cikKKyAgICAg
ICAgb2JqZWN0LT5TZXRIaWRkZW5WYWx1ZSh3cmFwcGVyUHJvcGVydHksIHY4OjpFeHRlcm5hbDo6
TmV3KHdyYXBwZXJQdHIuZ2V0KCkpKTsKKworICAgIHJldHVybiB3cmFwcGVyUHRyOworfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDQ5OGVlNTdmNGMxMTQ5
OTBlZmIyOTFjM2FkODM4OTkyNWFhNzk4NGMuLmI0MzZmOTZlYzQzYmUzMzI1Y2YyMzQxOTA0MTYz
YTZiYjE4ZGU1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUg
IlN0b3JhZ2UuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOEV2ZW50TGlz
dGVuZXIuaCIKKyNpbmNsdWRlICJWOEV2ZW50TGlzdGVuZXJMaXN0LmgiCiAjaW5jbHVkZSAiVjhH
Q0ZvckNvbnRleHREaXNwb3NlLmgiCiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIK
ICNpbmNsdWRlICJWOEhUTUxDb2xsZWN0aW9uLmgiCkBAIC0yNDQsNyArMjQ1LDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYKICAgICBpZiAoIWltcC0+ZnJhbWUoKSkKICAgICAgICAgcmV0dXJu
IHY4OjpVbmRlZmluZWQoKTsKIAotICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9
IFY4RE9NV3JhcHBlcjo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSwgTGlzdGVuZXJG
aW5kT3JDcmVhdGUpOworICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9IFY4RXZl
bnRMaXN0ZW5lckxpc3Q6OmdldEV2ZW50TGlzdGVuZXIoYXJnc1sxXSwgZmFsc2UsIExpc3RlbmVy
RmluZE9yQ3JlYXRlKTsKIAogICAgIGlmIChsaXN0ZW5lcikgewogICAgICAgICBpbXAtPmFkZEV2
ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSk7CkBAIC0yNzMsNyAr
Mjc0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93OjpyZW1vdmVFdmVudExp
c3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KICAgICBpZiAoIWltcC0+ZnJhbWUoKSkK
ICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIAotICAgIFJlZlB0cjxFdmVudExpc3Rl
bmVyPiBsaXN0ZW5lciA9IFY4RE9NV3JhcHBlcjo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBm
YWxzZSwgTGlzdGVuZXJGaW5kT25seSk7CisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3Rl
bmVyID0gVjhFdmVudExpc3RlbmVyTGlzdDo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxz
ZSwgTGlzdGVuZXJGaW5kT25seSk7CiAKICAgICBpZiAobGlzdGVuZXIpIHsKICAgICAgICAgaW1w
LT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIuZ2V0KCksIHVzZUNhcHR1
cmUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>