<?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>124241</bug_id>
          
          <creation_ts>2013-11-12 15:33:09 -0800</creation_ts>
          <short_desc>[EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr</short_desc>
          <delta_ts>2013-11-13 04:40:39 -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>New Bugs</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="Sergio Correia (qrwteyrutiyoup)">sergio</reporter>
          <assigned_to name="Sergio Correia (qrwteyrutiyoup)">sergio</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>949904</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2013-11-12 15:33:09 -0800</bug_when>
    <thetext>[EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949905</commentid>
    <comment_count>1</comment_count>
      <attachid>216733</attachid>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2013-11-12 15:34:37 -0800</bug_when>
    <thetext>Created attachment 216733
Patch

The modified files are located under UIProcess/{efl,API/efl}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950025</commentid>
    <comment_count>2</comment_count>
      <attachid>216733</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-12 19:18:13 -0800</bug_when>
    <thetext>Comment on attachment 216733
Patch

LGTM under C++11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950125</commentid>
    <comment_count>3</comment_count>
      <attachid>216733</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-13 04:40:36 -0800</bug_when>
    <thetext>Comment on attachment 216733
Patch

Clearing flags on attachment: 216733

Committed r159190: &lt;http://trac.webkit.org/changeset/159190&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950126</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-13 04:40:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216733</attachid>
            <date>2013-11-12 15:34:37 -0800</date>
            <delta_ts>2013-11-13 04:40:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124241-20131112203424.patch</filename>
            <type>text/plain</type>
            <size>61848</size>
            <attacher name="Sergio Correia (qrwteyrutiyoup)">sergio</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTYyMjU0NjcyOWE5Y2Q1
ZjMwMGU2OGVkYzM1NDAxODZiMGQzMWY0YS4uNmU4MzZmYjFjNWEzNDE0Y2E1MDJkNmVkMjM3N2Zj
MmVhOGViNDVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTExLTEyICBTZXJn
aW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0VG
TF1bV0syXSBDb252ZXJ0IHNvbWUgbW9yZSBPd25QdHIvUGFzc093blB0ciB0byBzdGQ6OnVuaXF1
ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NDI0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBtb2RpZmllZCBmaWxlcyBhcmUgbG9jYXRlZCB1bmRlciBVSVByb2Nlc3Mve2VmbCxBUEkvZWZs
fS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9HZXN0dXJlUmVjb2duaXplci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvR2Vz
dHVyZVJlY29nbml6ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19m
b3J3YXJkX2xpc3RfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b2xvcl9waWNrZXJfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51
LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0u
Y3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9w
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlci5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyX3ByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlcl9wcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2Vf
cHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtX3ByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9wcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzX3ByaXZhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2F1dGhfcmVxdWVzdC5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21h
bmFnZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9k
b3dubG9hZF9qb2IuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl9mYXZpY29uX2RhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy90ZXN0X2V3azJfcmVmcHRyX2V2YXNfb2JqZWN0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L2VmbC9Db250ZXh0SGlzdG9yeUNsaWVudEVmbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwv
Q29udGV4dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL0Rvd25sb2Fk
TWFuYWdlckVmbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvRmluZENsaWVudEVmbC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvRm9ybUNsaWVudEVmbC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9lZmwvUGFnZUxvYWRDbGllbnRFZmwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1Bh
Z2VQb2xpY3lDbGllbnRFZmwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVu
dEVmbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudEVmbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUmVxdWVzdE1hbmFnZXJDbGllbnRF
ZmwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuaDoKKwogMjAxMy0xMS0xMiAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBtb3N0IHVzZXMgb2Yg
TXV0YWJsZUFycmF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCmluZGV4IDY4MDEzZTViMWI3NjIzN2I2YmU1YjA1NWI3NTQwMjBjZWIwOTk1NzEuLmFjOTM3
YWFiMjQ0Yjg3MDViZWQ2NTQ1YjY3ZWFiZGU5OTJlZTY2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yNjAsMzAgKzI2MCwzMCBAQCBFd2tW
aWV3OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3BlbmRpbmdTdXJmYWNlUmVz
aXplKGZhbHNlKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VMb2FkQ2xpZW50KFBhZ2VMb2FkQ2xpZW50
RWZsOjpjcmVhdGUodGhpcykpCi0gICAgLCBtX3BhZ2VQb2xpY3lDbGllbnQoUGFnZVBvbGljeUNs
aWVudEVmbDo6Y3JlYXRlKHRoaXMpKQotICAgICwgbV9wYWdlVUlDbGllbnQoUGFnZVVJQ2xpZW50
RWZsOjpjcmVhdGUodGhpcykpCi0gICAgLCBtX2NvbnRleHRNZW51Q2xpZW50KENvbnRleHRNZW51
Q2xpZW50RWZsOjpjcmVhdGUodGhpcykpCi0gICAgLCBtX2ZpbmRDbGllbnQoRmluZENsaWVudEVm
bDo6Y3JlYXRlKHRoaXMpKQotICAgICwgbV9mb3JtQ2xpZW50KEZvcm1DbGllbnRFZmw6OmNyZWF0
ZSh0aGlzKSkKLSAgICAsIG1fdmlld0NsaWVudChWaWV3Q2xpZW50RWZsOjpjcmVhdGUodGhpcykp
CisgICAgLCBtX3BhZ2VMb2FkQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UGFnZUxvYWRDbGllbnRF
Zmw+KHRoaXMpKQorICAgICwgbV9wYWdlUG9saWN5Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UGFn
ZVBvbGljeUNsaWVudEVmbD4odGhpcykpCisgICAgLCBtX3BhZ2VVSUNsaWVudChzdGQ6Om1ha2Vf
dW5pcXVlPFBhZ2VVSUNsaWVudEVmbD4odGhpcykpCisgICAgLCBtX2NvbnRleHRNZW51Q2xpZW50
KHN0ZDo6bWFrZV91bmlxdWU8Q29udGV4dE1lbnVDbGllbnRFZmw+KHRoaXMpKQorICAgICwgbV9m
aW5kQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8RmluZENsaWVudEVmbD4odGhpcykpCisgICAgLCBt
X2Zvcm1DbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxGb3JtQ2xpZW50RWZsPih0aGlzKSkKKyAgICAs
IG1fdmlld0NsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFZpZXdDbGllbnRFZmw+KHRoaXMpKQogI2lm
IEVOQUJMRShWSUJSQVRJT04pCi0gICAgLCBtX3ZpYnJhdGlvbkNsaWVudChWaWJyYXRpb25DbGll
bnRFZmw6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fdmlicmF0aW9uQ2xpZW50KHN0ZDo6bWFrZV91
bmlxdWU8VmlicmF0aW9uQ2xpZW50RWZsPih0aGlzKSkKICNlbmRpZgotICAgICwgbV9iYWNrRm9y
d2FyZExpc3QoRXdrQmFja0ZvcndhcmRMaXN0OjpjcmVhdGUoV0tQYWdlR2V0QmFja0ZvcndhcmRM
aXN0KHdrUGFnZSgpKSkpCi0gICAgLCBtX3NldHRpbmdzKEV3a1NldHRpbmdzOjpjcmVhdGUodGhp
cykpCisgICAgLCBtX2JhY2tGb3J3YXJkTGlzdChzdGQ6Om1ha2VfdW5pcXVlPEV3a0JhY2tGb3J3
YXJkTGlzdD4oV0tQYWdlR2V0QmFja0ZvcndhcmRMaXN0KHdrUGFnZSgpKSkpCisgICAgLCBtX3Nl
dHRpbmdzKHN0ZDo6bWFrZV91bmlxdWU8RXdrU2V0dGluZ3M+KHRoaXMpKQogICAgICwgbV9jdXJz
b3JJZGVudGlmaWVyKDApCiAgICAgLCBtX3VzZXJBZ2VudChXS0VpbmFTaGFyZWRTdHJpbmcoQWRv
cHRXSywgV0tQYWdlQ29weVVzZXJBZ2VudCh3a1BhZ2UoKSkpKQogICAgICwgbV9tb3VzZUV2ZW50
c0VuYWJsZWQoZmFsc2UpCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICAsIG1fdG91Y2hF
dmVudHNFbmFibGVkKGZhbHNlKQotICAgICwgbV9nZXN0dXJlUmVjb2duaXplcihHZXN0dXJlUmVj
b2duaXplcjo6Y3JlYXRlKHRoaXMpKQorICAgICwgbV9nZXN0dXJlUmVjb2duaXplcihzdGQ6Om1h
a2VfdW5pcXVlPEdlc3R1cmVSZWNvZ25pemVyPih0aGlzKSkKICNlbmRpZgogICAgICwgbV9kaXNw
bGF5VGltZXIodGhpcywgJkV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKQogICAgICwgbV9pbnB1
dE1ldGhvZENvbnRleHQoSW5wdXRNZXRob2RDb250ZXh0RWZsOjpjcmVhdGUodGhpcywgc21hcnRE
YXRhKCktPmJhc2UuZXZhcykpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAg
ICwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50KFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJD
bGllbnRFZmw6OmNyZWF0ZSh0aGlzKSkKLSAgICAsIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlcihh
ZG9wdFB0cihuZXcgUGFnZVZpZXdwb3J0Q29udHJvbGxlcihwYWdlKCksIG1fcGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudC5nZXQoKSkpKQorICAgICwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbD4o
dGhpcykpCisgICAgLCBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxQ
YWdlVmlld3BvcnRDb250cm9sbGVyPihwYWdlKCksIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudC5nZXQoKSkpCiAjZW5kaWYKICAgICAsIG1faXNBY2NlbGVyYXRlZCh0cnVlKQogewpAQCAt
ODU4LDcgKzg1OCw3IEBAIHZvaWQgRXdrVmlldzo6cmVxdWVzdENvbG9yUGlja2VyKFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3QKICAgICBpZiAobV9jb2xvclBp
Y2tlcikKICAgICAgICAgZGlzbWlzc0NvbG9yUGlja2VyKCk7CiAKLSAgICBtX2NvbG9yUGlja2Vy
ID0gRXdrQ29sb3JQaWNrZXI6OmNyZWF0ZShsaXN0ZW5lciwgY29sb3IpOworICAgIG1fY29sb3JQ
aWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEV3a0NvbG9yUGlja2VyPihsaXN0ZW5lciwgY29sb3Ip
OwogCiAgICAgc2QtPmFwaS0+aW5wdXRfcGlja2VyX2NvbG9yX3JlcXVlc3Qoc2QsIG1fY29sb3JQ
aWNrZXIuZ2V0KCkpOwogfQpAQCAtODc4LDcgKzg3OCw3IEBAIHZvaWQgRXdrVmlldzo6ZGlzbWlz
c0NvbG9yUGlja2VyKCkKICAgICBpZiAoc2QtPmFwaS0+aW5wdXRfcGlja2VyX2NvbG9yX2Rpc21p
c3MpCiAgICAgICAgIHNkLT5hcGktPmlucHV0X3BpY2tlcl9jb2xvcl9kaXNtaXNzKHNkKTsKIAot
ICAgIG1fY29sb3JQaWNrZXIuY2xlYXIoKTsKKyAgICBtX2NvbG9yUGlja2VyID0gbnVsbHB0cjsK
IH0KICNlbmRpZgogCkBAIC04OTMsNyArODkzLDcgQEAgdm9pZCBFd2tWaWV3OjpjdXN0b21Db250
ZXh0TWVudUl0ZW1TZWxlY3RlZChXS0NvbnRleHRNZW51SXRlbVJlZiBjb250ZXh0TWVudUl0ZW0K
ICAgICBpZiAoIXNkLT5hcGktPmN1c3RvbV9pdGVtX3NlbGVjdGVkKQogICAgICAgICByZXR1cm47
CiAKLSAgICBPd25QdHI8RXdrQ29udGV4dE1lbnVJdGVtPiBpdGVtID0gRXdrQ29udGV4dE1lbnVJ
dGVtOjpjcmVhdGUoY29udGV4dE1lbnVJdGVtLCAwKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RXdr
Q29udGV4dE1lbnVJdGVtPiBpdGVtID0gc3RkOjptYWtlX3VuaXF1ZTxFd2tDb250ZXh0TWVudUl0
ZW0+KGNvbnRleHRNZW51SXRlbSwgbnVsbHB0cik7CiAKICAgICBzZC0+YXBpLT5jdXN0b21faXRl
bV9zZWxlY3RlZChzZCwgaXRlbS5nZXQoKSk7CiB9CkBAIC05NDYsNyArOTQ2LDcgQEAgdm9pZCBF
d2tWaWV3OjpyZXF1ZXN0UG9wdXBNZW51KFdLUG9wdXBNZW51TGlzdGVuZXJSZWYgcG9wdXBNZW51
TGlzdGVuZXIsIGNvbnN0IFcKICAgICBpZiAobV9wb3B1cE1lbnUpCiAgICAgICAgIGNsb3NlUG9w
dXBNZW51KCk7CiAKLSAgICBtX3BvcHVwTWVudSA9IEV3a1BvcHVwTWVudTo6Y3JlYXRlKHRoaXMs
IHBvcHVwTWVudUxpc3RlbmVyLCBpdGVtcywgc2VsZWN0ZWRJbmRleCk7CisgICAgbV9wb3B1cE1l
bnUgPSBzdGQ6Om1ha2VfdW5pcXVlPEV3a1BvcHVwTWVudT4odGhpcywgcG9wdXBNZW51TGlzdGVu
ZXIsIGl0ZW1zLCBzZWxlY3RlZEluZGV4KTsKIAogICAgIFdLUG9pbnQgcG9wdXBNZW51UG9zaXRp
b24gPSBXS1ZpZXdDb250ZW50c1RvVXNlclZpZXdwb3J0KHdrVmlldygpLCByZWN0Lm9yaWdpbik7
CiAKQEAgLTk2Nyw3ICs5NjcsNyBAQCB2b2lkIEV3a1ZpZXc6OmNsb3NlUG9wdXBNZW51KCkKICAg
ICBpZiAoc2QtPmFwaS0+cG9wdXBfbWVudV9oaWRlKQogICAgICAgICBzZC0+YXBpLT5wb3B1cF9t
ZW51X2hpZGUoc2QpOwogCi0gICAgbV9wb3B1cE1lbnUuY2xlYXIoKTsKKyAgICBtX3BvcHVwTWVu
dSA9IG51bGxwdHI7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5oCmluZGV4IDMwNmUzNmYwMWNiYzg4ZjBiZGFkMmM3ZjAzZTA1OTQxMWEwY2IxOGMu
LjU0ZTI1YjdlNWI2OGQyNzQzYWY5MmQ1YTAzNzI4ZDRhNDVlY2Q4NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTI1OSwxOCArMjU5LDE4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3BlbmRpbmdTdXJmYWNlUmVzaXplOwogI2VuZGlmCiAgICAgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07Ci0gICAg
T3duUHRyPFdlYktpdDo6UGFnZUxvYWRDbGllbnRFZmw+IG1fcGFnZUxvYWRDbGllbnQ7Ci0gICAg
T3duUHRyPFdlYktpdDo6UGFnZVBvbGljeUNsaWVudEVmbD4gbV9wYWdlUG9saWN5Q2xpZW50Owot
ICAgIE93blB0cjxXZWJLaXQ6OlBhZ2VVSUNsaWVudEVmbD4gbV9wYWdlVUlDbGllbnQ7Ci0gICAg
T3duUHRyPFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRFZmw+IG1fY29udGV4dE1lbnVDbGllbnQ7
Ci0gICAgT3duUHRyPFdlYktpdDo6RmluZENsaWVudEVmbD4gbV9maW5kQ2xpZW50OwotICAgIE93
blB0cjxXZWJLaXQ6OkZvcm1DbGllbnRFZmw+IG1fZm9ybUNsaWVudDsKLSAgICBPd25QdHI8V2Vi
S2l0OjpWaWV3Q2xpZW50RWZsPiBtX3ZpZXdDbGllbnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdl
YktpdDo6UGFnZUxvYWRDbGllbnRFZmw+IG1fcGFnZUxvYWRDbGllbnQ7CisgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYktpdDo6UGFnZVBvbGljeUNsaWVudEVmbD4gbV9wYWdlUG9saWN5Q2xpZW50Owor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlBhZ2VVSUNsaWVudEVmbD4gbV9wYWdlVUlDbGll
bnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRFZmw+IG1f
Y29udGV4dE1lbnVDbGllbnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6RmluZENsaWVu
dEVmbD4gbV9maW5kQ2xpZW50OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OkZvcm1DbGll
bnRFZmw+IG1fZm9ybUNsaWVudDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpWaWV3Q2xp
ZW50RWZsPiBtX3ZpZXdDbGllbnQ7CiAjaWYgRU5BQkxFKFZJQlJBVElPTikKLSAgICBPd25QdHI8
V2ViS2l0OjpWaWJyYXRpb25DbGllbnRFZmw+IG1fdmlicmF0aW9uQ2xpZW50OworICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJLaXQ6OlZpYnJhdGlvbkNsaWVudEVmbD4gbV92aWJyYXRpb25DbGllbnQ7
CiAjZW5kaWYKLSAgICBPd25QdHI8RXdrQmFja0ZvcndhcmRMaXN0PiBtX2JhY2tGb3J3YXJkTGlz
dDsKLSAgICBPd25QdHI8RXdrU2V0dGluZ3M+IG1fc2V0dGluZ3M7CisgICAgc3RkOjp1bmlxdWVf
cHRyPEV3a0JhY2tGb3J3YXJkTGlzdD4gbV9iYWNrRm9yd2FyZExpc3Q7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEV3a1NldHRpbmdzPiBtX3NldHRpbmdzOwogICAgIFJlZlB0cjxFd2tXaW5kb3dGZWF0
dXJlcz4gbV93aW5kb3dGZWF0dXJlczsKICAgICBjb25zdCB2b2lkKiBtX2N1cnNvcklkZW50aWZp
ZXI7IC8vIFRoaXMgaXMgYW4gYWRkcmVzcywgZG8gbm90IGZyZWUgaXQuCiAgICAgV0tFaW5hU2hh
cmVkU3RyaW5nIG1fdXJsOwpAQCAtMjgxLDE4ICsyODEsMTggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fbW91c2VFdmVudHNFbmFibGVkOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgYm9v
bCBtX3RvdWNoRXZlbnRzRW5hYmxlZDsKLSAgICBPd25QdHI8V2ViS2l0OjpHZXN0dXJlUmVjb2du
aXplcj4gbV9nZXN0dXJlUmVjb2duaXplcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpH
ZXN0dXJlUmVjb2duaXplcj4gbV9nZXN0dXJlUmVjb2duaXplcjsKICNlbmRpZgogICAgIFdlYkNv
cmU6OlRpbWVyPEV3a1ZpZXc+IG1fZGlzcGxheVRpbWVyOwogICAgIFJlZlB0cjxFd2tDb250ZXh0
TWVudT4gbV9jb250ZXh0TWVudTsKLSAgICBPd25QdHI8RXdrUG9wdXBNZW51PiBtX3BvcHVwTWVu
dTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RXdrUG9wdXBNZW51PiBtX3BvcHVwTWVudTsKICAgICBP
d25QdHI8V2ViS2l0OjpJbnB1dE1ldGhvZENvbnRleHRFZmw+IG1faW5wdXRNZXRob2RDb250ZXh0
OwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQotICAgIE93blB0cjxFd2tDb2xvclBpY2tl
cj4gbV9jb2xvclBpY2tlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RXdrQ29sb3JQaWNrZXI+IG1f
Y29sb3JQaWNrZXI7CiAjZW5kaWYKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0g
ICAgT3duUHRyPFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbD4gbV9wYWdl
Vmlld3BvcnRDb250cm9sbGVyQ2xpZW50OwotICAgIE93blB0cjxXZWJLaXQ6OlBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI+IG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsPiBtX3BhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6UGFnZVZpZXdw
b3J0Q29udHJvbGxlcj4gbV9wYWdlVmlld3BvcnRDb250cm9sbGVyOwogI2VuZGlmCiAgICAgYm9v
bCBtX2lzQWNjZWxlcmF0ZWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcAppbmRleCAzNzhhN2Q4MTgyOTI0MzAwMmVk
YTYzMzZkZjE2ZDdjMjYxOWNkNmZlLi40M2U5N2E4MDNjZDZmZmYxNTEyNzkxODNhMTJhMTVhZGQ3
ZTQ3MGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9HZXN0
dXJlUmVjb2duaXplci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
R2VzdHVyZVJlY29nbml6ZXIuY3BwCkBAIC00MCwxMCArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgR2VzdHVyZUhhbmRsZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPEdlc3R1cmVIYW5kbGVyPiBjcmVhdGUoRXdrVmlldyogZXdrVmlldykKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgR2VzdHVyZUhhbmRsZXIoZXdrVmlldykpOwotICAgIH0K
KyAgICBleHBsaWNpdCBHZXN0dXJlSGFuZGxlcihFd2tWaWV3Kik7CiAgICAgfkdlc3R1cmVIYW5k
bGVyKCk7CiAKICAgICBFd2tWaWV3KiB2aWV3KCkgeyByZXR1cm4gbV9ld2tWaWV3OyB9CkBAIC02
MSw4ICs1OCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZVBpbmNoRmluaXNoZWQoKTsKIAog
cHJpdmF0ZToKLSAgICBleHBsaWNpdCBHZXN0dXJlSGFuZGxlcihFd2tWaWV3Kik7Ci0KICAgICBz
dGF0aWMgRWluYV9Cb29sIHBhbkFuaW1hdG9yQ2FsbGJhY2sodm9pZCopOwogICAgIHN0YXRpYyBF
aW5hX0Jvb2wgZmxpY2tBbmltYXRvckNhbGxiYWNrKHZvaWQqKTsKIApAQCAtMjM5LDcgKzIzNCw3
IEBAIGNvbnN0IGludCBHZXN0dXJlUmVjb2duaXplcjo6c19zcXVhcmVkUGFuVGhyZXNob2xkID0g
MTAwOwogCiBHZXN0dXJlUmVjb2duaXplcjo6R2VzdHVyZVJlY29nbml6ZXIoRXdrVmlldyogZXdr
VmlldykKICAgICA6IG1fcmVjb2duaXplckZ1bmN0aW9uKCZHZXN0dXJlUmVjb2duaXplcjo6bm9H
ZXN0dXJlKQotICAgICwgbV9nZXN0dXJlSGFuZGxlcihHZXN0dXJlSGFuZGxlcjo6Y3JlYXRlKGV3
a1ZpZXcpKQorICAgICwgbV9nZXN0dXJlSGFuZGxlcihzdGQ6Om1ha2VfdW5pcXVlPEdlc3R1cmVI
YW5kbGVyPihld2tWaWV3KSkKICAgICAsIG1fdGFwQW5kSG9sZFRpbWVyKDApCiAgICAgLCBtX2Rv
dWJsZVRhcFRpbWVyKDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9HZXN0dXJlUmVjb2duaXplci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvR2VzdHVyZVJlY29nbml6ZXIuaAppbmRleCAxMWZjZDEyNGQ2MzdkZWM0MjNmMzFkMDY5
NDVlMjA3OWFmZmMyNDdkLi5jMWY5ZDcwYjM4MGIzMjc2MjM5MmQ3NmUxOTAzY2JlNjQ1MjQ1NGQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9HZXN0dXJlUmVj
b2duaXplci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVS
ZWNvZ25pemVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlIDxFY29yZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLRXZlbnRFZmwuaD4K
LSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
Y2xhc3MgRXdrVmlldzsKQEAgLTQzLDE4ICs0MiwxMyBAQCBjbGFzcyBHZXN0dXJlSGFuZGxlcjsK
IAogY2xhc3MgR2VzdHVyZVJlY29nbml6ZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPEdlc3R1cmVSZWNvZ25pemVyPiBjcmVhdGUoRXdrVmlldyogZXdrVmlldykKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgR2VzdHVyZVJlY29nbml6ZXIoZXdrVmlldykpOwot
ICAgIH0KKyAgICBleHBsaWNpdCBHZXN0dXJlUmVjb2duaXplcihFd2tWaWV3Kik7CiAgICAgfkdl
c3R1cmVSZWNvZ25pemVyKCk7CiAKICAgICB2b2lkIHByb2Nlc3NUb3VjaEV2ZW50KFdLVG91Y2hF
dmVudFJlZik7CiAgICAgdm9pZCByZXNldCgpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEdl
c3R1cmVSZWNvZ25pemVyKEV3a1ZpZXcqKTsKLQogICAgIHN0YXRpYyBFaW5hX0Jvb2wgZG91Ymxl
VGFwVGltZXJDYWxsYmFjayh2b2lkKik7CiAgICAgc3RhdGljIEVpbmFfQm9vbCB0YXBBbmRIb2xk
VGltZXJDYWxsYmFjayh2b2lkKik7CiAKQEAgLTc4LDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB0
eXBlZGVmIHZvaWQgKEdlc3R1cmVSZWNvZ25pemVyOjoqUmVjb2duaXplckZ1bmN0aW9uKShXS0V2
ZW50VHlwZSwgV0tBcnJheVJlZik7CiAgICAgUmVjb2duaXplckZ1bmN0aW9uIG1fcmVjb2duaXpl
ckZ1bmN0aW9uOwogCi0gICAgT3duUHRyPFdlYktpdDo6R2VzdHVyZUhhbmRsZXI+IG1fZ2VzdHVy
ZUhhbmRsZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6R2VzdHVyZUhhbmRsZXI+IG1f
Z2VzdHVyZUhhbmRsZXI7CiAgICAgRWNvcmVfVGltZXIqIG1fdGFwQW5kSG9sZFRpbWVyOwogICAg
IEVjb3JlX1RpbWVyKiBtX2RvdWJsZVRhcFRpbWVyOwogICAgIFdlYkNvcmU6OkludFBvaW50IG1f
Zmlyc3RQcmVzc2VkUG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X3ByaXZhdGUuaAppbmRleCBl
NWM2ZjBlMWQ3N2YwMWE3NTJkMjYyYWZmNzc5M2RlMmM0NjdmMTAyLi4zNWMyMDlkYWNlMzM5NjQ2
MjM3YjIzZjg3YWVhNzJjMTc0ZWM4NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfcHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9wcml2YXRl
LmgKQEAgLTMwLDE2ICszMCwxMiBAQAogI2luY2x1ZGUgImV3a19iYWNrX2ZvcndhcmRfbGlzdF9p
dGVtX3ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogdHlwZWRlZiBIYXNo
TWFwPFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiwgUmVmUHRyPEV3a0JhY2tGb3J3YXJkTGlzdEl0
ZW0+ID4gSXRlbXNNYXA7CiAKIGNsYXNzIEV3a0JhY2tGb3J3YXJkTGlzdCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQmFja0ZvcndhcmRMaXN0PiBjcmVhdGUoV0tCYWNrRm9y
d2FyZExpc3RSZWYgbGlzdFJlZikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
RXdrQmFja0ZvcndhcmRMaXN0KGxpc3RSZWYpKTsKLSAgICB9CisgICAgZXhwbGljaXQgRXdrQmFj
a0ZvcndhcmRMaXN0KFdLQmFja0ZvcndhcmRMaXN0UmVmIGxpc3RSZWYpOwogCiAgICAgRXdrQmFj
a0ZvcndhcmRMaXN0SXRlbSogcHJldmlvdXNJdGVtKCkgY29uc3Q7CiAgICAgRXdrQmFja0Zvcndh
cmRMaXN0SXRlbSogY3VycmVudEl0ZW0oKSBjb25zdDsKQEAgLTU0LDggKzUwLDYgQEAgcHVibGlj
OgogICAgIEVpbmFfTGlzdCogY3JlYXRlRWluYUxpc3QoV0tBcnJheVJlZiB3a0xpc3QpIGNvbnN0
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEV3a0JhY2tGb3J3YXJkTGlzdChXS0JhY2tGb3J3
YXJkTGlzdFJlZiBsaXN0UmVmKTsKLQogICAgIEV3a0JhY2tGb3J3YXJkTGlzdEl0ZW0qIGdldEZy
b21DYWNoZU9yQ3JlYXRlKFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiB3a0l0ZW0pIGNvbnN0Owog
CiAgICAgV0tSZXRhaW5QdHI8V0tCYWNrRm9yd2FyZExpc3RSZWY+IG1fd2tMaXN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbG9yX3BpY2tlcl9w
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlj
a2VyX3ByaXZhdGUuaAppbmRleCAyOWQwMzYwNzllOTgyODc1NzAzYzI0NTE1NDNjNGU5MTlmNzEy
NWRiLi5jNzIzMWE1MmI5NmNiZGE3MWE0NTcwM2UwNDZlODY2ZjViYWMyOTE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyX3ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlj
a2VyX3ByaXZhdGUuaApAQCAtMjUsMjEgKzI1LDE1IEBACiAKICNpbmNsdWRlICJXS1JldGFpblB0
ci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBjbGFzcyBFd2tDb2xvclBpY2tlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NP
d25QdHI8RXdrQ29sb3JQaWNrZXI+IGNyZWF0ZShXS0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJS
ZWYgY29sb3JQaWNrZXJMaXN0ZW5lciwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xv
cikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdrQ29sb3JQaWNrZXIoY29s
b3JQaWNrZXJMaXN0ZW5lciwgaW5pdGlhbENvbG9yKSk7Ci0gICAgfQorICAgIEV3a0NvbG9yUGlj
a2VyKFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiBjb2xvclBpY2tlckxpc3RlbmVyLCBj
b25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yKTsKIAogICAgIGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBjb2xvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImKTsKIAogcHJpdmF0ZToKLSAgICBFd2tDb2xvclBpY2tlcihXS0NvbG9yUGlja2VyUmVz
dWx0TGlzdGVuZXJSZWYgY29sb3JQaWNrZXJMaXN0ZW5lciwgY29uc3QgV2ViQ29yZTo6Q29sb3Im
IGluaXRpYWxDb2xvcik7Ci0KICAgICBXS1JldGFpblB0cjxXS0NvbG9yUGlja2VyUmVzdWx0TGlz
dGVuZXJSZWY+IG1fY29sb3JQaWNrZXJMaXN0ZW5lcjsKICAgICBXZWJDb3JlOjpDb2xvciBtX2Nv
bG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0LmNwcAppbmRleCA3MTg5ZjZkMzUzMzRkZDJjZjE4ZDI1ZmVlYjk1Y2MxMGRjZTcyYmY5Li5m
NGRhMWVhY2QwMDhkNjFjN2EzOTFhODVkMWExMDY5MmEyMzZmMTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCkBAIC02MSwxNyArNjEs
MTcgQEAgc3RhdGljIGlubGluZSBDb250ZXh0TWFwJiBjb250ZXh0TWFwKCkKIAogRXdrQ29udGV4
dDo6RXdrQ29udGV4dChXS0NvbnRleHRSZWYgY29udGV4dCkKICAgICA6IG1fY29udGV4dChjb250
ZXh0KQotICAgICwgbV9kYXRhYmFzZU1hbmFnZXIoRXdrRGF0YWJhc2VNYW5hZ2VyOjpjcmVhdGUo
V0tDb250ZXh0R2V0RGF0YWJhc2VNYW5hZ2VyKGNvbnRleHQpKSkKLSAgICAsIG1fc3RvcmFnZU1h
bmFnZXIoRXdrU3RvcmFnZU1hbmFnZXI6OmNyZWF0ZShXS0NvbnRleHRHZXRLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyKGNvbnRleHQpKSkKKyAgICAsIG1fZGF0YWJhc2VNYW5hZ2VyKHN0ZDo6bWFrZV91
bmlxdWU8RXdrRGF0YWJhc2VNYW5hZ2VyPihXS0NvbnRleHRHZXREYXRhYmFzZU1hbmFnZXIoY29u
dGV4dCkpKQorICAgICwgbV9zdG9yYWdlTWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEV3a1N0b3Jh
Z2VNYW5hZ2VyPihXS0NvbnRleHRHZXRLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKGNvbnRleHQpKSkK
ICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAgICAgLCBtX2JhdHRlcnlQcm92aWRlcihCYXR0
ZXJ5UHJvdmlkZXI6OmNyZWF0ZShjb250ZXh0KSkKICNlbmRpZgogI2lmIEVOQUJMRShORVRXT1JL
X0lORk8pCiAgICAgLCBtX25ldHdvcmtJbmZvUHJvdmlkZXIoTmV0d29ya0luZm9Qcm92aWRlcjo6
Y3JlYXRlKGNvbnRleHQpKQogI2VuZGlmCi0gICAgLCBtX2Rvd25sb2FkTWFuYWdlcihEb3dubG9h
ZE1hbmFnZXJFZmw6OmNyZWF0ZShjb250ZXh0KSkKLSAgICAsIG1fcmVxdWVzdE1hbmFnZXJDbGll
bnQoUmVxdWVzdE1hbmFnZXJDbGllbnRFZmw6OmNyZWF0ZShjb250ZXh0KSkKLSAgICAsIG1faGlz
dG9yeUNsaWVudChDb250ZXh0SGlzdG9yeUNsaWVudEVmbDo6Y3JlYXRlKGNvbnRleHQpKQorICAg
ICwgbV9kb3dubG9hZE1hbmFnZXIoc3RkOjptYWtlX3VuaXF1ZTxEb3dubG9hZE1hbmFnZXJFZmw+
KGNvbnRleHQpKQorICAgICwgbV9yZXF1ZXN0TWFuYWdlckNsaWVudChzdGQ6Om1ha2VfdW5pcXVl
PFJlcXVlc3RNYW5hZ2VyQ2xpZW50RWZsPihjb250ZXh0KSkKKyAgICAsIG1faGlzdG9yeUNsaWVu
dChzdGQ6Om1ha2VfdW5pcXVlPENvbnRleHRIaXN0b3J5Q2xpZW50RWZsPihjb250ZXh0KSkKIHsK
ICAgICBDb250ZXh0TWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gY29udGV4dE1hcCgpLmFkZChjb250
ZXh0LCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3RW50cnkp
OwpAQCAtMTMyLDcgKzEzMiw3IEBAIEV3a0NvbnRleHQqIEV3a0NvbnRleHQ6OmRlZmF1bHRDb250
ZXh0KCkKIEV3a0Nvb2tpZU1hbmFnZXIqIEV3a0NvbnRleHQ6OmNvb2tpZU1hbmFnZXIoKQogewog
ICAgIGlmICghbV9jb29raWVNYW5hZ2VyKQotICAgICAgICBtX2Nvb2tpZU1hbmFnZXIgPSBFd2tD
b29raWVNYW5hZ2VyOjpjcmVhdGUoV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihtX2NvbnRleHQu
Z2V0KCkpKTsKKyAgICAgICAgbV9jb29raWVNYW5hZ2VyID0gc3RkOjptYWtlX3VuaXF1ZTxFd2tD
b29raWVNYW5hZ2VyPihXS0NvbnRleHRHZXRDb29raWVNYW5hZ2VyKG1fY29udGV4dC5nZXQoKSkp
OwogCiAgICAgcmV0dXJuIG1fY29va2llTWFuYWdlci5nZXQoKTsKIH0KQEAgLTE0Nyw3ICsxNDcs
NyBAQCB2b2lkIEV3a0NvbnRleHQ6OmVuc3VyZUZhdmljb25EYXRhYmFzZSgpCiAgICAgaWYgKG1f
ZmF2aWNvbkRhdGFiYXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Zhdmljb25EYXRhYmFz
ZSA9IEV3a0Zhdmljb25EYXRhYmFzZTo6Y3JlYXRlKFdLQ29udGV4dEdldEljb25EYXRhYmFzZSht
X2NvbnRleHQuZ2V0KCkpKTsKKyAgICBtX2Zhdmljb25EYXRhYmFzZSA9IHN0ZDo6bWFrZV91bmlx
dWU8RXdrRmF2aWNvbkRhdGFiYXNlPihXS0NvbnRleHRHZXRJY29uRGF0YWJhc2UobV9jb250ZXh0
LmdldCgpKSk7CiB9CiAKIGJvb2wgRXdrQ29udGV4dDo6c2V0RmF2aWNvbkRhdGFiYXNlRGlyZWN0
b3J5UGF0aChjb25zdCBTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAppbmRleCA1
YTk5ZTZiZjdhODc5Y2RkOGY1MWQ5MjEzYmY3MjFjMjlkZDE5YWQ1Li4yNmYyMzhkNjQ4YTRhMjE0
MTZmZWVjNDBiZmVmY2Y5MzlkNTE5ZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcApAQCAtNDQsNyArNDQsNyBAQCBF
d2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlldywgV0tBcnJheVJlZiBp
dGVtcykKIHsKICAgICBzaXplX3Qgc2l6ZSA9IFdLQXJyYXlHZXRTaXplKGl0ZW1zKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgbV9jb250ZXh0TWVudUl0
ZW1zID0gZWluYV9saXN0X2FwcGVuZChtX2NvbnRleHRNZW51SXRlbXMsIEV3a19Db250ZXh0X01l
bnVfSXRlbTo6Y3JlYXRlKHN0YXRpY19jYXN0PFdLQ29udGV4dE1lbnVJdGVtUmVmPihXS0FycmF5
R2V0SXRlbUF0SW5kZXgoaXRlbXMsIGkpKSwgdGhpcykubGVha1B0cigpKTsKKyAgICAgICAgbV9j
b250ZXh0TWVudUl0ZW1zID0gZWluYV9saXN0X2FwcGVuZChtX2NvbnRleHRNZW51SXRlbXMsIHN0
ZDo6bWFrZV91bmlxdWU8RXdrX0NvbnRleHRfTWVudV9JdGVtPihzdGF0aWNfY2FzdDxXS0NvbnRl
eHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1zLCBpKSksIHRoaXMpLnJl
bGVhc2UoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0
ZW0uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVu
dV9pdGVtLmNwcAppbmRleCAzM2QxMWI0Njk5YWY1ZDZjZTAwMTg2MGEwODdhMWE0NzczMmY1OTFk
Li44NzI4NjFlMmJiN2M4NzZiNmM2YTU2MGIzMjI1NTYyZDJlMDJkODZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbS5jcHAKQEAgLTYzLDE0ICs2MywxNCBAQCBFd2tDb250ZXh0TWVudUl0ZW06OkV3a0NvbnRl
eHRNZW51SXRlbShFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLCBFd2tfQ29udAogCiBF
d2tfQ29udGV4dF9NZW51X0l0ZW0qIGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRXdrX0NvbnRl
eHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBhY3Rp
b24sIGNvbnN0IGNoYXIqIHRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwgRWluYV9Cb29sIGVuYWJs
ZWQpCiB7Ci0gICAgcmV0dXJuIEV3a19Db250ZXh0X01lbnVfSXRlbTo6Y3JlYXRlKHR5cGUsIGFj
dGlvbiwgdGl0bGUsIGNoZWNrZWQsIGVuYWJsZWQpLmxlYWtQdHIoKTsKKyAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxFd2tfQ29udGV4dF9NZW51X0l0ZW0+KHR5cGUsIGFjdGlvbiwgdGl0bGUs
IGNoZWNrZWQsIGVuYWJsZWQpLnJlbGVhc2UoKTsKIH0KIAogRXdrX0NvbnRleHRfTWVudV9JdGVt
KiBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudShFd2tfQ29udGV4dF9NZW51
X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0bGUsIEVpbmFfQm9vbCBlbmFibGVk
LCBFd2tfQ29udGV4dF9NZW51KiBzdWJNZW51KQogewogICAgIEVXS19PQkpfR0VUX0lNUExfT1Jf
UkVUVVJOKEV3a0NvbnRleHRNZW51LCBzdWJNZW51LCBzdWJNZW51SW1wbCwgMCk7CiAKLSAgICBy
ZXR1cm4gRXdrX0NvbnRleHRfTWVudV9JdGVtOjpjcmVhdGUoRVdLX1NVQk1FTlVfVFlQRSwgYWN0
aW9uLCB0aXRsZSwgZmFsc2UsIGVuYWJsZWQsIHN1Yk1lbnVJbXBsKS5sZWFrUHRyKCk7CisgICAg
cmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8RXdrX0NvbnRleHRfTWVudV9JdGVtPihFV0tfU1VCTUVO
VV9UWVBFLCBhY3Rpb24sIHRpdGxlLCBmYWxzZSwgZW5hYmxlZCwgc3ViTWVudUltcGwpLnJlbGVh
c2UoKTsKIH0KIAogRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgZXdrX2NvbnRleHRfbWVudV9p
dGVtX3R5cGVfZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDIyMTU4ZWMyZmZiOWQ1ODlkYjY2Njc0NmMzNDkx
Yjg2MGFkNDdmNzkuLjcxNzViNzcyYWZiNjY3M2MyNDhkNDY3MDU0OWY3ZDExNTM0YzE4YjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfaXRlbV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgImV3a19jb250ZXh0X21lbnUuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0u
aCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaCIKLSNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCkBAIC00MSwxNSArNDAsOCBAQAogICovCiBjbGFzcyBFd2tDb250ZXh0TWVu
dUl0ZW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRl
bT4gY3JlYXRlKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0sIEV3a0NvbnRleHRNZW51KiBwYXJl
bnRNZW51KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVu
dUl0ZW0oaXRlbSwgcGFyZW50TWVudSkpOwotICAgIH0KLQotICAgIHN0YXRpYyBQYXNzT3duUHRy
PEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5
cGUsIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFyKiB0aXRs
ZSwgRWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkLCBQYXNzUmVmUHRyPEV3a0Nv
bnRleHRNZW51PiBzdWJNZW51ID0gMCwgRXdrQ29udGV4dE1lbnUqIHBhcmVudE1lbnUgPSAwKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0odHlw
ZSwgYWN0aW9uLCB0aXRsZSwgY2hlY2tlZCwgZW5hYmxlZCwgc3ViTWVudSwgcGFyZW50TWVudSkp
OwotICAgIH0KKyAgICBFd2tDb250ZXh0TWVudUl0ZW0oV0tDb250ZXh0TWVudUl0ZW1SZWYsIEV3
a0NvbnRleHRNZW51KiBwYXJlbnRNZW51KTsKKyAgICBFd2tDb250ZXh0TWVudUl0ZW0oRXdrX0Nv
bnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBh
Y3Rpb24sIGNvbnN0IGNoYXIqIHRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwgRWluYV9Cb29sIGVu
YWJsZWQsIFBhc3NSZWZQdHI8RXdrQ29udGV4dE1lbnU+IHN1Yk1lbnUgPSBudWxscHRyLCBFd2tD
b250ZXh0TWVudSogcGFyZW50TWVudSA9IG51bGxwdHIpOwogCiAgICAgRXdrX0NvbnRleHRfTWVu
dV9JdGVtX0FjdGlvbiBhY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FjdGlvbjsgfQogICAgIHZv
aWQgc2V0QWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uKSB7IG1fYWN0
aW9uID0gYWN0aW9uOyB9CkBAIC03MiwxNCArNjQsMTEgQEAgcHVibGljOgogICAgIEV3a0NvbnRl
eHRNZW51KiBzdWJNZW51KCkgY29uc3QgeyByZXR1cm4gbV9zdWJNZW51LmdldCgpOyB9CiAKIHBy
aXZhdGU6Ci0gICAgRXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJdGVtUmVmLCBFd2tD
b250ZXh0TWVudSogcGFyZW50TWVudSk7Ci0gICAgRXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250
ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUsIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0
aW9uLCBjb25zdCBjaGFyKiB0aXRsZSwgRWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFi
bGVkLCBQYXNzUmVmUHRyPEV3a0NvbnRleHRNZW51PiBzdWJNZW51LCBFd2tDb250ZXh0TWVudSog
cGFyZW50TWVudSk7Ci0KICAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBtX3R5cGU7CiAg
ICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBtX2FjdGlvbjsKIAogICAgIFdLRWluYVNo
YXJlZFN0cmluZyBtX3RpdGxlOwotICAgIAorCiAgICAgYm9vbCBtX2lzQ2hlY2tlZDsKICAgICBi
b29sIG1faXNFbmFibGVkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmgKaW5kZXggZGIxOTgwOTU3NzdmY2JlZGE4NjY4
YzkzYzE2ZjNmMWMyNDQ2ZmE1ZS4uNTI1ZDg1OTYwNjY5ZDQ1NmI5Mzk1NjI1MmZlYzdkNzBjYmVm
YjQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0X3ByaXZhdGUuaApAQCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgImV3a19vYmpl
Y3RfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC05
MywyMCArOTIsMjAgQEAgcHJpdmF0ZToKIAogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4g
bV9jb250ZXh0OwogCi0gICAgT3duUHRyPEV3a0Nvb2tpZU1hbmFnZXI+IG1fY29va2llTWFuYWdl
cjsKLSAgICBPd25QdHI8RXdrRGF0YWJhc2VNYW5hZ2VyPiBtX2RhdGFiYXNlTWFuYWdlcjsKLSAg
ICBPd25QdHI8RXdrRmF2aWNvbkRhdGFiYXNlPiBtX2Zhdmljb25EYXRhYmFzZTsKLSAgICBPd25Q
dHI8RXdrU3RvcmFnZU1hbmFnZXI+IG1fc3RvcmFnZU1hbmFnZXI7CisgICAgc3RkOjp1bmlxdWVf
cHRyPEV3a0Nvb2tpZU1hbmFnZXI+IG1fY29va2llTWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8RXdrRGF0YWJhc2VNYW5hZ2VyPiBtX2RhdGFiYXNlTWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8RXdrRmF2aWNvbkRhdGFiYXNlPiBtX2Zhdmljb25EYXRhYmFzZTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8RXdrU3RvcmFnZU1hbmFnZXI+IG1fc3RvcmFnZU1hbmFnZXI7CiAjaWYgRU5BQkxF
KEJBVFRFUllfU1RBVFVTKQogICAgIFJlZlB0cjxXZWJLaXQ6OkJhdHRlcnlQcm92aWRlcj4gbV9i
YXR0ZXJ5UHJvdmlkZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogICAgIFJl
ZlB0cjxXZWJLaXQ6Ok5ldHdvcmtJbmZvUHJvdmlkZXI+IG1fbmV0d29ya0luZm9Qcm92aWRlcjsK
ICNlbmRpZgotICAgIE93blB0cjxXZWJLaXQ6OkRvd25sb2FkTWFuYWdlckVmbD4gbV9kb3dubG9h
ZE1hbmFnZXI7Ci0gICAgT3duUHRyPFdlYktpdDo6UmVxdWVzdE1hbmFnZXJDbGllbnRFZmw+IG1f
cmVxdWVzdE1hbmFnZXJDbGllbnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6RG93bmxv
YWRNYW5hZ2VyRWZsPiBtX2Rvd25sb2FkTWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
S2l0OjpSZXF1ZXN0TWFuYWdlckNsaWVudEVmbD4gbV9yZXF1ZXN0TWFuYWdlckNsaWVudDsKIAot
ICAgIE93blB0cjxXZWJLaXQ6OkNvbnRleHRIaXN0b3J5Q2xpZW50RWZsPiBtX2hpc3RvcnlDbGll
bnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6Q29udGV4dEhpc3RvcnlDbGllbnRFZmw+
IG1faGlzdG9yeUNsaWVudDsKIH07CiAKICNlbmRpZiAvLyBld2tfY29udGV4dF9wcml2YXRlX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVf
bWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29va2ll
X21hbmFnZXIuY3BwCmluZGV4IDQ3NWRjYTc4ZTU3MjI2ZmI4M2M0MjUyZjk0NzIyZWJlZjMzNTc1
OGIuLjQ2NzRlMjM0MjIxYjg3ZjA3ZjI2MDBmYzIzYjM1MzhkMDdjMDU2ODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2Vy
LmNwcApAQCAtMTU2LDEyICsxNTYsMTAgQEAgc3RydWN0IEdldF9Qb2xpY3lfQXN5bmNfRGF0YSB7
CiAKIHN0YXRpYyB2b2lkIGdldEFjY2VwdFBvbGljeUNhbGxiYWNrKFdLSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSBwb2xpY3ksIFdLRXJyb3JSZWYgd2tFcnJvciwgdm9pZCogZGF0YSkKIHsKLSAgICBH
ZXRfUG9saWN5X0FzeW5jX0RhdGEqIGNhbGxiYWNrRGF0YSA9IHN0YXRpY19jYXN0PEdldF9Qb2xp
Y3lfQXN5bmNfRGF0YSo+KGRhdGEpOworICAgIGF1dG8gY2FsbGJhY2tEYXRhID0gc3RkOjp1bmlx
dWVfcHRyPEdldF9Qb2xpY3lfQXN5bmNfRGF0YT4oc3RhdGljX2Nhc3Q8R2V0X1BvbGljeV9Bc3lu
Y19EYXRhKj4oZGF0YSkpOwogICAgIE93blB0cjxFd2tFcnJvcj4gZXdrRXJyb3IgPSBFd2tFcnJv
cjo6Y3JlYXRlKHdrRXJyb3IpOwogCiAgICAgY2FsbGJhY2tEYXRhLT5jYWxsYmFjayhzdGF0aWNf
Y2FzdDxFd2tfQ29va2llX0FjY2VwdF9Qb2xpY3k+KHBvbGljeSksIGV3a0Vycm9yLmdldCgpLCBj
YWxsYmFja0RhdGEtPnVzZXJEYXRhKTsKLQotICAgIGRlbGV0ZSBjYWxsYmFja0RhdGE7CiB9CiAK
IHZvaWQgZXdrX2Nvb2tpZV9tYW5hZ2VyX2FzeW5jX2FjY2VwdF9wb2xpY3lfZ2V0KGNvbnN0IEV3
a19Db29raWVfTWFuYWdlciogbWFuYWdlciwgRXdrX0Nvb2tpZV9NYW5hZ2VyX0FzeW5jX1BvbGlj
eV9HZXRfQ2IgY2FsbGJhY2ssIHZvaWQqIGRhdGEpCkBAIC0xODYsNyArMTg0LDcgQEAgc3RydWN0
IEdldF9Ib3N0bmFtZXNfQXN5bmNfRGF0YSB7CiBzdGF0aWMgdm9pZCBnZXRIb3N0bmFtZXNXaXRo
Q29va2llc0NhbGxiYWNrKFdLQXJyYXlSZWYgd2tIb3N0bmFtZXMsIFdLRXJyb3JSZWYgd2tFcnJv
ciwgdm9pZCogY29udGV4dCkKIHsKICAgICBFaW5hX0xpc3QqIGhvc3RuYW1lcyA9IDA7Ci0gICAg
R2V0X0hvc3RuYW1lc19Bc3luY19EYXRhKiBjYWxsYmFja0RhdGEgPSBzdGF0aWNfY2FzdDxHZXRf
SG9zdG5hbWVzX0FzeW5jX0RhdGEqPihjb250ZXh0KTsKKyAgICBhdXRvIGNhbGxiYWNrRGF0YSA9
IHN0ZDo6dW5pcXVlX3B0cjxHZXRfSG9zdG5hbWVzX0FzeW5jX0RhdGE+KHN0YXRpY19jYXN0PEdl
dF9Ib3N0bmFtZXNfQXN5bmNfRGF0YSo+KGNvbnRleHQpKTsKICAgICBPd25QdHI8RXdrRXJyb3I+
IGV3a0Vycm9yID0gRXdrRXJyb3I6OmNyZWF0ZSh3a0Vycm9yKTsKIAogICAgIGNvbnN0IHNpemVf
dCBob3N0bmFtZUNvdW50ID0gV0tBcnJheUdldFNpemUod2tIb3N0bmFtZXMpOwpAQCAtMjAyLDgg
KzIwMCw2IEBAIHN0YXRpYyB2b2lkIGdldEhvc3RuYW1lc1dpdGhDb29raWVzQ2FsbGJhY2soV0tB
cnJheVJlZiB3a0hvc3RuYW1lcywgV0tFcnJvclJlZiB3CiAgICAgdm9pZCogaXRlbTsKICAgICBF
SU5BX0xJU1RfRlJFRShob3N0bmFtZXMsIGl0ZW0pCiAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2Rl
bChzdGF0aWNfY2FzdDxFaW5hX1N0cmluZ3NoYXJlKj4oaXRlbSkpOwotCi0gICAgZGVsZXRlIGNh
bGxiYWNrRGF0YTsKIH0KIAogdm9pZCBld2tfY29va2llX21hbmFnZXJfYXN5bmNfaG9zdG5hbWVz
X3dpdGhfY29va2llc19nZXQoY29uc3QgRXdrX0Nvb2tpZV9NYW5hZ2VyKiBtYW5hZ2VyLCBFd2tf
Q29va2llX01hbmFnZXJfQXN5bmNfSG9zdG5hbWVzX0dldF9DYiBjYWxsYmFjaywgdm9pZCogZGF0
YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29r
aWVfbWFuYWdlcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29va2llX21hbmFnZXJfcHJpdmF0ZS5oCmluZGV4IGQ0Nzg5MzZkZmU2NzI0MDAzNmEzY2Nh
ZDkzNmEyZDc3ZWY3ZGY2NzMuLjVhZWM4ZDE3ODU5NGMyNjdmZGY3ODRlYjVlMTQxOGMyOGE0Y2Zl
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29r
aWVfbWFuYWdlcl9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyX3ByaXZhdGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgIldLUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiZXdrX2Nvb2tpZV9tYW5hZ2VyLmgiCiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBz
dHJ1Y3QgQ29va2llX0NoYW5nZV9IYW5kbGVyIHsKICAgICBFd2tfQ29va2llX01hbmFnZXJfQ2hh
bmdlc19XYXRjaF9DYiBjYWxsYmFjazsKQEAgLTUwLDExICs0OSw3IEBAIHN0cnVjdCBDb29raWVf
Q2hhbmdlX0hhbmRsZXIgewogCiBjbGFzcyBFd2tDb29raWVNYW5hZ2VyIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc093blB0cjxFd2tDb29raWVNYW5hZ2VyPiBjcmVhdGUoV0tDb29raWVNYW5h
Z2VyUmVmIGNvb2tpZU1hbmFnZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IEV3a0Nvb2tpZU1hbmFnZXIoY29va2llTWFuYWdlcikpOwotICAgIH0KLQorICAgIGV4cGxpY2l0
IEV3a0Nvb2tpZU1hbmFnZXIoV0tDb29raWVNYW5hZ2VyUmVmIGNvb2tpZU1hbmFnZXIpOwogICAg
IH5Fd2tDb29raWVNYW5hZ2VyKCk7CiAKICAgICB2b2lkIHNldFBlcnNpc3RlbnRTdG9yYWdlKGNv
bnN0IGNoYXIqIGZpbGVuYW1lLCBXS0Nvb2tpZVN0b3JhZ2VUeXBlKTsKQEAgLTY5LDggKzY0LDYg
QEAgcHVibGljOgogICAgIHZvaWQgd2F0Y2hDaGFuZ2VzKGNvbnN0IENvb2tpZV9DaGFuZ2VfSGFu
ZGxlciYgY2hhbmdlSGFuZGxlcik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrQ29va2ll
TWFuYWdlcihXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlcik7Ci0KICAgICBib29sIGlz
V2F0Y2hpbmdGb3JDaGFuZ2VzKCkgY29uc3Q7CiAKICAgICBzdGF0aWMgdm9pZCBjb29raWVzRGlk
Q2hhbmdlKFdLQ29va2llTWFuYWdlclJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFu
YWdlcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0
YWJhc2VfbWFuYWdlcl9wcml2YXRlLmgKaW5kZXggYjc2OTE4NTA1Mzk3YmY5ZGMyMjE5YzA1ODcw
ZTZiZjE2YmUyYTgwYy4uM2NkMTJhOTg3NjQ4MmRiNDhmYzk5YTYyNzIxMzA2YzAzMDFhMjE2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNl
X21hbmFnZXJfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19kYXRhYmFzZV9tYW5hZ2VyX3ByaXZhdGUuaApAQCAtMzAsMjQgKzMwLDE3IEBACiAjaW5j
bHVkZSAiV0tSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJld2tfc2VjdXJpdHlfb3JpZ2luX3ByaXZh
dGUuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIGNsYXNzIEV3a0RhdGFiYXNlTWFu
YWdlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrRGF0YWJhc2VNYW5hZ2Vy
PiBjcmVhdGUoV0tEYXRhYmFzZU1hbmFnZXJSZWYgZGF0YWJhc2VNYW5hZ2VyKQotICAgIHsKLSAg
ICAgICAgQVNTRVJUKGRhdGFiYXNlTWFuYWdlcik7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgRXdrRGF0YWJhc2VNYW5hZ2VyKGRhdGFiYXNlTWFuYWdlcikpOwotICAgIH0KKyAgICBleHBs
aWNpdCBFd2tEYXRhYmFzZU1hbmFnZXIoV0tEYXRhYmFzZU1hbmFnZXJSZWYpOwogCiAgICAgRWlu
YV9MaXN0KiBjcmVhdGVPcmlnaW5MaXN0KFdLQXJyYXlSZWYgd2tMaXN0KSBjb25zdDsKICAgICB2
b2lkIGdldERhdGFiYXNlT3JpZ2lucyhXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlT3JpZ2lu
c0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdDsKIAogcHJpdmF0ZToKLSAg
ICBleHBsaWNpdCBFd2tEYXRhYmFzZU1hbmFnZXIoV0tEYXRhYmFzZU1hbmFnZXJSZWYpOwotCiAg
ICAgV0tSZXRhaW5QdHI8V0tEYXRhYmFzZU1hbmFnZXJSZWY+IG1fZGF0YWJhc2VNYW5hZ2VyOwog
ICAgIG11dGFibGUgSGFzaE1hcDxXS1NlY3VyaXR5T3JpZ2luUmVmLCBSZWZQdHI8RXdrU2VjdXJp
dHlPcmlnaW4+ID4gbV93cmFwcGVyQ2FjaGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0
ZS5oCmluZGV4IDFjYzc3MjJkOGNhMzdkNWQ3OTVmODRmMDYyNGQzZTFkMjU5ODllZDcuLmIyNzgw
N2M2YTRjYmRmNjdiYTQ5ZmYyZTQ5YmY3NWU1Y2FjMWUyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFz
ZV9wcml2YXRlLmgKQEAgLTUxLDEwICs1MSw3IEBAIHR5cGVkZWYgSGFzaE1hcDxFd2tfRmF2aWNv
bl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiwgSWNvbkNoYW5nZUNhbGxiYWNrRGF0YT4gQ2hhCiAK
IGNsYXNzIEV3a0Zhdmljb25EYXRhYmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8RXdrRmF2aWNvbkRhdGFiYXNlPiBjcmVhdGUoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFi
YXNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tGYXZpY29uRGF0YWJh
c2UoaWNvbkRhdGFiYXNlKSk7Ci0gICAgfQorICAgIGV4cGxpY2l0IEV3a0Zhdmljb25EYXRhYmFz
ZShXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UpOwogICAgIH5Fd2tGYXZpY29uRGF0YWJh
c2UoKTsKIAogICAgIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBnZXRJY29uU3VyZmFjZVN5
bmNocm9ub3VzbHkoY29uc3QgY2hhciogcGFnZVVSTCkgY29uc3Q7CkBAIC02Miw4ICs1OSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHVud2F0Y2hDaGFuZ2VzKEV3a19GYXZpY29uX0RhdGFiYXNlX0lj
b25fQ2hhbmdlX0NiIGNhbGxiYWNrKTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFd2tGYXZp
Y29uRGF0YWJhc2UoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlKTsKLQogICAgIHN0YXRp
YyB2b2lkIGRpZENoYW5nZUljb25Gb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRh
YmFzZSwgV0tVUkxSZWYgcGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3Rh
dGljIHZvaWQgaWNvbkRhdGFSZWFkeUZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRh
dGFiYXNlLCBXS1VSTFJlZiBwYWdlVVJMLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuY3Bw
CmluZGV4IDFjOGMzM2FmMWRiZGNhYmQwMGRmZTE2YzFkNjllN2NlMmQzYWRkYzYuLjMxMDIyNzFk
NjIyMmZjODE1MTY0MmU0NmMwYTBlM2MxM2EyNWFlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudS5jcHAKQEAgLTQzLDcgKzQzLDcg
QEAgRXdrUG9wdXBNZW51OjpFd2tQb3B1cE1lbnUoRXdrVmlldyogdmlldywgV0tQb3B1cE1lbnVM
aXN0ZW5lclJlZiBwb3B1cE1lbnVMaXN0ZW4KICAgICBzaXplX3Qgc2l6ZSA9IFdLQXJyYXlHZXRT
aXplKGl0ZW1zKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAg
ICAgICBXS1BvcHVwSXRlbVJlZiB3a0l0ZW0gPSBzdGF0aWNfY2FzdDxXS1BvcHVwSXRlbVJlZj4o
V0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1zLCBpKSk7Ci0gICAgICAgIG1fcG9wdXBNZW51SXRl
bXMgPSBlaW5hX2xpc3RfYXBwZW5kKG1fcG9wdXBNZW51SXRlbXMsIEV3a1BvcHVwTWVudUl0ZW06
OmNyZWF0ZSh3a0l0ZW0pLmxlYWtQdHIoKSk7CisgICAgICAgIG1fcG9wdXBNZW51SXRlbXMgPSBl
aW5hX2xpc3RfYXBwZW5kKG1fcG9wdXBNZW51SXRlbXMsIHN0ZDo6bWFrZV91bmlxdWU8RXdrUG9w
dXBNZW51SXRlbT4od2tJdGVtKS5yZWxlYXNlKCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbV9wcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9p
dGVtX3ByaXZhdGUuaAppbmRleCBkOGQyYjhjY2VmM2Q3NWQ0NzY1NjcxZjY3ZDhkNTg0OWU5ZTMy
NDM5Li4xOTA3ODQ0NzczOWI5M2FkMzczYjIwZWM3MTMxNjY4YzJjZGM0OWVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtX3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBf
bWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIldLUmV0YWlu
UHRyLmgiCiAjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnVfaXRlbS5oIgogI2luY2x1ZGUgPFdlYktp
dDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogLyoqCiAgKiBcc3Ry
dWN0ICBFd2tfUG9wdXBfTWVudV9JdGVtCkBAIC0zOCwxMCArMzcsNyBAQAogICovCiBjbGFzcyBF
d2tQb3B1cE1lbnVJdGVtIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFd2tQb3B1
cE1lbnVJdGVtPiBjcmVhdGUoV0tQb3B1cEl0ZW1SZWYgaXRlbSkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgRXdrUG9wdXBNZW51SXRlbShpdGVtKSk7Ci0gICAgfQorICAgIGV4
cGxpY2l0IEV3a1BvcHVwTWVudUl0ZW0oV0tQb3B1cEl0ZW1SZWYgaXRlbSk7CiAKICAgICBFd2tf
UG9wdXBfTWVudV9JdGVtX1R5cGUgdHlwZSgpIGNvbnN0OwogICAgIEV3a19UZXh0X0RpcmVjdGlv
biB0ZXh0RGlyZWN0aW9uKCkgY29uc3Q7CkBAIC01Niw4ICs1Miw2IEBAIHB1YmxpYzoKICAgICBj
b25zdCBjaGFyKiBhY2Nlc3NpYmlsaXR5VGV4dCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIGV4
cGxpY2l0IEV3a1BvcHVwTWVudUl0ZW0oV0tQb3B1cEl0ZW1SZWYgaXRlbSk7Ci0KICAgICBXS1Jl
dGFpblB0cjxXS1BvcHVwSXRlbVJlZj4gbV93a0l0ZW07CiAKICAgICAvLyBMYXppbHkgaW5pdGlh
bGl6ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
cG9wdXBfbWVudV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfcG9wdXBfbWVudV9wcml2YXRlLmgKaW5kZXggNWNkMmUzYWFmZDQ1NjMxZDUzYzFiMzg3Zjg4
MmNiYWUwYjJkMzBmOS4uY2I0YzdmZTJiM2Q2MzgwODAxNjBkNDM5NjQ3YWY1MDc5OTRiYWZlMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21l
bnVfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19w
b3B1cF9tZW51X3ByaXZhdGUuaApAQCAtMjksMTYgKzI5LDEyIEBACiAKICNpbmNsdWRlIDxFaW5h
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBjbGFzcyBFd2tWaWV3OwogCiBjbGFzcyBFd2tQb3B1cE1lbnUgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a1BvcHVwTWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXcs
IFdLUG9wdXBNZW51TGlzdGVuZXJSZWYgcG9wdXBNZW51TGlzdGVuZXIsIFdLQXJyYXlSZWYgaXRl
bXMsIHVuc2lnbmVkIHNlbGVjdGVkSW5kZXgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IEV3a1BvcHVwTWVudSh2aWV3LCBwb3B1cE1lbnVMaXN0ZW5lciwgaXRlbXMsIHNlbGVj
dGVkSW5kZXgpKTsKLSAgICB9CisgICAgRXdrUG9wdXBNZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBX
S1BvcHVwTWVudUxpc3RlbmVyUmVmLCBXS0FycmF5UmVmIGl0ZW1zLCB1bnNpZ25lZCBzZWxlY3Rl
ZEluZGV4KTsKICAgICB+RXdrUG9wdXBNZW51KCk7CiAKICAgICB2b2lkIGNsb3NlKCk7CkBAIC00
OSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7
CiAKIHByaXZhdGU6Ci0gICAgRXdrUG9wdXBNZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBXS1BvcHVw
TWVudUxpc3RlbmVyUmVmLCBXS0FycmF5UmVmIGl0ZW1zLCB1bnNpZ25lZCBzZWxlY3RlZEluZGV4
KTsKLQogICAgIEV3a1ZpZXcqIG1fdmlldzsKICAgICBXS1JldGFpblB0cjxXS1BvcHVwTWVudUxp
c3RlbmVyUmVmPiBtX3BvcHVwTWVudUxpc3RlbmVyOwogICAgIEVpbmFfTGlzdCogbV9wb3B1cE1l
bnVJdGVtczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19zZXR0aW5nc19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfc2V0dGluZ3NfcHJpdmF0ZS5oCmluZGV4IDBiODVkOWIyZjI1MDNiNDc4MjZmYzM5MGRmMDc4
ZGU0ZGVhYjhlOWIuLmFhNGVmNGJlNDJjYTc0NTM2Yjg5Mjg4ODUzMmYyZDlmNjRhZTMzMDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5nc19w
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRp
bmdzX3ByaXZhdGUuaApAQCAtMjcsOCArMjcsNiBAQAogI2lmbmRlZiBld2tfc2V0dGluZ3NfcHJp
dmF0ZV9oCiAjZGVmaW5lIGV3a19zZXR0aW5nc19wcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUHJlZmVyZW5jZXM7
CiB9CkBAIC0zOSwyMSArMzcsMTYgQEAgY2xhc3MgRXdrVmlldzsKICAqLwogY2xhc3MgRXdrU2V0
dGluZ3MgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a1NldHRpbmdzPiBjcmVh
dGUoRXdrVmlldyogdmlld0ltcGwpCisgICAgZXhwbGljaXQgRXdrU2V0dGluZ3MoRXdrVmlldyog
dmlld0ltcGwpCisgICAgICAgIDogbV92aWV3KHZpZXdJbXBsKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBFd2tTZXR0aW5ncyh2aWV3SW1wbCkpOworICAgICAgICBBU1NFUlQo
bV92aWV3KTsKICAgICB9CiAKICAgICBjb25zdCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzKiBwcmVm
ZXJlbmNlcygpIGNvbnN0OwogICAgIFdlYktpdDo6V2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2Vz
KCk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrU2V0dGluZ3MoRXdrVmlldyogdmlld0lt
cGwpCi0gICAgICAgIDogbV92aWV3KHZpZXdJbXBsKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1f
dmlldyk7Ci0gICAgfQotCiAgICAgRXdrVmlldyogbV92aWV3OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNw
cAppbmRleCBjYTkyNWZlY2IzYWVkYjk2NDE0NzU2YTAzZWEyY2IwY2ZlOTFhZjg1Li4zM2Y0ZmQy
YWI4YzRiNDYzNWNlNDdmZGJmMDY4Y2NhZjhjNTljNjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcApAQCAt
NzgsNyArNzgsNyBAQCBzdHJ1Y3QgRXdrX1N0b3JhZ2VfT3JpZ2luc19Bc3luY19HZXRfQ29udGV4
dCB7CiBzdGF0aWMgdm9pZCBnZXRTdG9yYWdlT3JpZ2luc0NhbGxiYWNrKFdLQXJyYXlSZWYgb3Jp
Z2lucywgV0tFcnJvclJlZiB3a0Vycm9yLCB2b2lkKiBjb250ZXh0KQogewogICAgIEVpbmFfTGlz
dCogb3JpZ2luTGlzdCA9IDA7Ci0gICAgT3duUHRyPEV3a19TdG9yYWdlX09yaWdpbnNfQXN5bmNf
R2V0X0NvbnRleHQ+IHdlYlN0b3JhZ2VDb250ZXh0ID0gYWRvcHRQdHIoc3RhdGljX2Nhc3Q8RXdr
X1N0b3JhZ2VfT3JpZ2luc19Bc3luY19HZXRfQ29udGV4dCo+KGNvbnRleHQpKTsKKyAgICBhdXRv
IHdlYlN0b3JhZ2VDb250ZXh0ID0gc3RkOjp1bmlxdWVfcHRyPEV3a19TdG9yYWdlX09yaWdpbnNf
QXN5bmNfR2V0X0NvbnRleHQ+KHN0YXRpY19jYXN0PEV3a19TdG9yYWdlX09yaWdpbnNfQXN5bmNf
R2V0X0NvbnRleHQqPihjb250ZXh0KSk7CiAKICAgICBvcmlnaW5MaXN0ID0gd2ViU3RvcmFnZUNv
bnRleHQtPm1hbmFnZXItPmNyZWF0ZU9yaWdpbkxpc3Qob3JpZ2lucyk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXJfcHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3N0b3JhZ2VfbWFu
YWdlcl9wcml2YXRlLmgKaW5kZXggNTUwY2ZmMGY0NmZhMTZhMzJhOGI5ZDAyZDZlOWQ1YjBiNDAy
YzFiNi4uZTBhOWE5ZGM0YzRjYmY4YjEzMDAwYmU0OTRiMjEzOTRhOThlNzQyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdlcl9w
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3N0b3Jh
Z2VfbWFuYWdlcl9wcml2YXRlLmgKQEAgLTMwLDI0ICszMCwxNyBAQAogI2luY2x1ZGUgIldLUmV0
YWluUHRyLmgiCiAjaW5jbHVkZSAiZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgiCiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiB1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBjbGFzcyBFd2tTdG9yYWdlTWFuYWdlciB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrU3RvcmFnZU1hbmFnZXI+IGNyZWF0ZShXS0tl
eVZhbHVlU3RvcmFnZU1hbmFnZXJSZWYgc3RvcmFnZU1hbmFnZXIpCi0gICAgewotICAgICAgICBB
U1NFUlQoc3RvcmFnZU1hbmFnZXIpOwotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a1N0
b3JhZ2VNYW5hZ2VyKHN0b3JhZ2VNYW5hZ2VyKSk7Ci0gICAgfQorICAgIGV4cGxpY2l0IEV3a1N0
b3JhZ2VNYW5hZ2VyKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZik7CiAKICAgICBFaW5hX0xp
c3QqIGNyZWF0ZU9yaWdpbkxpc3QoV0tBcnJheVJlZiB3a0xpc3QpIGNvbnN0OwogICAgIHZvaWQg
Z2V0U3RvcmFnZU9yaWdpbnModm9pZCogY29udGV4dCwgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
R2V0S2V5VmFsdWVTdG9yYWdlT3JpZ2luc0Z1bmN0aW9uIGNhbGxiYWNrKSBjb25zdDsKIAogcHJp
dmF0ZToKLSAgICBleHBsaWNpdCBFd2tTdG9yYWdlTWFuYWdlcihXS0tleVZhbHVlU3RvcmFnZU1h
bmFnZXJSZWYpOwotCiAgICAgV0tSZXRhaW5QdHI8V0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVm
PiBtX3N0b3JhZ2VNYW5hZ2VyOwogICAgIG11dGFibGUgSGFzaE1hcDxXS1NlY3VyaXR5T3JpZ2lu
UmVmLCBSZWZQdHI8RXdrU2VjdXJpdHlPcmlnaW4+ID4gbV93cmFwcGVyQ2FjaGU7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IDE3YzIx
ZDUzNzZkMWQzMGFkMGRkZjNlN2Y3OWYzMjE2YmVhN2ZjNGUuLjFiMDlhMWFmNTNjMWUxNTRiZGU5
OTFhZDEzYmVkNjg0OTAzNTUzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5jcHAKQEAgLTU2OCwxMCArNTY4LDggQEAgc3RhdGljIHZvaWQgZXdrVmll
d1BhZ2VDb250ZW50c0FzTUhUTUxDYWxsYmFjayhXS0RhdGFSZWYgd2tEYXRhLCBXS0Vycm9yUmVm
LCB2b2kKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihjb250ZXh0KTsKIAotICAg
IEV3a19QYWdlX0NvbnRlbnRzX0NvbnRleHQqIGNvbnRlbnRzQ29udGV4dCA9IHN0YXRpY19jYXN0
PEV3a19QYWdlX0NvbnRlbnRzX0NvbnRleHQqPihjb250ZXh0KTsKKyAgICBhdXRvIGNvbnRlbnRz
Q29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxFd2tfUGFnZV9Db250ZW50c19Db250ZXh0PihzdGF0
aWNfY2FzdDxFd2tfUGFnZV9Db250ZW50c19Db250ZXh0Kj4oY29udGV4dCkpOwogICAgIGNvbnRl
bnRzQ29udGV4dC0+Y2FsbGJhY2soY29udGVudHNDb250ZXh0LT50eXBlLCByZWludGVycHJldF9j
YXN0PGNvbnN0IGNoYXIqPihXS0RhdGFHZXRCeXRlcyh3a0RhdGEpKSwgY29udGVudHNDb250ZXh0
LT51c2VyRGF0YSk7Ci0KLSAgICBkZWxldGUgY29udGVudHNDb250ZXh0OwogfQogCiAvKioKQEAg
LTU4MiwxMCArNTgwLDggQEAgc3RhdGljIHZvaWQgZXdrVmlld1BhZ2VDb250ZW50c0FzU3RyaW5n
Q2FsbGJhY2soV0tTdHJpbmdSZWYgd2tTdHJpbmcsIFdLRXJyb3JSZWYKIHsKICAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTihjb250ZXh0KTsKIAotICAgIEV3a19QYWdlX0NvbnRlbnRzX0Nv
bnRleHQqIGNvbnRlbnRzQ29udGV4dCA9IHN0YXRpY19jYXN0PEV3a19QYWdlX0NvbnRlbnRzX0Nv
bnRleHQqPihjb250ZXh0KTsKKyAgICBhdXRvIGNvbnRlbnRzQ29udGV4dCA9IHN0ZDo6dW5pcXVl
X3B0cjxFd2tfUGFnZV9Db250ZW50c19Db250ZXh0PihzdGF0aWNfY2FzdDxFd2tfUGFnZV9Db250
ZW50c19Db250ZXh0Kj4oY29udGV4dCkpOwogICAgIGNvbnRlbnRzQ29udGV4dC0+Y2FsbGJhY2so
Y29udGVudHNDb250ZXh0LT50eXBlLCBXS0VpbmFTaGFyZWRTdHJpbmcod2tTdHJpbmcpLCBjb250
ZW50c0NvbnRleHQtPnVzZXJEYXRhKTsKLQotICAgIGRlbGV0ZSBjb250ZW50c0NvbnRleHQ7CiB9
CiAKIEVpbmFfQm9vbCBld2tfdmlld19wYWdlX2NvbnRlbnRzX2dldChjb25zdCBFdmFzX09iamVj
dCogZXdrVmlldywgRXdrX1BhZ2VfQ29udGVudHNfVHlwZSB0eXBlLCBFd2tfUGFnZV9Db250ZW50
c19DYiBjYWxsYmFjaywgdm9pZCogdXNlcl9kYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2F1dGhfcmVxdWVzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfYXV0aF9yZXF1
ZXN0LmNwcAppbmRleCAwYTcwMzJkMGRjM2I5MTBlMjJkMDEyNTYwOWYwMDA2NDA2YTM0ZjcyLi5i
NjNiYzlmMDBmMmIyZDE5MGUxYmZkZWRjMzczNWUyMzZjODM0NDNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfYXV0aF9yZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3
azJfYXV0aF9yZXF1ZXN0LmNwcApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVkZSAiVW5pdFRl
c3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgiCiAjaW5jbHVkZSAiVW5pdFRlc3RVdGlscy9FV0sy
VW5pdFRlc3RTZXJ2ZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiB1c2luZyBu
YW1lc3BhY2UgRVdLMlVuaXRUZXN0OwogCkBAIC05MSw3ICs5MCw3IEBAIHB1YmxpYzoKIAogVEVT
VF9GKEVXSzJBdXRoUmVxdWVzdFRlc3QsIGV3a19hdXRoX3JlcXVlc3Rfc3VjY2VzcykKIHsKLSAg
ICBPd25QdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVX
SzJVbml0VGVzdFNlcnZlcik7CisgICAgc3RkOjp1bmlxdWVfcHRyPEVXSzJVbml0VGVzdFNlcnZl
cj4gaHR0cFNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8RVdLMlVuaXRUZXN0U2VydmVyPigpOwog
ICAgIGh0dHBTZXJ2ZXItPnJ1bihzZXJ2ZXJDYWxsYmFjayk7CiAKICAgICBFd2tfQXV0aF9SZXF1
ZXN0KiBhdXRoZW50aWNhdGlvblJlcXVlc3QgPSAwOwpAQCAtMTE4LDcgKzExNyw3IEBAIFRFU1Rf
RihFV0syQXV0aFJlcXVlc3RUZXN0LCBld2tfYXV0aF9yZXF1ZXN0X3N1Y2Nlc3MpCiAKIFRFU1Rf
RihFV0syQXV0aFJlcXVlc3RUZXN0LCBld2tfYXV0aF9yZXF1ZXN0X2ZhaWx1cmVfdGhlbl9zdWNj
ZXNzKQogewotICAgIE93blB0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9w
dFB0cihuZXcgRVdLMlVuaXRUZXN0U2VydmVyKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RVdLMlVu
aXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxFV0syVW5pdFRlc3RT
ZXJ2ZXI+KCk7CiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrKTsKIAogICAgIEV3
a19BdXRoX1JlcXVlc3QqIGF1dGhlbnRpY2F0aW9uUmVxdWVzdCA9IDA7CkBAIC0xNTksNyArMTU4
LDcgQEAgVEVTVF9GKEVXSzJBdXRoUmVxdWVzdFRlc3QsIGV3a19hdXRoX3JlcXVlc3RfZmFpbHVy
ZV90aGVuX3N1Y2Nlc3MpCiAKIFRFU1RfRihFV0syQXV0aFJlcXVlc3RUZXN0LCBld2tfYXV0aF9y
ZXF1ZXN0X2NhbmNlbCkKIHsKLSAgICBPd25QdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2Vy
dmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVzdFNlcnZlcik7CisgICAgc3RkOjp1bmlxdWVf
cHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8RVdL
MlVuaXRUZXN0U2VydmVyPigpOwogICAgIGh0dHBTZXJ2ZXItPnJ1bihzZXJ2ZXJDYWxsYmFjayk7
CiAKICAgICBFd2tfQXV0aF9SZXF1ZXN0KiBhdXRoZW50aWNhdGlvblJlcXVlc3QgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2sy
X2JhY2tfZm9yd2FyZF9saXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL3Rlc3RfZXdrMl9iYWNrX2ZvcndhcmRfbGlzdC5jcHAKaW5kZXggNDAwZjU0MzBkY2Qz
MDk1MDEwYTZkMmM5ZTZjNzhhZThjMmE3MTgwMi4uM2M1MjU5ZGMwYTRjMzIwZTVlZTNhZmIyMjIw
YWM5OGNjMGZkNDFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3Qu
Y3BwCkBAIC0yOCw4ICsyOCw2IEBACiAjaW5jbHVkZSAiVW5pdFRlc3RVdGlscy9FV0syVW5pdFRl
c3RCYXNlLmgiCiAjaW5jbHVkZSAiVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RTZXJ2ZXIuaCIK
ICNpbmNsdWRlICJXS0VpbmFTaGFyZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEVXSzJVbml0
VGVzdDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC0xMDIsNyArMTAwLDcgQEAgVEVTVF9GKEVX
SzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tfYmFja19mb3J3YXJkX2xpc3RfY3VycmVudF9pdGVt
X2dldCkKIAogVEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tfYmFja19mb3J3YXJk
X2xpc3RfcHJldmlvdXNfaXRlbV9nZXQpCiB7Ci0gICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZl
cj4gaHR0cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVy
Q2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwxID0gdXJs
RnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7CkBAIC0xMjQsNyArMTIyLDcgQEAg
VEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tfYmFja19mb3J3YXJkX2xpc3RfcHJl
dmlvdXNfaXRlbV9nZXQpCiAKIFRFU1RfRihFV0syQmFja0ZvcndhcmRMaXN0VGVzdCwgZXdrX2Jh
Y2tfZm9yd2FyZF9saXN0X25leHRfaXRlbV9nZXQpCiB7Ci0gICAgT3duUHRyPEVXSzJVbml0VGVz
dFNlcnZlcj4gaHR0cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBodHRwU2VydmVyLT5ydW4o
c2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5j
KHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKSk7CkBAIC0xNTAsNyArMTQ4
LDcgQEAgVEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tfYmFja19mb3J3YXJkX2xp
c3RfbmV4dF9pdGVtX2dldCkKIAogVEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tf
YmFja19mb3J3YXJkX2xpc3RfaXRlbV9hdF9pbmRleF9nZXQpCiB7Ci0gICAgT3duUHRyPEVXSzJV
bml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2
ZXIpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBodHRwU2VydmVy
LT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmlu
ZyB1cmwxID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7CkBAIC0xNzUs
NyArMTczLDcgQEAgVEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0LCBld2tfYmFja19mb3J3
YXJkX2xpc3RfaXRlbV9hdF9pbmRleF9nZXQpCiAKIFRFU1RfRihFV0syQmFja0ZvcndhcmRMaXN0
VGVzdCwgZXdrX2JhY2tfZm9yd2FyZF9saXN0X2NvdW50KQogewotICAgIE93blB0cjxFV0syVW5p
dFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVuaXRUZXN0U2VydmVy
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0g
c3RkOjptYWtlX3VuaXF1ZTxFV0syVW5pdFRlc3RTZXJ2ZXI+KCk7CiAgICAgaHR0cFNlcnZlci0+
cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJs
U3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUxKSkpOwpAQCAtMTkyLDcg
KzE5MCw3IEBAIFRFU1RfRihFV0syQmFja0ZvcndhcmRMaXN0VGVzdCwgZXdrX2JhY2tfZm9yd2Fy
ZF9saXN0X2NvdW50KQogCiBURVNUX0YoRVdLMkJhY2tGb3J3YXJkTGlzdFRlc3QsIGV3a19iYWNr
X2ZvcndhcmRfbGlzdF9uX2JhY2tfaXRlbXNfY29weSkKIHsKLSAgICBPd25QdHI8RVdLMlVuaXRU
ZXN0U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVzdFNlcnZlcik7
CisgICAgc3RkOjp1bmlxdWVfcHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IHN0
ZDo6bWFrZV91bmlxdWU8RVdLMlVuaXRUZXN0U2VydmVyPigpOwogICAgIGh0dHBTZXJ2ZXItPnJ1
bihzZXJ2ZXJDYWxsYmFja05hdmlnYXRpb24pOwogCiAgICAgV0tFaW5hU2hhcmVkU3RyaW5nIHVy
bDEgPSB1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUxKTsKQEAgLTIyOSw3ICsy
MjcsNyBAQCBURVNUX0YoRVdLMkJhY2tGb3J3YXJkTGlzdFRlc3QsIGV3a19iYWNrX2ZvcndhcmRf
bGlzdF9uX2JhY2tfaXRlbXNfY29weSkKIAogVEVTVF9GKEVXSzJCYWNrRm9yd2FyZExpc3RUZXN0
LCBld2tfYmFja19mb3J3YXJkX2xpc3Rfbl9mb3J3YXJkX2l0ZW1zX2NvcHkpCiB7Ci0gICAgT3du
UHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5p
dFRlc3RTZXJ2ZXIpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0
dHBTZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBo
dHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIEFTU0VSVF9U
UlVFKGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0
X2V3azJfY29va2llX21hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX2Nvb2tpZV9tYW5hZ2VyLmNwcAppbmRleCA4ODFjZTE3NGI3NTQ0
Y2YyMTM5NWQ2ZTY0Mjg4MTllYTYxNDEzNjU3Li40MDM5ZGJhMzJlMTEwZTZiOTlmZmJhNjJjNzlj
NGY4NDM3NGExZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb29raWVfbWFuYWdlci5jcHAKQEAg
LTI0LDggKzI0LDYgQEAKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdFNlcnZl
ci5oIgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiB1c2luZyBuYW1l
c3BhY2UgRVdLMlVuaXRUZXN0OwogdXNpbmcgbmFtZXNwYWNlIFdURjsKQEAgLTEzMCw3ICsxMjgs
NyBAQCBwcm90ZWN0ZWQ6CiAKIFRFU1RfRihFV0syQ29va2llTWFuYWdlclRlc3QsIGV3a19jb29r
aWVfbWFuYWdlcl9hY2NlcHRfcG9saWN5KQogewotICAgIE93blB0cjxFV0syVW5pdFRlc3RTZXJ2
ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVuaXRUZXN0U2VydmVyKTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gc3RkOjptYWtl
X3VuaXF1ZTxFV0syVW5pdFRlc3RTZXJ2ZXI+KCk7CiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZl
ckNhbGxiYWNrKTsKIAogICAgIEV3a19Db29raWVfTWFuYWdlciogY29va2llTWFuYWdlciA9IGV3
a19jb250ZXh0X2Nvb2tpZV9tYW5hZ2VyX2dldChld2tfdmlld19jb250ZXh0X2dldCh3ZWJWaWV3
KCkpKTsKQEAgLTE2OCw3ICsxNjYsNyBAQCBURVNUX0YoRVdLMkNvb2tpZU1hbmFnZXJUZXN0LCBl
d2tfY29va2llX21hbmFnZXJfYWNjZXB0X3BvbGljeSkKIAogVEVTVF9GKEVXSzJDb29raWVNYW5h
Z2VyVGVzdCwgZXdrX2Nvb2tpZV9tYW5hZ2VyX2NoYW5nZXNfd2F0Y2gpCiB7Ci0gICAgT3duUHRy
PEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRl
c3RTZXJ2ZXIpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBT
ZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBodHRw
U2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2spOwogCiAgICAgRXdrX0Nvb2tpZV9NYW5hZ2VyKiBj
b29raWVNYW5hZ2VyID0gZXdrX2NvbnRleHRfY29va2llX21hbmFnZXJfZ2V0KGV3a192aWV3X2Nv
bnRleHRfZ2V0KHdlYlZpZXcoKSkpOwpAQCAtMjMxLDcgKzIyOSw3IEBAIFRFU1RfRihFV0syQ29v
a2llTWFuYWdlclRlc3QsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNoKQogCiBURVNU
X0YoRVdLMkNvb2tpZU1hbmFnZXJUZXN0LCBld2tfY29va2llX21hbmFnZXJfY29va2llc19kZWxl
dGUpCiB7Ci0gICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IGFkb3B0
UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxFV0syVW5p
dFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEVXSzJVbml0VGVzdFNl
cnZlcj4oKTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2spOwogCiAgICAgRXdr
X0Nvb2tpZV9NYW5hZ2VyKiBjb29raWVNYW5hZ2VyID0gZXdrX2NvbnRleHRfY29va2llX21hbmFn
ZXJfZ2V0KGV3a192aWV3X2NvbnRleHRfZ2V0KHdlYlZpZXcoKSkpOwpAQCAtMjY3LDcgKzI2NSw3
IEBAIFRFU1RfRihFV0syQ29va2llTWFuYWdlclRlc3QsIGV3a19jb29raWVfbWFuYWdlcl9jb29r
aWVzX2RlbGV0ZSkKIAogVEVTVF9GKEVXSzJDb29raWVNYW5hZ2VyVGVzdCwgRElTQUJMRURfZXdr
X2Nvb2tpZV9tYW5hZ2VyX3Blcm1hbmVudF9zdG9yYWdlKQogewotICAgIE93blB0cjxFV0syVW5p
dFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVuaXRUZXN0U2VydmVy
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0g
c3RkOjptYWtlX3VuaXF1ZTxFV0syVW5pdFRlc3RTZXJ2ZXI+KCk7CiAgICAgaHR0cFNlcnZlci0+
cnVuKHNlcnZlckNhbGxiYWNrKTsKIAogICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBuYW1lcyBmb3Ig
Y29va2llIHN0b3JhZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvdGVzdF9ld2syX2Rvd25sb2FkX2pvYi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfZG93bmxvYWRfam9iLmNwcAppbmRleCA0
MzAzYmVkMDBkYjkwNWE5ZjlkZGMyMDM0YTFiNjc1YjM3OWM2MmUxLi42ODU5ZTYwZDAxYmNhMGNk
Njk0NjY1ZWFmYjU1YzU1YzVmYzlkMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfZG93bmxvYWRfam9iLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfZG93bmxvYWRfam9i
LmNwcApAQCAtMzAsOCArMzAsNiBAQAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8
c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5o
PgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0syVW5p
dFRlc3Q7CiB1c2luZyBuYW1lc3BhY2UgV1RGOwpAQCAtMTUxLDcgKzE0OSw3IEBAIHB1YmxpYzoK
IAogVEVTVF9GKEVXSzJEb3dubG9hZEpvYlRlc3QsIGV3a19kb3dubG9hZCkKIHsKLSAgICBPd25Q
dHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0
VGVzdFNlcnZlcik7CisgICAgc3RkOjp1bmlxdWVfcHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0
cFNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8RVdLMlVuaXRUZXN0U2VydmVyPigpOwogICAgIGh0
dHBTZXJ2ZXItPnJ1bihzZXJ2ZXJDYWxsYmFjayk7CiAKICAgICAvLyBHZW5lcmF0ZSB1bmlxdWUg
bmFtZSBmb3IgZGVzdGluYXRpb24gZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9mYXZpY29uX2RhdGFiYXNlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9mYXZpY29uX2Rh
dGFiYXNlLmNwcAppbmRleCBkMGQ2Y2IxYjBlZTNiNmEyNTY0NDBmMjJiNGZhMDlkZWVmOGRhOWQ2
Li5iNjQ5NjAwZTE3ODY5NWJlMDgxOWZkYmNlOGM0NmI4MDllNDhhMWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfZmF2aWNvbl9k
YXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2Zhdmljb25fZGF0YWJhc2UuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAjaW5jbHVk
ZSAiVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgiCiAjaW5jbHVkZSAiVW5pdFRlc3RV
dGlscy9FV0syVW5pdFRlc3RTZXJ2ZXIuaCIKICNpbmNsdWRlICJXS0VpbmFTaGFyZWRTdHJpbmcu
aCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIEVXSzJVbml0VGVzdDsKIApAQCAtOTgsNyArOTYsNyBAQCBwdWJs
aWM6CiAKIFRFU1RfRihFV0syRmF2aWNvbkRhdGFiYXNlVGVzdCwgZXdrX2Zhdmljb25fZGF0YWJh
c2VfYXN5bmNfaWNvbl9nZXQpCiB7Ci0gICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0
cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PEVXSzJVbml0VGVzdFNlcnZlcj4oKTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJh
Y2spOwogCiAgICAgLy8gU2V0IGZhdmljb24gZGF0YWJhc2UgcGF0aCBhbmQgZW5hYmxlIGZ1bmN0
aW9uYWxpdHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy90ZXN0X2V3azJfcmVmcHRyX2V2YXNfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9yZWZwdHJfZXZhc19vYmplY3QuY3BwCmlu
ZGV4IGRlMTgwZTQxYmYxYTBmYTU3NDViZmZjNDRkYzA4MmM4YzRmMGIzZDIuLjE2OTg0NGYyNTY1
YTI4NTcwYjFjZTg4NmEzZDVkNmRkYWRjMWU1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9yZWZwdHJfZXZhc19vYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9y
ZWZwdHJfZXZhc19vYmplY3QuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKLSNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvZWZsL1JlZlB0ckVmbC5oPgogCiB1c2luZyBuYW1lc3BhY2UgRVdLMlVuaXRUZXN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9l
d2syX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVz
dF9ld2syX3ZpZXcuY3BwCmluZGV4IGI2NTI0MDAwNzljMzQzNDAzNjY2NmRkNzU5M2E0ZmU5NmE5
OTU4NjcuLmE1NDEyZDU5MmNmNmEwNzRmYTc0MjFlZGI3MGFjMWUwOGViMmM3ZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3
azJfdmlldy5jcHAKQEAgLTIxLDggKzIxLDYgQEAKIAogI2luY2x1ZGUgIlVuaXRUZXN0VXRpbHMv
RVdLMlVuaXRUZXN0QmFzZS5oIgogI2luY2x1ZGUgIlVuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0
U2VydmVyLmgiCi0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCkBAIC0yODUsNyArMjgzLDcgQEAgVEVTVF9GKEVXSzJWaWV3VGVzdCwg
ZXdrX3ZpZXdfaHRtbF9zdHJpbmdfbG9hZCkKIAogVEVTVF9GKEVXSzJWaWV3VGVzdCwgZXdrX3Zp
ZXdfbmF2aWdhdGlvbikKIHsKLSAgICBPd25QdHI8RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2Vy
dmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVzdFNlcnZlcik7CisgICAgc3RkOjp1bmlxdWVf
cHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8RVdL
MlVuaXRUZXN0U2VydmVyPigpOwogICAgIGh0dHBTZXJ2ZXItPnJ1bihzZXJ2ZXJDYWxsYmFja05h
dmlnYXRpb24pOwogCiAgICAgLy8gVmlzaXQgUGFnZTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dEhpc3RvcnlDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dEhpc3RvcnlDbGllbnRFZmwuaAppbmRleCBmZmViZmFi
MjgzODkxNGU3NmU2YjE5ZjgyZWI5Njg2MjhhMDdiMDEzLi43NmFjZWM3OTcwYjRlMzVkNzRkMWYx
OTI4NjQwMjY1ZjgwNjg3NmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL0NvbnRleHRIaXN0b3J5Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9Db250ZXh0SGlzdG9yeUNsaWVudEVmbC5oCkBAIC0yOSwyNCArMjksMTcgQEAKICNp
bmNsdWRlICJld2tfY29udGV4dC5oIgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDb250ZXh0SGlzdG9yeUNsaWVudEVmbCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8Q29udGV4dEhpc3RvcnlDbGllbnRFZmw+
IGNyZWF0ZShXS0NvbnRleHRSZWYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgQ29udGV4dEhpc3RvcnlDbGllbnRFZmwoY29udGV4dCkpOwotICAgIH0KLQorICAg
IGV4cGxpY2l0IENvbnRleHRIaXN0b3J5Q2xpZW50RWZsKFdLQ29udGV4dFJlZik7CiAgICAgfkNv
bnRleHRIaXN0b3J5Q2xpZW50RWZsKCk7CiAKICAgICB2b2lkIHNldENhbGxiYWNrcyhFd2tfSGlz
dG9yeV9OYXZpZ2F0aW9uX0NiLCBFd2tfSGlzdG9yeV9DbGllbnRfUmVkaXJlY3Rpb25fQ2IsIEV3
a19IaXN0b3J5X1NlcnZlcl9SZWRpcmVjdGlvbl9DYiwgRXdrX0hpc3RvcnlfVGl0bGVfVXBkYXRl
X0NiLCBFd2tfSGlzdG9yeV9Qb3B1bGF0ZV9WaXNpdGVkX0xpbmtzX0NiLCB2b2lkKik7CiAKIHBy
aXZhdGU6Ci0gICAgZXhwbGljaXQgQ29udGV4dEhpc3RvcnlDbGllbnRFZmwoV0tDb250ZXh0UmVm
KTsKLQogICAgIHN0YXRpYyB2b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29u
dGV4dFJlZiwgV0tQYWdlUmVmLCBXS05hdmlnYXRpb25EYXRhUmVmLCBXS0ZyYW1lUmVmLCBjb25z
dCB2b2lkKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KFdLQ29u
dGV4dFJlZiwgV0tQYWdlUmVmLCBXS1VSTFJlZiBzb3VyY2VVUkwsIFdLVVJMUmVmLCBXS0ZyYW1l
UmVmLCBjb25zdCB2b2lkKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUGVyZm9ybVNlcnZlclJlZGly
ZWN0KFdLQ29udGV4dFJlZiwgV0tQYWdlUmVmLCBXS1VSTFJlZiBzb3VyY2VVUkwsIFdLVVJMUmVm
LCBXS0ZyYW1lUmVmLCBjb25zdCB2b2lkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmgKaW5kZXggZjAzNmIzZmNmNzc0MmZjZjZh
NTU3ZjcxYmMwMTYxOGFiMjgyYjM5NC4uYzFjZGJjMmUxNTEzNTM2YzJhYzRmYmYwYTBkYWE5NmFi
NWI5MzZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0
TWVudUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4
dE1lbnVDbGllbnRFZmwuaApAQCAtMjYsMjQgKzI2LDE2IEBACiAjaWZuZGVmIENvbnRleHRNZW51
Q2xpZW50RWZsX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogCi0jaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KLQogY2xhc3MgRXdrVmlldzsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50RWZsIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxDb250ZXh0TWVudUNsaWVudEVmbD4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb250ZXh0TWVudUNsaWVudEVmbCh2
aWV3SW1wbCkpOwotICAgIH0KLQorICAgIGV4cGxpY2l0IENvbnRleHRNZW51Q2xpZW50RWZsKEV3
a1ZpZXcqKTsKICAgICBFd2tWaWV3KiB2aWV3KCkgeyByZXR1cm4gbV92aWV3OyB9CiAKIHByaXZh
dGU6Ci0gICAgZXhwbGljaXQgQ29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyopOwotCiAgICAg
RXdrVmlldyogbV92aWV3OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9Eb3dubG9hZE1hbmFnZXJFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvRG93bmxvYWRNYW5hZ2VyRWZsLmgKaW5kZXggMDMxN2E5ZDg2ZmNiYzNlMmYwYmU1ZWQzYjE5
ZWEyNDdhZTMxNjcwMS4uMDk5MzBlNmZjMjI3ZjU0MWRmM2Y0MzczZTMwODc2YzkzNWIzM2U4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Eb3dubG9hZE1hbmFnZXJF
ZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0Rvd25sb2FkTWFuYWdlckVm
bC5oCkBAIC0yOSwyNSArMjksMTggQEAKICNpbmNsdWRlICJld2tfZG93bmxvYWRfam9iX3ByaXZh
dGUuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIERvd25sb2FkTWFuYWdlckVmbCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RG93bmxvYWRNYW5hZ2VyRWZsPiBjcmVh
dGUoV0tDb250ZXh0UmVmIGNvbnRleHQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IERvd25sb2FkTWFuYWdlckVmbChjb250ZXh0KSk7Ci0gICAgfQotCisgICAgZXhwbGljaXQg
RG93bmxvYWRNYW5hZ2VyRWZsKFdLQ29udGV4dFJlZik7CiAgICAgfkRvd25sb2FkTWFuYWdlckVm
bCgpOwogCiAgICAgdm9pZCByZWdpc3RlckRvd25sb2FkSm9iKFdLRG93bmxvYWRSZWYsIEV3a1Zp
ZXcqKTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBEb3dubG9hZE1hbmFnZXJFZmwoV0tDb250
ZXh0UmVmKTsKLQogICAgIEV3a0Rvd25sb2FkSm9iKiBld2tEb3dubG9hZEpvYihXS0Rvd25sb2Fk
UmVmKTsKICAgICB2b2lkIHVucmVnaXN0ZXJEb3dubG9hZEpvYihXS0Rvd25sb2FkUmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9GaW5kQ2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0ZpbmRDbGllbnRFZmwuaAppbmRleCBkZDEy
ZTJmOTRiMzhmYWJhOTZmOGIwYWZjYWFlNjU5ZmFlMjAxZWQzLi4zNmRlZWVlMWNjOTgwZDkyOWFi
Zjk3YWFiMjVhZWYyMTE4OTcwZWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL0ZpbmRDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L0ZpbmRDbGllbnRFZmwuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBGaW5kQ2xpZW50RWZs
X2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAogY2xhc3MgRXdrVmlldzsKIApAQCAtMzYsMTQgKzM1LDkgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIEZpbmRDbGllbnRFZmwgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPEZpbmRDbGllbnRFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRmluZENsaWVudEVmbCh2aWV3SW1wbCkpOwotICAg
IH0KLQotcHJpdmF0ZToKICAgICBleHBsaWNpdCBGaW5kQ2xpZW50RWZsKEV3a1ZpZXcqKTsKIAor
cHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRGaW5kU3RyaW5nKFdLUGFnZVJlZiwgV0tTdHJp
bmdSZWYsIHVuc2lnbmVkIG1hdGNoQ291bnQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAg
IHN0YXRpYyB2b2lkIGRpZEZhaWxUb0ZpbmRTdHJpbmcoV0tQYWdlUmVmLCBXS1N0cmluZ1JlZiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvRm9ybUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9Gb3JtQ2xpZW50RWZsLmgKaW5kZXggNjY2YzQ0YmIxMWIxOWEyNDliMGVkYjc1MDZkZTVhNWM4
Mzg0Y2RkNy4uZDgwNDBkODFhYjk3YTVmNDM0MTZlOTM2ZDQ5YzNlNDY5MWM1NDRkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Gb3JtQ2xpZW50RWZsLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Gb3JtQ2xpZW50RWZsLmgKQEAgLTI3LDcgKzI3
LDYgQEAKICNkZWZpbmUgRm9ybUNsaWVudEVmbF9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFz
ZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIEV3a1ZpZXc7CiAKQEAg
LTM1LDE0ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBGb3JtQ2xpZW50RWZs
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxGb3JtQ2xpZW50RWZsPiBjcmVhdGUo
RXdrVmlldyogdmlld0ltcGwpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEZv
cm1DbGllbnRFZmwodmlld0ltcGwpKTsKLSAgICB9Ci0KLXByaXZhdGU6CiAgICAgZXhwbGljaXQg
Rm9ybUNsaWVudEVmbChFd2tWaWV3Kik7CiAKK3ByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgd2ls
bFN1Ym1pdEZvcm0oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS0ZyYW1lUmVmLCBXS0RpY3Rpb25h
cnlSZWYgdmFsdWVzLCBXS1R5cGVSZWYgdXNlckRhdGEsIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
clJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKICAgICBFd2tWaWV3KiBtX3ZpZXc7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VMb2FkQ2xpZW50RWZs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VMb2FkQ2xpZW50RWZsLmgKaW5k
ZXggY2FlMWY4NGZjYmI0YjM3NDg2NjhmZTE2YjRjYmQ3OGNmZDkwYjgxZS4uODU4NGJkZjdmOTIx
MGUyOGNlMTRhMDE2ODU1OTEzNmU3ZDQ0ODRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9QYWdlTG9hZENsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvUGFnZUxvYWRDbGllbnRFZmwuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiV0tQYWdlTG9hZFR5cGVzLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBjbGFzcyBFd2tWaWV3OwogCkBAIC0zNiwxNCAr
MzUsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUGFnZUxvYWRDbGllbnRFZmwgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFBhZ2VMb2FkQ2xpZW50RWZsPiBjcmVhdGUo
RXdrVmlldyogdmlld0ltcGwpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBh
Z2VMb2FkQ2xpZW50RWZsKHZpZXdJbXBsKSk7Ci0gICAgfQotCi1wcml2YXRlOgogICAgIGV4cGxp
Y2l0IFBhZ2VMb2FkQ2xpZW50RWZsKEV3a1ZpZXcqKTsKIAorcHJpdmF0ZToKICAgICBpbmxpbmUg
RXdrVmlldyogdmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdmlldzsgfQogCiAgICAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmLCBXS1N0cmluZ1JlZiB0aXRsZSwg
V0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVBvbGljeUNsaWVudEVmbC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlUG9saWN5Q2xpZW50RWZsLmgKaW5kZXgg
MGQwNWI3MzNiOWMxNDBkMTA5MGEzOTgzMGU3NDE4MjMyYjk3ZTlkNS4uZjBjM2NiODgzNTVhYTNj
NWFiN2YwZWY3M2RlZmRhNjgzMWU1MzVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9QYWdlUG9saWN5Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9QYWdlUG9saWN5Q2xpZW50RWZsLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlICJXS0V2ZW50LmgiCiAjaW5jbHVkZSAiV0tQYWdlTG9hZFR5cGVzLmgiCiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBjbGFzcyBF
d2tWaWV3OwogCkBAIC0zNywxNCArMzYsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
UGFnZVBvbGljeUNsaWVudEVmbCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8UGFn
ZVBvbGljeUNsaWVudEVmbD4gY3JlYXRlKEV3a1ZpZXcqIHZpZXcpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IFBhZ2VQb2xpY3lDbGllbnRFZmwodmlldykpOwotICAgIH0KLQot
cHJpdmF0ZToKICAgICBleHBsaWNpdCBQYWdlUG9saWN5Q2xpZW50RWZsKEV3a1ZpZXcqKTsKIAor
cHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tGcmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9k
aWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBvbGlj
eUxpc3RlbmVyUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKTsKICAgICBzdGF0aWMgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS0Zy
YW1lTmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwg
V0tVUkxSZXF1ZXN0UmVmLCBXS1N0cmluZ1JlZiwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmLCBX
S1R5cGVSZWYsIGNvbnN0IHZvaWQqKTsKICAgICBzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZUNhbGxiYWNrKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tVUkxSZXNwb25zZVJlZiwg
V0tVUkxSZXF1ZXN0UmVmLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYsIFdLVHlwZVJlZiwgY29u
c3Qgdm9pZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50
RWZsLmgKaW5kZXggZGY0N2I5NzE2N2I0ODAxYTU5YmIxY2MzN2MyZDJhMDE5MTcxMzQzMS4uNzA0
MWUxZTE4Y2RjZDNkOGNmODJhMjM1MmQ3Mzk3NWMzZTJlODJjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5oCkBAIC0zMCw3ICszMCw2IEBACiAj
aW5jbHVkZSAiV0tQYWdlLmgiCiAjaW5jbHVkZSAiV0tQb3B1cEl0ZW0uaCIKICNpbmNsdWRlIDxX
ZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIEV3
a1ZpZXc7CiAKQEAgLTM4LDE0ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQ
YWdlVUlDbGllbnRFZmwgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFBhZ2VVSUNs
aWVudEVmbD4gY3JlYXRlKEV3a1ZpZXcqIHZpZXcpCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IFBhZ2VVSUNsaWVudEVmbCh2aWV3KSk7Ci0gICAgfQotCi1wcml2YXRlOgogICAg
IGV4cGxpY2l0IFBhZ2VVSUNsaWVudEVmbChFd2tWaWV3Kik7CiAKK3ByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgY2xvc2UoV0tQYWdlUmVmLCBjb25zdCB2b2lkKik7CiAgICAgc3RhdGljIHZvaWQg
dGFrZUZvY3VzKFdLUGFnZVJlZiwgV0tGb2N1c0RpcmVjdGlvbiwgY29uc3Qgdm9pZCopOwogICAg
IHN0YXRpYyB2b2lkIGZvY3VzKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50
RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnRFZmwuaAppbmRleCBlNDA0NWI2ZTFhMjA2ZGNiODIwYTU2NjAwM2JmYzEzMmI4Nzc0
MDE4Li4zYTQ3MTM2MzYyMDRmM2I1NDMwYTE2Y2U4MzY3MDY3N2JlMDQ2MThhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGll
bnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXJDbGllbnRFZmwuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSAiUGFnZVZp
ZXdwb3J0Q29udHJvbGxlckNsaWVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRQb2ludC5o
PgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIEV3a1ZpZXc7CiAKQEAgLTM3
LDEwICszNiw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQYWdlVmlld3BvcnRDb250
cm9sbGVyQ2xpZW50RWZsIDogcHVibGljIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGll
bnRFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbCh2aWV3SW1wbCkpOwot
ICAgIH0KKyAgICBleHBsaWNpdCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsKEV3a1Zp
ZXcqKTsKICAgICB2aXJ0dWFsIH5QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsKCkgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vmlld3BvcnRQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JikgT1ZFUlJJREU7CkBAIC01Myw4ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Q29udHJvbGxlcihQYWdlVmlld3BvcnRDb250cm9sbGVyKikgT1ZFUlJJREU7
CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVm
bChFd2tWaWV3Kik7Ci0KICAgICBFd2tWaWV3KiBtX3ZpZXc7CiAgICAgV2ViQ29yZTo6RmxvYXRQ
b2ludCBtX2NvbnRlbnRQb3NpdGlvbjsKICAgICBQYWdlVmlld3BvcnRDb250cm9sbGVyKiBtX2Nv
bnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1JlcXVl
c3RNYW5hZ2VyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1JlcXVl
c3RNYW5hZ2VyQ2xpZW50RWZsLmgKaW5kZXggY2Q2ZjIyNWZhNjQ4OTg5MjRhYjQwMzhkZjNkYTIz
MTkzMmI1MThjOC4uOGM5NGY2OTFhYTllMzRkY2JjYjQ0YTQwZTkyYjE3ZDBkMGU5YjE3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9SZXF1ZXN0TWFuYWdlckNsaWVu
dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUmVxdWVzdE1hbmFnZXJD
bGllbnRFZmwuaApAQCAtMzAsMjQgKzMwLDE4IEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2Uu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVxdWVzdE1hbmFnZXJD
bGllbnRFZmwgewogcHVibGljOgorICAgIGV4cGxpY2l0IFJlcXVlc3RNYW5hZ2VyQ2xpZW50RWZs
KFdLQ29udGV4dFJlZik7CiAgICAgflJlcXVlc3RNYW5hZ2VyQ2xpZW50RWZsKCk7Ci0gICAgc3Rh
dGljIFBhc3NPd25QdHI8UmVxdWVzdE1hbmFnZXJDbGllbnRFZmw+IGNyZWF0ZShXS0NvbnRleHRS
ZWYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVxdWVzdE1h
bmFnZXJDbGllbnRFZmwoY29udGV4dCkpOwotICAgIH0KIAogICAgIHZvaWQgcmVnaXN0ZXJVUkxT
Y2hlbWVIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0
X0NiIGNhbGxiYWNrLCB2b2lkKiB1c2VyRGF0YSk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQg
UmVxdWVzdE1hbmFnZXJDbGllbnRFZmwoV0tDb250ZXh0UmVmKTsKLQogICAgIHN0YXRpYyB2b2lk
IGRpZFJlY2VpdmVVUklSZXF1ZXN0KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmLCBXS1VSTFJlZiwg
V0tQYWdlUmVmLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwog
CiAgICAgV0tSZXRhaW5QdHI8V0tTb3VwUmVxdWVzdE1hbmFnZXJSZWY+IG1fc291cFJlcXVlc3RN
YW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWJyYXRp
b25DbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25D
bGllbnRFZmwuY3BwCmluZGV4IDU2NjJhOGVkMDZhZGE0ODE4YzVmMjAwNWRkYjAwY2RhOTQxYzlm
ZTQuLmQ1ZmQ2YjNmMmIzZjc3NDM2NTQzNzY3OTVkMDZmMWQzMGFkNTc0MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKQEAg
LTUwLDExICs1MCw2IEBAIHZvaWQgVmlicmF0aW9uQ2xpZW50RWZsOjpjYW5jZWxWaWJyYXRpb25D
YWxsYmFjayhXS1ZpYnJhdGlvblJlZiwgY29uc3Qgdm9pZCogY2xpCiAgICAgdG9WaWJyYXRpb25D
bGllbnQoY2xpZW50SW5mbyktPm1fdmlldy0+c21hcnRDYWxsYmFjazxDYW5jZWxWaWJyYXRpb24+
KCkuY2FsbCgpOwogfQogCi1QYXNzT3duUHRyPFZpYnJhdGlvbkNsaWVudEVmbD4gVmlicmF0aW9u
Q2xpZW50RWZsOjpjcmVhdGUoRXdrVmlldyogdmlld0ltcGwpCi17Ci0gICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBWaWJyYXRpb25DbGllbnRFZmwodmlld0ltcGwpKTsKLX0KLQogVmlicmF0aW9uQ2xp
ZW50RWZsOjpWaWJyYXRpb25DbGllbnRFZmwoRXdrVmlldyogdmlldykKICAgICA6IG1fdmlldyh2
aWV3KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWJyYXRp
b25DbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xp
ZW50RWZsLmgKaW5kZXggZWM0OWU5YTJjZWIyM2I3ZjJiYWRkMDM5OGExNTcwZTIyZTkxNWZkNC4u
NWM0ODYwNWM5ODU4NzQ3NDkwNDM1MGEwNjVlMGY3NmQ5M2ZmYTJhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNl
Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogY2xhc3MgRXdrVmlldzsKIApAQCAt
MzcsMTMgKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBWaWJyYXRpb25DbGll
bnRFZmwgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFZpYnJhdGlvbkNsaWVudEVm
bD4gY3JlYXRlKEV3a1ZpZXcqKTsKLQorICAgIGV4cGxpY2l0IFZpYnJhdGlvbkNsaWVudEVmbChF
d2tWaWV3Kik7CiAgICAgdmlydHVhbCB+VmlicmF0aW9uQ2xpZW50RWZsKCk7CiAKIHByaXZhdGU6
Ci0gICAgZXhwbGljaXQgVmlicmF0aW9uQ2xpZW50RWZsKEV3a1ZpZXcqKTsKLQogICAgIHN0YXRp
YyB2b2lkIHZpYnJhdGVDYWxsYmFjayhXS1ZpYnJhdGlvblJlZiwgdWludDMyX3QgdmlicmF0aW9u
VGltZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2soV0tWaWJyYXRpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCmluZGV4IGEz
ODRjZjU5N2Q0YTlkMGZiMmU5ZWUwZmZlYjVmYTAxYTNhODRkNjQuLjNiOGMyNDdiN2JjMmM5ZWM1
ZTY0Y2Y3NmMyN2QyOTg0YTM3NTI5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVmlld0NsaWVudEVmbC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDxXZWJLaXQy
L1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKIGNsYXNzIEV3a1ZpZXc7CiAKQEAgLTM2LDE2ICszNSwxMCBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgVmlld0NsaWVudEVmbCB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NPd25QdHI8Vmlld0NsaWVudEVmbD4gY3JlYXRlKEV3a1ZpZXcqIHZpZXcpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZpZXdDbGllbnRFZmwodmlldykpOwot
ICAgIH0KLQorICAgIGV4cGxpY2l0IFZpZXdDbGllbnRFZmwoRXdrVmlldyopOwogICAgIH5WaWV3
Q2xpZW50RWZsKCk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgVmlld0NsaWVudEVmbChFd2tW
aWV3Kik7Ci0KICAgICBzdGF0aWMgRXdrVmlldyogdG9Fd2tWaWV3KGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHN0YXRpYyB2b2lkIHZpZXdOZWVkc0Rpc3BsYXkoV0tWaWV3UmVmLCBXS1Jl
Y3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hh
bmdlQ29udGVudHNTaXplKFdLVmlld1JlZiwgV0tTaXplLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>