<?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>59333</bug_id>
          
          <creation_ts>2011-04-25 10:29:59 -0700</creation_ts>
          <short_desc>Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts</short_desc>
          <delta_ts>2011-04-25 11:56:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>391818</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-25 10:29:59 -0700</bug_when>
    <thetext>Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391844</commentid>
    <comment_count>1</comment_count>
      <attachid>90934</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-25 11:41:42 -0700</bug_when>
    <thetext>Created attachment 90934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391846</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-25 11:56:07 -0700</bug_when>
    <thetext>Committed r84789: &lt;http://trac.webkit.org/changeset/84789&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90934</attachid>
            <date>2011-04-25 11:41:42 -0700</date>
            <delta_ts>2011-04-25 11:48:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59333-20110425114140.patch</filename>
            <type>text/plain</type>
            <size>36031</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0Nzg0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTEtMDQtMjUgIEdlb2ZmcmV5
IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGEgdXNlIG9mIG1hcmtET01PYmplY3RXcmFwcGVy
OiBBY3RpdmVET01PYmplY3RzLCBXb3JrZXJzLCBhbmQgTWVzc2FnZVBvcnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTMzMworCisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCAuaWRsIGZpbGVzIGZvciBl
YXNpZXIgZWRpdGluZy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3Jr
ZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyQ29udGV4dDo6
dmlzaXRDaGlsZHJlbik6IFJlbW92ZWQgbm93LXVudXNlZCBmdW5jdGlvbnMuCisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogQWRkZWQgc3VwcG9ydCBmb3Ig
QWN0aXZlRE9NT2JqZWN0CisgICAgICAgIGxpZmV0aW1lIG1hbmFnZW1lbnQuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaWRsOiBObyBuZWVkIGZvciBhIGN1c3RvbSBtYXJrIGZ1bmN0aW9uIGFu
eW1vcmUsIHNpbmNlCisgICAgICAgIEFjdGl2ZURPTU9iamV0cyBub3cgbWFuYWdlIHRoZWlyIG93
biBsaWZldGltZXMuCisKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVzc2FnZVBvcnQ6Omhhc1BlbmRpbmdBY3Rpdml0eSk6IENvcnJlY3RseSByZXBv
cnQgdGhhdCB3ZQorICAgICAgICBoYXZlIHBlbmRpbmcgYWN0aXZpdHkgd2hlbiB3ZSdyZSByZW1v
dGVseSBlbnRhbmdsZWQsIGluc3RlYWQgb2YgcmVseWluZworICAgICAgICBvbiBvdXIgY2xpZW50
cyB0byBrbm93IHRoaXMgYWJvdXQgdXMgYW5kIGRvIHRoZSBjaGVjayBmb3IgdXMuCisKKyAgICAg
ICAgKiBkb20vTWVzc2FnZVBvcnQuaDogRklYTUUhCisKKyAgICAgICAgKiBkb20vTWVzc2FnZVBv
cnQuaWRsOgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGw6CisgICAgICAgICog
ZmlsZWFwaS9GaWxlUmVhZGVyLmlkbDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVXcml0ZXIuaWRs
OgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBu
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6CisgICAgICAgICogcGFnZS9FdmVu
dFNvdXJjZS5pZGw6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5pZGw6CisgICAgICAg
ICogc3RvcmFnZS9JREJSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0
aW9uLmlkbDoKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAq
IHdlYnNvY2tldHMvV2ViU29ja2V0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL0Fic3RyYWN0V29y
a2VyLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlci5pZGw6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaWRsOiBPcHQgaW4gdG8gQWN0aXZlRE9NT2JqZWN0IGxpZmV0aW1lIG1h
bmFnZW1lbnQuCisKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5KTogTm8gbmVlZCB0
byBtYWtlIHVwIGZvcgorICAgICAgICBNZXNzYWdlUG9ydDo6aGFzUGVuZGluZ0FjdGl2aXR5IGJl
aW5nIHdyb25nIGFueW1vcmUsIHNpbmNlIGl0J3Mgbm93IHJpZ2h0LgorCisgICAgICAgICogeG1s
L1hNTEh0dHBSZXF1ZXN0LmlkbDogT3B0IGluIHRvIEFjdGl2ZURPTU9iamVjdCBsaWZldGltZSBt
YW5hZ2VtZW50LgorCiAyMDExLTA0LTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjc3MSw2ICs2NzcxLDkgQEAKIAkJMTQ5OTNCRTMw
QjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRm9jdXNDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9jdXNDb250cm9sbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0QTk4RTA1MTM2Mzg2QTIwMEM5RkVEMiAv
KiBCbG9iLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBCbG9iLmlkbDsgcGF0aCA9IC4uLy4u
Ly4uL3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaWRsOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CisJCTE0QkRGNTk3MTM2NTM5MkMwMDE0ODM5MyAvKiBET01GaWxlU3lz
dGVtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBET01GaWxlU3lzdGVtLmlkbDsgcGF0aCA9
IC4uLy4uLy4uL3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRs
OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTE0QkRGNTlBMTM2NTM5OTEwMDE0ODM5
MyAvKiBGaWxlUmVhZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBGaWxlUmVhZGVyLmlk
bDsgcGF0aCA9IC4uLy4uLy4uL3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFk
ZXIuaWRsOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTE0QkRGNTlDMTM2NTM5QkUw
MDE0ODM5MyAvKiBGaWxlV3JpdGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBGaWxlV3Jp
dGVyLmlkbDsgcGF0aCA9IC4uLy4uLy4uL3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGVXcml0ZXIuaWRsOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTE0QzlBNUU5MEIz
RDEwNUYwMDVBMDIzMiAvKiBTZXR0aW5ncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2V0dGluZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NENEOEQ4MTEwNkI1MjkwMDBBNDZEMjMgLyogSlNTaGFyZWRXb3JrZXJDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTaGFyZWRXb3JrZXJDdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNENGNzg3MTA5RjU4N0NBMDBFQjM2NjUg
LyogQ1NTVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NWYWx1ZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjI3Niw2ICsxNjI3OSw3IEBACiAJCQkJODk4
Nzg1M0UxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRoLmggKi8sCiAJCQkJODk4Nzg1M0Yx
MjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVTeXN0ZW0uY3BwICovLAogCQkJCTg5ODc4NTQwMTIy
Q0EwNjQwMDNBQUJEQSAvKiBET01GaWxlU3lzdGVtLmggKi8sCisJCQkJMTRCREY1OTcxMzY1Mzky
QzAwMTQ4MzkzIC8qIERPTUZpbGVTeXN0ZW0uaWRsICovLAogCQkJCTg5M0M0N0Y0MTI0OEJEMzkw
MDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5jcHAgKi8sCiAJCQkJODkzQzQ3RjUxMjQ4QkQz
OTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggKi8sCiAJCQkJODkzQzQ3RjYxMjQ4QkQz
OTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1TeW5jLmNwcCAqLywKQEAgLTE2MzA3LDYgKzE2MzEx
LDcgQEAKIAkJCQk0Njg5RjFBRTEyNjdCQUUxMDBFOEQzODAgLyogRmlsZU1ldGFkYXRhLmggKi8s
CiAJCQkJOTc2RDZDNjkxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVSZWFkZXIuY3BwICovLAogCQkJ
CTk3NkQ2QzZBMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlUmVhZGVyLmggKi8sCisJCQkJMTRCREY1
OUExMzY1Mzk5MTAwMTQ4MzkzIC8qIEZpbGVSZWFkZXIuaWRsICovLAogCQkJCTJFNzU4NDFBMTI3
NzlBREEwMDYyNjI4QiAvKiBGaWxlUmVhZGVyTG9hZGVyLmNwcCAqLywKIAkJCQkyRTc1ODQxQjEy
Nzc5QURBMDA2MjYyOEIgLyogRmlsZVJlYWRlckxvYWRlci5oICovLAogCQkJCTJFNzU4NDFDMTI3
NzlBREEwMDYyNjI4QiAvKiBGaWxlUmVhZGVyTG9hZGVyQ2xpZW50LmggKi8sCkBAIC0xNjMyMiw2
ICsxNjMyNyw3IEBACiAJCQkJOTc2RDZDNzAxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVUaHJlYWRU
YXNrLmggKi8sCiAJCQkJOTc2RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3Bw
ICovLAogCQkJCTk3NkQ2QzcyMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlV3JpdGVyLmggKi8sCisJ
CQkJMTRCREY1OUMxMzY1MzlCRTAwMTQ4MzkzIC8qIEZpbGVXcml0ZXIuaWRsICovLAogCQkJCTQ2
QkM3MjRCMTI5QjEwNEMwMDcxQzA3RSAvKiBGaWxlV3JpdGVyQmFzZS5jcHAgKi8sCiAJCQkJNDZC
QzcyNEMxMjlCMTA0QzAwNzFDMDdFIC8qIEZpbGVXcml0ZXJCYXNlLmggKi8sCiAJCQkJNDZCQzcy
NEQxMjlCMTA0QzAwNzFDMDdFIC8qIEZpbGVXcml0ZXJCYXNlQ2FsbGJhY2suaCAqLywKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAkocmV2aXNpb24g
ODQ3ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTkt
MjAwMSBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAy
MDA4LCAyMDA5LCAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
ICBDb3B5cmlnaHQgKEMpIDIwMDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CiAgKgog
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKQEAgLTIxLDE1NyArMjEsNDIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJKU0RPTUJpbmRpbmcuaCIKIAotI2luY2x1ZGUgImRlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZy
YW1lLmgiCi0KLSNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJET01Db3Jl
RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkJhc2UuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRmls
ZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiSFRNTEF1ZGlvRWxl
bWVudC5oIgotI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTEZy
YW1lRWxlbWVudEJhc2UuaCIKLSNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiSFRNTExpbmtFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAi
SFRNTFNjcmlwdEVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCisjaW5j
bHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRXZlbnRF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJKU0V4Y2VwdGlvbkJhc2UuaCIKLSNpbmNsdWRlICJKU01h
aW5UaHJlYWRFeGVjU3RhdGUuaCIKKyNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uaCIKICNpbmNs
dWRlICJKU1JhbmdlRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiSlNTUUxFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJKU1NWR0V4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RFeGNl
cHRpb24uaCIKLSNpbmNsdWRlICJLVVJMLmgiCi0jaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKLSNp
bmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKKyNpbmNsdWRlICJKU1hQYXRoRXhjZXB0
aW9uLmgiCiAjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJTY3JpcHRDYWNo
ZWRGcmFtZURhdGEuaCIKKyNpbmNsdWRlICJTUUxFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJTVkdF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiU2V0dGluZ3MuaCIKLSNpbmNsdWRlICJXZWJDb3Jl
SlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJYUGF0aEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3RhbmNl
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNGdW5j
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgotCi0jaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJKU1NWR0V4Y2VwdGlvbi5o
IgotI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoWFBBVEgp
Ci0jaW5jbHVkZSAiSlNYUGF0aEV4Y2VwdGlvbi5oIgotI2luY2x1ZGUgIlhQYXRoRXhjZXB0aW9u
LmgiCi0jZW5kaWYKLQotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSNpbmNsdWRlICJKU1NRTEV4Y2Vw
dGlvbi5oIgotI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5oIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUo
QkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQotI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIK
LSNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uaCIKLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCi0jaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKLSNpbmNsdWRl
ICJKU0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCi0jZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
Ci1jbGFzcyBKU0dsb2JhbERhdGFXb3JsZEl0ZXJhdG9yIHsKLXB1YmxpYzoKLSAgICBKU0dsb2Jh
bERhdGFXb3JsZEl0ZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKLSAgICAgICAgOiBt
X3BvcyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oZ2xvYmFsRGF0YS0+Y2xpZW50
RGF0YSktPm1fd29ybGRTZXQuYmVnaW4oKSkKLSAgICAgICAgLCBtX2VuZChzdGF0aWNfY2FzdDxX
ZWJDb3JlSlNDbGllbnREYXRhKj4oZ2xvYmFsRGF0YS0+Y2xpZW50RGF0YSktPm1fd29ybGRTZXQu
ZW5kKCkpCi0gICAgewotICAgIH0KLQotICAgIG9wZXJhdG9yIGJvb2woKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fcG9zICE9IG1fZW5kOwotICAgIH0KLQotICAgIERPTVdyYXBwZXJXb3JsZCog
b3BlcmF0b3IqKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX3BvcyAhPSBtX2VuZCk7Ci0gICAg
ICAgIHJldHVybiAqbV9wb3M7Ci0gICAgfQotCi0gICAgRE9NV3JhcHBlcldvcmxkKiBvcGVyYXRv
ci0+KCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX3BvcyAhPSBtX2VuZCk7Ci0gICAgICAgIHJl
dHVybiAqbV9wb3M7Ci0gICAgfQotCi0gICAgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvciYgb3Bl
cmF0b3IrKygpCi0gICAgewotICAgICAgICArK21fcG9zOwotICAgICAgICByZXR1cm4gKnRoaXM7
Ci0gICAgfQotCi1wcml2YXRlOgotICAgIEhhc2hTZXQ8RE9NV3JhcHBlcldvcmxkKj46Oml0ZXJh
dG9yIG1fcG9zOwotICAgIEhhc2hTZXQ8RE9NV3JhcHBlcldvcmxkKj46Oml0ZXJhdG9yIG1fZW5k
OwotfTsKLQogY29uc3QgSlNDOjpIYXNoVGFibGUqIGdldEhhc2hUYWJsZUZvckdsb2JhbERhdGEo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBKU0M6Okhhc2hUYWJsZSogc3RhdGljVGFi
bGUpCiB7CiAgICAgcmV0dXJuIERPTU9iamVjdEhhc2hUYWJsZU1hcDo6bWFwRm9yKGdsb2JhbERh
dGEpLmdldChzdGF0aWNUYWJsZSk7CiB9CiAKLXZvaWQgdmlzaXRBY3RpdmVPYmplY3RzRm9yQ29u
dGV4dChTbG90VmlzaXRvciYgdmlzaXRvciwgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQotewotICAgIC8vIElm
IGFuIGVsZW1lbnQgaGFzIHBlbmRpbmcgYWN0aXZpdHkgdGhhdCBtYXkgcmVzdWx0IGluIGV2ZW50
IGxpc3RlbmVycyBiZWluZyBjYWxsZWQKLSAgICAvLyAoZS5nLiBhbiBYTUxIdHRwUmVxdWVzdCks
IHdlIG5lZWQgdG8ga2VlcCBKUyB3cmFwcGVycyBhbGl2ZS4KLQotICAgIGNvbnN0IEhhc2hNYXA8
QWN0aXZlRE9NT2JqZWN0Kiwgdm9pZCo+JiBhY3RpdmVPYmplY3RzID0gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+YWN0aXZlRE9NT2JqZWN0cygpOwotICAgIEhhc2hNYXA8QWN0aXZlRE9NT2JqZWN0
Kiwgdm9pZCo+Ojpjb25zdF9pdGVyYXRvciBhY3RpdmVPYmplY3RzRW5kID0gYWN0aXZlT2JqZWN0
cy5lbmQoKTsKLSAgICBmb3IgKEhhc2hNYXA8QWN0aXZlRE9NT2JqZWN0Kiwgdm9pZCo+Ojpjb25z
dF9pdGVyYXRvciBpdGVyID0gYWN0aXZlT2JqZWN0cy5iZWdpbigpOyBpdGVyICE9IGFjdGl2ZU9i
amVjdHNFbmQ7ICsraXRlcikgewotICAgICAgICBpZiAoaXRlci0+Zmlyc3QtPmhhc1BlbmRpbmdB
Y3Rpdml0eSgpKSB7Ci0gICAgICAgICAgICAvLyBHZW5lcmFsbHksIGFuIGFjdGl2ZSBvYmplY3Qg
d2l0aCBwZW5kaW5nIGFjdGl2aXR5IG11c3QgaGF2ZSBhIHdyYXBwZXIgdG8gbWFyayBpdHMgbGlz
dGVuZXJzLgotICAgICAgICAgICAgLy8gSG93ZXZlciwgc29tZSBBY3RpdmVET01PYmplY3RzIGRv
bid0IGhhdmUgSlMgd3JhcHBlcnMuCi0gICAgICAgICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcih2
aXNpdG9yLCBnbG9iYWxEYXRhLCBpdGVyLT5zZWNvbmQpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgY29uc3QgSGFzaFNldDxNZXNzYWdlUG9ydCo+JiBtZXNzYWdlUG9ydHMgPSBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5tZXNzYWdlUG9ydHMoKTsKLSAgICBIYXNoU2V0PE1lc3NhZ2VQb3J0Kj46
OmNvbnN0X2l0ZXJhdG9yIHBvcnRzRW5kID0gbWVzc2FnZVBvcnRzLmVuZCgpOwotICAgIGZvciAo
SGFzaFNldDxNZXNzYWdlUG9ydCo+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbWVzc2FnZVBvcnRz
LmJlZ2luKCk7IGl0ZXIgIT0gcG9ydHNFbmQ7ICsraXRlcikgewotICAgICAgICAvLyBJZiB0aGUg
bWVzc2FnZSBwb3J0IGlzIHJlbW90ZWx5IGVudGFuZ2xlZCwgdGhlbiBhbHdheXMgbWFyayBpdCBh
cyBpbi11c2UgYmVjYXVzZSB3ZSBjYW4ndCBkZXRlcm1pbmUgcmVhY2hhYmlsaXR5IGFjcm9zcyB0
aHJlYWRzLgotICAgICAgICBpZiAoISgqaXRlciktPmxvY2FsbHlFbnRhbmdsZWRQb3J0KCkgfHwg
KCppdGVyKS0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpCi0gICAgICAgICAgICBtYXJrRE9NT2JqZWN0
V3JhcHBlcih2aXNpdG9yLCBnbG9iYWxEYXRhLCAqaXRlcik7Ci0gICAgfQotfQotCi12b2lkIG1h
cmtET01PYmplY3RXcmFwcGVyKFNsb3RWaXNpdG9yJiB2aXNpdG9yLCBKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIHZvaWQqIG9iamVjdCkKLXsKLSAgICAvLyBGSVhNRTogVGhpcyBjb3VsZCBiZSBj
aGFuZ2VkIHRvIG9ubHkgbWFyayB3cmFwcGVycyB0aGF0IGFyZSAib2JzZXJ2YWJsZSIKLSAgICAv
LyBhcyBtYXJrRE9NTm9kZXNGb3JEb2N1bWVudCBkb2VzLCBhbGxvd2luZyB1cyB0byBjb2xsZWN0
IG1vcmUgd3JhcHBlcnMsCi0gICAgLy8gYnV0IGRvaW5nIHRoaXMgY29ycmVjdGx5IHdvdWxkIGJl
IGNoYWxsZW5naW5nLgotICAgIGlmICghb2JqZWN0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBm
b3IgKEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3Igd29ybGRJdGVyKCZnbG9iYWxEYXRhKTsgd29y
bGRJdGVyOyArK3dvcmxkSXRlcikgewotICAgICAgICBpZiAoSlNET01XcmFwcGVyKiB3cmFwcGVy
ID0gd29ybGRJdGVyLT5tX3dyYXBwZXJzLmdldChvYmplY3QpLmdldCgpKQotICAgICAgICAgICAg
dmlzaXRvci5kZXByZWNhdGVkQXBwZW5kKHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKio+KCZ3cmFw
cGVyKSk7Ci0gICAgfQotfQotCiBzdGF0aWMgdm9pZCBzdHJpbmdXcmFwcGVyRGVzdHJveWVkKEpT
U3RyaW5nKiwgdm9pZCogY29udGV4dCkKIHsKICAgICBTdHJpbmdJbXBsKiBjYWNoZUtleSA9IHN0
YXRpY19jYXN0PFN0cmluZ0ltcGwqPihjb250ZXh0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOSAr
MTE2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAgICAgfTsKICAgICAKLSAg
ICB2b2lkIHZpc2l0QWN0aXZlT2JqZWN0c0ZvckNvbnRleHQoSlNDOjpTbG90VmlzaXRvciYsIEpT
Qzo6SlNHbG9iYWxEYXRhJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHZvaWQgbWFy
a0RPTU9iamVjdFdyYXBwZXIoSlNDOjpTbG90VmlzaXRvciYsIEpTQzo6SlNHbG9iYWxEYXRhJiwg
dm9pZCopOwotCiAgICAgSlNDOjpTdHJ1Y3R1cmUqIGdldENhY2hlZERPTVN0cnVjdHVyZShKU0RP
TUdsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKik7CiAgICAgSlNDOjpTdHJ1Y3R1
cmUqIGNhY2hlRE9NU3RydWN0dXJlKEpTRE9NR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUq
LCBjb25zdCBKU0M6OkNsYXNzSW5mbyopOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gODQ3ODEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAy
MDA4LCAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtNDgsMTYgKzQ4LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIEpTRG9jdW1lbnQ6OnZpc2l0Q2hpbGRyZW4oU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCi17Ci0gICAgSlNOb2RlOjp2aXNpdENoaWxkcmVuKHZpc2l0b3IpOwot
Ci0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gaW1wbCgpOwotICAgIEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSA9ICpIZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxEYXRhKCk7Ci0KLSAgICB2aXNpdEFj
dGl2ZU9iamVjdHNGb3JDb250ZXh0KHZpc2l0b3IsIGdsb2JhbERhdGEsIGRvY3VtZW50KTsKLX0K
LQogSlNWYWx1ZSBKU0RvY3VtZW50Ojpsb2NhdGlvbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7
CiAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihpbXBsKCkpLT5mcmFt
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtl
ckNvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMSBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTU3LDEwICs1Nyw2IEBAIHZvaWQgSlNXb3JrZXJDb250ZXh0Ojp2aXNpdENoaWxkcmVu
KFNsb3QKIHsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHZpc2l0b3IpOwogCi0gICAgSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhID0gdGhpcy0+Z2xvYmFsRGF0YSgpOwotCi0gICAgdmlzaXRBY3Rp
dmVPYmplY3RzRm9yQ29udGV4dCh2aXNpdG9yLCBnbG9iYWxEYXRhLCBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwotCiAgICAgaWYgKFdvcmtlckxvY2F0aW9uKiBsb2NhdGlvbiA9IGltcGwoKS0+
b3B0aW9uYWxMb2NhdGlvbigpKQogICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QobG9jYXRp
b24pOwogICAgIGlmIChXb3JrZXJOYXZpZ2F0b3IqIG5hdmlnYXRvciA9IGltcGwoKS0+b3B0aW9u
YWxOYXZpZ2F0b3IoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC05MTQsNyArOTE0LDEwIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAifVxuXG4iKTsKICAgICB9CiAKLSAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRmluYWxpemUifSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgCisgICAgICAgICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0gfHwgCisg
ICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUZpbmFsaXplIn0g
fHwKKyAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2Jq
ZWN0In0pIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtpbXBsVHlw
ZX1Pd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7XG4iKTsKICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIGJvb2wgaXNSZWFjaGFibGVGcm9tT3BhcXVl
Um9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCwgSlNDOjpTbG90
VmlzaXRvciYpO1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVh
bCB2b2lkIGZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQp
O1xuIik7CkBAIC0yMTI2LDcgKzIxMjksNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
ICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkdlbmVyYXRlSXNSZWFjaGFibGUifSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJzdGF0aWMgaW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlKEpTJHtpbXBsVHlwZX0qIGpz
JHtpbXBsVHlwZX0pXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGpzJHtpbXBsVHlwZX0tPmhhc0N1c3Rv
bVByb3BlcnRpZXMoKSlcbiIpOwpAQCAtMjEzOCw0MyArMjE0MSw2MCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZmFs
c2U7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwogCi0gICAgICAg
IG15ICRyb290U3RyaW5nOwotICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsIikgewotICAgICAgICAgICAgJHJv
b3RTdHJpbmcgID0gIiAgICAke2ltcGxUeXBlfSogcm9vdCA9IGpzJHtpbXBsVHlwZX0tPmltcGwo
KTtcbiI7Ci0gICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkdlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbENvbnRleHQiKSB7Ci0gICAgICAgICAgICAk
cm9vdFN0cmluZyAgPSAiICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogcm9vdCA9IGpzJHtpbXBs
VHlwZX0tPmltcGwoKS0+Y29udGV4dCgpO1xuIjsKLSAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRnJh
bWUiKSB7Ci0gICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIEZyYW1lKiByb290ID0ganMk
e2ltcGxUeXBlfS0+aW1wbCgpLT5mcmFtZSgpO1xuIjsKLSAgICAgICAgICAgICRyb290U3RyaW5n
IC49ICIgICAgaWYgKCFyb290KVxuIjsKLSAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAg
ICAgIHJldHVybiBmYWxzZTtcbiI7Ci0gICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbERvY3VtZW50Iikg
ewotICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBEb2N1bWVudCogcm9vdCA9IGpzJHtp
bXBsVHlwZX0tPmltcGwoKS0+ZG9jdW1lbnQoKTtcbiI7Ci0gICAgICAgICAgICAkcm9vdFN0cmlu
ZyAuPSAiICAgIGlmICghcm9vdClcbiI7Ci0gICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAg
ICAgICByZXR1cm4gZmFsc2U7XG4iOwotICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxFbGVtZW50Um9v
dCIpIHsKLSAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgRWxlbWVudCogZWxlbWVudCA9
IGpzJHtpbXBsVHlwZX0tPmltcGwoKS0+ZWxlbWVudCgpO1xuIjsKLSAgICAgICAgICAgICRyb290
U3RyaW5nIC49ICIgICAgaWYgKCFlbGVtZW50KVxuIjsKLSAgICAgICAgICAgICRyb290U3RyaW5n
IC49ICIgICAgICAgIHJldHVybiBmYWxzZTtcbiI7Ci0gICAgICAgICAgICAkcm9vdFN0cmluZyAu
PSAiICAgIHZvaWQqIHJvb3QgPSBXZWJDb3JlOjpyb290KGVsZW1lbnQpO1xuIjsKLSAgICAgICAg
fSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQiKSB7Ci0g
ICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIHZvaWQqIHJvb3QgPSBXZWJDb3JlOjpyb290
KGpzJHtpbXBsVHlwZX0tPmltcGwoKS0+Y2FudmFzKCkpO1xuIjsKLSAgICAgICAgfSBlbHNpZiAo
JGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIikgewotICAgICAgICAgICAgJHJvb3RT
dHJpbmcgID0gIiAgICB2b2lkKiByb290ID0gV2ViQ29yZTo6cm9vdChqcyR7aW1wbFR5cGV9LT5p
bXBsKCktPmJhc2UoKSk7XG4iOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJHJvb3RT
dHJpbmcgID0gIiAgICB2b2lkKiByb290ID0gV2ViQ29yZTo6cm9vdChqcyR7aW1wbFR5cGV9LT5p
bXBsKCkpO1xuIjsKLSAgICAgICAgfQotCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiYm9v
bCBKUyR7aW1wbFR5cGV9T3duZXI6OmlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFu
ZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpXG4i
KTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgSlMke2ltcGxUeXBlfSoganMke2ltcGxUeXBlfSA9IHN0YXRpY19jYXN0
PEpTJHtpbXBsVHlwZX0qPihoYW5kbGUuZ2V0KCkuYXNDZWxsKCkpO1xuIik7CisgICAgICAgICMg
Tm90IGFsbCBBY3RpdmVET01PYmplY3RzIHdpdGggcGVuZGluZyBhY3Rpdml0eSBtYWludGFpbiB0
aGVpciByZWZlcmVuY2UKKyAgICAgICAgIyBjb3VudHMgY29ycmVjdGx5LCBzbyBKYXZhU2NyaXB0
IHdyYXBwZXJzIG11c3QgdW5jb25kaXRpb25hbGx5IGtlZXAKKyAgICAgICAgIyBBY3RpdmVET01P
YmplY3RzIHdpdGggcGVuZGluZyBhY3Rpdml0eSBhbGl2ZS4KKyAgICAgICAgIyBGSVhNRTogRml4
IHRoaXMgbGlmZXRpbWUgaXNzdWUgaW4gdGhlIERPTSwgYW5kIG1vdmUgdGhpcyBoYXNQZW5kaW5n
QWN0aXZpdHkKKyAgICAgICAgIyBjaGVjayBiZWxvdyB0aGUgaXNPYnNlcnZhYmxlIGNoZWNrLgor
ICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2Jq
ZWN0In0pIHsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChqcyR7aW1w
bFR5cGV9LT5pbXBsKCktPmhhc1BlbmRpbmdBY3Rpdml0eSgpKVxuIik7CisgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIHRydWU7XG4iKTsKKyAgICAgICAgfQog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWlzT2JzZXJ2YWJsZShqcyR7aW1w
bFR5cGV9KSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJu
IGZhbHNlO1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkcm9vdFN0cmluZyk7Ci0g
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiB2aXNpdG9yLmNvbnRhaW5zT3Bh
cXVlUm9vdChyb290KTtcbiIpOworICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9KSB7CisgICAgICAgICAgICBteSAkcm9vdFN0
cmluZzsKKyAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJH
ZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGwiKSB7CisgICAgICAgICAgICAgICAgJHJvb3RT
dHJpbmcgID0gIiAgICAke2ltcGxUeXBlfSogcm9vdCA9IGpzJHtpbXBsVHlwZX0tPmltcGwoKTtc
biI7CisgICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxDb250ZXh0IikgeworICAgICAgICAgICAg
ICAgICRyb290U3RyaW5nICA9ICIgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiByb290ID0ganMk
e2ltcGxUeXBlfS0+aW1wbCgpLT5jb250ZXh0KCk7XG4iOworICAgICAgICAgICAgfSBlbHNpZiAo
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVx
ICJJbXBsRnJhbWUiKSB7CisgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBGcmFt
ZSogcm9vdCA9IGpzJHtpbXBsVHlwZX0tPmltcGwoKS0+ZnJhbWUoKTtcbiI7CisgICAgICAgICAg
ICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICBpZiAoIXJvb3QpXG4iOworICAgICAgICAgICAgICAg
ICRyb290U3RyaW5nIC49ICIgICAgICAgIHJldHVybiBmYWxzZTtcbiI7CisgICAgICAgICAgICB9
IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlzUmVhY2hh
YmxlIn0gZXEgIkltcGxEb2N1bWVudCIpIHsKKyAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAg
PSAiICAgIERvY3VtZW50KiByb290ID0ganMke2ltcGxUeXBlfS0+aW1wbCgpLT5kb2N1bWVudCgp
O1xuIjsKKyAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgIGlmICghcm9vdClcbiI7
CisgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJuIGZhbHNlO1xu
IjsKKyAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkdlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbEVsZW1lbnRSb290IikgeworICAgICAgICAg
ICAgICAgICRyb290U3RyaW5nICA9ICIgICAgRWxlbWVudCogZWxlbWVudCA9IGpzJHtpbXBsVHlw
ZX0tPmltcGwoKS0+ZWxlbWVudCgpO1xuIjsKKyAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAu
PSAiICAgIGlmICghZWxlbWVudClcbiI7CisgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0g
IiAgICAgICAgcmV0dXJuIGZhbHNlO1xuIjsKKyAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAu
PSAiICAgIHZvaWQqIHJvb3QgPSBXZWJDb3JlOjpyb290KGVsZW1lbnQpO1xuIjsKKyAgICAgICAg
ICAgIH0gZWxzaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJDYW52YXNSZW5kZXJpbmdDb250ZXh0Iikg
eworICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgdm9pZCogcm9vdCA9IFdlYkNv
cmU6OnJvb3QoanMke2ltcGxUeXBlfS0+aW1wbCgpLT5jYW52YXMoKSk7XG4iOworICAgICAgICAg
ICAgfSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIikgeworICAgICAg
ICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgdm9pZCogcm9vdCA9IFdlYkNvcmU6OnJvb3Qo
anMke2ltcGxUeXBlfS0+aW1wbCgpLT5iYXNlKCkpO1xuIjsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICB2b2lkKiByb290ID0gV2ViQ29y
ZTo6cm9vdChqcyR7aW1wbFR5cGV9LT5pbXBsKCkpO1xuIjsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRyb290U3RyaW5nKTsKKyAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiB2aXNpdG9yLmNvbnRhaW5zT3BhcXVlUm9vdChy
b290KTtcbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgVU5VU0VEX1BBUkFNKHZpc2l0b3IpO1xuIik7CisgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICByZXR1cm4gZmFsc2U7XG4iKTsKKyAgICAgICAgfQogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgfQogCi0gICAgaWYgKCRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1JlYWNoYWJsZSJ9ICYmICEkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21GaW5hbGl6ZSJ9KSB7CisgICAgaWYgKCEkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21GaW5hbGl6ZSJ9ICYmCisgICAgICAg
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0g
fHwgCisgICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1Jl
YWNoYWJsZSJ9IHx8CisgICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJB
Y3RpdmVET01PYmplY3QifSkpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkIEpT
JHtpbXBsVHlwZX1Pd25lcjo6ZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5k
bGUsIHZvaWQqIGNvbnRleHQpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4i
KTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlMke2ltcGxUeXBlfSoganMke2lt
cGxUeXBlfSA9IHN0YXRpY19jYXN0PEpTJHtpbXBsVHlwZX0qPihoYW5kbGUuZ2V0KCkuYXNDZWxs
KCkpO1xuIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHJldmlzaW9uIDg0NzgxKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBT
YW11ZWwgV2VpbmlnIDxzYW1Ad2Via2l0Lm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMyw3ICsyMyw2
IEBAIG1vZHVsZSBjb3JlIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDdXN0b21Ub0pTLAog
ICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgQ3VzdG9tTWFya0Z1bmN0
aW9uLAogICAgICAgICBJbmxpbmVHZXRPd25Qcm9wZXJ0eVNsb3QKICAgICBdIERvY3VtZW50IDog
Tm9kZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcAkocmV2aXNpb24gODQ3
ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTIsNyArMTkyLDExIEBAIGJvb2wgTWVzc2FnZVBvcnQ6Omhhc1BlbmRpbmdBY3Rpdml0
eSgpCiB7CiAgICAgLy8gVGhlIHNwZWMgc2F5cyB0aGF0IGVudGFuZ2xlZCBtZXNzYWdlIHBvcnRz
IHNob3VsZCBhbHdheXMgYmUgdHJlYXRlZCBhcyBpZiB0aGV5IGhhdmUgYSBzdHJvbmcgcmVmZXJl
bmNlLgogICAgIC8vIFdlJ2xsIGFsc28gc3RpcHVsYXRlIHRoYXQgdGhlIHF1ZXVlIG5lZWRzIHRv
IGJlIG9wZW4gKGlmIHRoZSBhcHAgZHJvcHMgaXRzIHJlZmVyZW5jZSB0byB0aGUgcG9ydCBiZWZv
cmUgc3RhcnQoKS1pbmcgaXQsIHRoZW4gaXQncyBub3QgcmVhbGx5IGVudGFuZ2xlZCBhcyBpdCdz
IHVucmVhY2hhYmxlKS4KLSAgICByZXR1cm4gbV9zdGFydGVkICYmIG1fZW50YW5nbGVkQ2hhbm5l
bCAmJiBtX2VudGFuZ2xlZENoYW5uZWwtPmhhc1BlbmRpbmdBY3Rpdml0eSgpOworICAgIGlmICht
X3N0YXJ0ZWQgJiYgbV9lbnRhbmdsZWRDaGFubmVsICYmIG1fZW50YW5nbGVkQ2hhbm5lbC0+aGFz
UGVuZGluZ0FjdGl2aXR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChpc0VudGFu
Z2xlZCgpICYmICFsb2NhbGx5RW50YW5nbGVkUG9ydCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIE1lc3NhZ2VQb3J0KiBNZXNzYWdlUG9ydDo6bG9jYWxs
eUVudGFuZ2xlZFBvcnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgJKHJldmlzaW9u
IDg0NzgxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4LDYgKzQ4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGUgb3Zl
cndoZWxtaW5nbHkgY29tbW9uIGNhc2UgaXMgc2VuZGluZyBhIHNpbmdsZSBwb3J0LCBzbyBoYW5k
bGUgdGhhdCBlZmZpY2llbnRseSB3aXRoIGFuIGlubGluZSBidWZmZXIgb2Ygc2l6ZSAxLgogICAg
IHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4sIDE+IE1lc3NhZ2VQb3J0QXJyYXk7
CiAKKyAgICAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgaW5oZXJpdCBmcm9tIEFjdGl2ZURP
TU9iamVjdCBhbmQgdXNlCisgICAgLy8gc2V0UGVuZGluZ0FjdGl2aXR5IC8gdW5zZXRQZW5kaW5n
QWN0aXZpdHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZworICAgIC8vIEFjdGl2ZURPTU9iamVjdCdz
IGZlYXR1cmVzIGFuZCByZWx5aW5nIG9uIEphdmFTY3JpcHQgZ2FyYmFnZSBjb2xsZWN0aW9uCisg
ICAgLy8gdG8gZ2V0IGl0cyBsaWZldGltZSByaWdodC4KICAgICBjbGFzcyBNZXNzYWdlUG9ydCA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lc3NhZ2VQb3J0PiwgcHVibGljIEV2ZW50VGFyZ2V0IHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IE1lc3NhZ2VQb3J0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ3VzdG9tTWFy
a0Z1bmN0aW9uLAogICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGwsCisgICAgICAgIEFj
dGl2ZURPTU9iamVjdCwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIE5vU3RhdGljVGFi
bGVzCiAgICAgXSBNZXNzYWdlUG9ydCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVTeXN0ZW0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5pZGwJKHJldmlzaW9uIDg0NzgxKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMSw2ICszMiw3IEBACiBtb2R1bGUg
c3RvcmFnZSB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNU
RU0sCisgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAg
ICBdIERPTUZpbGVTeXN0ZW0gewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwJKHJldmlzaW9u
IDg0NzgxKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtMzEsNiArMzIsNyBAQAogbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCiAg
ICAgICAgIENvbmRpdGlvbmFsPUJMT0IsCisgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAg
ICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwKICAgICAgICAgRXZlbnRUYXJnZXQsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVXcml0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVdyaXRlci5pZGwJKHJldmlzaW9uIDg0NzgxKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlV3JpdGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzEsNiArMzIsNyBAQAogbW9kdWxlIGh0bWwg
ewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAg
ICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBOb1N0YXRpY1RhYmxlcwpJbmRl
eDogU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkocmV2
aXNpb24gODQ3ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtMzIsNiArMzMsNyBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKICAg
ICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAg
ICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBPbWl0Q29u
c3RydWN0b3IKICAgICBdIE5vdGlmaWNhdGlvbiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCShyZXZpc2lvbiA4NDc4
MSkKKysrIFNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0zMiw2ICszMyw3IEBAIG1vZHVsZSB0aHJlYWRzIHsKIAogICAgIGlu
dGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIEFj
dGl2ZURPTU9iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBOb3RpZmljYXRp
b25DZW50ZXIgewogICAgICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZUhUTUxOb3Rp
ZmljYXRpb24oaW4gRE9NU3RyaW5nIHVybCkgcmFpc2VzKEV4Y2VwdGlvbik7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkocmV2aXNpb24gODQ3ODEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNiArMzMsNyBAQCBt
b2R1bGUgd2luZG93IHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPUVW
RU5UU09VUkNFLAorICAgICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIENhbkJlQ29uc3Ry
dWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBDb25zdHJ1
Y3RvclBhcmFtZXRlcnM9MSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2Uu
aWRsCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjgsNyBAQCBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICBp
bnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFLAorICAgICAg
ICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBJREJEYXRhYmFz
ZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmlkbAkocmV2aXNpb24gODQ3ODEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNiArMzEsNyBA
QCBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25h
bD1JTkRFWEVEX0RBVEFCQVNFLAorICAgICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIEV2
ZW50VGFyZ2V0CiAgICAgXSBJREJSZXF1ZXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IElEQkFueSByZXN1bHQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b24uaWRsCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI4LDcgQEAgbW9kdWxlIHN0b3JhZ2Ugewog
CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRSwK
KyAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gSURC
VHJhbnNhY3Rpb24gewogICAgICAgICAvLyBNb2RlcwpJbmRleDogU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsNiArMjYsNyBAQAogbW9k
dWxlIHdlYmF1ZGlvIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XRUJf
QVVESU8sCisgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3Rl
ZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29u
c3RydWN0b3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCShy
ZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDExIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTMzLDYgKzMzLDcgQEAgbW9kdWxlIHdlYnNvY2tldHMgewog
CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9V0VCX1NPQ0tFVFMsCisgICAg
ICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAg
Q3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIENvbnN0cnVjdG9yUGFyYW1ldGVycz0x
LApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwJKHJldmlz
aW9uIDg0NzgxKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMzIsNiArMzMsNyBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XT1JLRVJTLAorICAgICAgICBBY3RpdmVET01P
YmplY3QsCiAgICAgICAgIEN1c3RvbVRvSlMsCiAgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBB
YnN0cmFjdFdvcmtlciB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIu
aWRsCShyZXZpc2lvbiA4NDc4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBtb2R1bGUgdGhyZWFkcyB7
CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1TSEFSRURfV09SS0VSUywK
KyAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAg
ICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgQ29uc3RydWN0b3JQYXJhbWV0
ZXJzPTIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCShyZXZpc2lvbiA4NDc4MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAg
ICBDb25kaXRpb25hbD1XT1JLRVJTLAorICAgICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAg
IENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAg
ICAgICBDb25zdHJ1Y3RvclBhcmFtZXRlcnM9MSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gODQ3ODEpCisrKyBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsMTAgKzE5NCw5
IEBAIGJvb2wgV29ya2VyQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5KCkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIC8vIEtlZXAgdGhlIHdvcmtlciBhY3RpdmUgYXMg
bG9uZyBhcyB0aGVyZSBpcyBhIE1lc3NhZ2VQb3J0IHdpdGggcGVuZGluZyBhY3Rpdml0eSBvciB0
aGF0IGlzIHJlbW90ZWx5IGVudGFuZ2xlZC4KICAgICBIYXNoU2V0PE1lc3NhZ2VQb3J0Kj46OmNv
bnN0X2l0ZXJhdG9yIG1lc3NhZ2VQb3J0c0VuZCA9IG1lc3NhZ2VQb3J0cygpLmVuZCgpOwogICAg
IGZvciAoSGFzaFNldDxNZXNzYWdlUG9ydCo+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbWVzc2Fn
ZVBvcnRzKCkuYmVnaW4oKTsgaXRlciAhPSBtZXNzYWdlUG9ydHNFbmQ7ICsraXRlcikgewotICAg
ICAgICBpZiAoKCppdGVyKS0+aGFzUGVuZGluZ0FjdGl2aXR5KCkgfHwgKCgqaXRlciktPmlzRW50
YW5nbGVkKCkgJiYgISgqaXRlciktPmxvY2FsbHlFbnRhbmdsZWRQb3J0KCkpKQorICAgICAgICBp
ZiAoKCppdGVyKS0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbAkocmV2
aXNpb24gODQ3ODEpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yOSw2ICsyOSw3IEBACiBtb2R1bGUgeG1sIHsKIAogICAgIGludGVyZmFj
ZSBbCisgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwK
ICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3Ry
dWN0b3IsCg==
</data>
<flag name="review"
          id="83699"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>