<?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>67673</bug_id>
          
          <creation_ts>2011-09-06 14:47:06 -0700</creation_ts>
          <short_desc>[Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.</short_desc>
          <delta_ts>2022-05-16 18:42:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>benjamin</cc>
    
    <cc>coolmathgamesx</cc>
    
    <cc>kling</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>462871</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-09-06 14:47:06 -0700</bug_when>
    <thetext>[Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462876</commentid>
    <comment_count>1</comment_count>
      <attachid>106490</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-09-06 14:50:21 -0700</bug_when>
    <thetext>Created attachment 106490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462900</commentid>
    <comment_count>2</comment_count>
      <attachid>106490</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2011-09-06 15:24:00 -0700</bug_when>
    <thetext>Comment on attachment 106490
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463062</commentid>
    <comment_count>3</comment_count>
      <attachid>106490</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 18:54:30 -0700</bug_when>
    <thetext>Comment on attachment 106490
Patch

Clearing flags on attachment: 106490

Committed r94620: &lt;http://trac.webkit.org/changeset/94620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463063</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 18:54:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463181</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-06 23:43:10 -0700</bug_when>
    <thetext>It broke the debug build ... Fix landed in http://trac.webkit.org/changeset/94641</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869539</commentid>
    <comment_count>6</comment_count>
    <who name="Ria Gifford">coolmathgamesx</who>
    <bug_when>2022-05-16 18:42:44 -0700</bug_when>
    <thetext>https://slopegame3d.com</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106490</attachid>
            <date>2011-09-06 14:50:21 -0700</date>
            <delta_ts>2011-09-06 18:54:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67673-20110906184844.patch</filename>
            <type>text/plain</type>
            <size>26609</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTk3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDktMDYgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBNb3Zl
IGF3YXkgZnJvbSBRUG9pbnRlciBhcyBpdCBpcyBzbG93IGFuZCBpdCBoYXMgYSByZXBsYWNlbWVu
dCBRV2Vha1BvaW50ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NzY3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgYXdheSBmcm9tIFFQb2ludGVyIHRvIFFXZWFrUG9pbnRlciwgaXQgaXMgZmFz
dGVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdGhlIGV4aXN0aW5nIG9uZXMgc2hvdWxkIGNv
dmVyLgorCisgICAgICAgICogYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcDoKKyAgICAgICAgKEpT
Qzo6QmluZGluZ3M6OlF0SW5zdGFuY2U6On5RdEluc3RhbmNlKToKKyAgICAgICAgKEpTQzo6Qmlu
ZGluZ3M6OlF0SW5zdGFuY2U6OmdldENsYXNzKToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0
RmllbGQ6Om5hbWUpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRGaWVsZDo6dmFsdWVGcm9t
SW5zdGFuY2UpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0YW5jZS5oOgorICAgICAgICAo
SlNDOjpCaW5kaW5nczo6UXRJbnN0YW5jZTo6Z2V0T2JqZWN0KToKKyAgICAgICAgKiBicmlkZ2Uv
cXQvcXRfcnVudGltZS5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NoYXJlZFRpbWVyUXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkVGltZXJRdDo6aW5zdCk6CisKIDIwMTEtMDktMDYg
IERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY3MgpJbmRleDogU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3F0L3F0X2luc3RhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcXQvcXRfaW5zdGFuY2UuY3BwCShyZXZpc2lvbiA5NDUyNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiwxMSArMTE2
LDExIEBAIFF0SW5zdGFuY2U6On5RdEluc3RhbmNlKCkKICAgICAgICAgY2FzZSBRU2NyaXB0RW5n
aW5lOjpRdE93bmVyc2hpcDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFFTY3Jp
cHRFbmdpbmU6OkF1dG9Pd25lcnNoaXA6Ci0gICAgICAgICAgICBpZiAobV9vYmplY3QtPnBhcmVu
dCgpKQorICAgICAgICAgICAgaWYgKG1fb2JqZWN0LmRhdGEoKS0+cGFyZW50KCkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2ghCiAgICAgICAgIGNh
c2UgUVNjcmlwdEVuZ2luZTo6U2NyaXB0T3duZXJzaGlwOgotICAgICAgICAgICAgZGVsZXRlIG1f
b2JqZWN0OworICAgICAgICAgICAgZGVsZXRlIG1fb2JqZWN0LmRhdGEoKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgfQpAQCAtMTgyLDcgKzE4Miw3IEBAIENsYXNzKiBRdElu
c3RhbmNlOjpnZXRDbGFzcygpIGNvbnN0CiAgICAgaWYgKCFtX2NsYXNzKSB7CiAgICAgICAgIGlm
ICghbV9vYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgbV9jbGFzcyA9IFF0
Q2xhc3M6OmNsYXNzRm9yT2JqZWN0KG1fb2JqZWN0KTsKKyAgICAgICAgbV9jbGFzcyA9IFF0Q2xh
c3M6OmNsYXNzRm9yT2JqZWN0KG1fb2JqZWN0LmRhdGEoKSk7CiAgICAgfQogICAgIHJldHVybiBt
X2NsYXNzOwogfQpAQCAtMzQyLDcgKzM0Miw3IEBAIFFCeXRlQXJyYXkgUXRGaWVsZDo6bmFtZSgp
IGNvbnN0CiAgICAgaWYgKG1fdHlwZSA9PSBNZXRhUHJvcGVydHkpCiAgICAgICAgIHJldHVybiBt
X3Byb3BlcnR5Lm5hbWUoKTsKICAgICBpZiAobV90eXBlID09IENoaWxkT2JqZWN0ICYmIG1fY2hp
bGRPYmplY3QpCi0gICAgICAgIHJldHVybiBtX2NoaWxkT2JqZWN0LT5vYmplY3ROYW1lKCkudG9M
YXRpbjEoKTsKKyAgICAgICAgcmV0dXJuIG1fY2hpbGRPYmplY3QuZGF0YSgpLT5vYmplY3ROYW1l
KCkudG9MYXRpbjEoKTsKICNpZm5kZWYgUVRfTk9fUFJPUEVSVElFUwogICAgIGlmIChtX3R5cGUg
PT0gRHluYW1pY1Byb3BlcnR5KQogICAgICAgICByZXR1cm4gbV9keW5hbWljUHJvcGVydHk7CkBA
IC0zNjMsNyArMzYzLDcgQEAgSlNWYWx1ZSBRdEZpZWxkOjp2YWx1ZUZyb21JbnN0YW5jZShFeGVj
UwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogICAgICAgICB9IGVsc2UgaWYgKG1fdHlwZSA9PSBDaGlsZE9iamVjdCkKLSAgICAgICAgICAg
IHZhbCA9IFFWYXJpYW50Ojpmcm9tVmFsdWUoKFFPYmplY3QqKSBtX2NoaWxkT2JqZWN0KTsKKyAg
ICAgICAgICAgIHZhbCA9IFFWYXJpYW50Ojpmcm9tVmFsdWUoKFFPYmplY3QqKSBtX2NoaWxkT2Jq
ZWN0LmRhdGEoKSk7CiAjaWZuZGVmIFFUX05PX1BST1BFUlRJRVMKICAgICAgICAgZWxzZSBpZiAo
bV90eXBlID09IER5bmFtaWNQcm9wZXJ0eSkKICAgICAgICAgICAgIHZhbCA9IG9iai0+cHJvcGVy
dHkobV9keW5hbWljUHJvcGVydHkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0
X2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2lu
c3RhbmNlLmgJKHJldmlzaW9uIDk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0
X2luc3RhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDkgKzIzLDkgQEAKICNpbmNsdWRlICJC
cmlkZ2VKU0MuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDxRU3RhY2s+
CisjaW5jbHVkZSA8UVdlYWtQb2ludGVyPgogI2luY2x1ZGUgPFF0U2NyaXB0L3FzY3JpcHRlbmdp
bmUuaD4KICNpbmNsdWRlIDxxaGFzaC5oPgotI2luY2x1ZGUgPHFwb2ludGVyLmg+CiAjaW5jbHVk
ZSA8cXNldC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgog
ICAgIEpTVmFsdWUgbnVtYmVyVmFsdWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdDsKICAgICBKU1Zh
bHVlIGJvb2xlYW5WYWx1ZSgpIGNvbnN0OwogCi0gICAgUU9iamVjdCogZ2V0T2JqZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KKyAgICBRT2JqZWN0KiBnZXRPYmplY3QoKSBjb25zdCB7
IHJldHVybiBtX29iamVjdC5kYXRhKCk7IH0KICAgICBRT2JqZWN0KiBoYXNoS2V5KCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNoa2V5OyB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxRdEluc3RhbmNl
PiBnZXRRdEluc3RhbmNlKFFPYmplY3QqLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+LCBRU2NyaXB0
RW5naW5lOjpWYWx1ZU93bmVyc2hpcCBvd25lcnNoaXApOwpAQCAtOTQsNyArOTQsNyBAQCBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBRdEZpZWxkOwogICAgIFF0SW5zdGFuY2UoUU9iamVjdCos
IFBhc3NSZWZQdHI8Um9vdE9iamVjdD4sIFFTY3JpcHRFbmdpbmU6OlZhbHVlT3duZXJzaGlwIG93
bmVyc2hpcCk7IC8vIEZhY3RvcnkgcHJvZHVjZWQgb25seS4uCiAgICAgbXV0YWJsZSBRdENsYXNz
KiBtX2NsYXNzOwotICAgIFFQb2ludGVyPFFPYmplY3Q+IG1fb2JqZWN0OworICAgIFFXZWFrUG9p
bnRlcjxRT2JqZWN0PiBtX29iamVjdDsKICAgICBRT2JqZWN0KiBtX2hhc2hrZXk7CiAgICAgbXV0
YWJsZSBRSGFzaDxRQnl0ZUFycmF5LCBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+ID4gbV9tZXRob2Rz
OwogICAgIG11dGFibGUgUUhhc2g8UVN0cmluZywgUXRGaWVsZCo+IG1fZmllbGRzOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCShyZXZpc2lvbiA5NDUyNykKKysrIFNv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDkgKzI3LDEwIEBACiAjaW5jbHVkZSAicXRfaW5zdGFuY2UuaCIKICNpbmNsdWRlICJydW50aW1l
X21ldGhvZC5oIgogCisjaW5jbHVkZSA8UVdlYWtQb2ludGVyPgorCiAjaW5jbHVkZSA8cWJ5dGVh
cnJheS5oPgogI2luY2x1ZGUgPHFtZXRhb2JqZWN0Lmg+Ci0jaW5jbHVkZSA8cXBvaW50ZXIuaD4K
ICNpbmNsdWRlIDxxdmFyaWFudC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTY4LDcgKzY5LDcg
QEAgcHJpdmF0ZToKICAgICBRdEZpZWxkVHlwZSBtX3R5cGU7CiAgICAgUUJ5dGVBcnJheSBtX2R5
bmFtaWNQcm9wZXJ0eTsKICAgICBRTWV0YVByb3BlcnR5IG1fcHJvcGVydHk7Ci0gICAgUVBvaW50
ZXI8UU9iamVjdD4gbV9jaGlsZE9iamVjdDsKKyAgICBRV2Vha1BvaW50ZXI8UU9iamVjdD4gbV9j
aGlsZE9iamVjdDsKIH07CiAKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvU2hh
cmVkVGltZXJRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
U2hhcmVkVGltZXJRdC5jcHAJKHJldmlzaW9uIDk0NTI3KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvU2hhcmVkVGltZXJRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcg
QEAKICNpbmNsdWRlIDxRQmFzaWNUaW1lcj4KICNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0aW9uPgog
I2luY2x1ZGUgPFFEZWJ1Zz4KLSNpbmNsdWRlIDxRUG9pbnRlcj4KKyNpbmNsdWRlIDxRV2Vha1Bv
aW50ZXI+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTgzLDEzICs4MywxMyBAQCB2b2lkIFNoYXJlZFRpbWVyUXQ6OmRlc3Ryb3koKQogCiBT
aGFyZWRUaW1lclF0KiBTaGFyZWRUaW1lclF0OjppbnN0KCkKIHsKLSAgICBzdGF0aWMgUVBvaW50
ZXI8U2hhcmVkVGltZXJRdD4gdGltZXI7CisgICAgc3RhdGljIFFXZWFrUG9pbnRlcjxTaGFyZWRU
aW1lclF0PiB0aW1lcjsKICAgICBpZiAoIXRpbWVyKSB7CiAgICAgICAgIHRpbWVyID0gbmV3IFNo
YXJlZFRpbWVyUXQoKTsKLSAgICAgICAgdGltZXItPmNvbm5lY3QoUUNvcmVBcHBsaWNhdGlvbjo6
aW5zdGFuY2UoKSwgU0lHTkFMKGFib3V0VG9RdWl0KCkpLCBTTE9UKGRlc3Ryb3koKSkpOworICAg
ICAgICB0aW1lci5kYXRhKCktPmNvbm5lY3QoUUNvcmVBcHBsaWNhdGlvbjo6aW5zdGFuY2UoKSwg
U0lHTkFMKGFib3V0VG9RdWl0KCkpLCBTTE9UKGRlc3Ryb3koKSkpOwogICAgIH0KIAotICAgIHJl
dHVybiB0aW1lcjsKKyAgICByZXR1cm4gdGltZXIuZGF0YSgpOwogfQogCiB2b2lkIFNoYXJlZFRp
bWVyUXQ6OnN0YXJ0KGRvdWJsZSBpbnRlcnZhbCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lv
biA5NDU5NykKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTEtMDktMDYgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJk
QG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBNb3ZlIGF3YXkgZnJvbSBRUG9pbnRlciBh
cyBpdCBpcyBzbG93IGFuZCBpdCBoYXMgYSByZXBsYWNlbWVudCBRV2Vha1BvaW50ZXIuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY3MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYXdheSBmcm9t
IFFQb2ludGVyIGFzIFF0IHByb3ZpZGVzIGEgYmV0dGVyIGFuZCBmYXN0ZXIgc29sdXRpb24gOiBR
V2Vha1BvaW50ZXIuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFX
ZWJIaXRUZXN0UmVzdWx0OjpsaW5rVGFyZ2V0RnJhbWUpOgorICAgICAgICAoUVdlYkhpdFRlc3RS
ZXN1bHQ6OmZyYW1lKToKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lX3AuaDoKKyAgICAgICAgKiBB
cGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZh
dGUpOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjp+UVdlYlBhZ2VQcml2YXRlKToKKyAgICAg
ICAgKFFXZWJQYWdlUHJpdmF0ZTo6YWNjZXB0TmF2aWdhdGlvblJlcXVlc3QpOgorICAgICAgICAo
UVdlYlBhZ2VQcml2YXRlOjpjcmVhdGVNYWluRnJhbWUpOgorICAgICAgICAoUVdlYlBhZ2VQcml2
YXRlOjp1cGRhdGVBY3Rpb24pOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjptb3VzZU1vdmVF
dmVudCk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NFdmVudCk6CisgICAg
ICAgIChRV2ViUGFnZVByaXZhdGU6Om1vdXNlRG91YmxlQ2xpY2tFdmVudCk6CisgICAgICAgIChR
V2ViUGFnZVByaXZhdGU6Om1vdXNlVHJpcGxlQ2xpY2tFdmVudCk6CisgICAgICAgIChRV2ViUGFn
ZVByaXZhdGU6Om1vdXNlUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFFXZWJQYWdlOjpjcmVhdGVT
dGFuZGFyZENvbnRleHRNZW51KToKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6d2hlZWxFdmVu
dCk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OmZvY3VzSW5FdmVudCk6CisgICAgICAgIChR
V2ViUGFnZTo6c2V0UGFsZXR0ZSk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OnRvdWNoRXZl
bnQpOgorICAgICAgICAoUVdlYlBhZ2U6On5RV2ViUGFnZSk6CisgICAgICAgIChRV2ViUGFnZTo6
bWFpbkZyYW1lKToKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydFNpemUpOgorICAgICAgICAo
UVdlYlBhZ2U6OnByZWZlcnJlZENvbnRlbnRzU2l6ZSk6CisgICAgICAgIChRV2ViUGFnZTo6c2V0
Q29udGVudEVkaXRhYmxlKToKKyAgICAgICAgKFFXZWJQYWdlOjp1cGRhdGVQb3NpdGlvbkRlcGVu
ZGVudEFjdGlvbnMpOgorICAgICAgICAqIEFwaS9xd2VicGFnZV9wLmg6CisgICAgICAgICogQXBp
L3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29udGV4dE1l
bnUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlRnJhbWUpOgorICAg
ICAgICAqIHRlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKHRzdF9R
V2ViRnJhbWU6Om93bmVyc2hpcCk6CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJw
YWdlLmNwcDoKKyAgICAgICAgKFBsdWdpbkNvdW50ZXJQYWdlOjpQbHVnaW5Db3VudGVyUGFnZSk6
CisgICAgICAgIChQbHVnaW5UcmFjZXJQYWdlOjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAodHN0
X1FXZWJQYWdlOjpjcmVhdGVWaWV3bGVzc1BsdWdpbik6CisgICAgICAgICogdGVzdHMvcXdlYnZp
ZXcvdHN0X3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViVmlldzo6cmV1c2VQYWdlKToK
KwogMjAxMS0wOS0wNiAgQWRlbWFyIGRlIFNvdXphIFJlaXMgSnIuICA8YWRlbWFyLnJlaXNAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdW1N5bWJpYW5dIFJFR1JFU1NJT05bOTQxMDVdIER1
bXBSZW5kZXJUcmVlLmV4ZSBkb2Vzbid0IGJ1aWxkIG9uIFN5bWJpYW4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYmZyYW1lLmNwcAkocmV2aXNpb24gOTQ1MjcpCisrKyBTb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2ViZnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTI0LDcgKzE5MjQsNyBAQCBR
V2ViRnJhbWUgKlFXZWJIaXRUZXN0UmVzdWx0OjpsaW5rVGFyZ2V0CiB7CiAgICAgaWYgKCFkKQog
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gZC0+bGlua1RhcmdldEZyYW1lOworICAgIHJl
dHVybiBkLT5saW5rVGFyZ2V0RnJhbWUuZGF0YSgpOwogfQogCiAvKiEKQEAgLTE5OTcsNyArMTk5
Nyw3IEBAIFFXZWJGcmFtZSAqUVdlYkhpdFRlc3RSZXN1bHQ6OmZyYW1lKCkgY28KIHsKICAgICBp
ZiAoIWQpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBkLT5mcmFtZTsKKyAgICByZXR1
cm4gZC0+ZnJhbWUuZGF0YSgpOwogfQogCiAjaW5jbHVkZSAibW9jX3F3ZWJmcmFtZS5jcHAiCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgJKHJldmlzaW9uIDk0NTI3KQorKysgU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDcg
KzE0OCw3IEBAIHB1YmxpYzoKICAgICBRU3RyaW5nIGxpbmtUZXh0OwogICAgIFFVcmwgbGlua1Vy
bDsKICAgICBRU3RyaW5nIGxpbmtUaXRsZTsKLSAgICBRUG9pbnRlcjxRV2ViRnJhbWU+IGxpbmtU
YXJnZXRGcmFtZTsKKyAgICBRV2Vha1BvaW50ZXI8UVdlYkZyYW1lPiBsaW5rVGFyZ2V0RnJhbWU7
CiAgICAgUVdlYkVsZW1lbnQgbGlua0VsZW1lbnQ7CiAgICAgUVN0cmluZyBhbHRlcm5hdGVUZXh0
OwogICAgIFFVcmwgaW1hZ2VVcmw7CkBAIC0xNTYsNyArMTU2LDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNDb250ZW50RWRpdGFibGU7CiAgICAgYm9vbCBpc0NvbnRlbnRTZWxlY3RlZDsKICAgICBi
b29sIGlzU2Nyb2xsQmFyOwotICAgIFFQb2ludGVyPFFXZWJGcmFtZT4gZnJhbWU7CisgICAgUVdl
YWtQb2ludGVyPFFXZWJGcmFtZT4gZnJhbWU7CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IGlu
bmVyTm9kZTsKICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gaW5uZXJOb25TaGFyZWROb2RlOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHJldmlzaW9uIDk0NTI3KQorKysg
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTMs
NyArMjkzLDYgQEAgc3RhdGljIGlubGluZSBRdDo6RHJvcEFjdGlvbiBkcmFnT3BUb0RybwogUVdl
YlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAgIDogcShxcSkK
ICAgICAsIHBhZ2UoMCkKLSAgICAsIG1haW5GcmFtZSgwKQogI2lmbmRlZiBRVF9OT19VTkRPU1RB
Q0sKICAgICAsIHVuZG9TdGFjaygwKQogI2VuZGlmCkBAIC0zMDcsOSArMzA2LDYgQEAgUVdlYlBh
Z2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZwogICAgICwgc2VsZWN0VHJhaWxpbmdX
aGl0ZXNwYWNlRW5hYmxlZChmYWxzZSkKICAgICAsIGxpbmtQb2xpY3koUVdlYlBhZ2U6OkRvbnRE
ZWxlZ2F0ZUxpbmtzKQogICAgICwgdmlld3BvcnRTaXplKFFTaXplKDAsIDApKQotI2lmbmRlZiBR
VF9OT19DT05URVhUTUVOVQotICAgICwgY3VycmVudENvbnRleHRNZW51KDApCi0jZW5kaWYKICAg
ICAsIHNldHRpbmdzKDApCiAgICAgLCB1c2VGaXhlZExheW91dChmYWxzZSkKICAgICAsIHBsdWdp
bkZhY3RvcnkoMCkKQEAgLTM3OSw3ICszNzUsNyBAQCBRV2ViUGFnZVByaXZhdGU6On5RV2ViUGFn
ZVByaXZhdGUoKQogICAgICAgICBzZXRJbnNwZWN0b3IoMCk7CiAgICAgfQogI2lmbmRlZiBRVF9O
T19DT05URVhUTUVOVQotICAgIGRlbGV0ZSBjdXJyZW50Q29udGV4dE1lbnU7CisgICAgZGVsZXRl
IGN1cnJlbnRDb250ZXh0TWVudS5kYXRhKCk7CiAjZW5kaWYKICNpZm5kZWYgUVRfTk9fVU5ET1NU
QUNLCiAgICAgZGVsZXRlIHVuZG9TdGFjazsKQEAgLTQxMyw3ICs0MDksNyBAQCBRV2ViUGFnZVBy
aXZhdGUqIFFXZWJQYWdlUHJpdmF0ZTo6cHJpdihRCiBib29sIFFXZWJQYWdlUHJpdmF0ZTo6YWNj
ZXB0TmF2aWdhdGlvblJlcXVlc3QoUVdlYkZyYW1lICpmcmFtZSwgY29uc3QgUU5ldHdvcmtSZXF1
ZXN0ICZyZXF1ZXN0LCBRV2ViUGFnZTo6TmF2aWdhdGlvblR5cGUgdHlwZSkKIHsKICAgICBpZiAo
aW5zaWRlT3BlbkNhbGwKLSAgICAgICAgJiYgZnJhbWUgPT0gbWFpbkZyYW1lKQorICAgICAgICAm
JiBmcmFtZSA9PSBtYWluRnJhbWUuZGF0YSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBy
ZXR1cm4gcS0+YWNjZXB0TmF2aWdhdGlvblJlcXVlc3QoZnJhbWUsIHJlcXVlc3QsIHR5cGUpOwog
fQpAQCAtNDI0LDcgKzQyMCw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpjcmVhdGVNYWluRnJh
bWUoKQogICAgICAgICBRV2ViRnJhbWVEYXRhIGZyYW1lRGF0YShwYWdlKTsKICAgICAgICAgbWFp
bkZyYW1lID0gbmV3IFFXZWJGcmFtZShxLCAmZnJhbWVEYXRhKTsKIAotICAgICAgICBlbWl0IHEt
PmZyYW1lQ3JlYXRlZChtYWluRnJhbWUpOworICAgICAgICBlbWl0IHEtPmZyYW1lQ3JlYXRlZCht
YWluRnJhbWUuZGF0YSgpKTsKICAgICB9CiB9CiAKQEAgLTU0Niw3ICs1NDIsNyBAQCB2b2lkIFFX
ZWJQYWdlUHJpdmF0ZTo6dXBkYXRlQWN0aW9uKFFXZWJQCiAgICAgaWYgKCFhIHx8ICFtYWluRnJh
bWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYkNvcmU6OkZyYW1lTG9hZGVyICpsb2FkZXIg
PSBtYWluRnJhbWUtPmQtPmZyYW1lLT5sb2FkZXIoKTsKKyAgICBXZWJDb3JlOjpGcmFtZUxvYWRl
ciAqbG9hZGVyID0gbWFpbkZyYW1lLmRhdGEoKS0+ZC0+ZnJhbWUtPmxvYWRlcigpOwogICAgIFdl
YkNvcmU6OkVkaXRvciAqZWRpdG9yID0gcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRP
ck1haW5GcmFtZSgpLT5lZGl0b3IoKTsKIAogICAgIGJvb2wgZW5hYmxlZCA9IGEtPmlzRW5hYmxl
ZCgpOwpAQCAtNjc5LDcgKzY3NSw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjp0aW1lckV2ZW50
KFFUaW1lckUKIHRlbXBsYXRlPGNsYXNzIFQ+CiB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VN
b3ZlRXZlbnQoVCogZXYpCiB7Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1l
UHJpdmF0ZTo6Y29yZShtYWluRnJhbWUpOworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IFFX
ZWJGcmFtZVByaXZhdGU6OmNvcmUobWFpbkZyYW1lLmRhdGEoKSk7CiAgICAgaWYgKCFmcmFtZS0+
dmlldygpKQogICAgICAgICByZXR1cm47CiAKQEAgLTY5MCw3ICs2ODYsNyBAQCB2b2lkIFFXZWJQ
YWdlUHJpdmF0ZTo6bW91c2VNb3ZlRXZlbnQoVCoKIHRlbXBsYXRlPGNsYXNzIFQ+CiB2b2lkIFFX
ZWJQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KFQqIGV2KQogewotICAgIFdlYkNvcmU6OkZy
YW1lKiBmcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUobWFpbkZyYW1lKTsKKyAgICBXZWJD
b3JlOjpGcmFtZSogZnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKG1haW5GcmFtZS5kYXRh
KCkpOwogICAgIGlmICghZnJhbWUtPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC03MjYs
NyArNzIyLDcgQEAgdm9pZCBRV2ViUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NFdmVudChUKgogdGVt
cGxhdGU8Y2xhc3MgVD4KIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjptb3VzZURvdWJsZUNsaWNrRXZl
bnQoVCAqZXYpCiB7Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0
ZTo6Y29yZShtYWluRnJhbWUpOworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IFFXZWJGcmFt
ZVByaXZhdGU6OmNvcmUobWFpbkZyYW1lLmRhdGEoKSk7CiAgICAgaWYgKCFmcmFtZS0+dmlldygp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTc0NCw3ICs3NDAsNyBAQCB2b2lkIFFXZWJQYWdlUHJp
dmF0ZTo6bW91c2VEb3VibGVDbGlja0V2CiB0ZW1wbGF0ZTxjbGFzcyBUPgogdm9pZCBRV2ViUGFn
ZVByaXZhdGU6Om1vdXNlVHJpcGxlQ2xpY2tFdmVudChUICpldikKIHsKLSAgICBXZWJDb3JlOjpG
cmFtZSogZnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKG1haW5GcmFtZSk7CisgICAgV2Vi
Q29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShtYWluRnJhbWUuZGF0
YSgpKTsKICAgICBpZiAoIWZyYW1lLT52aWV3KCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNzgy
LDcgKzc3OCw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVDbGlwYm9hcmQoUUUKIHRl
bXBsYXRlPGNsYXNzIFQ+CiB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VSZWxlYXNlRXZlbnQo
VCAqZXYpCiB7Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6
Y29yZShtYWluRnJhbWUpOworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IFFXZWJGcmFtZVBy
aXZhdGU6OmNvcmUobWFpbkZyYW1lLmRhdGEoKSk7CiAgICAgaWYgKCFmcmFtZS0+dmlldygpKQog
ICAgICAgICByZXR1cm47CiAKQEAgLTg0Miw4ICs4MzgsOCBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0
ZTo6Y29udGV4dE1lbnVFdmVudChjCiBRTWVudSAqUVdlYlBhZ2U6OmNyZWF0ZVN0YW5kYXJkQ29u
dGV4dE1lbnUoKQogewogI2lmbmRlZiBRVF9OT19DT05URVhUTUVOVQotICAgIFFNZW51ICptZW51
ID0gZC0+Y3VycmVudENvbnRleHRNZW51OwotICAgIGQtPmN1cnJlbnRDb250ZXh0TWVudSA9IDA7
CisgICAgUU1lbnUqIG1lbnUgPSBkLT5jdXJyZW50Q29udGV4dE1lbnUuZGF0YSgpOworICAgIGQt
PmN1cnJlbnRDb250ZXh0TWVudS5jbGVhcigpOwogICAgIHJldHVybiBtZW51OwogI2Vsc2UKICAg
ICByZXR1cm4gMDsKQEAgLTg1NCw3ICs4NTAsNyBAQCBRTWVudSAqUVdlYlBhZ2U6OmNyZWF0ZVN0
YW5kYXJkQ29udGV4dE1lCiB0ZW1wbGF0ZTxjbGFzcyBUPgogdm9pZCBRV2ViUGFnZVByaXZhdGU6
OndoZWVsRXZlbnQoVCAqZXYpCiB7Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZy
YW1lUHJpdmF0ZTo6Y29yZShtYWluRnJhbWUpOworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9
IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUobWFpbkZyYW1lLmRhdGEoKSk7CiAgICAgaWYgKCFmcmFt
ZS0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKQEAgLTk3NSw3ICs5NzEsNyBAQCB2b2lkIFFX
ZWJQYWdlUHJpdmF0ZTo6Zm9jdXNJbkV2ZW50KFFGb2N1CiAgICAgZm9jdXNDb250cm9sbGVyLT5z
ZXRBY3RpdmUodHJ1ZSk7CiAgICAgZm9jdXNDb250cm9sbGVyLT5zZXRGb2N1c2VkKHRydWUpOwog
ICAgIGlmICghZm9jdXNDb250cm9sbGVyLT5mb2N1c2VkRnJhbWUoKSkKLSAgICAgICAgZm9jdXND
b250cm9sbGVyLT5zZXRGb2N1c2VkRnJhbWUoUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShtYWluRnJh
bWUpKTsKKyAgICAgICAgZm9jdXNDb250cm9sbGVyLT5zZXRGb2N1c2VkRnJhbWUoUVdlYkZyYW1l
UHJpdmF0ZTo6Y29yZShtYWluRnJhbWUuZGF0YSgpKSk7CiB9CiAKIHZvaWQgUVdlYlBhZ2VQcml2
YXRlOjpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KikKQEAgLTEwNTcsMTIgKzEwNTMsMTIgQEAg
dm9pZCBRV2ViUGFnZVByaXZhdGU6OmxlYXZlRXZlbnQoUUV2ZW50Kgogdm9pZCBRV2ViUGFnZTo6
c2V0UGFsZXR0ZShjb25zdCBRUGFsZXR0ZSAmcGFsKQogewogICAgIGQtPnBhbGV0dGUgPSBwYWw7
Ci0gICAgaWYgKCFkLT5tYWluRnJhbWUgfHwgIWQtPm1haW5GcmFtZS0+ZC0+ZnJhbWUtPnZpZXco
KSkKKyAgICBpZiAoIWQtPm1haW5GcmFtZSB8fCAhZC0+bWFpbkZyYW1lLmRhdGEoKS0+ZC0+ZnJh
bWUtPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUUJydXNoIGJydXNoID0gcGFsLmJy
dXNoKFFQYWxldHRlOjpCYXNlKTsKICAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0gYnJ1c2gu
c3R5bGUoKSA9PSBRdDo6U29saWRQYXR0ZXJuID8gYnJ1c2guY29sb3IoKSA6IFFDb2xvcigpOwot
ICAgIFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZC0+bWFpbkZyYW1lKS0+dmlldygpLT51cGRhdGVC
YWNrZ3JvdW5kUmVjdXJzaXZlbHkoYmFja2dyb3VuZENvbG9yLCAhYmFja2dyb3VuZENvbG9yLmFs
cGhhKCkpOworICAgIFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZC0+bWFpbkZyYW1lLmRhdGEoKSkt
PnZpZXcoKS0+dXBkYXRlQmFja2dyb3VuZFJlY3Vyc2l2ZWx5KGJhY2tncm91bmRDb2xvciwgIWJh
Y2tncm91bmRDb2xvci5hbHBoYSgpKTsKIH0KIAogUVBhbGV0dGUgUVdlYlBhZ2U6OnBhbGV0dGUo
KSBjb25zdApAQCAtMTM3Niw3ICsxMzcyLDcgQEAgdm9pZCBRV2ViUGFnZVByaXZhdGU6OmFkanVz
dFBvaW50Rm9yQ2xpYwogYm9vbCBRV2ViUGFnZVByaXZhdGU6OnRvdWNoRXZlbnQoUVRvdWNoRXZl
bnQqIGV2ZW50KQogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgV2ViQ29yZTo6RnJh
bWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShtYWluRnJhbWUpOworICAgIFdlYkNv
cmU6OkZyYW1lKiBmcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUobWFpbkZyYW1lLmRhdGEo
KSk7CiAgICAgaWYgKCFmcmFtZS0+dmlldygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTE5ODQsNyArMTk4MCw3IEBAIFFXZWJQYWdlOjpRV2ViUGFnZShRT2JqZWN0ICpwYXJlbnQpCiBR
V2ViUGFnZTo6flFXZWJQYWdlKCkKIHsKICAgICBkLT5jcmVhdGVNYWluRnJhbWUoKTsKLSAgICBG
cmFtZUxvYWRlciAqbG9hZGVyID0gZC0+bWFpbkZyYW1lLT5kLT5mcmFtZS0+bG9hZGVyKCk7Cisg
ICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9IGQtPm1haW5GcmFtZS5kYXRhKCktPmQtPmZyYW1lLT5s
b2FkZXIoKTsKICAgICBpZiAobG9hZGVyKQogICAgICAgICBsb2FkZXItPmRldGFjaEZyb21QYXJl
bnQoKTsKICAgICBkZWxldGUgZDsKQEAgLTIwMDEsNyArMTk5Nyw3IEBAIFFXZWJQYWdlOjp+UVdl
YlBhZ2UoKQogUVdlYkZyYW1lICpRV2ViUGFnZTo6bWFpbkZyYW1lKCkgY29uc3QKIHsKICAgICBk
LT5jcmVhdGVNYWluRnJhbWUoKTsKLSAgICByZXR1cm4gZC0+bWFpbkZyYW1lOworICAgIHJldHVy
biBkLT5tYWluRnJhbWUuZGF0YSgpOwogfQogCiAvKiEKQEAgLTI0NDcsOCArMjQ0Myw4IEBAIHZv
aWQgUVdlYlBhZ2U6OnRyaWdnZXJBY3Rpb24oV2ViQWN0aW9uIGEKIAogUVNpemUgUVdlYlBhZ2U6
OnZpZXdwb3J0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKGQtPm1haW5GcmFtZSAmJiBkLT5tYWlu
RnJhbWUtPmQtPmZyYW1lLT52aWV3KCkpCi0gICAgICAgIHJldHVybiBkLT5tYWluRnJhbWUtPmQt
PmZyYW1lLT52aWV3KCktPmZyYW1lUmVjdCgpLnNpemUoKTsKKyAgICBpZiAoZC0+bWFpbkZyYW1l
ICYmIGQtPm1haW5GcmFtZS5kYXRhKCktPmQtPmZyYW1lLT52aWV3KCkpCisgICAgICAgIHJldHVy
biBkLT5tYWluRnJhbWUuZGF0YSgpLT5kLT5mcmFtZS0+dmlldygpLT5mcmFtZVJlY3QoKS5zaXpl
KCk7CiAKICAgICByZXR1cm4gZC0+dmlld3BvcnRTaXplOwogfQpAQCAtMjU3NSwxMSArMjU3MSwx
MSBAQCBRV2ViUGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2CiAKIFFTaXplIFFX
ZWJQYWdlOjpwcmVmZXJyZWRDb250ZW50c1NpemUoKSBjb25zdAogewotICAgIFFXZWJGcmFtZSog
ZnJhbWUgPSBkLT5tYWluRnJhbWU7CisgICAgUVdlYkZyYW1lKiBmcmFtZSA9IGQtPm1haW5GcmFt
ZS5kYXRhKCk7CiAgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgIFdlYkNvcmU6OkZyYW1lVmlldyog
dmlldyA9IGZyYW1lLT5kLT5mcmFtZS0+dmlldygpOwogICAgICAgICBpZiAodmlldyAmJiB2aWV3
LT51c2VGaXhlZExheW91dCgpKQotICAgICAgICAgICAgcmV0dXJuIGQtPm1haW5GcmFtZS0+ZC0+
ZnJhbWUtPnZpZXcoKS0+Zml4ZWRMYXlvdXRTaXplKCk7CisgICAgICAgICAgICByZXR1cm4gZC0+
bWFpbkZyYW1lLmRhdGEoKS0+ZC0+ZnJhbWUtPnZpZXcoKS0+Zml4ZWRMYXlvdXRTaXplKCk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIGQtPmZpeGVkTGF5b3V0U2l6ZTsKQEAgLTMxOTksNyArMzE5NSw3
IEBAIHZvaWQgUVdlYlBhZ2U6OnNldENvbnRlbnRFZGl0YWJsZShib29sIGUKICAgICAgICAgZC0+
cGFnZS0+c2V0RWRpdGFibGUoZWRpdGFibGUpOwogICAgICAgICBkLT5wYWdlLT5zZXRUYWJLZXlD
eWNsZXNUaHJvdWdoRWxlbWVudHMoIWVkaXRhYmxlKTsKICAgICAgICAgaWYgKGQtPm1haW5GcmFt
ZSkgewotICAgICAgICAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gZC0+bWFpbkZyYW1lLT5k
LT5mcmFtZTsKKyAgICAgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IGQtPm1haW5GcmFt
ZS5kYXRhKCktPmQtPmZyYW1lOwogICAgICAgICAgICAgaWYgKGVkaXRhYmxlKSB7CiAgICAgICAg
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5hcHBseUVkaXRpbmdTdHlsZVRvQm9keUVsZW1lbnQo
KTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogbWFjIHBvcnQgY2FsbHMgdGhpcyBpZiB0aGVy
ZSBpcyBubyBzZWxlY3RlZERPTVJhbmdlCkBAIC0zMzIzLDcgKzMzMTksNyBAQCB2b2lkIFFXZWJQ
YWdlOjp1cGRhdGVQb3NpdGlvbkRlcGVuZGVudEFjCiAgICAgUUJpdEFycmF5IHZpc2l0ZWRXZWJB
Y3Rpb25zKFFXZWJQYWdlOjpXZWJBY3Rpb25Db3VudCk7CiAKICNpZm5kZWYgUVRfTk9fQ09OVEVY
VE1FTlUKLSAgICBkZWxldGUgZC0+Y3VycmVudENvbnRleHRNZW51OworICAgIGRlbGV0ZSBkLT5j
dXJyZW50Q29udGV4dE1lbnUuZGF0YSgpOwogCiAgICAgLy8gVGhlbiB3ZSBsZXQgY3JlYXRlQ29u
dGV4dE1lbnUoKSBlbmFibGUgdGhlIGFjdGlvbnMgdGhhdCBhcmUgcHV0IGludG8gdGhlIG1lbnUK
ICAgICBkLT5jdXJyZW50Q29udGV4dE1lbnUgPSBkLT5jcmVhdGVDb250ZXh0TWVudShkLT5wYWdl
LT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4dE1lbnUoKSwgZC0+cGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPmNvbnRleHRNZW51KCktPnBsYXRmb3JtRGVzY3JpcHRpb24oKSwg
JnZpc2l0ZWRXZWJBY3Rpb25zKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgJKHJl
dmlzaW9uIDk0NTI3KQorKysgU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMSw5ICsyMSwxMCBAQAogI2lmbmRlZiBRV0VCUEFHRV9QX0gKICNkZWZp
bmUgUVdFQlBBR0VfUF9ICiAKKyNpbmNsdWRlIDxRV2Vha1BvaW50ZXI+CisKICNpbmNsdWRlIDxx
YmFzaWN0aW1lci5oPgogI2luY2x1ZGUgPHFuZXR3b3JrcHJveHkuaD4KLSNpbmNsdWRlIDxxcG9p
bnRlci5oPgogI2luY2x1ZGUgPHFldmVudC5oPgogI2luY2x1ZGUgPHFncmFwaGljc3NjZW5lZXZl
bnQuaD4KIApAQCAtMTY0LDcgKzE2NSw3IEBAIHB1YmxpYzoKICAgICBRV2ViUGFnZSAqcTsKICAg
ICBXZWJDb3JlOjpQYWdlICpwYWdlOwogICAgIE93blB0cjxRV2ViUGFnZUNsaWVudD4gY2xpZW50
OwotICAgIFFQb2ludGVyPFFXZWJGcmFtZT4gbWFpbkZyYW1lOworICAgIFFXZWFrUG9pbnRlcjxR
V2ViRnJhbWU+IG1haW5GcmFtZTsKIAogI2lmbmRlZiBRVF9OT19VTkRPU1RBQ0sKICAgICBRVW5k
b1N0YWNrICp1bmRvU3RhY2s7CkBAIC0xOTUsNyArMTk2LDcgQEAgcHVibGljOgogICAgIFFXZWJI
aXN0b3J5IGhpc3Rvcnk7CiAgICAgUVdlYkhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdDsKICNp
Zm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKLSAgICBRUG9pbnRlcjxRTWVudT4gY3VycmVudENvbnRl
eHRNZW51OworICAgIFFXZWFrUG9pbnRlcjxRTWVudT4gY3VycmVudENvbnRleHRNZW51OwogI2Vu
ZGlmCiAgICAgUVdlYlNldHRpbmdzICpzZXR0aW5nczsKICAgICBRUGFsZXR0ZSBwYWxldHRlOwpJ
bmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTQ1MjcpCisrKyBTb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3ICsy
MDMsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBRV2ViVmlldyogbV92aWV3OwogICAgIGJvb2wgbV9p
Z25vcmVFdmVudHM7Ci0gICAgUVBvaW50ZXI8UVdlYkZyYW1lPiBtX2ZyYW1lOworICAgIFFXZWFr
UG9pbnRlcjxRV2ViRnJhbWU+IG1fZnJhbWU7CiAgICAgUXQ6OlNjcm9sbEJhclBvbGljeSBtX29s
ZFZlcnRpY2FsU2Nyb2xsQmFyUG9saWN5OwogICAgIFF0OjpTY3JvbGxCYXJQb2xpY3kgbV9vbGRI
b3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3Bw
CShyZXZpc2lvbiA5NDUyNykKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU3LDcgKzEwNTcs
NyBAQCBzdGF0aWMgUVN0cmluZ0xpc3QgaXRlcmF0ZUNvbnRleHRNZW51KFFNCiBRU3RyaW5nTGlz
dCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29udGV4dE1lbnUoUVdlYlBhZ2UqIHBhZ2UpCiB7
CiAjaWZuZGVmIFFUX05PX0NPTlRFWFRNRU5VCi0gICAgcmV0dXJuIGl0ZXJhdGVDb250ZXh0TWVu
dShwYWdlLT5kLT5jdXJyZW50Q29udGV4dE1lbnUpOworICAgIHJldHVybiBpdGVyYXRlQ29udGV4
dE1lbnUocGFnZS0+ZC0+Y3VycmVudENvbnRleHRNZW51LmRhdGEoKSk7CiAjZWxzZQogICAgIHJl
dHVybiBRU3RyaW5nTGlzdCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAJKHJldmlzaW9u
IDk0NTI3KQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyMCwxNSArMTMyMCwxNSBAQCBQYXNzUmVm
UHRyPEZyYW1lPiBGcmFtZUxvYWRlckNsaWVudFF0OjpjCiAgICAgZnJhbWVEYXRhLm1hcmdpbldp
ZHRoID0gbWFyZ2luV2lkdGg7CiAgICAgZnJhbWVEYXRhLm1hcmdpbkhlaWdodCA9IG1hcmdpbkhl
aWdodDsKIAotICAgIFFQb2ludGVyPFFXZWJGcmFtZT4gd2ViRnJhbWUgPSBuZXcgUVdlYkZyYW1l
KG1fd2ViRnJhbWUsICZmcmFtZURhdGEpOworICAgIFFXZWFrUG9pbnRlcjxRV2ViRnJhbWU+IHdl
YkZyYW1lID0gbmV3IFFXZWJGcmFtZShtX3dlYkZyYW1lLCAmZnJhbWVEYXRhKTsKICAgICAvLyBU
aGUgY3JlYXRpb24gb2YgdGhlIGZyYW1lIG1heSBoYXZlIHJ1biBhcmJpdHJhcnkgSmF2YVNjcmlw
dCB0aGF0IHJlbW92ZWQgaXQgZnJvbSB0aGUgcGFnZSBhbHJlYWR5LgotICAgIGlmICghd2ViRnJh
bWUtPmQtPmZyYW1lLT5wYWdlKCkpIHsKKyAgICBpZiAoIXdlYkZyYW1lLmRhdGEoKS0+ZC0+ZnJh
bWUtPnBhZ2UoKSkgewogICAgICAgICBmcmFtZURhdGEuZnJhbWUucmVsZWFzZSgpOwotICAgICAg
ICBBU1NFUlQod2ViRnJhbWUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQod2ViRnJhbWUuZGF0
YSgpLmlzTnVsbCgpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgZW1pdCBtX3dl
YkZyYW1lLT5wYWdlKCktPmZyYW1lQ3JlYXRlZCh3ZWJGcmFtZSk7CisgICAgZW1pdCBtX3dlYkZy
YW1lLT5wYWdlKCktPmZyYW1lQ3JlYXRlZCh3ZWJGcmFtZS5kYXRhKCkpOwogCiAgICAgLy8gRklY
TUU6IFNldCBvdmVycmlkZSBlbmNvZGluZyBpZiB3ZSBoYXZlIG9uZS4KIApJbmRleDogU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAJKHJl
dmlzaW9uIDk0NTI3KQorKysgU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3
ZWJmcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NzMsMjYgKzI3NzMsMjYgQEAgdm9pZCB0
c3RfUVdlYkZyYW1lOjpvd25lcnNoaXAoKQogewogICAgIC8vIHRlc3Qgb3duZXJzaGlwCiAgICAg
ewotICAgICAgICBRUG9pbnRlcjxRT2JqZWN0PiBwdHIgPSBuZXcgUU9iamVjdCgpOworICAgICAg
ICBRV2Vha1BvaW50ZXI8UU9iamVjdD4gcHRyID0gbmV3IFFPYmplY3QoKTsKICAgICAgICAgUVZF
UklGWShwdHIgIT0gMCk7CiAgICAgICAgIHsKICAgICAgICAgICAgIFFXZWJQYWdlIHBhZ2U7CiAg
ICAgICAgICAgICBRV2ViRnJhbWUqIGZyYW1lID0gcGFnZS5tYWluRnJhbWUoKTsKLSAgICAgICAg
ICAgIGZyYW1lLT5hZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoInRlc3QiLCBwdHIsIFFTY3Jp
cHRFbmdpbmU6OlNjcmlwdE93bmVyc2hpcCk7CisgICAgICAgICAgICBmcmFtZS0+YWRkVG9KYXZh
U2NyaXB0V2luZG93T2JqZWN0KCJ0ZXN0IiwgcHRyLmRhdGEoKSwgUVNjcmlwdEVuZ2luZTo6U2Ny
aXB0T3duZXJzaGlwKTsKICAgICAgICAgfQogICAgICAgICBRVkVSSUZZKHB0ciA9PSAwKTsKICAg
ICB9CiAgICAgewotICAgICAgICBRUG9pbnRlcjxRT2JqZWN0PiBwdHIgPSBuZXcgUU9iamVjdCgp
OworICAgICAgICBRV2Vha1BvaW50ZXI8UU9iamVjdD4gcHRyID0gbmV3IFFPYmplY3QoKTsKICAg
ICAgICAgUVZFUklGWShwdHIgIT0gMCk7Ci0gICAgICAgIFFPYmplY3QqIGJlZm9yZSA9IHB0cjsK
KyAgICAgICAgUU9iamVjdCogYmVmb3JlID0gcHRyLmRhdGEoKTsKICAgICAgICAgewogICAgICAg
ICAgICAgUVdlYlBhZ2UgcGFnZTsKICAgICAgICAgICAgIFFXZWJGcmFtZSogZnJhbWUgPSBwYWdl
Lm1haW5GcmFtZSgpOwotICAgICAgICAgICAgZnJhbWUtPmFkZFRvSmF2YVNjcmlwdFdpbmRvd09i
amVjdCgidGVzdCIsIHB0ciwgUVNjcmlwdEVuZ2luZTo6UXRPd25lcnNoaXApOworICAgICAgICAg
ICAgZnJhbWUtPmFkZFRvSmF2YVNjcmlwdFdpbmRvd09iamVjdCgidGVzdCIsIHB0ci5kYXRhKCks
IFFTY3JpcHRFbmdpbmU6OlF0T3duZXJzaGlwKTsKICAgICAgICAgfQotICAgICAgICBRVkVSSUZZ
KHB0ciA9PSBiZWZvcmUpOwotICAgICAgICBkZWxldGUgcHRyOworICAgICAgICBRVkVSSUZZKHB0
ci5kYXRhKCkgPT0gYmVmb3JlKTsKKyAgICAgICAgZGVsZXRlIHB0ci5kYXRhKCk7CiAgICAgfQog
ICAgIHsKICAgICAgICAgUU9iamVjdCogcGFyZW50ID0gbmV3IFFPYmplY3QoKTsKQEAgLTI4MDcs
MjQgKzI4MDcsMjQgQEAgdm9pZCB0c3RfUVdlYkZyYW1lOjpvd25lcnNoaXAoKQogICAgICAgICBR
Q09NUEFSRShxdmFyaWFudF9jYXN0PFFPYmplY3QqPih2KSwgKFFPYmplY3QgKikwKTsKICAgICB9
CiAgICAgewotICAgICAgICBRUG9pbnRlcjxRT2JqZWN0PiBwdHIgPSBuZXcgUU9iamVjdCgpOwor
ICAgICAgICBRV2Vha1BvaW50ZXI8UU9iamVjdD4gcHRyID0gbmV3IFFPYmplY3QoKTsKICAgICAg
ICAgUVZFUklGWShwdHIgIT0gMCk7CiAgICAgICAgIHsKICAgICAgICAgICAgIFFXZWJQYWdlIHBh
Z2U7CiAgICAgICAgICAgICBRV2ViRnJhbWUqIGZyYW1lID0gcGFnZS5tYWluRnJhbWUoKTsKLSAg
ICAgICAgICAgIGZyYW1lLT5hZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoInRlc3QiLCBwdHIs
IFFTY3JpcHRFbmdpbmU6OkF1dG9Pd25lcnNoaXApOworICAgICAgICAgICAgZnJhbWUtPmFkZFRv
SmF2YVNjcmlwdFdpbmRvd09iamVjdCgidGVzdCIsIHB0ci5kYXRhKCksIFFTY3JpcHRFbmdpbmU6
OkF1dG9Pd25lcnNoaXApOwogICAgICAgICB9CiAgICAgICAgIC8vIG5vIHBhcmVudCwgc28gaXQg
c2hvdWxkIGJlIGxpa2UgU2NyaXB0T3duZXJzaGlwCiAgICAgICAgIFFWRVJJRlkocHRyID09IDAp
OwogICAgIH0KICAgICB7CiAgICAgICAgIFFPYmplY3QqIHBhcmVudCA9IG5ldyBRT2JqZWN0KCk7
Ci0gICAgICAgIFFQb2ludGVyPFFPYmplY3Q+IGNoaWxkID0gbmV3IFFPYmplY3QocGFyZW50KTsK
KyAgICAgICAgUVdlYWtQb2ludGVyPFFPYmplY3Q+IGNoaWxkID0gbmV3IFFPYmplY3QocGFyZW50
KTsKICAgICAgICAgUVZFUklGWShjaGlsZCAhPSAwKTsKICAgICAgICAgewogICAgICAgICAgICAg
UVdlYlBhZ2UgcGFnZTsKICAgICAgICAgICAgIFFXZWJGcmFtZSogZnJhbWUgPSBwYWdlLm1haW5G
cmFtZSgpOwotICAgICAgICAgICAgZnJhbWUtPmFkZFRvSmF2YVNjcmlwdFdpbmRvd09iamVjdCgi
dGVzdCIsIGNoaWxkLCBRU2NyaXB0RW5naW5lOjpBdXRvT3duZXJzaGlwKTsKKyAgICAgICAgICAg
IGZyYW1lLT5hZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoInRlc3QiLCBjaGlsZC5kYXRhKCks
IFFTY3JpcHRFbmdpbmU6OkF1dG9Pd25lcnNoaXApOwogICAgICAgICB9CiAgICAgICAgIC8vIGhh
cyBwYXJlbnQsIHNvIGl0IHNob3VsZCBiZSBsaWtlIFF0T3duZXJzaGlwCiAgICAgICAgIFFWRVJJ
RlkoY2hpbGQgIT0gMCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Rz
dF9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA5NDUyNykKKysrIFNvdXJjZS9XZWJLaXQv
cXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0
LDcgKzM3NCw3IEBAIHB1YmxpYzoKICAgICBUZXN0UGFnZShRT2JqZWN0KiBwYXJlbnQgPSAwKSA6
IFFXZWJQYWdlKHBhcmVudCkge30KIAogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKLSAgICAgICAg
UVBvaW50ZXI8UVdlYkZyYW1lPiBmcmFtZTsKKyAgICAgICAgUVdlYWtQb2ludGVyPFFXZWJGcmFt
ZT4gZnJhbWU7CiAgICAgICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0OwogICAgICAgICBOYXZp
Z2F0aW9uVHlwZSB0eXBlOwogICAgIH07CkBAIC04NDYsMTIgKzg0NiwxMSBAQCB2b2lkIHRzdF9R
V2ViUGFnZTo6Y3JlYXRlUGx1Z2luV2l0aFBsdWdpCiBjbGFzcyBQbHVnaW5Db3VudGVyUGFnZSA6
IHB1YmxpYyBRV2ViUGFnZSB7CiBwdWJsaWM6CiAgICAgaW50IG1fY291bnQ7Ci0gICAgUVBvaW50
ZXI8UU9iamVjdD4gbV93aWRnZXQ7CisgICAgUVdlYWtQb2ludGVyPFFPYmplY3Q+IG1fd2lkZ2V0
OwogICAgIFFPYmplY3QqIG1fcGx1Z2luUGFyZW50OwogICAgIFBsdWdpbkNvdW50ZXJQYWdlKFFP
YmplY3QqIHBhcmVudCA9IDApCiAgICAgICAgIDogUVdlYlBhZ2UocGFyZW50KQogICAgICAgICAs
IG1fY291bnQoMCkKLSAgICAgICAgLCBtX3dpZGdldCgwKQogICAgICAgICAsIG1fcGx1Z2luUGFy
ZW50KDApCiAgICAgewogICAgICAgIHNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGlu
Z3M6OlBsdWdpbnNFbmFibGVkLCB0cnVlKTsKQEAgLTg4MSw3ICs4ODAsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIC8vIHdoaWNoIGFsc28gdGFrZXMgYSBRV2lkZ2V0KiBpbnN0ZWFkIG9mIGEgUU9iamVj
dCouIFRoZXJlZm9yZSB3ZSBuZWVkIHRvCiAgICAgICAgIC8vIHVwY2FzdCB0byBUKiwgd2hpY2gg
aXMgYSBRV2lkZ2V0LgogICAgICAgICBzdGF0aWNfY2FzdDxUKj4obV93aWRnZXQuZGF0YSgpKS0+
c2V0UGFyZW50KHN0YXRpY19jYXN0PFQqPihtX3BsdWdpblBhcmVudCkpOwotICAgICAgICByZXR1
cm4gbV93aWRnZXQ7CisgICAgICAgIHJldHVybiBtX3dpZGdldC5kYXRhKCk7CiAgICAgfQogfTsK
IApAQCAtOTQ4LDcgKzk0Nyw3IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjpjcmVhdGVWaWV3bGVzc1Bs
dWdpbigKICAgICBRQ09NUEFSRShwYWdlLT5tX2NvdW50LCAxKTsKICAgICBRVkVSSUZZKHBhZ2Ut
Pm1fd2lkZ2V0KTsKICAgICBRVkVSSUZZKHBhZ2UtPm1fcGx1Z2luUGFyZW50KTsKLSAgICBRVkVS
SUZZKHBhZ2UtPm1fd2lkZ2V0LT5wYXJlbnQoKSA9PSBwYWdlLT5tX3BsdWdpblBhcmVudCk7Cisg
ICAgUVZFUklGWShwYWdlLT5tX3dpZGdldC5kYXRhKCktPnBhcmVudCgpID09IHBhZ2UtPm1fcGx1
Z2luUGFyZW50KTsKICAgICBkZWxldGUgcGFnZTsKIAogfQpJbmRleDogU291cmNlL1dlYktpdC9x
dC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTQ1Mjcp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0NiwxMCArMTQ2LDEwIEBAIHZvaWQgdHN0X1FXZWJWaWV3OjpyZXVz
ZVBhZ2UoKQogCiAgICAgUUZFVENIKFFTdHJpbmcsIGh0bWwpOwogICAgIFFXZWJWaWV3KiB2aWV3
MSA9IG5ldyBRV2ViVmlldzsKLSAgICBRUG9pbnRlcjxRV2ViUGFnZT4gcGFnZSA9IG5ldyBRV2Vi
UGFnZTsKLSAgICB2aWV3MS0+c2V0UGFnZShwYWdlKTsKLSAgICBwYWdlLT5zZXR0aW5ncygpLT5z
ZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpQbHVnaW5zRW5hYmxlZCwgdHJ1ZSk7Ci0gICAgUVdl
YkZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBRV2Vha1BvaW50ZXI8
UVdlYlBhZ2U+IHBhZ2UgPSBuZXcgUVdlYlBhZ2U7CisgICAgdmlldzEtPnNldFBhZ2UocGFnZS5k
YXRhKCkpOworICAgIHBhZ2UuZGF0YSgpLT5zZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNl
dHRpbmdzOjpQbHVnaW5zRW5hYmxlZCwgdHJ1ZSk7CisgICAgUVdlYkZyYW1lKiBtYWluRnJhbWUg
PSBwYWdlLmRhdGEoKS0+bWFpbkZyYW1lKCk7CiAgICAgbWFpbkZyYW1lLT5zZXRIdG1sKGh0bWws
IFFVcmw6OmZyb21Mb2NhbEZpbGUoVEVTVFNfU09VUkNFX0RJUikpOwogICAgIGlmIChodG1sLmNv
bnRhaW5zKCI8L2VtYmVkPiIpKSB7CiAgICAgICAgIC8vIHNvbWUgcmVhc29uYWJsZSB0aW1lIGZv
ciB0aGUgUGx1Z2luU3RyZWFtIHRvIGZlZWQgdGVzdC5zd2YgdG8gZmxhc2ggYW5kIHN0YXJ0IHBh
aW50aW5nCkBAIC0xNjIsMTIgKzE2MiwxMiBAQCB2b2lkIHRzdF9RV2ViVmlldzo6cmV1c2VQYWdl
KCkKICAgICBRVkVSSUZZKHBhZ2UgIT0gMCk7IC8vIGRlbGV0aW5nIHZpZXcgbXVzdCBub3QgaGF2
ZSBkZWxldGVkIHRoZSBwYWdlLCBzaW5jZSBpdCdzIG5vdCBhIGNoaWxkIG9mIHZpZXcKIAogICAg
IFFXZWJWaWV3ICp2aWV3MiA9IG5ldyBRV2ViVmlldzsKLSAgICB2aWV3Mi0+c2V0UGFnZShwYWdl
KTsKKyAgICB2aWV3Mi0+c2V0UGFnZShwYWdlLmRhdGEoKSk7CiAgICAgdmlldzItPnNob3coKTsg
Ly8gaW4gV2luZG93bGVzcyBtb2RlLCB5b3Ugc2hvdWxkIHN0aWxsIGJlIGFibGUgdG8gc2VlIHRo
ZSBwbHVnaW4gaGVyZQogICAgIFFUZXN0OjpxV2FpdEZvcldpbmRvd1Nob3duKHZpZXcyKTsKICAg
ICBkZWxldGUgdmlldzI7CiAKLSAgICBkZWxldGUgcGFnZTsgLy8gbXVzdCBub3QgY3Jhc2gKKyAg
ICBkZWxldGUgcGFnZS5kYXRhKCk7IC8vIG11c3Qgbm90IGNyYXNoCiAKICAgICBRRGlyOjpzZXRD
dXJyZW50KFFBcHBsaWNhdGlvbjo6YXBwbGljYXRpb25EaXJQYXRoKCkpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>