<?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>158398</bug_id>
          
          <creation_ts>2016-06-05 07:28:54 -0700</creation_ts>
          <short_desc>[JSC] Insert exception checks after hasProperty</short_desc>
          <delta_ts>2016-06-07 10:18:39 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1199361</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-06-05 07:28:54 -0700</bug_when>
    <thetext>Due to Proxy, hasProperty can throw any errors!
If you won&apos;t perform user-observable things, you should use VMInquiry instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200095</commentid>
    <comment_count>1</comment_count>
      <attachid>280718</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-06-07 10:18:39 -0700</bug_when>
    <thetext>Created attachment 280718
Patch

WIP</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280718</attachid>
            <date>2016-06-07 10:18:39 -0700</date>
            <delta_ts>2016-06-07 10:18:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158398-20160608022004.patch</filename>
            <type>text/plain</type>
            <size>23830</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OWUyN2JmYzRjNTliM2RkZmU0ZTEwNmUxNzU3ZGM0YmJmODlmMjk0Li41YjM5N2M0NDM1ZmQ5NmJl
YTk0ZWM4OGZhYjY2YjQ4ZDI5NDA0NzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxNi0wNi0wNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBJbnNlcnQgZXhjZXB0aW9uIGNoZWNrcyBhZnRlciBoYXNQ
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
YGhhc1Byb3BlcnR5KClgIGNhbiB0aHJvdyBhbnkgZXhjZXB0aW9ucyBiZWNhdXNlIG9mIEVTNiBQ
cm94aWVzLgorICAgICAgICBUaGlzIHBhdGNoIGFkZHMgbWlzc2luZyBleGNlcHRpb24gY2hlY2tz
LgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAg
ICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdFNldFByb3BlcnR5
KToKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZSk6
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGxsaW50L0xMSW50
U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNM
KToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6
OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAg
ICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aW5pdGlhbGl6ZUdsb2JhbFByb3BlcnRpZXMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmFkZFZhcik6CisgICAgICAgICogcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0
ZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9wZXJ0eU5hbWVJdGVyYXRvcjo6bmV4dCk6
CisgICAgICAgICogcnVudGltZS9KU1Njb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNTY29wZTo6
cmVzb2x2ZSk6CisKIDIwMTYtMDYtMDcgIFRpbmctV2VpIExhbiAgPGxhbnR3NDRAZ21haWwuY29t
PgogCiAgICAgICAgIFtHVEtdIEluY2x1ZGUgbG9jYWxlLmggYmVmb3JlIHVzaW5nIExDX0FMTApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDVjNmFkZjU4YTYxZTZkNTNlMTAxMzI1Y2U1OTJkMmZkOGY2N2UyYzguLmE2
MTI0NDA5ZWVlYjZlMDI1NTZhNTM3M2VlOGI4ZDZmYjQ0NTY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wNi0wNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBJbnNlcnQgZXhjZXB0aW9uIGNoZWNrcyBhZnRlciBoYXNQ
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc0RPTVdpbmRvd0dldE93blByb3BlcnR5
U2xvdE5hbWVkSXRlbUdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVt
ZW50RnVuY3Rpb25zLmg6CisgICAgICAgIChXZWJDb3JlOjpwbHVnaW5FbGVtZW50Q3VzdG9tR2V0
T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpnZXRPd25Qcm9w
ZXJ0eVNsb3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudFRhcmdldDo6Z2V0T3du
UHJvcGVydHlTbG90KToKKwogMjAxNi0wNi0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFw
cGxlLmNvbT4KIAogICAgICAgICBDU1A6IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2
ZSwgdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cyAoVUlSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCBhNTUzNzIz
NGJiMzJjYTY4NmRkMDZiMmFmZTlhMDdhOWQwMjU3ZjM0Li5mMTY2YjY5MDVlZTFhMDYxMmEzNTlh
ZWRiMDQzNWYxMGU4ZmU4MWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtMTQ5LDYgKzE0OSw4IEBAIGJvb2wg
SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9i
amVjdCwgRXhlY1N0YXRlKiBlCiAgICAgICAgICAgICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRo
aXNPYmplY3QsIFJlYWRPbmx5IHwgRG9udEVudW0sIGNhbGxiYWNrR2V0dGVyKTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChKU09iamVjdEdldFByb3BlcnR5Q2FsbGJh
Y2sgZ2V0UHJvcGVydHkgPSBqc0NsYXNzLT5nZXRQcm9wZXJ0eSkgewogICAgICAgICAgICAgICAg
IGlmICghcHJvcGVydHlOYW1lUmVmKQogICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWVS
ZWYgPSBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCAzN2NkNjU3MzIzNzAwODUxYjI1NzlkNjQzNmI0MTM1
MzM1M2U4ZDJlLi5kMTk5NzMxYzc4ZWNjOWNiODBjYTVjOGU3ZWU4MGE2ZTllYzA3ZWNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtMzE5LDYgKzMxOSw4
IEBAIHZvaWQgSlNPYmplY3RTZXRQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlCiAgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhl
eGVjLCB2YWx1ZSk7CiAKICAgICBpZiAoYXR0cmlidXRlcyAmJiAhanNPYmplY3QtPmhhc1Byb3Bl
cnR5KGV4ZWMsIG5hbWUpKSB7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2Mo
anNWYWx1ZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGpzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5k
ZWZpbmVPd25Qcm9wZXJ0eShqc09iamVjdCwgZXhlYywgbmFtZSwgZGVzYywgZmFsc2UpOwogICAg
IH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApp
bmRleCBlYTk2N2I4NjYyZmYzNmM1OTcxMWUzNTdhZWI5NTQ5OTBjM2RiNzhmLi45NWI2NWJkMzUw
Y2EwZmQyY2Q0YjFmYmRlZjIwMmNkNzc5NGQ1OGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTE2NTMsMTUgKzE2NTMsMTggQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dER5bmFtaWNWYXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogc2NvcGUsIEVuY28KICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IElkZW50aWZpZXI6
OmZyb21VaWQoZXhlYywgaW1wbCk7CiAgICAgR2V0UHV0SW5mbyBnZXRQdXRJbmZvKGdldFB1dElu
Zm9CaXRzKTsKICAgICBib29sIGhhc1Byb3BlcnR5ID0gc2NvcGUtPmhhc1Byb3BlcnR5KGV4ZWMs
IGlkZW50KTsKLSAgICBpZiAoaGFzUHJvcGVydHkKLSAgICAgICAgJiYgc2NvcGUtPmlzR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50KCkKLSAgICAgICAgJiYgIWlzSW5pdGlhbGl6YXRpb24oZ2V0UHV0
SW5mby5pbml0aWFsaXphdGlvbk1vZGUoKSkpIHsKLSAgICAgICAgLy8gV2hlbiB3ZSBjYW4ndCBz
dGF0aWNhbGx5IHByb3ZlIHdlIG5lZWQgYSBURFogY2hlY2ssIHdlIG11c3QgcGVyZm9ybSB0aGUg
Y2hlY2sgb24gdGhlIHNsb3cgcGF0aC4KLSAgICAgICAgUHJvcGVydHlTbG90IHNsb3Qoc2NvcGUs
IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpHZXQpOwotICAgICAgICBKU0dsb2Jh
bExleGljYWxFbnZpcm9ubWVudDo6Z2V0T3duUHJvcGVydHlTbG90KHNjb3BlLCBleGVjLCBpZGVu
dCwgc2xvdCk7Ci0gICAgICAgIGlmIChzbG90LmdldFZhbHVlKGV4ZWMsIGlkZW50KSA9PSBqc1RE
WlZhbHVlKCkpIHsKLSAgICAgICAgICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywg
Y3JlYXRlVERaRXJyb3IoZXhlYykpOwotICAgICAgICAgICAgcmV0dXJuOworICAgIGlmICghaGFz
UHJvcGVydHkpIHsKKyAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChzY29wZS0+aXNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQoKSAmJiAhaXNJbml0aWFsaXphdGlvbihnZXRQdXRJbmZvLmluaXRpYWxp
emF0aW9uTW9kZSgpKSkgeworICAgICAgICAgICAgLy8gV2hlbiB3ZSBjYW4ndCBzdGF0aWNhbGx5
IHByb3ZlIHdlIG5lZWQgYSBURFogY2hlY2ssIHdlIG11c3QgcGVyZm9ybSB0aGUgY2hlY2sgb24g
dGhlIHNsb3cgcGF0aC4KKyAgICAgICAgICAgIFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBQcm9w
ZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6R2V0KTsKKyAgICAgICAgICAgIEpTR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50OjpnZXRPd25Qcm9wZXJ0eVNsb3Qoc2NvcGUsIGV4ZWMsIGlkZW50
LCBzbG90KTsKKyAgICAgICAgICAgIGlmIChzbG90LmdldFZhbHVlKGV4ZWMsIGlkZW50KSA9PSBq
c1REWlZhbHVlKCkpIHsKKyAgICAgICAgICAgICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9u
KGV4ZWMsIGNyZWF0ZVREWkVycm9yKGV4ZWMpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDk3MWYyZWY1MjE2MjkwMDZi
ODQ0NDk2MWNlOTc3MDViZDk4YmJhNjcuLmIzZGM5YWRiMWYyM2RlODhlNTk4M2UyNTkzNDRiZThl
NzZlOGE4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcApAQCAtMTIwNSw2ICsxMjA1LDggQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6
ZXhlY3V0ZShFdmFsRXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFs
dWUKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVZhcmlhYmxlczsgKytpKSB7
CiAgICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGNvZGVCbG9jay0+dmFyaWFi
bGUoaSk7CiAgICAgICAgICAgICBpZiAoIXZhcmlhYmxlT2JqZWN0LT5oYXNQcm9wZXJ0eShjYWxs
RnJhbWUsIGlkZW50KSkgeworICAgICAgICAgICAgICAgIGlmICh2bS5leGNlcHRpb24oKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KHZhcmlhYmxlT2JqZWN0KTsKICAgICAgICAgICAgICAgICB2YXJpYWJsZU9i
amVjdC0+bWV0aG9kVGFibGUoKS0+cHV0KHZhcmlhYmxlT2JqZWN0LCBjYWxsRnJhbWUsIGlkZW50
LCBqc1VuZGVmaW5lZCgpLCBzbG90KTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDE3NDVkNmUyMzdjYzAwOTJkMzY2ZDNm
MTdiMGU4NWM2NDE2ZmViYTEuLmYyMTk0ZGQ3MmU3MGViZDRjMTZlNThiZTMwM2JmYjc5OTI2Mjgx
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAt
MjA2NCwxNSArMjA2NCwxOCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0VG9TY29w
ZShFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBieXRlY29kZVBDKQogICAgIH0KIAogICAg
IGJvb2wgaGFzUHJvcGVydHkgPSBzY29wZS0+aGFzUHJvcGVydHkoZXhlYywgaWRlbnQpOwotICAg
IGlmIChoYXNQcm9wZXJ0eQotICAgICAgICAmJiBzY29wZS0+aXNHbG9iYWxMZXhpY2FsRW52aXJv
bm1lbnQoKQotICAgICAgICAmJiAhaXNJbml0aWFsaXphdGlvbihnZXRQdXRJbmZvLmluaXRpYWxp
emF0aW9uTW9kZSgpKSkgewotICAgICAgICAvLyBXaGVuIHdlIGNhbid0IHN0YXRpY2FsbHkgcHJv
dmUgd2UgbmVlZCBhIFREWiBjaGVjaywgd2UgbXVzdCBwZXJmb3JtIHRoZSBjaGVjayBvbiB0aGUg
c2xvdyBwYXRoLgotICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChzY29wZSwgUHJvcGVydHlTbG90
OjpJbnRlcm5hbE1ldGhvZFR5cGU6OkdldCk7Ci0gICAgICAgIEpTR2xvYmFsTGV4aWNhbEVudmly
b25tZW50OjpnZXRPd25Qcm9wZXJ0eVNsb3Qoc2NvcGUsIGV4ZWMsIGlkZW50LCBzbG90KTsKLSAg
ICAgICAgaWYgKHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQpID09IGpzVERaVmFsdWUoKSkgewot
ICAgICAgICAgICAgZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVURFpFcnJv
cihleGVjKSk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgaWYgKCFoYXNQcm9wZXJ0eSkgewor
ICAgICAgICBpZiAodm0uZXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHNjb3BlLT5pc0dsb2JhbExleGljYWxFbnZpcm9ubWVu
dCgpICYmICFpc0luaXRpYWxpemF0aW9uKGdldFB1dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkp
KSB7CisgICAgICAgICAgICAvLyBXaGVuIHdlIGNhbid0IHN0YXRpY2FsbHkgcHJvdmUgd2UgbmVl
ZCBhIFREWiBjaGVjaywgd2UgbXVzdCBwZXJmb3JtIHRoZSBjaGVjayBvbiB0aGUgc2xvdyBwYXRo
LgorICAgICAgICAgICAgUHJvcGVydHlTbG90IHNsb3Qoc2NvcGUsIFByb3BlcnR5U2xvdDo6SW50
ZXJuYWxNZXRob2RUeXBlOjpHZXQpOworICAgICAgICAgICAgSlNHbG9iYWxMZXhpY2FsRW52aXJv
bm1lbnQ6OmdldE93blByb3BlcnR5U2xvdChzY29wZSwgZXhlYywgaWRlbnQsIHNsb3QpOworICAg
ICAgICAgICAgaWYgKHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQpID09IGpzVERaVmFsdWUoKSkg
eworICAgICAgICAgICAgICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRl
VERaRXJyb3IoZXhlYykpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKaW5kZXggNDBmNTFhMWFiNmVhNmQ2ZjBmOGJjNDZlOWFlZjY3ZWUwNTY3
MTE0ZC4uZTAwZjY4NDlkMDlkYThjNDA4YWJhNWJiYTQwZGYzOGZmYTdmZmMwNSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0xNTM3LDE0
ICsxNTM3LDE2IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfdG9fc2NvcGUp
CiAgICAgfQogCiAgICAgYm9vbCBoYXNQcm9wZXJ0eSA9IHNjb3BlLT5oYXNQcm9wZXJ0eShleGVj
LCBpZGVudCk7Ci0gICAgaWYgKGhhc1Byb3BlcnR5Ci0gICAgICAgICYmIHNjb3BlLT5pc0dsb2Jh
bExleGljYWxFbnZpcm9ubWVudCgpCi0gICAgICAgICYmICFpc0luaXRpYWxpemF0aW9uKGdldFB1
dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkpKSB7Ci0gICAgICAgIC8vIFdoZW4gd2UgY2FuJ3Qg
c3RhdGljYWxseSBwcm92ZSB3ZSBuZWVkIGEgVERaIGNoZWNrLCB3ZSBtdXN0IHBlcmZvcm0gdGhl
IGNoZWNrIG9uIHRoZSBzbG93IHBhdGguCi0gICAgICAgIFByb3BlcnR5U2xvdCBzbG90KHNjb3Bl
LCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6R2V0KTsKLSAgICAgICAgSlNHbG9i
YWxMZXhpY2FsRW52aXJvbm1lbnQ6OmdldE93blByb3BlcnR5U2xvdChzY29wZSwgZXhlYywgaWRl
bnQsIHNsb3QpOwotICAgICAgICBpZiAoc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgPT0ganNU
RFpWYWx1ZSgpKQotICAgICAgICAgICAgTExJTlRfVEhST1coY3JlYXRlVERaRXJyb3IoZXhlYykp
OworICAgIGlmICghaGFzUHJvcGVydHkpCisgICAgICAgIExMSU5UX0NIRUNLX0VYQ0VQVElPTigp
OworICAgIGVsc2UgeworICAgICAgICBpZiAoc2NvcGUtPmlzR2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50KCkgJiYgIWlzSW5pdGlhbGl6YXRpb24oZ2V0UHV0SW5mby5pbml0aWFsaXphdGlvbk1vZGUo
KSkpIHsKKyAgICAgICAgICAgIC8vIFdoZW4gd2UgY2FuJ3Qgc3RhdGljYWxseSBwcm92ZSB3ZSBu
ZWVkIGEgVERaIGNoZWNrLCB3ZSBtdXN0IHBlcmZvcm0gdGhlIGNoZWNrIG9uIHRoZSBzbG93IHBh
dGguCisgICAgICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChzY29wZSwgUHJvcGVydHlTbG90OjpJ
bnRlcm5hbE1ldGhvZFR5cGU6OkdldCk7CisgICAgICAgICAgICBKU0dsb2JhbExleGljYWxFbnZp
cm9ubWVudDo6Z2V0T3duUHJvcGVydHlTbG90KHNjb3BlLCBleGVjLCBpZGVudCwgc2xvdCk7Cisg
ICAgICAgICAgICBpZiAoc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgPT0ganNURFpWYWx1ZSgp
KQorICAgICAgICAgICAgICAgIExMSU5UX1RIUk9XKGNyZWF0ZVREWkVycm9yKGV4ZWMpKTsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGlmIChnZXRQdXRJbmZvLnJlc29sdmVNb2RlKCkgPT0gVGhy
b3dJZk5vdEZvdW5kICYmICFoYXNQcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCmluZGV4IGRiOTY4NmViODM3YjUyODk2NzUx
NmY3OTkyZGExOWU0MDQ4ZjIyNDkuLjMzYjQzOGNhMDcyNzY4NTFjOWZjN2NiOWRkZDFiYjBiZDVi
ZWIxZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmNwcApAQCAtNzg5LDcgKzc4OSw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9y
ZXNvbHZlX3Njb3BlKQogICAgICAgICAgICAgICAgICAgICBwY1s0XS51Lm9wZXJhbmQgPSBHbG9i
YWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAKICAgICAgICAgICAgICAgICBwY1s2
XS51LnBvaW50ZXIgPSBnbG9iYWxPYmplY3Q7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICBDSEVDS19FWENFUFRJT04oKTsKICAgICAgICAgfSBlbHNl
IGlmIChyZXNvbHZlZFNjb3BlLT5pc0dsb2JhbExleGljYWxFbnZpcm9ubWVudCgpKSB7CiAgICAg
ICAgICAgICBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudCogZ2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50ID0ganNDYXN0PEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50Kj4ocmVzb2x2ZWRTY29wZSk7
CiAgICAgICAgICAgICBpZiAocmVzb2x2ZVR5cGUgPT0gVW5yZXNvbHZlZFByb3BlcnR5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAppbmRleCA0OWQ5Zjk4
NTYwOTdjNGNlM2U3ZGQwZWFjNjg2NzgwYWE0MzkzNzRjLi4zMTlhOWQzMDc0MmFhMTMyNzMxNzAy
ZTFmZTFhMGE5MWVlMDg5MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmNwcApAQCAtNjA3LDYgKzYwNyw4IEBAIEpTT2JqZWN0KiBQcm9ncmFtRXhlY3V0
YWJsZTo6aW5pdGlhbGl6ZUdsb2JhbFByb3BlcnRpZXMoVk0mIHZtLCBDYWxsRnJhbWUqIGNhbGxG
CiAgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBsZXhpY2FsRGVjbGFyYXRpb25zKSB7CiAgICAg
ICAgICAgICBpZiAoZ2xvYmFsT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0
KCkpKQogICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihleGVjLCBtYWtl
U3RyaW5nKCJDYW4ndCBjcmVhdGUgZHVwbGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGds
b2JhbCBwcm9wZXJ0eTogJyIsIFN0cmluZyhlbnRyeS5rZXkuZ2V0KCkpLCAiJyIpKTsKKyAgICAg
ICAgICAgIGlmICh2bS5leGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgICAgICAgICAgaWYgKGdsb2JhbExleGljYWxFbnZpcm9ubWVudC0+aGFzUHJvcGVy
dHkoZXhlYywgZW50cnkua2V5LmdldCgpKSkgewogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShlbnRyeS52YWx1ZS5pc0NvbnN0KCkgJiYgIXZtLmdsb2JhbENvbnN0UmVkZWNsYXJhdGlvblNo
b3VsZFRocm93KCkgJiYgIWlzU3RyaWN0TW9kZSgpKSkgewpAQCAtNjE3LDYgKzYxOSw4IEBAIEpT
T2JqZWN0KiBQcm9ncmFtRXhlY3V0YWJsZTo6aW5pdGlhbGl6ZUdsb2JhbFByb3BlcnRpZXMoVk0m
IHZtLCBDYWxsRnJhbWUqIGNhbGxGCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihleGVjLCBtYWtlU3RyaW5nKCJDYW4ndCBjcmVhdGUg
ZHVwbGljYXRlIHZhcmlhYmxlOiAnIiwgU3RyaW5nKGVudHJ5LmtleS5nZXQoKSksICInIikpOwog
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAKICAgICAgICAgLy8gQ2hlY2sgaWYg
YW55IG5ldyAidmFyInMgd2lsbCBzaGFkb3cgYW55IHByZXZpb3VzICJsZXQiLyJjb25zdCIvImNs
YXNzIiBuYW1lcy4KQEAgLTYyNSw2ICs2MjksOCBAQCBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFi
bGU6OmluaXRpYWxpemVHbG9iYWxQcm9wZXJ0aWVzKFZNJiB2bSwgQ2FsbEZyYW1lKiBjYWxsRgog
ICAgICAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHZhcmlhYmxlRGVjbGFyYXRpb25zKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKGdsb2JhbExleGljYWxFbnZpcm9ubWVudC0+aGFzUHJvcGVydHko
ZXhlYywgZW50cnkua2V5LmdldCgpKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0
ZVN5bnRheEVycm9yKGV4ZWMsIG1ha2VTdHJpbmcoIkNhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFy
aWFibGU6ICciLCBTdHJpbmcoZW50cnkua2V5LmdldCgpKSwgIiciKSk7CisgICAgICAgICAgICAg
ICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGNkMGRkYjYzZmI1MmJhNzQ1NjQx
ZjMxZThiMWYwMjIxNDliY2UxNjAuLjFkZjkyMTQzOTlmZWRiY2RmNDFiMzU0MzU2ZDExOTc1Yzcx
ZDc5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaApAQCAtNDQzLDggKzQ0MywxMSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKIAogICAgIHZvaWQgYWRkVmFyKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogICAgIHsKLSAgICAgICAgaWYg
KCFoYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpKQorICAgICAgICBpZiAoIWhhc1Byb3Bl
cnR5KGV4ZWMsIHByb3BlcnR5TmFtZSkpIHsKKyAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBhZGRHbG9iYWxW
YXIocHJvcGVydHlOYW1lKTsKKyAgICAgICAgfQogICAgIH0KICAgICB2b2lkIGFkZEZ1bmN0aW9u
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcAppbmRleCA5
MmQ4ZTY2MzUzZDhlODllYmU2Y2JhZWIyZjZhODE5YzNkZDNmMjZjLi4zMGMwOWJhOThkYjE1Y2Y5
ZTkwNWQ5OTMzMjU4MmJlZGE3YTQwNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcApAQCAtOTEsNiArOTEs
NyBAQCB2b2lkIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBj
ZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIAogYm9vbCBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9y
OjpuZXh0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSYgb3V0cHV0KQogeworICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgaWYgKG1fZW51bWVyYXRpb25QaGFzZSA9PSBFbnVtZXJhdGlvblBo
YXNlOjpJbmRleGVkTmFtZXMpIHsKICAgICAgICAgZm9yICg7IG1fY3Vyc29yIDwgbV9wcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yLT5pbmRleGVkTGVuZ3RoKCk7KSB7CiAgICAgICAgICAgICB1aW50MzJf
dCBpbmRleCA9IG1fY3Vyc29yKys7CkBAIC05OCw2ICs5OSw4IEBAIGJvb2wgSlNQcm9wZXJ0eU5h
bWVJdGVyYXRvcjo6bmV4dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUmIG91dHB1dCkKICAgICAg
ICAgICAgICAgICBvdXRwdXQgPSBqc1N0cmluZyhleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMs
IGluZGV4KS5zdHJpbmcoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAodm0uZXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJzb3IgPSAwOwogICAgICAg
ICBtX2VudW1lcmF0aW9uUGhhc2UgPSBFbnVtZXJhdGlvblBoYXNlOjpTdHJ1Y3R1cmVOYW1lczsK
QEAgLTEwOCw3ICsxMTEsNyBAQCBib29sIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I6Om5leHQoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlJiBvdXRwdXQpCiAgICAgICAgICAgICB1aW50MzJfdCBpbmRl
eCA9IG1fY3Vyc29yKys7CiAgICAgICAgICAgICBKU1N0cmluZyogcHJvcGVydHlOYW1lID0gbV9w
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yLT5wcm9wZXJ0eU5hbWVBdEluZGV4KGluZGV4KTsKICAgICAg
ICAgICAgIEFTU0VSVChwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgaWYgKG1faXRlcmF0ZWRP
YmplY3QtPnN0cnVjdHVyZShleGVjLT52bSgpKS0+aWQoKSA9PSBtX3Byb3BlcnR5TmFtZUVudW1l
cmF0b3ItPmNhY2hlZFN0cnVjdHVyZUlEKCkpIHsKKyAgICAgICAgICAgIGlmIChtX2l0ZXJhdGVk
T2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5pZCgpID09IG1fcHJvcGVydHlOYW1lRW51bWVyYXRvci0+
Y2FjaGVkU3RydWN0dXJlSUQoKSkgewogICAgICAgICAgICAgICAgIG91dHB1dCA9IHByb3BlcnR5
TmFtZTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KQEAgLTEx
Nyw2ICsxMjAsOCBAQCBib29sIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I6Om5leHQoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlJiBvdXRwdXQpCiAgICAgICAgICAgICAgICAgb3V0cHV0ID0gcHJvcGVy
dHlOYW1lOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQorICAg
ICAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVChtX2N1cnNvciA+PSBtX3Byb3BlcnR5TmFt
ZUVudW1lcmF0b3ItPmVuZFN0cnVjdHVyZVByb3BlcnR5SW5kZXgoKSk7CiAgICAgICAgIC8vIFVz
ZSB0aGUgc2FtZSBtX2N1cnNvciBpbiB0aGUgR2VuZXJpY05hbWVzIHBoYXNlLgpAQCAtMTMyLDYg
KzEzNyw4IEBAIGJvb2wgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvcjo6bmV4dChFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUmIG91dHB1dCkKICAgICAgICAgICAgICAgICBvdXRwdXQgPSBwcm9wZXJ0eU5h
bWU7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CisgICAgICAg
ICAgICBpZiAodm0uZXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgICAgIH0KICAgICAgICAgbV9lbnVtZXJhdGlvblBoYXNlID0gRW51bWVyYXRpb25QaGFz
ZTo6RG9uZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Njb3BlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUuY3Bw
CmluZGV4IDFiN2FlMGZmNDc1NjY1NWMxM2Q4YjZmMzYyNTk3MDQ2MTkwMmM1MjguLjg3NzMzYzk0
YTUzZGNmY2Q5NWMyMDE3MWZlNWUyNDA3MDk5MjU4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2NvcGUuY3BwCkBAIC0yMTcsNiArMjE3LDcgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzVW5zY29wYWJsZShFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU09iamVj
dCogb2JqZWMKIAogSlNPYmplY3QqIEpTU2NvcGU6OnJlc29sdmUoRXhlY1N0YXRlKiBleGVjLCBK
U1Njb3BlKiBzY29wZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiB7CisgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKICAgICBTY29wZUNoYWluSXRlcmF0b3IgZW5kID0gc2NvcGUtPmVuZCgpOwog
ICAgIFNjb3BlQ2hhaW5JdGVyYXRvciBpdCA9IHNjb3BlLT5iZWdpbigpOwogICAgIHdoaWxlICgx
KSB7CkBAIC0yMjksOSArMjMwLDEyIEBAIEpTT2JqZWN0KiBKU1Njb3BlOjpyZXNvbHZlKEV4ZWNT
dGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIGNvbnN0IElkZW50aWZpZXImIGlkCiAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoZ2xvYmFsU2NvcGVFeHRlbnNpb24pKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgaWRlbnQpKQogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gb2JqZWN0OworICAgICAgICAgICAgICAgIGlmICh2bS5leGNlcHRpb24oKSkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICAgICAgSlNP
YmplY3QqIGV4dGVuc2lvblNjb3BlT2JqZWN0ID0gSlNTY29wZTo6b2JqZWN0QXRTY29wZShnbG9i
YWxTY29wZUV4dGVuc2lvbik7CiAgICAgICAgICAgICAgICAgaWYgKGV4dGVuc2lvblNjb3BlT2Jq
ZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBpZGVudCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBleHRlbnNpb25TY29wZU9iamVjdDsKKyAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHRoZSBl
cnJvciBvY2N1cnMgaGVyZSwgdGhlIGZvbGxvd2luZyByZXR1cm4gd2lsbCBiZSBleGVjdXRlZC4K
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KQEAg
LTI0MCw3ICsyNDQsOCBAQCBKU09iamVjdCogSlNTY29wZTo6cmVzb2x2ZShFeGVjU3RhdGUqIGV4
ZWMsIEpTU2NvcGUqIHNjb3BlLCBjb25zdCBJZGVudGlmaWVyJiBpZAogICAgICAgICAgICAgaWYg
KCFpc1Vuc2NvcGFibGUoZXhlYywgc2NvcGUsIG9iamVjdCwgaWRlbnQpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFleGVj
LT5oYWRFeGNlcHRpb24oKSwgIldoZW4gYW4gZXhjZXB0aW9uIG9jY3VycywgdGhlIHJlc3VsdCBv
ZiBpc1Vuc2NvcGFibGUgYmVjb21lcyBmYWxzZSIpOwotICAgICAgICB9CisgICAgICAgIH0gZWxz
ZSBpZiAodm0uZXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAppbmRleCA4ZmI0ZTk5Y2E2NTg2NjRiNGRhZWNkNTdkNjMyNDBjMmU3MjdiMTk2Li4xNGRl
MjVhNTIzYzRlOTY2YTc3MTMwOTFlMjI5NmFmYjQzNTE1YjMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0xNzUsOCArMTc1LDEy
IEBAIHN0YXRpYyBib29sIGpzRE9NV2luZG93R2V0T3duUHJvcGVydHlTbG90UmVzdHJpY3RlZEFj
Y2VzcyhKU0RPTVdpbmRvdyogdGhpc09iamVjCiBzdGF0aWMgYm9vbCBqc0RPTVdpbmRvd0dldE93
blByb3BlcnR5U2xvdE5hbWVkSXRlbUdldHRlcihKU0RPTVdpbmRvdyogdGhpc09iamVjdCwgRnJh
bWUmIGZyYW1lLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBKU1ZhbHVlIHByb3RvID0gdGhpc09iamVjdC0+Z2V0
UHJvdG90eXBlRGlyZWN0KCk7Ci0gICAgaWYgKHByb3RvLmlzT2JqZWN0KCkgJiYgYXNPYmplY3Qo
cHJvdG8pLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKHByb3RvLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgaWYgKGFzT2JqZWN0
KHByb3RvKS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIC8vIENoZWNrIGZvciBjaGlsZCBmcmFtZXMg
YnkgbmFtZSBiZWZvcmUgYnVpbHQtaW4gcHJvcGVydGllcyB0byBtYXRjaCBNb3ppbGxhLiBUaGlz
IGRvZXMKICAgICAvLyBub3QgbWF0Y2ggSUUsIGJ1dCBzb21lIHNpdGVzIGVuZCB1cCBuYW1pbmcg
ZnJhbWVzIHRoaW5ncyB0aGF0IGNvbmZsaWN0IHdpdGggd2luZG93CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oCmluZGV4IDYw
NmRjZmE5MzUxYTk0Zjk2YzQzNmE0OTJkZGI2ZWUzOWE1ZTQ3ODQuLjFmMjFlYWRkNGI4MzQ5MzAy
MDM1N2I2Zjk3ZGY3ZDQzN2FlZDI3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oCkBAIC00NiwxMiArNDYsMjAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHRlbXBsYXRlIDxjbGFzcyBUeXBlLCBjbGFzcyBCYXNl
PiBib29sIHBsdWdpbkVsZW1lbnRDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIEpTQzo6UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNs
b3QmIHNsb3QsIFR5cGUqIGVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAoIWVsZW1lbnQtPmds
b2JhbE9iamVjdCgpLT53b3JsZCgpLmlzTm9ybWFsKCkpIHsKLSAgICAgICAgICAgIGlmIChUeXBl
OjpoYXNTdGF0aWNQcm9wZXJ0eVRhYmxlICYmIFR5cGU6OmdldE93blByb3BlcnR5U2xvdChlbGVt
ZW50LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQotICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAgICAgaWYgKFR5cGU6Omhhc1N0YXRpY1Byb3BlcnR5VGFibGUpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoVHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KGVsZW1lbnQsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBKU0M6OkpT
VmFsdWUgcHJvdG8gPSBlbGVtZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKLSAgICAgICAgICAg
IGlmIChwcm90by5pc09iamVjdCgpICYmIEpTQzo6anNDYXN0PEpTQzo6SlNPYmplY3QqPihhc09i
amVjdChwcm90bykpLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGlmIChwcm90by5pc09iamVjdCgpKSB7
CisgICAgICAgICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvKS0+aGFzUHJvcGVydHkoZXhlYywg
cHJvcGVydHlOYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAg
ICByZXR1cm4gcGx1Z2luRWxlbWVudEN1c3RvbUdldE93blByb3BlcnR5U2xvdChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QsIGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzNTVlNzk2MTE0NGFjNzc2MzFmZjUw
YTQ0NWI2M2E3MWFkOTI2ZmMxLi44MmFjNTk3ZWNkN2VhY2VkMWVmZTg4Y2Y4ZGRhN2ZhYjk3YTlh
ZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQpAQCAtMjkwLDggKzI5MCwxMiBAQCBzdWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0
eVNsb3RCb2R5CiAgICAgIyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNkZm4tbmFt
ZWQtcHJvcGVydGllcy1vYmplY3QKICAgICBteSAkcHJvdG90eXBlQ2hlY2sgPSBzdWIgewogICAg
ICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgICR7bmFtZXNwYWNlTWF5YmV9
SlNWYWx1ZSBwcm90byA9IHRoaXNPYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpO1xuIik7Ci0g
ICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgaWYgKHByb3RvLmlzT2Jq
ZWN0KCkgJiYganNDYXN0PCR7bmFtZXNwYWNlTWF5YmV9SlNPYmplY3QqPihwcm90byktPmhhc1By
b3BlcnR5KHN0YXRlLCBwcm9wZXJ0eU5hbWUpKVxuIik7Ci0gICAgICAgIHB1c2goQGdldE93blBy
b3BlcnR5U2xvdEltcGwsICIgICAgICAgIHJldHVybiBmYWxzZTtcblxuIik7CisgICAgICAgIHB1
c2goQGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgaWYgKHByb3RvLmlzT2JqZWN0KCkpIHtc
biIpOworICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgICAgICBpZiAo
anNDYXN0PCR7bmFtZXNwYWNlTWF5YmV9SlNPYmplY3QqPihwcm90byktPmhhc1Byb3BlcnR5KHN0
YXRlLCBwcm9wZXJ0eU5hbWUpKVxuIik7CisgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xv
dEltcGwsICIgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4iKTsKKyAgICAgICAgcHVzaChAZ2V0
T3duUHJvcGVydHlTbG90SW1wbCwgIiAgICAgICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKVxu
Iik7CisgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7XG4iKTsKKyAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlTbG90SW1wbCwg
IiAgICB9XG5cbiIpOwogICAgIH07CiAKICAgICBpZiAoJGluZGV4ZWRHZXR0ZXJGdW5jdGlvbikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggNmYzYjAzMDI2ZWIx
ZTcxM2Q1MzFjZTdlYTFkN2M3MDM4YjU3OWRkOC4uZDY4NTcxN2M0OWY0MWI4MTY3OTIxZjc0Y2Q5
MmJiM2QzYTMxMzA2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBA
IC0xMzAsOCArMTMwLDEyIEBAIGJvb2wgSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmdldE93blBy
b3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIHN0CiAgICAgaWYgKEJhc2U6
OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBzdGF0ZSwgcHJvcGVydHlOYW1lLCBzbG90
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgSlNWYWx1ZSBwcm90byA9IHRoaXNPYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpOwotICAgIGlmIChwcm90by5pc09iamVjdCgpICYmIGpzQ2Fz
dDxKU09iamVjdCo+KHByb3RvKS0+aGFzUHJvcGVydHkoc3RhdGUsIHByb3BlcnR5TmFtZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocHJvdG8uaXNPYmplY3QoKSkgeworICAgICAg
ICBpZiAoanNDYXN0PEpTT2JqZWN0Kj4ocHJvdG8pLT5oYXNQcm9wZXJ0eShzdGF0ZSwgcHJvcGVy
dHlOYW1lKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHN0YXRlLmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIGlm
ICh0aGlzT2JqZWN0LT5jbGFzc0luZm8oKSA9PSBpbmZvKCkpIHsKICAgICAgICAgSlNWYWx1ZSB2
YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IGQwNTQ1ZmVmMTAyYmNlNjc2OGRj
M2NjZWRmNTM3MjUwYWIzOWQ1NTEuLmVlMTU5MTZkNjAwMmRkZGI3Y2M5MmZkODNlMWU3Y2MxNzE1
ZGIyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMTMzLDggKzEzMywxMiBAQCBi
b29sIEpTVGVzdEV2ZW50VGFyZ2V0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVj
dCwgRXhlY1N0YXRlKiBzdGF0ZSwgUAogICAgIGlmIChCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
dGhpc09iamVjdCwgc3RhdGUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIEpTVmFsdWUgcHJvdG8gPSB0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3Qo
KTsKLSAgICBpZiAocHJvdG8uaXNPYmplY3QoKSAmJiBqc0Nhc3Q8SlNPYmplY3QqPihwcm90bykt
Pmhhc1Byb3BlcnR5KHN0YXRlLCBwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKHByb3RvLmlzT2JqZWN0KCkpIHsKKyAgICAgICAgaWYgKGpzQ2FzdDxKU09iamVj
dCo+KHByb3RvKS0+aGFzUHJvcGVydHkoc3RhdGUsIHByb3BlcnR5TmFtZSkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICBpZiAoIW9wdGlvbmFsSW5kZXggJiYg
dGhpc09iamVjdC0+Y2xhc3NJbmZvKCkgPT0gaW5mbygpKSB7CiAgICAgICAgIEpTVmFsdWUgdmFs
dWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>