<?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>128874</bug_id>
          
          <creation_ts>2014-02-15 14:55:47 -0800</creation_ts>
          <short_desc>Add checked casts for ScriptExecutionContext.</short_desc>
          <delta_ts>2014-02-15 16:21: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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>981207</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-15 14:55:47 -0800</bug_when>
    <thetext>Add checked casts for ScriptExecutionContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981208</commentid>
    <comment_count>1</comment_count>
      <attachid>224301</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-15 14:56:33 -0800</bug_when>
    <thetext>Created attachment 224301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981209</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-15 14:58:48 -0800</bug_when>
    <thetext>Attachment 224301 did not pass style-queue:


ERROR: Source/WebCore/workers/WorkerMessagingProxy.cpp:287:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.cpp:294:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981216</commentid>
    <comment_count>3</comment_count>
      <attachid>224301</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-15 16:21:45 -0800</bug_when>
    <thetext>Comment on attachment 224301
Patch

Clearing flags on attachment: 224301

Committed r164182: &lt;http://trac.webkit.org/changeset/164182&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981217</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-15 16:21:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224301</attachid>
            <date>2014-02-15 14:56:33 -0800</date>
            <delta_ts>2014-02-15 16:21:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128874.diff</filename>
            <type>text/plain</type>
            <size>22178</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0Y2ZiYWY0Li43MTllMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTQtMDItMTUgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBjaGVja2VkIGNhc3RzIGZvciBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI4ODc0PgorCisgICAgICAgIEdlbmVyYXRlIGNhc3Rp
bmcgaGVscGVycyBmb3IgY2FzdGluZyBmcm9tIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8KKyAg
ICAgICAgRG9jdW1lbnQgYW5kIFdvcmtlckdsb2JhbFNjb3BlLiBBcHBseSBoZWFydGlseS4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogMjAxNC0wMi0xNSAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBBdm9pZCB1bm5l
Y2Vzc2FyeSBhc3NlcnRzIGlmICJwcmVwYXJlVG9QbGF5IiBpcyBjYWxsZWQgbXVsdGlwbGUgdGlt
ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3Bw
CmluZGV4IDgzNTkzNzEuLmMwNGE1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCkBAIC04NCw4ICs4NCw3IEBAIHN0YXRpYyBTdHJpbmcg
Z2V0SW5kZXhlZERCRGF0YWJhc2VQYXRoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRvRG9jdW1lbnQoY29udGV4dCk7CiAgICAg
ICAgIHJldHVybiBkb2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmdyb3VwU2V0dGluZ3MoKS5pbmRl
eGVkREJEYXRhYmFzZVBhdGgoKTsKICAgICB9Ci0gICAgV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtl
ckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihjb250ZXh0KTsK
LSAgICBjb25zdCBHcm91cFNldHRpbmdzKiBncm91cFNldHRpbmdzID0gd29ya2VyR2xvYmFsU2Nv
cGUtPmdyb3VwU2V0dGluZ3MoKTsKKyAgICBjb25zdCBHcm91cFNldHRpbmdzKiBncm91cFNldHRp
bmdzID0gdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+Z3JvdXBTZXR0aW5ncygpOwogICAg
IGlmIChncm91cFNldHRpbmdzKQogICAgICAgICByZXR1cm4gZ3JvdXBTZXR0aW5ncy0+aW5kZXhl
ZERCRGF0YWJhc2VQYXRoKCk7CiAgICAgcmV0dXJuIFN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0
YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFs
U2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCmluZGV4IDIwNzRiMTUuLjhjN2U5NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9X
b3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKQEAgLTU3LDggKzU3LDcgQEAgV29y
a2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UqIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERh
dGFiYXNlOjpmcm9tKFNjcmlwdEUKICAgICBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFz
ZSogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFi
YXNlKj4oU3VwcGxlbWVudDxTY3JpcHRFeGVjdXRpb25Db250ZXh0Pjo6ZnJvbShjb250ZXh0LCBz
dXBwbGVtZW50TmFtZSgpKSk7CiAgICAgaWYgKCFzdXBwbGVtZW50KSB7CiAgICAgICAgIFN0cmlu
ZyBkYXRhYmFzZURpcmVjdG9yeUlkZW50aWZpZXI7Ci0gICAgICAgIFdvcmtlckdsb2JhbFNjb3Bl
KiB3b3JrZXJHbG9iYWxTY29wZSA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlKj4oY29u
dGV4dCk7Ci0gICAgICAgIGNvbnN0IEdyb3VwU2V0dGluZ3MqIGdyb3VwU2V0dGluZ3MgPSB3b3Jr
ZXJHbG9iYWxTY29wZS0+Z3JvdXBTZXR0aW5ncygpOworICAgICAgICBjb25zdCBHcm91cFNldHRp
bmdzKiBncm91cFNldHRpbmdzID0gdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+Z3JvdXBT
ZXR0aW5ncygpOwogICAgICAgICBpZiAoZ3JvdXBTZXR0aW5ncykKICAgICAgICAgICAgIGRhdGFi
YXNlRGlyZWN0b3J5SWRlbnRpZmllciA9IGdyb3VwU2V0dGluZ3MtPmluZGV4ZWREQkRhdGFiYXNl
UGF0aCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA5ODI4Yjk1Li45
ZmZkZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw6OmNyZWF0ZShTY3JpcHQKICAgICBBU1NFUlQoY2xpZW50KTsKIAogICAgIGlm
IChjb250ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpIHsKLSAgICAgICAgV29ya2VyR2xvYmFs
U2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUq
Pihjb250ZXh0KTsKKyAgICAgICAgV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3Bl
ID0gdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KTsKICAgICAgICAgV29ya2VyUnVuTG9vcCYg
cnVuTG9vcCA9IHdvcmtlckdsb2JhbFNjb3BlLT50aHJlYWQoKS5ydW5Mb29wKCk7CiAgICAgICAg
IFN0cmluZyBtb2RlID0gd2ViU29ja2V0Q2hhbm5lbE1vZGU7CiAgICAgICAgIG1vZGUuYXBwZW5k
KFN0cmluZzo6bnVtYmVyKHJ1bkxvb3AuY3JlYXRlVW5pcXVlSWQoKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDI3YmQ3ODku
LjVlMjY4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCBKU0RPTUdsb2JhbE9iamVjdCogdG9KU0RP
TUdsb2JhbE9iamVjdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Dbwog
ICAgICAgICByZXR1cm4gdG9KU0RPTUdsb2JhbE9iamVjdCh0b0RvY3VtZW50KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpLCBleGVjKTsKIAogICAgIGlmIChzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5p
c1dvcmtlckdsb2JhbFNjb3BlKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXb3JrZXJH
bG9iYWxTY29wZSo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLT5zY3JpcHQoKS0+d29ya2VyR2xv
YmFsU2NvcGVXcmFwcGVyKCk7CisgICAgICAgIHJldHVybiB0b1dvcmtlckdsb2JhbFNjb3BlKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpLT5zY3JpcHQoKS0+d29ya2VyR2xvYmFsU2NvcGVXcmFwcGVy
KCk7CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMDsKQEAgLTEzNyw3
ICsxMzcsNyBAQCBKU0RPTUdsb2JhbE9iamVjdCogdG9KU0RPTUdsb2JhbE9iamVjdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25DbwogICAgICAgICByZXR1cm4gdG9KU0RP
TUdsb2JhbE9iamVjdCh0b0RvY3VtZW50KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLCB3b3JsZCk7
CiAKICAgICBpZiAoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgp
KQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KS0+c2NyaXB0KCktPndvcmtlckdsb2JhbFNjb3BlV3JhcHBlcigpOwor
ICAgICAgICByZXR1cm4gdG9Xb3JrZXJHbG9iYWxTY29wZShzY3JpcHRFeGVjdXRpb25Db250ZXh0
KS0+c2NyaXB0KCktPndvcmtlckdsb2JhbFNjb3BlV3JhcHBlcigpOwogCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudExpc3RlbmVyLmNwcAppbmRleCA2ZjY2NjI3Li45YTRiZjAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAKQEAgLTE0MCw3ICsx
NDAsNyBAQCB2b2lkIEpTRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgICAgICBpZiAoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKSB7CiAgICAgICAgICAgICBib29sIHRl
cm1pbmF0b3JDYXVzZWRFeGNlcHRpb24gPSAoZXhlYy0+aGFkRXhjZXB0aW9uKCkgJiYgaXNUZXJt
aW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGV4ZWMtPmV4Y2VwdGlvbigpKSk7CiAgICAgICAgICAg
ICBpZiAodGVybWluYXRvckNhdXNlZEV4Y2VwdGlvbiB8fCB2bS53YXRjaGRvZy5kaWRGaXJlKCkp
Ci0gICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KS0+c2NyaXB0KCktPmZvcmJpZEV4ZWN1dGlvbigpOworICAgICAgICAg
ICAgICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCktPnNjcmlw
dCgpLT5mb3JiaWRFeGVjdXRpb24oKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NoZWR1bGVkQWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxl
ZEFjdGlvbi5jcHAKaW5kZXggN2FlYzEwMS4uZWIwZTMxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCkBAIC03NiwxMCArNzYsOCBAQCB2b2lk
IFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogewogICAgIGlmIChjb250ZXh0LT5pc0RvY3VtZW50KCkpCiAgICAgICAgIGV4ZWN1dGUodG9E
b2N1bWVudChjb250ZXh0KSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKGNvbnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSk7Ci0gICAgICAg
IGV4ZWN1dGUoc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihjb250ZXh0KSk7Ci0gICAg
fQorICAgIGVsc2UKKyAgICAgICAgZXhlY3V0ZSh0b1dvcmtlckdsb2JhbFNjb3BlKGNvbnRleHQp
KTsKIH0KIAogdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGVGdW5jdGlvbkluQ29udGV4dChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHRoaXNWYWx1ZSwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmZhMzg2Ny4u
OTJmNmU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE3MDUsMjkgKzE3MDUsNyBAQCBpbmxp
bmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogTm9kZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGNvbnN0CiAKIEVsZW1lbnQqIGV2ZW50VGFyZ2V0RWxlbWVudEZvckRvY3VtZW50KERvY3VtZW50
Kik7CiAKLWlubGluZSBEb2N1bWVudCYgdG9Eb2N1bWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaXNEb2N1bWVudCgpKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8RG9jdW1lbnQmPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLX0KLQot
aW5saW5lIGNvbnN0IERvY3VtZW50JiB0b0RvY3VtZW50KGNvbnN0IFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5pc0RvY3VtZW50KCkpOwotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCY+KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOwotfQotCi1pbmxpbmUgRG9jdW1lbnQqIHRvRG9jdW1lbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighc2NyaXB0RXhlY3V0aW9uQ29udGV4dCB8fCBzY3JpcHRFeGVjdXRpb25D
b250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxEb2N1bWVudCo+
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotfQotCi1pbmxpbmUgY29uc3QgRG9jdW1lbnQqIHRv
RG9jdW1lbnQoY29uc3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCB8fCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkpOwot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpOwotfQorU0NSSVBUX0VYRUNVVElPTl9DT05URVhUX1RZUEVfQ0FTVFMoRG9jdW1lbnQp
CiAKIGlubGluZSBib29sIGlzRG9jdW1lbnQoY29uc3QgTm9kZSYgbm9kZSkgeyByZXR1cm4gbm9k
ZS5pc0RvY3VtZW50Tm9kZSgpOyB9CiB2b2lkIGlzRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsg
Ly8gQ2F0Y2ggdW5uZWNlc3NhcnkgcnVudGltZSBjaGVjayBvZiB0eXBlIGtub3duIGF0IGNvbXBp
bGUgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmluZGV4IDhlNWIyOWQuLjEyNWU0
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcApAQCAtMTU3LDcgKzE1Nyw3IEBAIHZv
aWQgTWVzc2FnZVBvcnQ6OmRpc3BhdGNoTWVzc2FnZXMoKQogICAgIHdoaWxlIChtX2VudGFuZ2xl
ZENoYW5uZWwgJiYgbV9lbnRhbmdsZWRDaGFubmVsLT50cnlHZXRNZXNzYWdlRnJvbVJlbW90ZSht
ZXNzYWdlLCBjaGFubmVscykpIHsKIAogICAgICAgICAvLyBjbG9zZSgpIGluIFdvcmtlciBvbm1l
c3NhZ2UgaGFuZGxlciBzaG91bGQgcHJldmVudCBuZXh0IG1lc3NhZ2UgZnJvbSBkaXNwYXRjaGlu
Zy4KLSAgICAgICAgaWYgKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNXb3JrZXJHbG9iYWxT
Y29wZSgpICYmIHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlKj4obV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KS0+aXNDbG9zaW5nKCkpCisgICAgICAgIGlmIChtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiB0b1dvcmtlckdsb2JhbFNjb3BlKG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCktPmlzQ2xvc2luZygpKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cyA9IE1lc3Nh
Z2VQb3J0OjplbnRhbmdsZVBvcnRzKCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0ZDo6bW92
ZShjaGFubmVscykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCmluZGV4IGMzMDVkNDguLjJkNzRhMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTE0Niw3ICsxNDYsNyBAQCB2b2lkIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZWRNZXNzYWdlUG9ydChNZXNzYWdlUG9ydCogcG9ydCkK
IHsKICAgICBBU1NFUlQocG9ydCk7CiAgICAgQVNTRVJUKChpc0RvY3VtZW50KCkgJiYgaXNNYWlu
VGhyZWFkKCkpCi0gICAgICAgIHx8IChpc1dvcmtlckdsb2JhbFNjb3BlKCkgJiYgY3VycmVudFRo
cmVhZCgpID09IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlKj4odGhpcyktPnRocmVhZCgp
LnRocmVhZElEKCkpKTsKKyAgICAgICAgfHwgKGlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJy
ZW50VGhyZWFkKCkgPT0gdG9Xb3JrZXJHbG9iYWxTY29wZSh0aGlzKS0+dGhyZWFkKCkudGhyZWFk
SUQoKSkpOwogCiAgICAgbV9tZXNzYWdlUG9ydHMuYWRkKHBvcnQpOwogfQpAQCAtMTU1LDcgKzE1
NSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGVzdHJveWVkTWVzc2FnZVBvcnQo
TWVzc2FnZVBvcnQqIHBvcnQpCiB7CiAgICAgQVNTRVJUKHBvcnQpOwogICAgIEFTU0VSVCgoaXNE
b2N1bWVudCgpICYmIGlzTWFpblRocmVhZCgpKQotICAgICAgICB8fCAoaXNXb3JrZXJHbG9iYWxT
Y29wZSgpICYmIGN1cnJlbnRUaHJlYWQoKSA9PSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29w
ZSo+KHRoaXMpLT50aHJlYWQoKS50aHJlYWRJRCgpKSk7CisgICAgICAgIHx8IChpc1dvcmtlckds
b2JhbFNjb3BlKCkgJiYgY3VycmVudFRocmVhZCgpID09IHRvV29ya2VyR2xvYmFsU2NvcGUodGhp
cyktPnRocmVhZCgpLnRocmVhZElEKCkpKTsKIAogICAgIG1fbWVzc2FnZVBvcnRzLnJlbW92ZShw
b3J0KTsKIH0KQEAgLTQxMSw3ICs0MTEsNyBAQCBKU0M6OlZNKiBTY3JpcHRFeGVjdXRpb25Db250
ZXh0Ojp2bSgpCiAgICAgICAgIHJldHVybiBKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKTsKIAogICAg
IGlmIChpc1dvcmtlckdsb2JhbFNjb3BlKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxX
b3JrZXJHbG9iYWxTY29wZSo+KHRoaXMpLT5zY3JpcHQoKS0+dm0oKTsKKyAgICAgICAgcmV0dXJu
IHRvV29ya2VyR2xvYmFsU2NvcGUodGhpcyktPnNjcmlwdCgpLT52bSgpOwogCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA4YmQ5ZWNlLi5iMDQwNjE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTIyMyw2ICsyMjMsOSBAQCBw
cml2YXRlOgogI2VuZGlmCiB9OwogCisjZGVmaW5lIFNDUklQVF9FWEVDVVRJT05fQ09OVEVYVF9U
WVBFX0NBU1RTKFRvVmFsdWVUeXBlTmFtZSkgXAorICAgIFRZUEVfQ0FTVFNfQkFTRShUb1ZhbHVl
VHlwZU5hbWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnRleHQsIGNvbnRleHQtPmlzIyNU
b1ZhbHVlVHlwZU5hbWUoKSwgY29udGV4dC5pcyMjVG9WYWx1ZVR5cGVOYW1lKCkpCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcAppbmRleCBmMTU4OTIzLi4zMDUxMmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMTE3Nyw3ICsx
MTc3LDcgQEAgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpp
bnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyR2xvYmEKIEluc3RydW1lbnRpbmdBZ2VudHMqIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0Zvck5vbkRvY3VtZW50
Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewogICAgIGlmIChjb250
ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpCi0gICAgICAgIHJldHVybiBpbnN0cnVtZW50YXRp
b25Gb3JXb3JrZXJHbG9iYWxTY29wZShzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KGNv
bnRleHQpKTsKKyAgICAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbkZvcldvcmtlckdsb2JhbFNj
b3BlKHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCkpOwogICAgIHJldHVybiBudWxscHRyOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNTVl
ZmVmYS4uNDFhN2MxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmNwcApAQCAtNTcsNyArNTcsNyBAQCBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgIEFTU0VS
VChjb250ZXh0KTsKIAogICAgIGlmIChjb250ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpCi0g
ICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8
V29ya2VyR2xvYmFsU2NvcGUqPihjb250ZXh0KSwgY2xpZW50LCBXb3JrZXJSdW5Mb29wOjpkZWZh
dWx0TW9kZSgpLCByZXF1ZXN0LCBvcHRpb25zKTsKKyAgICAgICAgcmV0dXJuIFdvcmtlclRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZSh0b1dvcmtlckdsb2JhbFNjb3BlKGNvbnRleHQpLCBjbGllbnQs
IFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIHJlcXVlc3QsIG9wdGlvbnMpOwogCiAgICAg
cmV0dXJuIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHRvRG9jdW1lbnQoKmNvbnRl
eHQpLCAqY2xpZW50LCByZXF1ZXN0LCBvcHRpb25zKTsKIH0KQEAgLTY3LDcgKzY3LDcgQEAgdm9p
ZCBUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQKICAgICBBU1NFUlQoY29udGV4dCk7CiAKICAgICBpZiAoY29u
dGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKSB7Ci0gICAgICAgIFdvcmtlclRocmVhZGFibGVM
b2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFs
U2NvcGUqPihjb250ZXh0KSwgcmVxdWVzdCwgY2xpZW50LCBvcHRpb25zKTsKKyAgICAgICAgV29y
a2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSh0b1dvcmtlckds
b2JhbFNjb3BlKGNvbnRleHQpLCByZXF1ZXN0LCBjbGllbnQsIG9wdGlvbnMpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcAppbmRleCAxYjQ1YTI1Li5jYzZhMjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTgxNiw4ICs4MTYsNyBAQCB2b2lkIE1lbW9yeUNhY2hl
OjpyZW1vdmVVcmxGcm9tQ2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29u
c3QgU3RyaQogdm9pZCBNZW1vcnlDYWNoZTo6cmVtb3ZlUmVxdWVzdEZyb21DYWNoZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
CiB7CiAgICAgaWYgKGNvbnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSkgewotICAgICAgICBX
b3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSBzdGF0aWNfY2FzdDxXb3JrZXJH
bG9iYWxTY29wZSo+KGNvbnRleHQpOwotICAgICAgICB3b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFk
KCkud29ya2VyTG9hZGVyUHJveHkoKS5wb3N0VGFza1RvTG9hZGVyKGNyZWF0ZUNhbGxiYWNrVGFz
aygmY3Jvc3NUaHJlYWRSZW1vdmVSZXF1ZXN0RnJvbUNhY2hlLCByZXF1ZXN0KSk7CisgICAgICAg
IHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPnRocmVhZCgpLndvcmtlckxvYWRlclByb3h5
KCkucG9zdFRhc2tUb0xvYWRlcihjcmVhdGVDYWxsYmFja1Rhc2soJmNyb3NzVGhyZWFkUmVtb3Zl
UmVxdWVzdEZyb21DYWNoZSwgcmVxdWVzdCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwCmluZGV4IGE2NzVmMTMuLmM1OWQ1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBA
IC0yNzAsNyArMjcwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPE1lc3NhZ2VQb3J0PiBw
b3J0ID0gTWVzc2FnZVBvcnQ6OmNyZWF0ZSgqc2NyaXB0Q29udGV4dCk7CiAgICAgICAgIHBvcnQt
PmVudGFuZ2xlKHN0ZDo6bW92ZShtX2NoYW5uZWwpKTsKICAgICAgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oc2NyaXB0Q29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKTsK
LSAgICAgICAgV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nh
c3Q8V29ya2VyR2xvYmFsU2NvcGUqPihzY3JpcHRDb250ZXh0KTsKKyAgICAgICAgV29ya2VyR2xv
YmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlID0gdG9Xb3JrZXJHbG9iYWxTY29wZShzY3JpcHRD
b250ZXh0KTsKICAgICAgICAgLy8gU2luY2UgY2xvc2UoKSBzdG9wcyB0aGUgdGhyZWFkIGV2ZW50
IGxvb3AsIHRoaXMgc2hvdWxkIG5vdCBldmVyIGdldCBjYWxsZWQgd2hpbGUgY2xvc2luZy4KICAg
ICAgICAgQVNTRVJUKCF3b3JrZXJHbG9iYWxTY29wZS0+aXNDbG9zaW5nKCkpOwogICAgICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTih3b3JrZXJHbG9iYWxTY29wZS0+aXNTaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAKaW5kZXggOWEzZjk2NS4uNzQ1MWM5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTczLDEwICs3Myw4IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0
ICpjb250ZXh0KQogICAgIHsKLSAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oY29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKTsKLSAgICAgICAgV29ya2VyR2xvYmFs
U2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUq
Pihjb250ZXh0KTsKICAgICAgICAgLy8gTm90aWZ5IHBhcmVudCB0aGF0IHRoaXMgY29udGV4dCBp
cyBjbG9zZWQuIFBhcmVudCBpcyByZXNwb25zaWJsZSBmb3IgY2FsbGluZyBXb3JrZXJUaHJlYWQ6
OnN0b3AoKS4KLSAgICAgICAgd29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLndvcmtlclJlcG9y
dGluZ1Byb3h5KCkud29ya2VyR2xvYmFsU2NvcGVDbG9zZWQoKTsKKyAgICAgICAgdG9Xb3JrZXJH
bG9iYWxTY29wZShjb250ZXh0KS0+dGhyZWFkKCkud29ya2VyUmVwb3J0aW5nUHJveHkoKS53b3Jr
ZXJHbG9iYWxTY29wZUNsb3NlZCgpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0NsZWFu
dXBUYXNrKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDljNGVkNGEuLjM5MjhlYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTE4Miw2ICsxODIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV90b3BPcmln
aW47CiAgICAgfTsKIAorU0NSSVBUX0VYRUNVVElPTl9DT05URVhUX1RZUEVfQ0FTVFMoV29ya2Vy
R2xvYmFsU2NvcGUpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFdvcmtl
ckdsb2JhbFNjb3BlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5jcHAKaW5kZXggYzk0YTZkOC4uNWI4ZTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTI1OSw4ICsyNTksNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250
ZXh0ICpjb250ZXh0KQogICAgIHsKICAgICAgICAgQXRvbWljU3RyaW5nIGV2ZW50TmFtZSA9IG1f
aXNPbkxpbmUgPyBldmVudE5hbWVzKCkub25saW5lRXZlbnQgOiBldmVudE5hbWVzKCkub2ZmbGlu
ZUV2ZW50OwotICAgICAgICBXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSBz
dGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KGNvbnRleHQpOwotICAgICAgICB3b3JrZXJH
bG9iYWxTY29wZS0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2Us
IGZhbHNlKSk7CisgICAgICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPmRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogICAgIH0KIAog
ICAgIGJvb2wgbV9pc09uTGluZTsKQEAgLTI4NSwxNCArMjg0LDE0IEBAIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5OjpXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqIHdvcmtlck9iamVjdCkKIHsKICAg
ICBBU1NFUlQobV93b3JrZXJPYmplY3QpOwogICAgIEFTU0VSVCgobV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0LT5pc0RvY3VtZW50KCkgJiYgaXNNYWluVGhyZWFkKCkpCi0gICAgICAgICAgIHx8ICht
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJyZW50
VGhyZWFkKCkgPT0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuZ2V0KCkpLT50aHJlYWQoKS50aHJlYWRJRCgpKSk7CisgICAgICAgICAgIHx8
IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJy
ZW50VGhyZWFkKCkgPT0gdG9Xb3JrZXJHbG9iYWxTY29wZSgqbV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0KS50aHJlYWQoKS50aHJlYWRJRCgpKSk7CiB9CiAKIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+
V29ya2VyTWVzc2FnaW5nUHJveHkoKQogewogICAgIEFTU0VSVCghbV93b3JrZXJPYmplY3QpOwog
ICAgIEFTU0VSVCgobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgJiYgaXNN
YWluVGhyZWFkKCkpCi0gICAgICAgICAgIHx8IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlz
V29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gc3RhdGljX2Nhc3Q8V29y
a2VyR2xvYmFsU2NvcGUqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZ2V0KCkpLT50aHJlYWQo
KS50aHJlYWRJRCgpKSk7CisgICAgICAgICAgIHx8IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gdG9Xb3JrZXJHbG9i
YWxTY29wZSgqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWRJRCgpKSk7
CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUpCkBAIC00MDgs
OCArNDA3LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVzdHJv
eWVkSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCoKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogc3RhdGljIHZvaWQgY29ubmVjdFRvV29ya2VyR2xvYmFsU2NvcGVJbnNwZWN0b3JUYXNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGJvb2wpCiB7Ci0gICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oY29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKTsKLSAg
ICBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KGNvbnRleHQpLT53b3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyKCkuY29ubmVjdEZyb250ZW5kKCk7CisgICAgdG9Xb3JrZXJHbG9iYWxTY29w
ZShjb250ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmNvbm5lY3RGcm9udGVuZCgp
OwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IoV29y
a2VyR2xvYmFsU2NvcGVQcm94eTo6UGFnZUluc3BlY3RvciogcGFnZUluc3BlY3RvcikKQEAgLTQy
Myw4ICs0MjEsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0
b3IoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6UGFnZUluc3BlYwogCiBzdGF0aWMgdm9pZCBkaXNj
b25uZWN0RnJvbVdvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBib29sKQogewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKGNvbnRleHQtPmlzV29ya2VyR2xvYmFsU2NvcGUoKSk7Ci0gICAgc3RhdGljX2Nhc3Q8
V29ya2VyR2xvYmFsU2NvcGUqPihjb250ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigp
LmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb246
Okluc3BlY3RvckRlc3Ryb3llZCk7CisgICAgdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+
d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6
Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb246Okluc3BlY3RvckRlc3Ryb3llZCk7CiB9CiAKIHZv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmRpc2Nvbm5lY3RGcm9tSW5zcGVjdG9yKCkKQEAgLTQz
Nyw4ICs0MzQsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpkaXNjb25uZWN0RnJvbUlu
c3BlY3RvcigpCiAKIHN0YXRpYyB2b2lkIGRpc3BhdGNoT25JbnNwZWN0b3JCYWNrZW5kVGFzayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7
Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oY29udGV4dC0+aXNXb3JrZXJH
bG9iYWxTY29wZSgpKTsKLSAgICBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KGNvbnRl
eHQpLT53b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyKCkuZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250
ZW5kKG1lc3NhZ2UpOworICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPndvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIoKS5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobWVzc2FnZSk7
CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnNlbmRNZXNzYWdlVG9JbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5jcHAKaW5kZXggNjdmYWZlYi4uNDllMDYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuY3BwCkBAIC0yMTQsOCArMjE0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFdvcmtl
clJ1bkxvb3A6OlRhc2s+IFdvcmtlclJ1bkxvb3A6OlRhc2s6OmNyZWF0ZShQYXNzT3duUHRyPFNj
cmkKIAogdm9pZCBXb3JrZXJSdW5Mb29wOjpUYXNrOjpwZXJmb3JtVGFzayhjb25zdCBXb3JrZXJS
dW5Mb29wJiBydW5Mb29wLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotICAg
IFdvcmtlckdsb2JhbFNjb3BlKiB3b3JrZXJHbG9iYWxTY29wZSA9IHN0YXRpY19jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlKj4oY29udGV4dCk7Ci0gICAgaWYgKCghd29ya2VyR2xvYmFsU2NvcGUtPmlz
Q2xvc2luZygpICYmICFydW5Mb29wLnRlcm1pbmF0ZWQoKSkgfHwgbV90YXNrLT5pc0NsZWFudXBU
YXNrKCkpCisgICAgaWYgKCghdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+aXNDbG9zaW5n
KCkgJiYgIXJ1bkxvb3AudGVybWluYXRlZCgpKSB8fCBtX3Rhc2stPmlzQ2xlYW51cFRhc2soKSkK
ICAgICAgICAgbV90YXNrLT5wZXJmb3JtVGFzayhjb250ZXh0KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IGFlYzNlODQuLjg4NDA4
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
QEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGkKICAgICBvcHRpb25zLmNy
b3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeTsKICAgICBv
cHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxiYWNrczsKIAotICAgIFdvcmtlclRo
cmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8V29y
a2VyR2xvYmFsU2NvcGUqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSwgKnJlcXVlc3QsICp0aGlz
LCBvcHRpb25zKTsKKyAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KHRvV29ya2VyR2xvYmFsU2NvcGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCksICpy
ZXF1ZXN0LCAqdGhpcywgb3B0aW9ucyk7CiB9CiAgICAgCiB2b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLCBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgY3Jv
c3NPcmlnaW5SZXF1ZXN0UG9saWN5LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQqIGNsaWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBmY2E2MDZlLi5jZTgx
MzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yMTQsMTAg
KzIxNCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRF
eGVjdXRpb25Db250ZXh0ICpjb250ZXh0KQogICAgIHsKLSAgICAgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oY29udGV4dC0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKTsKLSAgICAg
ICAgV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29y
a2VyR2xvYmFsU2NvcGUqPihjb250ZXh0KTsKICAgICAgICAgLy8gSXQncyBub3Qgc2FmZSB0byBj
YWxsIGNsZWFyU2NyaXB0IHVudGlsIGFsbCB0aGUgY2xlYW51cCB0YXNrcyBwb3N0ZWQgYnkgZnVu
Y3Rpb25zIGluaXRpYXRlZCBieSBXb3JrZXJUaHJlYWRTaHV0ZG93blN0YXJ0VGFzayBoYXZlIGNv
bXBsZXRlZC4KLSAgICAgICAgd29ya2VyR2xvYmFsU2NvcGUtPmNsZWFyU2NyaXB0KCk7CisgICAg
ICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPmNsZWFyU2NyaXB0KCk7CiAgICAgfQog
CiAgICAgdmlydHVhbCBib29sIGlzQ2xlYW51cFRhc2soKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkBAIC0yMzIsOCArMjMwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1U
YXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgKmNvbnRleHQpCiAgICAgewotICAgICAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihjb250ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3Bl
KCkpOwotICAgICAgICBXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSBzdGF0
aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZSo+KGNvbnRleHQpOworICAgICAgICBXb3JrZXJHbG9i
YWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSB0b1dvcmtlckdsb2JhbFNjb3BlKGNvbnRleHQp
OwogCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3
ZSBzdG9wIHRoZSBkYXRhYmFzZXMgYXMgcGFydCBvZiBzdG9wQWN0aXZlRE9NT2JqZWN0cygpIGJl
bG93Pwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>