<?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>19861</bug_id>
          
          <creation_ts>2008-07-02 16:18:11 -0700</creation_ts>
          <short_desc>CSSTransformList should be WebKitCSSTransformList</short_desc>
          <delta_ts>2008-08-04 11:18:15 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19028</blocked>
    
    <blocked>19863</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>85014</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-07-02 16:18:11 -0700</bug_when>
    <thetext>The CSSTransformList class should be named WebKitCSSTransformList (the same as the DOM interface to come in a subsequent patch). It should also inherit from CSSValueList rather than CSSValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85015</commentid>
    <comment_count>1</comment_count>
      <attachid>22053</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-07-02 16:19:25 -0700</bug_when>
    <thetext>Created attachment 22053
Patch to rename CSSTransformValue and change inheritance

This should also change the build for all platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85016</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-07-02 16:50:36 -0700</bug_when>
    <thetext>oops - line 36 of WebKitCSSTransformValue.cpp should be
CSSValueList(false)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85029</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-07-02 18:58:04 -0700</bug_when>
    <thetext>forget the oops - the patch is correct. The transform list should be space separated, not comma.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85467</commentid>
    <comment_count>4</comment_count>
      <attachid>22053</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-07-08 11:14:08 -0700</bug_when>
    <thetext>Comment on attachment 22053
Patch to rename CSSTransformValue and change inheritance

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85584</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-07-09 17:28:16 -0700</bug_when>
    <thetext>Done in 35081
http://trac.webkit.org/changeset/35081</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22053</attachid>
            <date>2008-07-02 16:19:25 -0700</date>
            <delta_ts>2008-07-08 11:14:08 -0700</delta_ts>
            <desc>Patch to rename CSSTransformValue and change inheritance</desc>
            <filename>patch1-transform.patch</filename>
            <type>text/plain</type>
            <size>40530</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IDkzZTUzZGEuLjQ3Y2JkY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNjA2LDcgKzYwNiw2IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgXAog
CVdlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKIAlXZWJDb3JlL2Nzcy9DU1NUaW1pbmdG
dW5jdGlvblZhbHVlLmNwcCBcCi0JV2ViQ29yZS9jc3MvQ1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
IAlXZWJDb3JlL2Nzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NT
U1ZhbHVlTGlzdC5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlRGVwZW5kZW50VmFsdWUu
Y3BwIFwKQEAgLTYyNCw2ICs2MjMsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
Y3NzL1N0eWxlTGlzdC5jcHAgXAogCVdlYkNvcmUvY3NzL1N0eWxlU2hlZXQuY3BwIFwKIAlXZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5jcHAgXAorCVdlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5z
Zm9ybVZhbHVlLmNwcCBcCiAJV2ViQ29yZS9kb20vQXR0ci5jcHAgXAogCVdlYkNvcmUvZG9tL0F0
dHJpYnV0ZS5jcHAgXAogCVdlYkNvcmUvZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9XZWJDb3JlL1dlYkNvcmUub3Jk
ZXIKaW5kZXggZGYwNjFjMi4uZDUyYjQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLm9y
ZGVyCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMTEzNDMsOCArMTEzNDMsNyBAQCBf
X1pON1dlYkNvcmUxNFJlbmRlclRoZW1lTWFjMjFwYWludE1lZGlhU2xpZGVyVGh1bWJFUE5TXzEy
UmVuZGVyT2JqZWN0RVJLTlMxXzlQYQogX19aTjdXZWJDb3JlMTRSZW5kZXJUaGVtZU1hYzI0cGFp
bnRNZWRpYVNlZWtCYWNrQnV0dG9uRVBOU18xMlJlbmRlck9iamVjdEVSS05TMV85UGFpbnRJbmZv
RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmUxNFJlbmRlclRoZW1lTWFjMjdwYWludE1lZGlh
U2Vla0ZvcndhcmRCdXR0b25FUE5TXzEyUmVuZGVyT2JqZWN0RVJLTlMxXzlQYWludEluZm9FUktO
U183SW50UmVjdEUKIF9fWk43V2ViQ29yZTlDU1NQYXJzZXIxNHBhcnNlVHJhbnNmb3JtRXYKLV9f
Wk43V2ViQ29yZTE3Q1NTVHJhbnNmb3JtVmFsdWVDMUVOUzBfMjJUcmFuc2Zvcm1PcGVyYXRpb25U
eXBlRQotX19aTjdXZWJDb3JlMTdDU1NUcmFuc2Zvcm1WYWx1ZThhZGRWYWx1ZUVQTlNfOENTU1Zh
bHVlRQorX19aTjdXZWJDb3JlMjNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZUMxRU5TMF8yMlRyYW5z
Zm9ybU9wZXJhdGlvblR5cGVFCiBfX1pOM1dURjZWZWN0b3JJTlNfNlJlZlB0cklON1dlYkNvcmUx
OFRyYW5zZm9ybU9wZXJhdGlvbkVFRUxtMEVFMTRleHBhbmRDYXBhY2l0eUVtUEtTNF8KIF9fWk4z
V1RGNlZlY3RvcklOU182UmVmUHRySU43V2ViQ29yZTE4VHJhbnNmb3JtT3BlcmF0aW9uRUVFTG0w
RUUxNGV4cGFuZENhcGFjaXR5RW0KIF9fWk4zV1RGNlZlY3RvcklOU182UmVmUHRySU43V2ViQ29y
ZTE4VHJhbnNmb3JtT3BlcmF0aW9uRUVFTG0wRUUxNXJlc2VydmVDYXBhY2l0eUVtCkBAIC0xMTQ1
NCw3ICsxMTQ1Myw3IEBAIF9fWk43V2ViQ29yZTVUaW1lcklOU18xMVJlbmRlck1lZGlhRUU1Zmly
ZWRFdgogX19aTjdXZWJDb3JlMTFSZW5kZXJNZWRpYTI2b3BhY2l0eUFuaW1hdGlvblRpbWVyRmly
ZWRFUE5TXzVUaW1lcklTMF9FRQogX19aTjdXZWJDb3JlMTFSZW5kZXJNZWRpYTEzY2hhbmdlT3Bh
Y2l0eUVQTlNfMTFIVE1MRWxlbWVudEVmCiBfX1pON1dlYkNvcmUxMVJlbmRlck1lZGlhMjB0aW1l
VXBkYXRlVGltZXJGaXJlZEVQTlNfNVRpbWVySVMwX0VFCi1fX1pON1dlYkNvcmUxN0NTU1RyYW5z
Zm9ybVZhbHVlRDFFdgorX19aTjdXZWJDb3JlMjNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZUQxRXYK
IF9fWk43V2ViQ29yZTE0UmVuZGVyUmVwbGFjZWQxM3BhaW50UmVwbGFjZWRFUk5TXzEyUmVuZGVy
T2JqZWN0OVBhaW50SW5mb0VpaQogX19aTjdXZWJDb3JlMjhKU0hUTUxTb3VyY2VFbGVtZW50UHJv
dG90eXBlRDBFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTIyc2NoZWR1bGVCbG9ja2Vk
RmFpbHVyZUV2CkBAIC0xNDA4OCw3ICsxNDA4Nyw3IEBAIF9fWk5LN1dlYkNvcmUxME1lZGlhUXVl
cnllcUVSS1MwXwogX19aTjdXZWJDb3JlMzhtYXhfZGV2aWNlX3BpeGVsX3JhdGlvTWVkaWFGZWF0
dXJlRXZhbEVQTlNfOENTU1ZhbHVlRVBOU18xMVJlbmRlclN0eWxlRVBOU180UGFnZUVOU18xOE1l
ZGlhRmVhdHVyZVByZWZpeEUKIF9fWk43V2ViQ29yZTIwZ3JpZE1lZGlhRmVhdHVyZUV2YWxFUE5T
XzhDU1NWYWx1ZUVQTlNfMTFSZW5kZXJTdHlsZUVQTlNfNFBhZ2VFTlNfMThNZWRpYUZlYXR1cmVQ
cmVmaXhFCiBfX1pOSzdXZWJDb3JlMjdUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb25lcUVSS05T
XzE4VHJhbnNmb3JtT3BlcmF0aW9uRQotX19aTks3V2ViQ29yZTE3Q1NTVHJhbnNmb3JtVmFsdWU3
Y3NzVGV4dEV2CitfX1pOSzdXZWJDb3JlMjNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTdjc3NUZXh0
RXYKIF9fWk5LN1dlYkNvcmUxMlJlbmRlckFwcGxldDEzaW50cmluc2ljU2l6ZUV2CiBfX1pON1dl
YkNvcmUxMlJlbmRlcklubGluZTZsYXlvdXRFdgogX19aTjdXZWJDb3JlMTdIVE1MT3B0aW9uRWxl
bWVudDE2cmVuZGVyZXJJc05lZWRlZEVQTlNfMTFSZW5kZXJTdHlsZUUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDRjNTA3NGQuLjI4
Y2Q2OWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnBybwpAQCAtNDgyLDcgKzQ4Miw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcCBcCiAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKICAgICBjc3MvQ1NT
VGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgXAotICAgIGNzcy9DU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NWYWx1ZUxp
c3QuY3BwIFwKICAgICBjc3MvQ1NTVmFyaWFibGVEZXBlbmRlbnRWYWx1ZS5jcHAgXApAQCAtNTAw
LDYgKzQ5OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9TdHlsZUxpc3QuY3BwIFwKICAgICBj
c3MvU3R5bGVTaGVldC5jcHAgXAogICAgIGNzcy9TdHlsZVNoZWV0TGlzdC5jcHAgXAorICAgIGNz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAg
ZG9tL0F0dHJpYnV0ZS5jcHAgXAogICAgIGRvbS9CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDM4NTczNC4uNzBlMGUx
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC04NTcwLDIyICs4NTcw
LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXENTU1RyYW5zZm9ybVZhbHVlLmNwcCINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2VfUEdPfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRv
b2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCVdob2xlUHJvZ3JhbU9w
dGltaXphdGlvbj0idHJ1ZSINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQot
CQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1RyYW5z
Zm9ybVZhbHVlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxjc3NcQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTg5MjYsNiArODkxMCwyMiBAQAogCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Y3NzXFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfUEdPfFdpbjMyIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCVdob2xlUHJvZ3Jh
bU9wdGltaXphdGlvbj0idHJ1ZSINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcdG9rZW5pemVyLmZsZXgiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjQ1
Zjc3Li4zYTFiZDA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMzc2OCw4ICszNzY4LDggQEAKIAkJQkM5ODU0M0UwQ0QzRDk4QzAwMDY5QkMxIC8qIEpT
Q29uc29sZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM5ODU0M0MwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5oICovOyB9OwogCQlCQzk4QTI3
RDBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOThBMjdDMEMwQzk5NTAwMDRCRUJG
NyAvKiBKU1N0eWxlU2hlZXRDdXN0b20uY3BwICovOyB9OwogCQlCQzk5ODEyRTBEQkU4MDdBMDA4
Q0U5RUYgLyogRE9NQWJzdHJhY3RWaWV3RnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTk4MTJEMERCRTgwN0EwMDhDRTlFRiAvKiBET01BYnN0
cmFjdFZpZXdGcmFtZS5oICovOyB9OwotCQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogQ1NT
VHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDOUFERDIyMENDNDAzMjYwMDA5OEM0QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDOUFERDgw
MENDNDA5MjIwMDA5OEM0QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzlBREQ3RjBDQzQwOTIyMDAwOThDNEMg
LyogQ1NTVHJhbnNmb3JtVmFsdWUuY3BwICovOyB9OworCQlCQzlBREQyMzBDQzQwMzI2MDAwOThD
NEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOUFERDIyMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzlBREQ3RjBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
ICovOyB9OwogCQlCQ0ExNjlBMjBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9u
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0ExNjlBMDBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5j
cHAgKi87IH07CiAJCUJDQTE2OUEzMEJGRDU1QjQwMDE5Q0E3NiAvKiBKU0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0ExNjlBMTBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
ICovOyB9OwogCQlCQ0EzNzgxNjBEMTVDNjQ2MDBCNzkzRDYgLyogUGF1c2VkVGltZW91dHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4MTQw
RDE1QzY0NjAwQjc5M0Q2IC8qIFBhdXNlZFRpbWVvdXRzLmNwcCAqLzsgfTsKQEAgLTgxMzUsOCAr
ODEzNSw4IEBACiAJCUJDOTg1NDNDMENEM0Q5OEIwMDA2OUJDMSAvKiBKU0NvbnNvbGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29uc29sZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCQzk4QTI3QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVT
aGVldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTk4MTJEMERC
RTgwN0EwMDhDRTlFRiAvKiBET01BYnN0cmFjdFZpZXdGcmFtZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01BYnN0cmFjdFZpZXdGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlCQzlBREQyMjBDQzQwMzI2MDAwOThDNEMgLyogQ1NTVHJhbnNmb3JtVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1RyYW5zZm9ybVZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDOUFERDdGMENDNDA5MjIwMDA5OEM0
QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ1NTVHJhbnNmb3JtVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCQzlBREQyMjBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDOUFERDdGMENDNDA5MjIwMDA5
OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQ0ExNjlBMDBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFi
bGVDYXB0aW9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDQTE2OUExMEJGRDU1QjQwMDE5Q0E3NiAvKiBKU0hUTUxUYWJsZUNhcHRpb25FbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQTM3ODE0MEQxNUM2
NDYwMEI3OTNENiAvKiBQYXVzZWRUaW1lb3V0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQYXVzZWRUaW1lb3V0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMjgzNiw4ICsxMjgzNiw4IEBACiAJCQkJODU4QzM5MTAwQUE4RkYwMDAwQjE4N0E0
IC8qIENTU1N0eWxlU2hlZXQuaWRsICovLAogCQkJCUJDODBDOTg1MENEMjk0RUUwMEEwQjdCMyAv
KiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcCAqLywKIAkJCQlCQzgwQzk4NjBDRDI5NEVFMDBB
MEI3QjMgLyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oICovLAotCQkJCUJDOUFERDdGMENDNDA5
MjIwMDA5OEM0QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8sCi0JCQkJQkM5QUREMjIwQ0M0
MDMyNjAwMDk4QzRDIC8qIENTU1RyYW5zZm9ybVZhbHVlLmggKi8sCisJCQkJQkM5QUREN0YwQ0M0
MDkyMjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLywKKwkJCQlCQzlB
REQyMjBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCAqLywKIAkJ
CQkzNzFGNTNFODBEMjcwNEY5MDBFQ0UwRDUgLyogQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwICov
LAogCQkJCTM3MUY1M0U3MEQyNzA0RjkwMEVDRTBENSAvKiBDU1NVbmljb2RlUmFuZ2VWYWx1ZS5o
ICovLAogCQkJCUE4MEU2Q0NFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NVbmtub3duUnVsZS5oICov
LApAQCAtMTMzNDMsNyArMTMzNDMsNyBAQAogCQkJCUJDNzcyQjQwMEM0RUE5MUUwMDgzMjg1RiAv
KiBDU1NTdHlsZVNlbGVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBODAwNzBBMTk1MTZF
MDBBOEVGNUYgLyogQ1NTU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4MEM5ODgw
Q0QyOTRFRTAwQTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICov
LAotCQkJCUJDOUFERDIzMENDNDAzMjYwMDA5OEM0QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkM5QUREMjMwQ0M0MDMyNjAwMDk4QzRDIC8qIFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDdDREYyNTBBMjNDRjk4MDAwNjk5
MjggLyogQ1NTVW5rbm93blJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0VFMEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2NTgxNTEwOUQx
MzA0MzAwMEU2MUQ3IC8qIENTU1ZhbHVlS2V5d29yZHMuaCBpbiBIZWFkZXJzICovLApAQCAtMTU1
NjcsNyArMTU1NjcsNyBAQAogCQkJCUJDNzcyQjNGMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NTdHls
ZVNlbGVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE4MDA4MEExOTUxNkUwMEE4RUY1
RiAvKiBDU1NTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODBDOTg3MENEMjk0
RUUwMEEwQjdCMyAvKiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlCQzlBREQ4MDBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTQwQTE5ODlDQTAwN0ZC
OEM1IC8qIENTU1ZhbHVlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREEyNzBEMDA2
QzFEMDBFRjZGMjYgLyogQ1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5
NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbCBiL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsCmlu
ZGV4IDFjZGQ0ODcuLjMyZGM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMu
YmtsCisrKyBiL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsCkBAIC0xNTksNyArMTU5LDYgQEAg
VGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpbGVzIG5lZWRlZCB0byBidWlsZCBXZWJD
b3JlLgogICAgICAgICBjc3MvQ1NTU3R5bGVSdWxlLmNwcAogICAgICAgICBjc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKICAgICAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwCi0gICAgICAgIGNzcy9D
U1NUcmFuc2Zvcm1WYWx1ZS5jcHAKICAgICAgICAgY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUu
Y3BwCiAgICAgICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAKICAgICAgICAgY3NzL0NT
U1ZhbHVlTGlzdC5jcHAKQEAgLTE3OCw2ICsxNzcsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhl
IGxpc3Qgb2YgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkIFdlYkNvcmUuCiAgICAgICAgIGNzcy9TdHls
ZUxpc3QuY3BwCiAgICAgICAgIGNzcy9TdHlsZVNoZWV0LmNwcAogICAgICAgICBjc3MvU3R5bGVT
aGVldExpc3QuY3BwCisgICAgICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKICAg
ICA8L3NldD4KIAogICAgIDxzZXQgYXBwZW5kPSIxIiB2YXI9IldFQkNPUkVfU09VUkNFU19ERVJJ
VkVEU09VUkNFUyI+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAwNWE4NzlhLi4yMDFmODgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUg
IkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKLSNpbmNsdWRlICJD
U1NUcmFuc2Zvcm1WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgpA
QCAtNjYsNiArNjUsNyBAQAogI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJSZWN0LmgiCiAj
aW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5oIgogI2luY2x1ZGUgPGtqcy9kdG9hLmg+CiAKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBP
UlQpCkBAIC0zODI4LDcgKzM4MjgsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDYW52YXMoUmVm
UHRyPENTU1ZhbHVlPiYgY2FudmFzKQogY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbyB7CiBw
dWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbyhjb25zdCBDU1NQYXJzZXJTdHJpbmcm
IG5hbWUpCi0gICAgOiBtX3R5cGUoQ1NTVHJhbnNmb3JtVmFsdWU6OlVua25vd25UcmFuc2Zvcm1P
cGVyYXRpb24pCisgICAgOiBtX3R5cGUoV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlVua25vd25U
cmFuc2Zvcm1PcGVyYXRpb24pCiAgICAgLCBtX2FyZ0NvdW50KDEpCiAgICAgLCBtX2FsbG93U2lu
Z2xlQXJndW1lbnQoZmFsc2UpCiAgICAgLCBtX3VuaXQoQ1NTUGFyc2VyOjpGVW5rbm93bikKQEAg
LTM4MzYsMzIgKzM4MzYsMzIgQEAgcHVibGljOgogICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZXgoIikg
fHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSkgewogICAgICAgICAgICAgbV91
bml0ID0gQ1NTUGFyc2VyOjpGTnVtYmVyOwogICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsICJzY2FsZSgiKSkKLSAgICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zv
cm1WYWx1ZTo6U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb247CisgICAgICAgICAgICAgICAgbV90eXBl
ID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOwogICAg
ICAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleCgiKSkKLSAg
ICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2NhbGVYVHJhbnNmb3Jt
T3BlcmF0aW9uOworICAgICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlOjpTY2FsZVhUcmFuc2Zvcm1PcGVyYXRpb247CiAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgbV90eXBlID0gQ1NTVHJhbnNmb3JtVmFsdWU6OlNjYWxlWVRyYW5zZm9ybU9wZXJh
dGlvbjsKKyAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6
U2NhbGVZVHJhbnNmb3JtT3BlcmF0aW9uOwogICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKG5hbWUsICJyb3RhdGUoIikpIHsKLSAgICAgICAgICAgIG1fdHlwZSA9IENTU1RyYW5z
Zm9ybVZhbHVlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb247CisgICAgICAgICAgICBtX3R5cGUg
PSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOwogICAg
ICAgICAgICAgbV91bml0ID0gQ1NTUGFyc2VyOjpGQW5nbGU7CiAgICAgICAgIH0gZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNrZXcoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFt
ZSwgInNrZXd4KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJza2V3eSgiKSkgewogICAg
ICAgICAgICAgbV91bml0ID0gQ1NTUGFyc2VyOjpGQW5nbGU7CiAgICAgICAgICAgICBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNrZXcoIikpCi0gICAgICAgICAgICAgICAgbV90eXBlID0g
Q1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb247CisgICAgICAgICAgICAg
ICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRp
b247CiAgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAic2tld3go
IikpCi0gICAgICAgICAgICAgICAgbV90eXBlID0gQ1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdYVHJh
bnNmb3JtT3BlcmF0aW9uOworICAgICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlOjpTa2V3WFRyYW5zZm9ybU9wZXJhdGlvbjsKICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2tld1lUcmFuc2Zvcm1P
cGVyYXRpb247CisgICAgICAgICAgICAgICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWU6OlNrZXdZVHJhbnNmb3JtT3BlcmF0aW9uOwogICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKG5hbWUsICJ0cmFuc2xhdGUoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwg
InRyYW5zbGF0ZXgoIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInRyYW5zbGF0ZXkoIikp
IHsKICAgICAgICAgICAgIG1fdW5pdCA9IENTU1BhcnNlcjo6Rkxlbmd0aCB8IENTU1BhcnNlcjo6
RlBlcmNlbnQ7CiAgICAgICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInRyYW5z
bGF0ZSgiKSkKLSAgICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJh
bnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOworICAgICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb247CiAgICAgICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAidHJhbnNsYXRleCgiKSkKLSAg
ICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJhbnNsYXRlWFRyYW5z
Zm9ybU9wZXJhdGlvbjsKKyAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZTo6VHJhbnNsYXRlWFRyYW5zZm9ybU9wZXJhdGlvbjsKICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBtX3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJhbnNsYXRlWVRy
YW5zZm9ybU9wZXJhdGlvbjsKKyAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZTo6VHJhbnNsYXRlWVRyYW5zZm9ybU9wZXJhdGlvbjsKICAgICAgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAibWF0cml4KCIpKSB7Ci0gICAgICAgICAgICBt
X3R5cGUgPSBDU1NUcmFuc2Zvcm1WYWx1ZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOworICAg
ICAgICAgICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6Ok1hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbjsKICAgICAgICAgICAgIG1fYXJnQ291bnQgPSAxMTsKICAgICAgICAgICAgIG1f
dW5pdCA9IENTU1BhcnNlcjo6Rk51bWJlcjsKICAgICAgICAgfQpAQCAtMzg3MiwxNSArMzg3Miwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgQ1NTVHJhbnNmb3JtVmFs
dWU6OlRyYW5zZm9ybU9wZXJhdGlvblR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQorICAgIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2Zvcm1PcGVyYXRpb25UeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICB1bnNpZ25lZCBhcmdDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fYXJnQ291bnQ7IH0KICAgICBDU1NQYXJzZXI6OlVuaXRzIHVuaXQoKSBj
b25zdCB7IHJldHVybiBtX3VuaXQ7IH0KIAotICAgIGJvb2wgdW5rbm93bigpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBDU1NUcmFuc2Zvcm1WYWx1ZTo6VW5rbm93blRyYW5zZm9ybU9wZXJhdGlv
bjsgfQorICAgIGJvb2wgdW5rbm93bigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZTo6VW5rbm93blRyYW5zZm9ybU9wZXJhdGlvbjsgfQogICAgIGJvb2wg
aGFzQ29ycmVjdEFyZ0NvdW50KHVuc2lnbmVkIGFyZ0NvdW50KSB7IHJldHVybiBtX2FyZ0NvdW50
ID09IGFyZ0NvdW50IHx8IChtX2FsbG93U2luZ2xlQXJndW1lbnQgJiYgYXJnQ291bnQgPT0gMSk7
IH0KIAogcHJpdmF0ZToKLSAgICBDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJhbnNmb3JtT3BlcmF0aW9u
VHlwZSBtX3R5cGU7CisgICAgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zZm9ybU9wZXJh
dGlvblR5cGUgbV90eXBlOwogICAgIHVuc2lnbmVkIG1fYXJnQ291bnQ7CiAgICAgYm9vbCBtX2Fs
bG93U2luZ2xlQXJndW1lbnQ7CiAgICAgQ1NTUGFyc2VyOjpVbml0cyBtX3VuaXQ7CkBAIC0zODky
LDcgKzM4OTIsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVRy
YW5zZm9ybSgpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gVGhlIHRyYW5zZm9ybSBpcyBh
IGxpc3Qgb2YgZnVuY3Rpb25hbCBwcmltaXRpdmVzIHRoYXQgc3BlY2lmeSB0cmFuc2Zvcm0gb3Bl
cmF0aW9ucy4KLSAgICAvLyBXZSBjb2xsZWN0IGEgbGlzdCBvZiBDU1NUcmFuc2Zvcm1WYWx1ZXMs
IHdoZXJlIGVhY2ggdmFsdWUgc3BlY2lmaWVzIGEgc2luZ2xlIG9wZXJhdGlvbi4KKyAgICAvLyBX
ZSBjb2xsZWN0IGEgbGlzdCBvZiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZXMsIHdoZXJlIGVhY2gg
dmFsdWUgc3BlY2lmaWVzIGEgc2luZ2xlIG9wZXJhdGlvbi4KICAgICBSZWZQdHI8Q1NTVmFsdWVM
aXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOwogICAgIGZv
ciAoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsgdmFsdWU7
IHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKSkgewogICAgICAgICBpZiAodmFsdWUtPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uIHx8ICF2YWx1ZS0+ZnVuY3Rpb24pCkBAIC0zOTEx
LDggKzM5MTEsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVRy
YW5zZm9ybSgpCiAgICAgICAgIGlmICghaW5mby5oYXNDb3JyZWN0QXJnQ291bnQoYXJncy0+c2l6
ZSgpKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgIC8vIENyZWF0ZSB0aGUgbmV3
IENTU1RyYW5zZm9ybVZhbHVlIGZvciB0aGlzIG9wZXJhdGlvbiBhbmQgYWRkIGl0IHRvIG91ciBs
aXN0LgotICAgICAgICBSZWZQdHI8Q1NTVHJhbnNmb3JtVmFsdWU+IHRyYW5zZm9ybVZhbHVlID0g
Q1NTVHJhbnNmb3JtVmFsdWU6OmNyZWF0ZShpbmZvLnR5cGUoKSk7CisgICAgICAgIC8vIENyZWF0
ZSB0aGUgbmV3IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIGZvciB0aGlzIG9wZXJhdGlvbiBhbmQg
YWRkIGl0IHRvIG91ciBsaXN0LgorICAgICAgICBSZWZQdHI8V2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWU+IHRyYW5zZm9ybVZhbHVlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmNyZWF0ZShpbmZv
LnR5cGUoKSk7CiAgICAgICAgIGxpc3QtPmFwcGVuZCh0cmFuc2Zvcm1WYWx1ZSk7CiAKICAgICAg
ICAgLy8gU25hZyBvdXIgdmFsdWVzLgpAQCAtMzkyNSw3ICszOTI1LDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oKQogICAgICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBBZGQgdGhlIHZhbHVlIHRv
IHRoZSBjdXJyZW50IHRyYW5zZm9ybSBvcGVyYXRpb24uCi0gICAgICAgICAgICB0cmFuc2Zvcm1W
YWx1ZS0+YWRkVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhLT5mVmFsdWUsIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKSBhLT51bml0KSk7CisgICAgICAgICAgICB0cmFuc2Zv
cm1WYWx1ZS0+YXBwZW5kKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYS0+ZlZhbHVlLCAoQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcykgYS0+dW5pdCkpOwogCiAgICAgICAgICAgICBhID0g
YXJncy0+bmV4dCgpOwogICAgICAgICAgICAgaWYgKCFhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAppbmRleCBlNzkzYWM5Li44MjcxN2M0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAt
NDIsNyArNDIsNiBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCi0jaW5jbHVk
ZSAiQ1NTVHJhbnNmb3JtVmFsdWUuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNs
dWRlICJDU1NWYXJpYWJsZURlcGVuZGVudFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFyaWFibGVz
RGVjbGFyYXRpb24uaCIKQEAgLTcwLDYgKzY5LDcgQEAKICNpbmNsdWRlICJTdHlsZVNoZWV0TGlz
dC5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJVc2VyQWdlbnRTdHlsZVNoZWV0cy5o
IgorI2luY2x1ZGUgIldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgiCiAjaW5jbHVkZSAiWE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00
NTg2LDI0ICs0NTg2LDIzIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShp
bnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgIENTU1ZhbHVlTGlzdCogbGlzdCA9
IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHZhbHVlKTsKICAgICAgICAgICAgIHVuc2lnbmVk
IHNpemUgPSBsaXN0LT5sZW5ndGgoKTsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgICAgICAgICBDU1NUcmFuc2Zvcm1WYWx1ZSogdmFs
ID0gc3RhdGljX2Nhc3Q8Q1NTVHJhbnNmb3JtVmFsdWUqPihsaXN0LT5pdGVtV2l0aG91dEJvdW5k
c0NoZWNrKGkpKTsKLSAgICAgICAgICAgICAgICBDU1NWYWx1ZUxpc3QqIHZhbHVlcyA9IHZhbC0+
dmFsdWVzKCk7CisgICAgICAgICAgICAgICAgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqIHZhbCA9
IHN0YXRpY19jYXN0PFdlYktpdENTU1RyYW5zZm9ybVZhbHVlKj4obGlzdC0+aXRlbVdpdGhvdXRC
b3VuZHNDaGVjayhpKSk7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGZpcnN0VmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+
KHZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKSk7CisgICAgICAgICAgICAgICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIGZpcnN0VmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZSo+KHZhbC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKSk7CiAgICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsLT50eXBlKCkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgY2FzZSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb246Ci0gICAg
ICAgICAgICAgICAgICAgIGNhc2UgQ1NTVHJhbnNmb3JtVmFsdWU6OlNjYWxlWFRyYW5zZm9ybU9w
ZXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2Nh
bGVZVHJhbnNmb3JtT3BlcmF0aW9uOiB7CisgICAgICAgICAgICAgICAgc3dpdGNoICh2YWwtPm9w
ZXJhdGlvblR5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6U2NhbGVYVHJhbnNmb3JtT3BlcmF0aW9uOgor
ICAgICAgICAgICAgICAgICAgICBjYXNlIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpTY2FsZVlU
cmFuc2Zvcm1PcGVyYXRpb246IHsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBzeCA9
IDEuMDsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBzeSA9IDEuMDsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh2YWwtPnR5cGUoKSA9PSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2Nh
bGVZVHJhbnNmb3JtT3BlcmF0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbC0+
b3BlcmF0aW9uVHlwZSgpID09IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpTY2FsZVlUcmFuc2Zv
cm1PcGVyYXRpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3kgPSBmaXJzdFZhbHVl
LT5nZXREb3VibGVWYWx1ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN4ID0gZmlyc3RWYWx1ZS0+Z2V0RG91YmxlVmFsdWUo
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsLT50eXBlKCkgPT0gQ1NTVHJh
bnNmb3JtVmFsdWU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh2YWx1ZXMtPmxlbmd0aCgpID4gMSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHNlY29uZFZhbHVlID0g
c3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRz
Q2hlY2soMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWwtPm9wZXJhdGlv
blR5cGUoKSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6U2NhbGVUcmFuc2Zvcm1PcGVyYXRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbC0+bGVuZ3RoKCkg
PiAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NQcmltaXRpdmVW
YWx1ZSogc2Vjb25kVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbC0+
aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygxKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzeSA9IHNlY29uZFZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzeSA9IHN4OwpAQCAtNDYxMiwyNyArNDYxMSwzMSBAQCB2b2lkIENTU1N0eWxlU2Vs
ZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBvcGVyYXRpb25zLmFwcGVuZChTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6
Y3JlYXRlKHN4LCBzeSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NUcmFuc2Zvcm1WYWx1
ZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOgotICAgICAgICAgICAgICAgICAgICBjYXNl
IENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2xhdGVYVHJhbnNmb3JtT3BlcmF0aW9uOgotICAgICAg
ICAgICAgICAgICAgICBjYXNlIENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2xhdGVZVHJhbnNmb3Jt
T3BlcmF0aW9uOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBib29sIG9rOworICAgICAgICAg
ICAgICAgICAgICBjYXNlIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2xhdGVUcmFuc2Zv
cm1PcGVyYXRpb246CisgICAgICAgICAgICAgICAgICAgIGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWU6OlRyYW5zbGF0ZVhUcmFuc2Zvcm1PcGVyYXRpb246CisgICAgICAgICAgICAgICAgICAg
IGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zbGF0ZVlUcmFuc2Zvcm1PcGVyYXRp
b246IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgb2sgPSB0cnVlOwogICAgICAgICAg
ICAgICAgICAgICAgICAgTGVuZ3RoIHR4ID0gTGVuZ3RoKDAsIEZpeGVkKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIExlbmd0aCB0eSA9IExlbmd0aCgwLCBGaXhlZCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAodmFsLT50eXBlKCkgPT0gQ1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zbGF0
ZVlUcmFuc2Zvcm1PcGVyYXRpb24pCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsLT5v
cGVyYXRpb25UeXBlKCkgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zbGF0ZVlUcmFu
c2Zvcm1PcGVyYXRpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHkgPSBjb252ZXJ0
VG9MZW5ndGgoZmlyc3RWYWx1ZSwgbV9zdHlsZSwgJm9rKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eCA9IGNvbnZlcnRUb0xl
bmd0aChmaXJzdFZhbHVlLCBtX3N0eWxlLCAmb2spOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh2YWwtPnR5cGUoKSA9PSBDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1
ZXMtPmxlbmd0aCgpID4gMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q1NTUHJpbWl0aXZlVmFsdWUqIHNlY29uZFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPih2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh2YWwtPm9wZXJhdGlvblR5cGUoKSA9PSBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh2YWwtPmxlbmd0aCgpID4gMSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHNlY29uZFZhbHVlID0g
c3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWwtPml0ZW1XaXRob3V0Qm91bmRzQ2hl
Y2soMSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHkgPSBjb252ZXJ0
VG9MZW5ndGgoc2Vjb25kVmFsdWUsIG1fc3R5bGUsICZvayk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghb2spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRp
b25zLmFwcGVuZChUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSh0eCwgdHkpKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVHJhbnNmb3JtVmFsdWU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbjogeworICAgICAgICAgICAgICAgICAgICBjYXNlIFdlYktpdENTU1RyYW5zZm9y
bVZhbHVlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246IHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSBhbmdsZSA9IGZpcnN0VmFsdWUtPmdldERvdWJsZVZhbHVlKCk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoZmlyc3RWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUkFEKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xl
ID0gcmFkMmRlZyhhbmdsZSk7CkBAIC00NjQxLDkgKzQ2NDQsOSBAQCB2b2lkIENTU1N0eWxlU2Vs
ZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBvcGVyYXRpb25zLmFwcGVuZChSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246
OmNyZWF0ZShhbmdsZSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NUcmFuc2Zvcm1WYWx1
ZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NU
cmFuc2Zvcm1WYWx1ZTo6U2tld1hUcmFuc2Zvcm1PcGVyYXRpb246Ci0gICAgICAgICAgICAgICAg
ICAgIGNhc2UgQ1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdZVHJhbnNmb3JtT3BlcmF0aW9uOiB7Cisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdUcmFu
c2Zvcm1PcGVyYXRpb246CisgICAgICAgICAgICAgICAgICAgIGNhc2UgV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWU6OlNrZXdYVHJhbnNmb3JtT3BlcmF0aW9uOgorICAgICAgICAgICAgICAgICAgICBj
YXNlIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpTa2V3WVRyYW5zZm9ybU9wZXJhdGlvbjogewog
ICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGFuZ2xlWCA9IDA7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBkb3VibGUgYW5nbGVZID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgIGRv
dWJsZSBhbmdsZSA9IGZpcnN0VmFsdWUtPmdldERvdWJsZVZhbHVlKCk7CkBAIC00NjUxLDM2ICs0
NjU0LDM1IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENT
U1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZSA9IHJhZDJk
ZWcoYW5nbGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3RWYWx1ZS0+
cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfR1JBRCkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhbmdsZSA9IGdyYWQyZGVnKGFuZ2xlKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh2YWwtPnR5cGUoKSA9PSBDU1NUcmFuc2Zvcm1WYWx1ZTo6U2tld1lU
cmFuc2Zvcm1PcGVyYXRpb24pCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsLT5vcGVy
YXRpb25UeXBlKCkgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNrZXdZVHJhbnNmb3JtT3Bl
cmF0aW9uKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlWSA9IGFuZ2xlOwogICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YW5nbGVYID0gYW5nbGU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbC0+dHlw
ZSgpID09IENTU1RyYW5zZm9ybVZhbHVlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZXMtPmxlbmd0aCgpID4gMSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHNl
Y29uZFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZXMtPml0ZW1X
aXRob3V0Qm91bmRzQ2hlY2soMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2
YWwtPm9wZXJhdGlvblR5cGUoKSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6U2tld1RyYW5z
Zm9ybU9wZXJhdGlvbikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFs
LT5sZW5ndGgoKSA+IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENT
U1ByaW1pdGl2ZVZhbHVlKiBzZWNvbmRWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlKj4odmFsLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDEpKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFuZ2xlWSA9IHNlY29uZFZhbHVlLT5nZXREb3VibGVWYWx1ZSgp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZFZhbHVlLT5w
cmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SQUQpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGVZID0gcmFkMmRlZyhhbmdsZSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChzZWNvbmRWYWx1ZS0+
cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfR1JBRCkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZVkgPSBncmFkMmRlZyhhbmdsZSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYW5nbGVZID0gYW5nbGVYOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9ucy5hcHBl
bmQoU2tld1RyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKGFuZ2xlWCwgYW5nbGVZKSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBjYXNlIENTU1RyYW5zZm9ybVZhbHVlOjpNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb246IHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUgYSA9IGZpcnN0VmFsdWUtPmdldERvdWJsZVZhbHVlKCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUgYiA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWVz
LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDEpKS0+Z2V0RG91YmxlVmFsdWUoKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSBjID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
Pih2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMikpLT5nZXREb3VibGVWYWx1ZSgpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGQgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZSo+KHZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygzKSktPmdldERvdWJsZVZh
bHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgZSA9IHN0YXRpY19jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlKj4odmFsdWVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDQpKS0+Z2V0
RG91YmxlVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBmID0gc3RhdGlj
X2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2so
NSkpLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGIg
PSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbC0+aXRlbVdpdGhvdXRCb3VuZHND
aGVjaygxKSktPmdldERvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkb3Vi
bGUgYyA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsLT5pdGVtV2l0aG91dEJv
dW5kc0NoZWNrKDIpKS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGRvdWJsZSBkID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWwtPml0ZW1XaXRo
b3V0Qm91bmRzQ2hlY2soMykpLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgZG91YmxlIGUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbC0+aXRl
bVdpdGhvdXRCb3VuZHNDaGVjayg0KSktPmdldERvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBkb3VibGUgZiA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFs
LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDUpKS0+Z2V0RG91YmxlVmFsdWUoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIG9wZXJhdGlvbnMuYXBwZW5kKE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlv
bjo6Y3JlYXRlKGEsIGIsIGMsIGQsIGUsIGYpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgICAgICB9ICAgCi0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
Q1NTVHJhbnNmb3JtVmFsdWU6OlVua25vd25UcmFuc2Zvcm1PcGVyYXRpb246CisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlVua25vd25UcmFuc2Zvcm1P
cGVyYXRpb246CiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU1RyYW5zZm9ybVZhbHVlLmNwcCBiL1dlYkNvcmUvY3NzL0NT
U1RyYW5zZm9ybVZhbHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ0Njcw
OS4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkNTU1RyYW5zZm9ybVZhbHVlLmgiCi0KLSNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQ1NTVHJhbnNmb3JtVmFsdWU6OkNT
U1RyYW5zZm9ybVZhbHVlKFRyYW5zZm9ybU9wZXJhdGlvblR5cGUgb3ApCi0gICAgOiBtX3R5cGUo
b3ApCi17Ci19Ci0KLUNTU1RyYW5zZm9ybVZhbHVlOjp+Q1NTVHJhbnNmb3JtVmFsdWUoKQotewot
fQotCi12b2lkIENTU1RyYW5zZm9ybVZhbHVlOjphZGRWYWx1ZShQYXNzUmVmUHRyPENTU1ZhbHVl
PiB2YWwpCi17Ci0gICAgaWYgKCFtX3ZhbHVlcykKLSAgICAgICAgbV92YWx1ZXMgPSBDU1NWYWx1
ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7Ci0gICAgbV92YWx1ZXMtPmFwcGVuZCh2YWwp
OwotfQotCi1TdHJpbmcgQ1NTVHJhbnNmb3JtVmFsdWU6OmNzc1RleHQoKSBjb25zdAotewotICAg
IFN0cmluZyByZXN1bHQ7Ci0gICAgc3dpdGNoIChtX3R5cGUpIHsKLSAgICAgICAgY2FzZSBTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbjoKLSAgICAgICAgICAgIHJlc3VsdCArPSAic2NhbGUoIjsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNjYWxlWFRyYW5zZm9ybU9wZXJhdGlvbjoK
LSAgICAgICAgICAgIHJlc3VsdCArPSAic2NhbGVYKCI7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBTY2FsZVlUcmFuc2Zvcm1PcGVyYXRpb246Ci0gICAgICAgICAgICByZXN1bHQg
Kz0gInNjYWxlWSgiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUm90YXRlVHJh
bnNmb3JtT3BlcmF0aW9uOgotICAgICAgICAgICAgcmVzdWx0ICs9ICJyb3RhdGUoIjsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb246Ci0gICAg
ICAgICAgICByZXN1bHQgKz0gInNrZXcoIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFNrZXdYVHJhbnNmb3JtT3BlcmF0aW9uOgotICAgICAgICAgICAgcmVzdWx0ICs9ICJza2V3
WCgiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgU2tld1lUcmFuc2Zvcm1PcGVy
YXRpb246Ci0gICAgICAgICAgICByZXN1bHQgKz0gInNrZXdZKCI7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246Ci0gICAgICAgICAg
ICByZXN1bHQgKz0gInRyYW5zbGF0ZSgiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgVHJhbnNsYXRlWFRyYW5zZm9ybU9wZXJhdGlvbjoKLSAgICAgICAgICAgIHJlc3VsdCArPSAi
dHJhbnNsYXRlWCgiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVHJhbnNsYXRl
WVRyYW5zZm9ybU9wZXJhdGlvbjoKLSAgICAgICAgICAgIHJlc3VsdCArPSAidHJhbnNsYXRlWSgi
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgTWF0cml4VHJhbnNmb3JtT3BlcmF0
aW9uOgotICAgICAgICAgICAgcmVzdWx0ICs9ICJtYXRyaXgoIjsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIAotICAg
IGlmIChtX3ZhbHVlcykKLSAgICAgICAgcmVzdWx0ICs9IG1fdmFsdWVzLT5jc3NUZXh0KCk7Ci0g
ICAgCi0gICAgcmVzdWx0ICs9ICIpIjsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi19CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NUcmFuc2Zvcm1WYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NT
VHJhbnNmb3JtVmFsdWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjE4YmQzZC4u
MDAwMDAwMAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NUcmFuc2Zvcm1WYWx1ZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNzIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJDU1NWYWx1ZS5o
IgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENTU1ZhbHVlTGlzdDsKLQotY2xhc3MgQ1NT
VHJhbnNmb3JtVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewotcHVibGljOgotICAgIGVudW0gVHJh
bnNmb3JtT3BlcmF0aW9uVHlwZSB7Ci0gICAgICAgIFVua25vd25UcmFuc2Zvcm1PcGVyYXRpb24s
Ci0gICAgICAgIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLAotICAgICAgICBTY2FsZVhUcmFuc2Zv
cm1PcGVyYXRpb24sCi0gICAgICAgIFNjYWxlWVRyYW5zZm9ybU9wZXJhdGlvbiwKLSAgICAgICAg
Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLAotICAgICAgICBTa2V3VHJhbnNmb3JtT3BlcmF0aW9u
LAotICAgICAgICBTa2V3WFRyYW5zZm9ybU9wZXJhdGlvbiwKLSAgICAgICAgU2tld1lUcmFuc2Zv
cm1PcGVyYXRpb24sCi0gICAgICAgIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiwKLSAgICAg
ICAgVHJhbnNsYXRlWFRyYW5zZm9ybU9wZXJhdGlvbiwKLSAgICAgICAgVHJhbnNsYXRlWVRyYW5z
Zm9ybU9wZXJhdGlvbiwKLSAgICAgICAgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uCi0gICAgfTsK
LQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1RyYW5zZm9ybVZhbHVlPiBjcmVhdGUoVHJhbnNm
b3JtT3BlcmF0aW9uVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDU1NUcmFuc2Zvcm1WYWx1ZSh0eXBlKSk7Ci0gICAgfQotCi0gICAgdmlydHVhbCB+Q1NTVHJh
bnNmb3JtVmFsdWUoKTsKLQotICAgIHZvaWQgYWRkVmFsdWUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4p
OwotICAgIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKLSAKLSAgICBUcmFu
c2Zvcm1PcGVyYXRpb25UeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KLSAgICBD
U1NWYWx1ZUxpc3QqIHZhbHVlcygpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVzLmdldCgpOyB9Ci0g
ICAgCi1wcml2YXRlOgotICAgIENTU1RyYW5zZm9ybVZhbHVlKFRyYW5zZm9ybU9wZXJhdGlvblR5
cGUpOwotCi0gICAgVHJhbnNmb3JtT3BlcmF0aW9uVHlwZSBtX3R5cGU7Ci0gICAgUmVmUHRyPENT
U1ZhbHVlTGlzdD4gbV92YWx1ZXM7Ci19OwotCi19CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCmluZGV4IDYyNjhlOTgu
LjdhZGY4Y2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCkBAIC01NywxMCArNTcsMTEgQEAgcHVibGljOgogCiAg
ICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBjcmVhdGVQYXJzZXJWYWx1ZUxpc3QoKSBjb25zdDsKIAot
cHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICBDU1NWYWx1ZUxpc3QoYm9vbCBpc1NwYWNlU2VwYXJh
dGVkKTsKICAgICBDU1NWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0Kik7Ci0gICAgCisKK3By
aXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzVmFsdWVMaXN0KCkgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBjc3NWYWx1ZVR5cGUoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBiL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hNmU3MWNkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCIK
KworI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoVHJhbnNmb3Jt
T3BlcmF0aW9uVHlwZSBvcCkKKyAgICA6IENTU1ZhbHVlTGlzdCh0cnVlKQorICAgICwgbV90eXBl
KG9wKQoreworfQorCitXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6fldlYktpdENTU1RyYW5zZm9y
bVZhbHVlKCkKK3sKK30KKworU3RyaW5nIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpjc3NUZXh0
KCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVzdWx0OworICAgIHN3aXRjaCAobV90eXBlKSB7Cisg
ICAgICAgIGNhc2UgU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb246CisgICAgICAgICAgICByZXN1bHQg
Kz0gInNjYWxlKCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTY2FsZVhUcmFu
c2Zvcm1PcGVyYXRpb246CisgICAgICAgICAgICByZXN1bHQgKz0gInNjYWxlWCgiOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU2NhbGVZVHJhbnNmb3JtT3BlcmF0aW9uOgorICAg
ICAgICAgICAgcmVzdWx0ICs9ICJzY2FsZVkoIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjoKKyAgICAgICAgICAgIHJlc3VsdCArPSAi
cm90YXRlKCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTa2V3VHJhbnNmb3Jt
T3BlcmF0aW9uOgorICAgICAgICAgICAgcmVzdWx0ICs9ICJza2V3KCI7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBTa2V3WFRyYW5zZm9ybU9wZXJhdGlvbjoKKyAgICAgICAgICAg
IHJlc3VsdCArPSAic2tld1goIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNr
ZXdZVHJhbnNmb3JtT3BlcmF0aW9uOgorICAgICAgICAgICAgcmVzdWx0ICs9ICJza2V3WSgiOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uOgorICAgICAgICAgICAgcmVzdWx0ICs9ICJ0cmFuc2xhdGUoIjsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFRyYW5zbGF0ZVhUcmFuc2Zvcm1PcGVyYXRpb246CisgICAgICAg
ICAgICByZXN1bHQgKz0gInRyYW5zbGF0ZVgoIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFRyYW5zbGF0ZVlUcmFuc2Zvcm1PcGVyYXRpb246CisgICAgICAgICAgICByZXN1bHQg
Kz0gInRyYW5zbGF0ZVkoIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1hdHJp
eFRyYW5zZm9ybU9wZXJhdGlvbjoKKyAgICAgICAgICAgIHJlc3VsdCArPSAibWF0cml4KCI7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgIH0KKyAgICAKKyAgICByZXN1bHQgKz0gQ1NTVmFsdWVMaXN0Ojpjc3NUZXh0KCk7CisgICAg
CisgICAgcmVzdWx0ICs9ICIpIjsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGIvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi44MGVmNGJkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZV9oCisjZGVmaW5lIFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
X2gKKworI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIDogcHVibGljIENTU1ZhbHVlTGlzdCB7CitwdWJs
aWM6CisgICAgZW51bSBUcmFuc2Zvcm1PcGVyYXRpb25UeXBlIHsKKyAgICAgICAgVW5rbm93blRy
YW5zZm9ybU9wZXJhdGlvbiwKKyAgICAgICAgU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24sCisgICAg
ICAgIFNjYWxlWFRyYW5zZm9ybU9wZXJhdGlvbiwKKyAgICAgICAgU2NhbGVZVHJhbnNmb3JtT3Bl
cmF0aW9uLAorICAgICAgICBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24sCisgICAgICAgIFNrZXdU
cmFuc2Zvcm1PcGVyYXRpb24sCisgICAgICAgIFNrZXdYVHJhbnNmb3JtT3BlcmF0aW9uLAorICAg
ICAgICBTa2V3WVRyYW5zZm9ybU9wZXJhdGlvbiwKKyAgICAgICAgVHJhbnNsYXRlVHJhbnNmb3Jt
T3BlcmF0aW9uLAorICAgICAgICBUcmFuc2xhdGVYVHJhbnNmb3JtT3BlcmF0aW9uLAorICAgICAg
ICBUcmFuc2xhdGVZVHJhbnNmb3JtT3BlcmF0aW9uLAorICAgICAgICBNYXRyaXhUcmFuc2Zvcm1P
cGVyYXRpb24KKyAgICB9OworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWU+IGNyZWF0ZShUcmFuc2Zvcm1PcGVyYXRpb25UeXBlIHR5cGUpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlKHR5cGUpKTsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIH5XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSgpOworCisgICAg
dmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworIAorICAgIFRyYW5zZm9ybU9wZXJhdGlv
blR5cGUgb3BlcmF0aW9uVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIAorcHJp
dmF0ZToKKyAgICBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZShUcmFuc2Zvcm1PcGVyYXRpb25UeXBl
KTsKKworICAgIFRyYW5zZm9ybU9wZXJhdGlvblR5cGUgbV90eXBlOworfTsKKworfQorCisjZW5k
aWYK
</data>
<flag name="review"
          id="9705"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>