<?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>118182</bug_id>
          
          <creation_ts>2013-06-28 04:21:44 -0700</creation_ts>
          <short_desc>Adopt is/toHTMLImageElement for code cleanup</short_desc>
          <delta_ts>2013-06-28 19:42:34 -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>WebCore Misc.</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="Kangil Han">kangil.han</reporter>
          <assigned_to name="Kangil Han">kangil.han</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>904556</commentid>
    <comment_count>0</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-06-28 04:21:44 -0700</bug_when>
    <thetext>Adopt is/toHTMLImageElement for code cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904558</commentid>
    <comment_count>1</comment_count>
      <attachid>205696</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-06-28 04:24:03 -0700</bug_when>
    <thetext>Created attachment 205696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904593</commentid>
    <comment_count>2</comment_count>
      <attachid>205696</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-06-28 05:53:55 -0700</bug_when>
    <thetext>Comment on attachment 205696
Patch

Loving all these patches. r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904828</commentid>
    <comment_count>3</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-06-28 19:21:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 205696 [details])
&gt; Loving all these patches. r=me!

Thx! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904829</commentid>
    <comment_count>4</comment_count>
      <attachid>205696</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-28 19:42:32 -0700</bug_when>
    <thetext>Comment on attachment 205696
Patch

Clearing flags on attachment: 205696

Committed r152203: &lt;http://trac.webkit.org/changeset/152203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904830</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-28 19:42:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205696</attachid>
            <date>2013-06-28 04:24:03 -0700</date>
            <delta_ts>2013-06-28 19:42:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118182-20130628202212.patch</filename>
            <type>text/plain</type>
            <size>27698</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxMjM3NzUwNjRmMzY1
MDdlMzM5MGQ5YTFhZWE3MzQ0Mzc1YjkzNC4uNjcxMGQxNDZkNjEyNTdhMjlhMjQ2YjYwOWNkM2Vj
YTc0OTYyODg3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDEzLTA2LTI4ICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBBZG9wdCBpcy90b0hU
TUxJbWFnZUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5oYW5jZSByZWFkYWJpbGl0eSwgdGhpcyBwYXRj
aCBhZG9wdHMgaXMvdG9IVE1MSW1hZ2VFbGVtZW50LgorICAgICAgICBUaGlzIGFsc28gaGVscHMg
b3V0IHRvIHJlZHVjZSBkdXBsaWNhdGVkIHVzZSBvZiBzdGF0aWNfY2FzdC4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzTmF0aXZlSW1hZ2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp1cmwpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTTm9kZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1JlYWNoYWJsZUZy
b21ET00pOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OmFzc2lnblRvSFRNTEltYWdlRWxlbWVudCk6CisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpRdFBpeG1hcFJ1bnRpbWU6OnRvUXQpOgorICAgICAgICAqIGRvbS9DbGlw
Ym9hcmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpzZXREcmFnSW1hZ2UpOgor
ICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmVuY2xvc2lu
Z0xpbmtFdmVudFBhcmVudE9yU2VsZik6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aW1hZ2VFbGVtZW50RnJvbUltYWdlRG9jdW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5k
U2VydmVyTWFwTW91c2VQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjppc0hUTUxJbWFnZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6dG9IVE1MSW1hZ2VFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxNYXBFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNYXBFbGVtZW50OjppbWFnZUVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldpbmRvd05hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWZJ
ZEF0dHJpYnV0ZU1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TmFtZUNvbGxlY3Rp
b246Om5vZGVNYXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnROYW1lQ29sbGVjdGlvbjo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIHBhZ2UvRHJh
Z0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdn
YWJsZUVsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRVUkxG
b3JJbWFnZU5vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9IVE1MQ29udmVydGVyLm1tOgor
ICAgICAgICAoK1tXZWJIVE1MQ29udmVydGVyIGVkaXRpbmdBdHRyaWJ1dGVkU3RyaW5nRnJvbVJh
bmdlOl0pOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFsdERpc3BsYXlTdHJpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6SGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVJbWFnZVVSTCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWlu
dEludG9SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbWFnZU1hcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6dXBkYXRlQWx0VGV4dCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmpl
Y3Q6OnNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKToKKwogMjAxMy0wNi0yNyAgS2FuZ2ls
IEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgSFRNTEF1ZGlvRWxlbWVu
dCBkb2Vzbid0IGhhdmUgdG8ga25vdyBhYm91dCBpc1ZpZGVvIGZ1bmN0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZwppbmRleCA1MDQzZjNkMDUxY2YwZDBkOTYxZDhkN2ZlODdhNjQxYTlm
NGI2NWI1Li4zNjdiM2Q4ZGM5Mjc0Mzk0ZDIxNWNlOTBkY2FlNzkxYmM5ZGFmZTcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wNi0yOCAgS2Fu
Z2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQWRvcHQgaXMvdG9I
VE1MSW1hZ2VFbGVtZW50IGZvciBjb2RlIGNsZWFudXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODE4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGVuaGFuY2UgcmVhZGFiaWxpdHksIHRoaXMgcGF0
Y2ggYWRvcHRzIGlzL3RvSFRNTEltYWdlRWxlbWVudC4KKyAgICAgICAgVGhpcyBhbHNvIGhlbHBz
IG91dCB0byByZWR1Y2UgZHVwbGljYXRlZCB1c2Ugb2Ygc3RhdGljX2Nhc3QuCisKKyAgICAgICAg
KiBBcGkvV2ViUGFnZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQ
cml2YXRlOjp3ZWJDb250ZXh0KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFn
ZVByaXZhdGU6OmJsb2NrWm9vbVJlY3RGb3JOb2RlKToKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6V2ViUGFnZTo6YmxvY2tab29tKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZhdEZp
bmdlcnMuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpGYXRGaW5nZXJzOjppc0Vs
ZW1lbnRDbGlja2FibGUpOgorCiAyMDEzLTA2LTI3ICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBBZG9wdCBpcy90b0hUTUxJbnB1dEVsZW1lbnQgZm9yIGNv
ZGUgY2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAxYzcxMTU2MmY2MGJiMTdlODY0YmRhMTk4
NDkzZDNkYzJmNGE3MjMyLi5jMmIyNGQ4MjZkYTBiYzY0NjNlZWRmNzkzZWM3YWIzODBiOTRkOTcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNDg4LDcgKzQ4OCw3IEBAIGJvb2wgQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3Q6OmlzTmF0aXZlSW1hZ2UoKSBjb25zdAogICAgIGlmICghbm9kZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaW1nVGFnKSkKKyAg
ICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGFwcGxldFRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShl
bWJlZFRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShvYmplY3RUYWcpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKaW5kZXggZjlkOGEwOTM2NmU0MWM2MzIzMDI1Njc3MTFhMjkwYzNlYWU5Y2NkMy4uMzY2Y2Y2
MDc4YzQzOTkwNDhhODA5YmY2MDI3MzEyZDQ5OTBjYjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
CkBAIC0xNDY3LDggKzE0NjcsOCBAQCBLVVJMIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVy
bCgpIGNvbnN0CiAgICAgaWYgKGlzV2ViQXJlYSgpKQogICAgICAgICByZXR1cm4gbV9yZW5kZXJl
ci0+ZG9jdW1lbnQoKS0+dXJsKCk7CiAgICAgCi0gICAgaWYgKGlzSW1hZ2UoKSAmJiBtX3JlbmRl
cmVyLT5ub2RlKCkgJiYgbV9yZW5kZXJlci0+bm9kZSgpLT5oYXNUYWdOYW1lKGltZ1RhZykpCi0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4obV9yZW5kZXJlci0+
bm9kZSgpKS0+c3JjKCk7CisgICAgaWYgKGlzSW1hZ2UoKSAmJiBtX3JlbmRlcmVyLT5ub2RlKCkg
JiYgaXNIVE1MSW1hZ2VFbGVtZW50KG1fcmVuZGVyZXItPm5vZGUoKSkpCisgICAgICAgIHJldHVy
biB0b0hUTUxJbWFnZUVsZW1lbnQobV9yZW5kZXJlci0+bm9kZSgpKS0+c3JjKCk7CiAgICAgCiAg
ICAgaWYgKGlzSW5wdXRJbWFnZSgpKQogICAgICAgICByZXR1cm4gdG9IVE1MSW5wdXRFbGVtZW50
KG1fcmVuZGVyZXItPm5vZGUoKSktPnNyYygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTm9kZUN1c3RvbS5jcHAKaW5kZXggMTFjNjIxOTg2Y2Y1ZmViODIwYzIyNmUwYjdjOTNhZmMy
MTA3ZjY5Yi4uMGQzYzIwZjM2NTY4OWQ3ODNjOTQ3NzU4OWZjMWRhMDllOWFiYWM0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwCkBAIC0xMDUsOCArMTA1
LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzUmVhY2hhYmxlRnJvbURPTShKU05vZGUqIGpzTm9k
ZSwgTm9kZSogbm9kZSwgU2xvdFZpc2l0b3ImIHYKICAgICAgICAgLy8gYmVjYXVzZSBpdCBpcyB0
aGUgb25seSB0aGluZyBrZWVwaW5nIHRoZSBpbWFnZSBlbGVtZW50IGFsaXZlLCBhbmQgaWYKICAg
ICAgICAgLy8gdGhlIGVsZW1lbnQgaXMgZGVzdHJveWVkLCBpdHMgbG9hZCBldmVudCB3aWxsIG5v
dCBmaXJlLgogICAgICAgICAvLyBGSVhNRTogVGhlIERPTSBzaG91bGQgbWFuYWdlIHRoaXMgaXNz
dWUgd2l0aG91dCB0aGUgaGVscCBvZiBKYXZhU2NyaXB0IHdyYXBwZXJzLgotICAgICAgICBpZiAo
bm9kZS0+aGFzVGFnTmFtZShpbWdUYWcpKSB7Ci0gICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8
SFRNTEltYWdlRWxlbWVudCo+KG5vZGUpLT5oYXNQZW5kaW5nQWN0aXZpdHkoKSkKKyAgICAgICAg
aWYgKGlzSFRNTEltYWdlRWxlbWVudChub2RlKSkgeworICAgICAgICAgICAgaWYgKHRvSFRNTElt
YWdlRWxlbWVudChub2RlKS0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAjaWYgRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCmluZGV4IDFkZGY0ZmRmMzIx
YjFlZGMwZDljYWViYmIzNzAwY2UyYjRiOWQ2ZDUuLjg2ODkzMDdjNWE0M2VmZGQxNmViYzJiYjQz
ZWRjMWU2OTM4ZGMzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9w
aXhtYXBydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFw
cnVudGltZS5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBhc3NpZ25U
b0hUTUxJbWFnZUVsZW1lbnQoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bgog
CiAgICAgLy8gV2Ugbm93IGtub3cgdGhhdCB3ZSBoYXZlIGEgdmFsaWQgPGltZz4gZWxlbWVudCBh
cyB0aGUgYXJndW1lbnQsIHdlIGNhbiBhdHRhY2ggdGhlIHBpeG1hcCB0byBpdC4KICAgICBSZWZQ
dHI8U3RpbGxJbWFnZT4gc3RpbGxJbWFnZSA9IFdlYkNvcmU6OlN0aWxsSW1hZ2U6OmNyZWF0ZSh0
b1BpeG1hcChkYXRhKSk7Ci0gICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gc3Rh
dGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KHN0YXRpY19jYXN0PEpTSFRNTEltYWdlRWxlbWVu
dCo+KGpzT2JqZWN0KS0+aW1wbCgpKTsKKyAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1l
bnQgPSB0b0hUTUxJbWFnZUVsZW1lbnQoc3RhdGljX2Nhc3Q8SlNIVE1MSW1hZ2VFbGVtZW50Kj4o
anNPYmplY3QpLT5pbXBsKCkpOwogICAgIGltYWdlRWxlbWVudC0+c2V0Q2FjaGVkSW1hZ2UobmV3
IENhY2hlZEltYWdlKHN0aWxsSW1hZ2UuZ2V0KCkpKTsKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7CiB9CkBAIC0yMTgsNyArMjE4LDcgQEAgUVZhcmlhbnQgUXRQaXht
YXBSdW50aW1lOjp0b1F0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBvYmosIFFN
ZXRhVHlwZToKICAgICAgICAgcmV0dXJuIGVtcHR5VmFyaWFudEZvckhpbnQoaGludCk7CiAKICAg
ICBKU0hUTUxJbWFnZUVsZW1lbnQqIGVsZW1lbnRKU1dyYXBwZXIgPSBzdGF0aWNfY2FzdDxKU0hU
TUxJbWFnZUVsZW1lbnQqPihqc09iamVjdCk7Ci0gICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VF
bGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KGVsZW1lbnRKU1dyYXBwZXIt
PmltcGwoKSk7CisgICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gdG9IVE1MSW1h
Z2VFbGVtZW50KGVsZW1lbnRKU1dyYXBwZXItPmltcGwoKSk7CiAKICAgICBpZiAoIWltYWdlRWxl
bWVudCkKICAgICAgICAgcmV0dXJuIGVtcHR5VmFyaWFudEZvckhpbnQoaGludCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DbGlwYm9hcmQuY3BwCmluZGV4IGMzZTZmMTU2ZTcwMjBlYTNhNzUyMjk4MWNjODg4MDRiYjQw
NGQxOWYuLjczZjUxOWJjNTBhZGJlZWJiODlhNzE0Mzg0ZGNmZmNlNmY4ZGU4MzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DbGlwYm9hcmQuY3BwCkBAIC0yODUsOCArMjg1LDggQEAgdm9pZCBDbGlwYm9hcmQ6OnNl
dERyYWdJbWFnZShFbGVtZW50KiBlbGVtZW50LCBpbnQgeCwgaW50IHkpCiAgICAgaWYgKCFjYW5T
ZXREcmFnSW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGVsZW1lbnQgJiYgZWxl
bWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykgJiYgIWVsZW1lbnQtPmluRG9jdW1l
bnQoKSkKLSAgICAgICAgc2V0RHJhZ0ltYWdlKHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQq
PihlbGVtZW50KS0+Y2FjaGVkSW1hZ2UoKSwgSW50UG9pbnQoeCwgeSkpOworICAgIGlmIChlbGVt
ZW50ICYmIGlzSFRNTEltYWdlRWxlbWVudChlbGVtZW50KSAmJiAhZWxlbWVudC0+aW5Eb2N1bWVu
dCgpKQorICAgICAgICBzZXREcmFnSW1hZ2UodG9IVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpLT5j
YWNoZWRJbWFnZSgpLCBJbnRQb2ludCh4LCB5KSk7CiAgICAgZWxzZQogICAgICAgICBzZXREcmFn
SW1hZ2VFbGVtZW50KGVsZW1lbnQsIEludFBvaW50KHgsIHkpKTsKIH0KQEAgLTM4NSw4ICszODUs
OCBAQCB2b2lkIENsaXBib2FyZDo6c2V0RHJhZ0ltYWdlKEVsZW1lbnQqIGVsZW1lbnQsIGludCB4
LCBpbnQgeSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2FjaGVkSW1hZ2UqIGltYWdlOwotICAg
IGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdUYWcpICYm
ICFlbGVtZW50LT5pbkRvY3VtZW50KCkpCi0gICAgICAgIGltYWdlID0gc3RhdGljX2Nhc3Q8SFRN
TEltYWdlRWxlbWVudCo+KGVsZW1lbnQpLT5jYWNoZWRJbWFnZSgpOworICAgIGlmIChlbGVtZW50
ICYmIGlzSFRNTEltYWdlRWxlbWVudChlbGVtZW50KSAmJiAhZWxlbWVudC0+aW5Eb2N1bWVudCgp
KQorICAgICAgICBpbWFnZSA9IHRvSFRNTEltYWdlRWxlbWVudChlbGVtZW50KS0+Y2FjaGVkSW1h
Z2UoKTsKICAgICBlbHNlCiAgICAgICAgIGltYWdlID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4
IGYzZTY1M2IwMGZiNWUyZGYwYWVmMzVmOGVlZTYyMTQ4N2ZiNWJhZTEuLjViZTVkOTZlN2E0NGUw
OGM4YTFlOTVhMzk0NGMzZDhiNGVmM2JiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTY0LDYgKzY0
LDcgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MU3R5bGVFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKQEAgLTE5NDksNyArMTk1MCw3IEBA
IE5vZGUqIE5vZGU6OmVuY2xvc2luZ0xpbmtFdmVudFBhcmVudE9yU2VsZigpCiAgICAgICAgIC8v
IEZvciBpbWFnZW1hcHMsIHRoZSBlbmNsb3NpbmcgbGluayBub2RlIGlzIHRoZSBhc3NvY2lhdGVk
IGFyZWEgZWxlbWVudCBub3QgdGhlIGltYWdlIGl0c2VsZi4KICAgICAgICAgLy8gU28gd2UgZG9u
J3QgbGV0IGltYWdlcyBiZSB0aGUgZW5jbG9zaW5nTGlua05vZGUsIGV2ZW4gdGhvdWdoIGlzTGlu
ayBzb21ldGltZXMgcmV0dXJucyB0cnVlCiAgICAgICAgIC8vIGZvciB0aGVtLgotICAgICAgICBp
ZiAobm9kZS0+aXNMaW5rKCkgJiYgIW5vZGUtPmhhc1RhZ05hbWUoaW1nVGFnKSkKKyAgICAgICAg
aWYgKG5vZGUtPmlzTGluaygpICYmICFpc0hUTUxJbWFnZUVsZW1lbnQobm9kZSkpCiAgICAgICAg
ICAgICByZXR1cm4gbm9kZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRl
eCBlNjg5NjhhYzM4ZjI4MDE1MzNlMjkwMmZhOTVkZDE3ZTY3OTVlNTlmLi5kZTA2MDVkMzhmZGYw
MGQxYzRhOTIxNWEwYjlmNjEzOWYyYmI4ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3Bw
CkBAIC0yODgsMTAgKzI4OCwxMCBAQCBzdGF0aWMgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVt
ZW50RnJvbUltYWdlRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIAogICAgIE5vZGUq
IG5vZGUgPSBib2R5LT5maXJzdENoaWxkKCk7CiAgICAgaWYgKCFub2RlKQotICAgICAgICByZXR1
cm4gMDsgICAgCi0gICAgaWYgKCFub2RlLT5oYXNUYWdOYW1lKGltZ1RhZykpCiAgICAgICAgIHJl
dHVybiAwOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4obm9kZSk7
CisgICAgaWYgKCFpc0hUTUxJbWFnZUVsZW1lbnQobm9kZSkpCisgICAgICAgIHJldHVybiAwOwor
ICAgIHJldHVybiB0b0hUTUxJbWFnZUVsZW1lbnQobm9kZSk7CiB9CiAKIGJvb2wgRWRpdG9yOjpj
YW5Db3B5KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAK
aW5kZXggNjE3ZmE0YjFmZmVmZmE0ZTU5ZDAxZmJkYTJmYWI3NmExMDEwZThlZi4uYzNiMDY3ZWNm
ODIxNTJlYTU5ODMzMTc3OWRjNzQ2NTlhMzEyMWNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTE1NiwxMCArMTU2LDEwIEBAIHN0YXRpYyB2b2lkIGFw
cGVuZFNlcnZlck1hcE1vdXNlUG9zaXRpb24oU3RyaW5nQnVpbGRlciYgdXJsLCBFdmVudCogZXZl
bnQpCiAgICAgQVNTRVJUKGV2ZW50LT50YXJnZXQoKSk7CiAgICAgTm9kZSogdGFyZ2V0ID0gZXZl
bnQtPnRhcmdldCgpLT50b05vZGUoKTsKICAgICBBU1NFUlQodGFyZ2V0KTsKLSAgICBpZiAoIXRh
cmdldC0+aGFzVGFnTmFtZShpbWdUYWcpKQorICAgIGlmICghaXNIVE1MSW1hZ2VFbGVtZW50KHRh
cmdldCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxl
bWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihldmVudC0+dGFyZ2V0KCktPnRv
Tm9kZSgpKTsKKyAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSB0b0hUTUxJbWFn
ZUVsZW1lbnQodGFyZ2V0KTsKICAgICBpZiAoIWltYWdlRWxlbWVudCB8fCAhaW1hZ2VFbGVtZW50
LT5pc1NlcnZlck1hcCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKaW5kZXggYTYzZGUyYzA1OTFhNzRhMzI0YzcyZDM2NzRhZjBjODA4MWYx
NDIxYy4uNGFkNzFiYjllYjliMWJlZjdlMjAwYzIxN2Q5ZDI5NjliNTVlOTA3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExMiw2ICsxMTIsMTcgQEAgcHJpdmF0
ZToKICAgICBDb21wb3NpdGVPcGVyYXRvciBtX2NvbXBvc2l0ZU9wZXJhdG9yOwogfTsKIAoraW5s
aW5lIGJvb2wgaXNIVE1MSW1hZ2VFbGVtZW50KE5vZGUqIG5vZGUpCit7CisgICAgcmV0dXJuIG5v
ZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdUYWcpOworfQorCitpbmxpbmUgSFRNTEltYWdl
RWxlbWVudCogdG9IVE1MSW1hZ2VFbGVtZW50KE5vZGUqIG5vZGUpCit7CisgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUp
KTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KG5vZGUpOworfQor
CiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50
LmNwcAppbmRleCBhMzYyZjU0M2RmZmZhNThlNDZkZTFhZWM0ZDc5OTMxMjBiMzEyOGQxLi42NmZk
NzNlODBiY2I5ZWQ1YzZhOWI1ZWMzNjk5YWEzMmUzY2RjMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXBFbGVtZW50LmNwcApAQCAtODUsMTIgKzg1LDEyIEBAIEhUTUxJbWFnZUVsZW1lbnQq
IEhUTUxNYXBFbGVtZW50OjppbWFnZUVsZW1lbnQoKQogewogICAgIFJlZlB0cjxIVE1MQ29sbGVj
dGlvbj4gaW1hZ2VzID0gZG9jdW1lbnQoKS0+aW1hZ2VzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgTm9kZSogY3VyciA9IGltYWdlcy0+aXRlbShpKTsgaSsrKSB7Ci0gICAgICAgIGlmICgh
Y3Vyci0+aGFzVGFnTmFtZShpbWdUYWcpKQorICAgICAgICBpZiAoIWlzSFRNTEltYWdlRWxlbWVu
dChjdXJyKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKICAgICAgICAgLy8gVGhl
IEhUTUxJbWFnZUVsZW1lbnQncyB1c2VNYXAoKSB2YWx1ZSBpbmNsdWRlcyB0aGUgJyMnIHN5bWJv
bCBhdCB0aGUgYmVnaW5uaW5nLAogICAgICAgICAvLyB3aGljaCBoYXMgdG8gYmUgc3RyaXBwZWQg
b2ZmLgotICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxIVE1MSW1hZ2VFbGVtZW50Kj4oY3Vycik7CisgICAgICAgIEhUTUxJbWFnZUVsZW1lbnQqIGlt
YWdlRWxlbWVudCA9IHRvSFRNTEltYWdlRWxlbWVudChjdXJyKTsKICAgICAgICAgU3RyaW5nIHVz
ZU1hcE5hbWUgPSBpbWFnZUVsZW1lbnQtPmdldEF0dHJpYnV0ZSh1c2VtYXBBdHRyKS5zdHJpbmco
KS5zdWJzdHJpbmcoMSk7CiAgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh1c2VNYXBOYW1l
LCBtX25hbWUpKQogICAgICAgICAgICAgcmV0dXJuIGltYWdlRWxlbWVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcAppbmRleCA5ZjRmMTM1NjI5ZjBmMTljZmEx
MzRjZDJiNjZkZGNkY2IzNjkzMWYxLi42MTkyZDhhZmE5ZGU0Yjg1NTUyNDQxODc5NThlNWFiNGJi
NGY4ODA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxOYW1lQ29sbGVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwCkBA
IC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbWFn
ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT2JqZWN0
RWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgpAQCAtNTIsNyArNTMsNyBAQCBI
VE1MTmFtZUNvbGxlY3Rpb246On5IVE1MTmFtZUNvbGxlY3Rpb24oKQogCiBib29sIFdpbmRvd05h
bWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqIGVs
ZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoaW1nVGFnKSB8fCBpc0hU
TUxGb3JtRWxlbWVudChlbGVtZW50KSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGFwcGxldFRhZykK
KyAgICByZXR1cm4gaXNIVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpIHx8IGlzSFRNTEZvcm1FbGVt
ZW50KGVsZW1lbnQpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoYXBwbGV0VGFnKQogICAgICAgICB8
fCBlbGVtZW50LT5oYXNUYWdOYW1lKGVtYmVkVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKG9i
amVjdFRhZyk7CiB9CiAKQEAgLTY4LDE0ICs2OSwxNCBAQCBib29sIERvY3VtZW50TmFtZUNvbGxl
Y3Rpb246Om5vZGVNYXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqIGVsZW1lbnQpCiB7
CiAgICAgLy8gRklYTUU6IHdlIG5lZWQgdG8gZml4IEhUTUxJbWFnZUVsZW1lbnQgdG8gdXBkYXRl
IHRoZSBoYXNoIG1hcCBmb3IgdXMgd2hlbiBuYW1lIGF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVk
LgogICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKGFwcGxldFRhZykgfHwgKGVsZW1lbnQt
Pmhhc1RhZ05hbWUob2JqZWN0VGFnKSAmJiB0b0hUTUxPYmplY3RFbGVtZW50KGVsZW1lbnQpLT5p
c0RvY05hbWVkSXRlbSgpKQotICAgICAgICB8fCAoZWxlbWVudC0+aGFzVGFnTmFtZShpbWdUYWcp
ICYmIGVsZW1lbnQtPmhhc05hbWUoKSk7CisgICAgICAgIHx8IChpc0hUTUxJbWFnZUVsZW1lbnQo
ZWxlbWVudCkgJiYgZWxlbWVudC0+aGFzTmFtZSgpKTsKIH0KIAogYm9vbCBEb2N1bWVudE5hbWVD
b2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqIGVsZW1l
bnQpCiB7CiAgICAgcmV0dXJuIGlzSFRNTEZvcm1FbGVtZW50KGVsZW1lbnQpIHx8IGVsZW1lbnQt
Pmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoaWZyYW1lVGFnKQog
ICAgICAgICB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGFwcGxldFRhZykgfHwgKGVsZW1lbnQtPmhh
c1RhZ05hbWUob2JqZWN0VGFnKSAmJiB0b0hUTUxPYmplY3RFbGVtZW50KGVsZW1lbnQpLT5pc0Rv
Y05hbWVkSXRlbSgpKQotICAgICAgICB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGltZ1RhZyk7Cisg
ICAgICAgIHx8IGlzSFRNTEltYWdlRWxlbWVudChlbGVtZW50KTsKIH0KIAogYm9vbCBEb2N1bWVu
dE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50LCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUpCkBAIC04OCw3ICs4OSw3IEBAIGJvb2wgRG9jdW1lbnROYW1lQ29sbGVj
dGlvbjo6bm9kZU1hdGNoZXMoRWxlbWVudCogZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBu
CiAgICAgICAgIHJldHVybiBlbGVtZW50LT5nZXROYW1lQXR0cmlidXRlKCkgPT0gbmFtZSB8fCBl
bGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpID09IG5hbWU7CiAgICAgaWYgKGVsZW1lbnQtPmhhc1Rh
Z05hbWUob2JqZWN0VGFnKSkKICAgICAgICAgcmV0dXJuIChlbGVtZW50LT5nZXROYW1lQXR0cmli
dXRlKCkgPT0gbmFtZSB8fCBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpID09IG5hbWUpICYmIHRv
SFRNTE9iamVjdEVsZW1lbnQoZWxlbWVudCktPmlzRG9jTmFtZWRJdGVtKCk7Ci0gICAgaWYgKGVs
ZW1lbnQtPmhhc1RhZ05hbWUoaW1nVGFnKSkKKyAgICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KGVs
ZW1lbnQpKQogICAgICAgICByZXR1cm4gZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpID09IG5h
bWUgfHwgKGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCkgPT0gbmFtZSAmJiBlbGVtZW50LT5oYXNO
YW1lKCkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5jcHAKaW5kZXggNTQ0NDZhN2EyNmU3NzdmYTNkYzg0ODViMmJmNTE3Yzc2NDM0NWViYS4u
ZDQxZWIzMWRkZWU2ZWRkYzNiMTY4OGIyMzFkNjQ3MTg0MGRlMjI2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJGcmFt
ZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxBbmNo
b3JFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1M
UGx1Z0luRWxlbWVudC5oIgpAQCAtNjU5LDcgKzY2MCw3IEBAIEVsZW1lbnQqIERyYWdDb250cm9s
bGVyOjpkcmFnZ2FibGVFbGVtZW50KGNvbnN0IEZyYW1lKiBzb3VyY2VGcmFtZSwgRWxlbWVudCog
c3RhCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZHJhZ01vZGUgPT0gRFJBR19BVVRP
KSB7CiAgICAgICAgICAgICAgICAgaWYgKChtX2RyYWdTb3VyY2VBY3Rpb24gJiBEcmFnU291cmNl
QWN0aW9uSW1hZ2UpCi0gICAgICAgICAgICAgICAgICAgICYmIG5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjppbWdUYWcpCisgICAgICAgICAgICAgICAgICAgICYmIGlzSFRNTEltYWdlRWxlbWVu
dChub2RlKQogICAgICAgICAgICAgICAgICAgICAmJiBzb3VyY2VGcmFtZS0+c2V0dGluZ3MoKQog
ICAgICAgICAgICAgICAgICAgICAmJiBzb3VyY2VGcmFtZS0+c2V0dGluZ3MoKS0+bG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5KCkpIHsKICAgICAgICAgICAgICAgICAgICAgc3RhdGUudHlwZSA9IHN0
YXRpY19jYXN0PERyYWdTb3VyY2VBY3Rpb24+KHN0YXRlLnR5cGUgfCBEcmFnU291cmNlQWN0aW9u
SW1hZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAppbmRleCA1Mzc3Zjdk
NjdmYjViZmZkN2MzYWFlZmM0NDY0NGQyMDBmMjVhNmY5Li4zMmZhY2Y2MGNmYmYzZjNkZDc2N2Nm
NDQ4YTNkMmU3MTNkZWMyMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VT
ZXJpYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNw
cApAQCAtMjMxLDggKzIzMSw4IEBAIHZvaWQgUGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1l
KEZyYW1lKiBmcmFtZSkKICAgICAgICAgaWYgKGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKQog
ICAgICAgICAgICAgcmV0cmlldmVSZXNvdXJjZXNGb3JQcm9wZXJ0aWVzKHN0YXRpY19jYXN0PFN0
eWxlZEVsZW1lbnQqPihlbGVtZW50KS0+aW5saW5lU3R5bGUoKSwgZG9jdW1lbnQpOwogCi0gICAg
ICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgewotICAgICAg
ICAgICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElt
YWdlRWxlbWVudCo+KGVsZW1lbnQpOworICAgICAgICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KGVs
ZW1lbnQpKSB7CisgICAgICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSB0
b0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCk7CiAgICAgICAgICAgICBLVVJMIHVybCA9IGRvY3Vt
ZW50LT5jb21wbGV0ZVVSTChpbWFnZUVsZW1lbnQtPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnNy
Y0F0dHIpKTsKICAgICAgICAgICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IGltYWdlRWxl
bWVudC0+Y2FjaGVkSW1hZ2UoKTsKICAgICAgICAgICAgIGFkZEltYWdlVG9SZXNvdXJjZXMoY2Fj
aGVkSW1hZ2UsIGltYWdlRWxlbWVudC0+cmVuZGVyZXIoKSwgdXJsKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAppbmRleCBhOGFiOTEyNWEwNGRjMmQx
YjUwNDg2ODIwZTMyMmJkYzY4Y2UyYmFlLi44ZTJlNDk5MGY0MTc0ZWY0NjBjMmU3MDBhZDUxMTFi
ZDgzN2RjNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgog
I2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSFRNTElt
YWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCkBAIC0xOTksNyArMjAw
LDcgQEAgc3RhdGljIEtVUkwgZ2V0VVJMRm9ySW1hZ2VOb2RlKE5vZGUqIG5vZGUpCiB7CiAgICAg
Ly8gRklYTUU6IExhdGVyIHRoaXMgY29kZSBzaG91bGQgYmUgc2hhcmVkIHdpdGggQ2hyb21pdW0g
c29tZWhvdy4gQ2hhbmNlcyBhcmUgYWxsIHBsYXRmb3JtcyB3YW50IGl0LgogICAgIEF0b21pY1N0
cmluZyB1cmxTdHJpbmc7Ci0gICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdU
YWcpIHx8IGlzSFRNTElucHV0RWxlbWVudChub2RlKSkKKyAgICBpZiAoaXNIVE1MSW1hZ2VFbGVt
ZW50KG5vZGUpIHx8IGlzSFRNTElucHV0RWxlbWVudChub2RlKSkKICAgICAgICAgdXJsU3RyaW5n
ID0gdG9FbGVtZW50KG5vZGUpLT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzcmNBdHRyKTsKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIGVsc2UgaWYgKG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6Omlt
YWdlVGFnKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9IVE1MQ29u
dmVydGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0hUTUxDb252ZXJ0ZXIubW0K
aW5kZXggMTA2ODMzMzRmNjVlZTI4MDc4NzBmNGVhYjNlMjg3YjUyZGZlZjZiMS4uZDRjMDI5MTgy
MmIwOTZiN2VmMzM5MDcwMGI0NTg1YTA0ZjhiNWZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0hUTUxDb252ZXJ0ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0hUTUxDb252ZXJ0ZXIubW0KQEAgLTQwLDYgKzQwLDcgQEAKICNpbXBvcnQgIkZv
bnQuaCIKICNpbXBvcnQgIkZyYW1lLmgiCiAjaW1wb3J0ICJGcmFtZUxvYWRlci5oIgorI2ltcG9y
dCAiSFRNTEltYWdlRWxlbWVudC5oIgogI2ltcG9ydCAiSFRNTE5hbWVzLmgiCiAjaW1wb3J0ICJI
VE1MUGFyc2VySWRpb21zLmgiCiAjaW1wb3J0ICJMb2FkZXJOU1VSTEV4dHJhcy5oIgpAQCAtMTY3
NSw3ICsxNjc2LDcgQEAgc3RhdGljIE5TSW50ZWdlciBfY29sQ29tcGFyZShpZCBibG9jazEsIGlk
IGJsb2NrMiwgdm9pZCAqKQogICAgICAgICAKICAgICAgICAgaWYgKHN0YXJ0Q29udGFpbmVyID09
IGVuZENvbnRhaW5lciAmJiAoc3RhcnRPZmZzZXQgPT0gZW5kT2Zmc2V0IC0gMSkpIHsKICAgICAg
ICAgICAgIE5vZGUqIG5vZGUgPSBzdGFydENvbnRhaW5lci0+Y2hpbGROb2RlKHN0YXJ0T2Zmc2V0
KTsKLSAgICAgICAgICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoaW1nVGFnKSkgewor
ICAgICAgICAgICAgaWYgKG5vZGUgJiYgaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUpKSB7CiAgICAg
ICAgICAgICAgICAgTlNGaWxlV3JhcHBlciogZmlsZVdyYXBwZXIgPSBmaWxlV3JhcHBlckZvckVs
ZW1lbnQodG9FbGVtZW50KG5vZGUpKTsKICAgICAgICAgICAgICAgICBOU1RleHRBdHRhY2htZW50
KiBhdHRhY2htZW50ID0gW1tOU1RleHRBdHRhY2htZW50IGFsbG9jXSBpbml0V2l0aEZpbGVXcmFw
cGVyOmZpbGVXcmFwcGVyXTsKICAgICAgICAgICAgICAgICBbc3RyaW5nIGFwcGVuZEF0dHJpYnV0
ZWRTdHJpbmc6W05TQXR0cmlidXRlZFN0cmluZyBhdHRyaWJ1dGVkU3RyaW5nV2l0aEF0dGFjaG1l
bnQ6YXR0YWNobWVudF1dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
Y3BwCmluZGV4IDI0MTgxMTk2NTI5N2Y3ZWExOWQyNTU4NzFlZDg4N2ViOGJiNTQ2Y2MuLmI1NTE3
MzNjZGFlZjYyYjU1YjZmMGFhOWFhNmQyMzBhZjA1ZDYwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTI3MSw4ICsyNzEsOCBAQCBTdHJpbmcgSGl0
VGVzdFJlc3VsdDo6YWx0RGlzcGxheVN0cmluZygpIGNvbnN0CiAgICAgaWYgKCFtX2lubmVyTm9u
U2hhcmVkTm9kZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgIAotICAgIGlmIChtX2lu
bmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShpbWdUYWcpKSB7Ci0gICAgICAgIEhUTUxJbWFn
ZUVsZW1lbnQqIGltYWdlID0gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KG1faW5uZXJO
b25TaGFyZWROb2RlLmdldCgpKTsKKyAgICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KG1faW5uZXJO
b25TaGFyZWROb2RlLmdldCgpKSkgeworICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSA9
IHRvSFRNTEltYWdlRWxlbWVudChtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7CiAgICAgICAg
IHJldHVybiBkaXNwbGF5U3RyaW5nKGltYWdlLT5nZXRBdHRyaWJ1dGUoYWx0QXR0ciksIG1faW5u
ZXJOb25TaGFyZWROb2RlLmdldCgpKTsKICAgICB9CiAgICAgCkBAIC0zMTYsNyArMzE2LDcgQEAg
S1VSTCBIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUltYWdlVVJMKCkgY29uc3QKIAogICAgIEF0b21p
Y1N0cmluZyB1cmxTdHJpbmc7CiAgICAgaWYgKG1faW5uZXJOb25TaGFyZWROb2RlLT5oYXNUYWdO
YW1lKGVtYmVkVGFnKQotICAgICAgICB8fCBtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFt
ZShpbWdUYWcpCisgICAgICAgIHx8IGlzSFRNTEltYWdlRWxlbWVudChtX2lubmVyTm9uU2hhcmVk
Tm9kZS5nZXQoKSkKICAgICAgICAgfHwgaXNIVE1MSW5wdXRFbGVtZW50KG1faW5uZXJOb25TaGFy
ZWROb2RlLmdldCgpKQogICAgICAgICB8fCBtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFt
ZShvYmplY3RUYWcpCiAjaWYgRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCmluZGV4IGNlMThlNzhjMjc4N2QzMWMwMWJiYThlNDRhNWFlNTE1ZGMzNTRi
YTAuLjY5ODg5NGJiOThjNWNmODU1YWY5NGE3OGQ0ZWJiMTg3NDhlZWMwM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQg
UmVuZGVySW1hZ2U6OnBhaW50SW50b1JlY3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBMYXlvdXRSZWN0JiByZWN0CiAgICAgaWYgKCFpbWcgfHwgaW1nLT5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbHQgPSAobm9kZSgpICYm
IG5vZGUoKS0+aGFzVGFnTmFtZShpbWdUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1l
bnQqPihub2RlKCkpIDogMDsKKyAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsdCA9IChub2Rl
KCkgJiYgaXNIVE1MSW1hZ2VFbGVtZW50KG5vZGUoKSkpID8gdG9IVE1MSW1hZ2VFbGVtZW50KG5v
ZGUoKSkgOiAwOwogICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yID0gaW1h
Z2VFbHQgPyBpbWFnZUVsdC0+Y29tcG9zaXRlT3BlcmF0b3IoKSA6IENvbXBvc2l0ZVNvdXJjZU92
ZXI7CiAgICAgSW1hZ2UqIGltYWdlID0gbV9pbWFnZVJlc291cmNlLT5pbWFnZSgpLmdldCgpOwog
ICAgIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxpbmcgPSBzaG91bGRQYWludEF0TG93UXVhbGl0eShj
b250ZXh0LCBpbWFnZSwgaW1hZ2UsIGFsaWduZWRSZWN0LnNpemUoKSk7CkBAIC01MjQsNyArNTI0
LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJJbWFnZTo6bWluaW11bVJlcGxhY2VkSGVpZ2h0KCkgY29u
c3QKIAogSFRNTE1hcEVsZW1lbnQqIFJlbmRlckltYWdlOjppbWFnZU1hcCgpIGNvbnN0CiB7Ci0g
ICAgSFRNTEltYWdlRWxlbWVudCogaSA9IG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUoaW1n
VGFnKSA/IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihub2RlKCkpIDogMDsKKyAgICBI
VE1MSW1hZ2VFbGVtZW50KiBpID0gbm9kZSgpICYmIGlzSFRNTEltYWdlRWxlbWVudChub2RlKCkp
ID8gdG9IVE1MSW1hZ2VFbGVtZW50KG5vZGUoKSkgOiAwOwogICAgIHJldHVybiBpID8gaS0+dHJl
ZVNjb3BlKCktPmdldEltYWdlTWFwKGktPmZhc3RHZXRBdHRyaWJ1dGUodXNlbWFwQXR0cikpIDog
MDsKIH0KIApAQCAtNTU5LDggKzU1OSw4IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnVwZGF0ZUFsdFRl
eHQoKQogCiAgICAgaWYgKGlzSFRNTElucHV0RWxlbWVudChub2RlKCkpKQogICAgICAgICBtX2Fs
dFRleHQgPSB0b0hUTUxJbnB1dEVsZW1lbnQobm9kZSgpKS0+YWx0VGV4dCgpOwotICAgIGVsc2Ug
aWYgKG5vZGUoKS0+aGFzVGFnTmFtZShpbWdUYWcpKQotICAgICAgICBtX2FsdFRleHQgPSBzdGF0
aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4obm9kZSgpKS0+YWx0VGV4dCgpOworICAgIGVsc2Ug
aWYgKGlzSFRNTEltYWdlRWxlbWVudChub2RlKCkpKQorICAgICAgICBtX2FsdFRleHQgPSB0b0hU
TUxJbWFnZUVsZW1lbnQobm9kZSgpKS0+YWx0VGV4dCgpOwogfQogCiB2b2lkIFJlbmRlckltYWdl
OjpsYXlvdXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRl
eCA2ZDhkYmI2MTBhZGE0ZDA0MDEzN2E1NTk2NDUxZmViYjFhYmI3MDc4Li44OGZkNzEyOTdmZDhi
ZjA3ZDNlOTc1MTI0NDBlNjA0YTU4M2YyMWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dC5oIgogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIkxvZ2ljYWxTZWxl
Y3Rpb25PZmZzZXRDYWNoZXMuaCIKQEAgLTIzMjgsNyArMjMyOSw3IEBAIFJlc3BlY3RJbWFnZU9y
aWVudGF0aW9uRW51bSBSZW5kZXJPYmplY3Q6OnNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9u
KCkgY29uc3QKICAgICAgICAgLy8gVGhpcyBjYW4gb25seSBiZSBlbmFibGVkIGZvciBwb3J0cyB3
aGljaCBob25vciB0aGUgb3JpZW50YXRpb24gZmxhZyBpbiB0aGVpciBkcmF3aW5nIGNvZGUuCiAg
ICAgICAgIGRvY3VtZW50KCktPmlzSW1hZ2VEb2N1bWVudCgpIHx8CiAjZW5kaWYKLSAgICAgICAg
KGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYgZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS0+c2hvdWxk
UmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSAmJiBub2RlKCkgJiYgbm9kZSgpLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6aW1nVGFnKSkgPyBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA6IERvTm90UmVz
cGVjdEltYWdlT3JpZW50YXRpb247CisgICAgICAgIChkb2N1bWVudCgpLT5zZXR0aW5ncygpICYm
IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCkg
JiYgbm9kZSgpICYmIGlzSFRNTEltYWdlRWxlbWVudChub2RlKCkpKSA/IFJlc3BlY3RJbWFnZU9y
aWVudGF0aW9uIDogRG9Ob3RSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbjsKIH0KIAogYm9vbCBSZW5k
ZXJPYmplY3Q6Omhhc091dGxpbmVBbm5vdGF0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDg0NGZmMjc0NjQ0NzI3MDg5NTdmMDc5NDEwNmYz
YjRkNTc3ODQ0OTQuLjIxMWE2MGUxZTAxZDg2MTg0NWM4Y2JjOWJjYmRkN2Q5Mjc4YmM3ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMjEzMyw3ICsyMTMz
LDcgQEAgUGxhdGZvcm06OldlYkNvbnRleHQgV2ViUGFnZVByaXZhdGU6OndlYkNvbnRleHQoVGFy
Z2V0RGV0ZWN0aW9uU3RyYXRlZ3kgc3RyYXRlZ3kKICAgICBsYXlvdXRJZk5lZWRlZCgpOwogCiAg
ICAgYm9vbCBub2RlQWxsb3dTZWxlY3Rpb25PdmVycmlkZSA9IGZhbHNlOwotICAgIGJvb2wgbm9k
ZUlzSW1hZ2UgPSBub2RlLT5pc0hUTUxFbGVtZW50KCkgJiYgbm9kZS0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmltZ1RhZyk7CisgICAgYm9vbCBub2RlSXNJbWFnZSA9IG5vZGUtPmlzSFRNTEVsZW1l
bnQoKSAmJiBpc0hUTUxJbWFnZUVsZW1lbnQobm9kZSk7CiAgICAgTm9kZSogbGlua05vZGUgPSBu
b2RlLT5lbmNsb3NpbmdMaW5rRXZlbnRQYXJlbnRPclNlbGYoKTsKICAgICAvLyBTZXQgbGluayB1
cmwgb25seSB3aGVuIHRoZSBub2RlIGlzIGxpbmtlZCBpbWFnZSwgb3IgdGV4dCBpbnNpZGUgYW5j
aG9yLiBQcmV2ZW50IENDTSBwb3B1cCB3aGVuIGxvbmcgcHJlc3Mgbm9uLWxpbmsgZWxlbWVudChl
Zy4gYnV0dG9uKSBpbnNpZGUgYW4gYW5jaG9yLgogICAgIGlmIChsaW5rTm9kZSAmJiAobm9kZSA9
PSBsaW5rTm9kZSB8fCBub2RlLT5pc1RleHROb2RlKCkgfHwgbm9kZUlzSW1hZ2UpKSB7CkBAIC0y
MTYxLDggKzIxNjEsOCBAQCBQbGF0Zm9ybTo6V2ViQ29udGV4dCBXZWJQYWdlUHJpdmF0ZTo6d2Vi
Q29udGV4dChUYXJnZXREZXRlY3Rpb25TdHJhdGVneSBzdHJhdGVneQogICAgICAgICBIVE1MSW1h
Z2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSAwOwogICAgICAgICBIVE1MTWVkaWFFbGVtZW50KiBt
ZWRpYUVsZW1lbnQgPSAwOwogCi0gICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6aW1nVGFnKSkKLSAgICAgICAgICAgIGltYWdlRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJ
bWFnZUVsZW1lbnQqPihub2RlLmdldCgpKTsKKyAgICAgICAgaWYgKGlzSFRNTEltYWdlRWxlbWVu
dChub2RlKSkKKyAgICAgICAgICAgIGltYWdlRWxlbWVudCA9IHRvSFRNTEltYWdlRWxlbWVudChu
b2RlLmdldCgpKTsKICAgICAgICAgZWxzZSBpZiAoaXNIVE1MQXJlYUVsZW1lbnQobm9kZSkpCiAg
ICAgICAgICAgICBpbWFnZUVsZW1lbnQgPSB0b0hUTUxBcmVhRWxlbWVudChub2RlLmdldCgpKS0+
aW1hZ2VFbGVtZW50KCk7CiAKQEAgLTI4MzEsNyArMjgzMSw3IEBAIEludFJlY3QgV2ViUGFnZVBy
aXZhdGU6OmJsb2NrWm9vbVJlY3RGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgZG91YmxlIGJsb2Nr
VG9QYWdlUmF0aW8gPSBzdGF0aWNfY2FzdDxkb3VibGU+KHBhZ2VBcmVhIC0gb3JpZ2luYWxBcmVh
KSAvIHBhZ2VBcmVhOwogICAgIGRvdWJsZSBibG9ja0V4cGFuc2lvblJhdGlvID0gNS4wICogYmxv
Y2tUb1BhZ2VSYXRpbyAqIGJsb2NrVG9QYWdlUmF0aW87CiAKLSAgICBpZiAoIXRub2RlLT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSAmJiAhaXNIVE1MSW5wdXRFbGVtZW50KHRub2RlKSAm
JiAhdG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZykpIHsKKyAgICBpZiAo
IWlzSFRNTEltYWdlRWxlbWVudCh0bm9kZSkgJiYgIWlzSFRNTElucHV0RWxlbWVudCh0bm9kZSkg
JiYgIXRub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcpKSB7CiAgICAgICAg
IHdoaWxlICgodG5vZGUgPSB0bm9kZS0+cGFyZW50Tm9kZSgpKSkgewogICAgICAgICAgICAgQVNT
RVJUKHRub2RlKTsKICAgICAgICAgICAgIEludFJlY3QgdFJlY3QgPSByZWN0Rm9yTm9kZSh0bm9k
ZSk7CkBAIC00NDk5LDcgKzQ0OTksNyBAQCBib29sIFdlYlBhZ2U6OmJsb2NrWm9vbShjb25zdCBQ
bGF0Zm9ybTo6SW50UG9pbnQmIGRvY3VtZW50VGFyZ2V0UG9pbnQpCiAKICAgICAgICAgLy8gRG9u
J3QgdXNlIGEgYmxvY2sgaWYgaXQgaXMgdG9vIGNsb3NlIHRvIHRoZSBzaXplIG9mIHRoZSBhY3R1
YWwgY29udGVudHMuCiAgICAgICAgIC8vIFdlIGFsbG93IHRoaXMgZm9yIGltYWdlcyBvbmx5IHNv
IHRoYXQgdGhleSBjYW4gYmUgem9vbWVkIHRpZ2h0IHRvIHRoZSBzY3JlZW4uCi0gICAgICAgIGlm
ICghbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykpIHsKKyAgICAgICAgaWYgKCFp
c0hUTUxJbWFnZUVsZW1lbnQobm9kZSkpIHsKICAgICAgICAgICAgIGNvbnN0IEludFJlY3QgdFJl
Y3QgPSB2aWV3cG9ydEFjY2Vzc29yLT5yb3VuZFRvRG9jdW1lbnRGcm9tUGl4ZWxDb250ZW50cyhX
ZWJDb3JlOjpGbG9hdFJlY3QoYmxvY2tSZWN0KSk7CiAgICAgICAgICAgICBpbnQgYmxvY2tBcmVh
ID0gdFJlY3Qud2lkdGgoKSAqIHRSZWN0LmhlaWdodCgpOwogICAgICAgICAgICAgaW50IHBhZ2VB
cmVhID0gZC0+Y29udGVudHNTaXplKCkud2lkdGgoKSAqIGQtPmNvbnRlbnRzU2l6ZSgpLmhlaWdo
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
RmF0RmluZ2Vycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9G
YXRGaW5nZXJzLmNwcAppbmRleCA1MmIxYWIzY2FjOWM2MmQ4NzExMDMzNmRhODUwOWE1MmRmNTNl
M2M3Li4zODljMWMzNWY5MTMwMjg4ZTc4YmZlMGNiMGE4NGZmYmRjMDRiYzk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9GYXRGaW5nZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9GYXRGaW5nZXJzLmNw
cApAQCAtOTMsNyArOTMsNyBAQCBib29sIEZhdEZpbmdlcnM6OmlzRWxlbWVudENsaWNrYWJsZShF
bGVtZW50KiBlbGVtZW50KSBjb25zdAogICAgIGlmIChlbGVtZW50LT53ZWJraXRNYXRjaGVzU2Vs
ZWN0b3IoImFbaHJlZl0sKjpsaW5rLCo6dmlzaXRlZCwqW3JvbGU9YnV0dG9uXSxidXR0b24saW5w
dXQsc2VsZWN0LGxhYmVsW2Zvcl0sYXJlYVtocmVmXSx0ZXh0YXJlYSxlbWJlZCxvYmplY3QiLCBl
YykKICAgICAgICAgfHwgZWxlbWVudC0+aXNNZWRpYUNvbnRyb2xFbGVtZW50KCkKICAgICAgICAg
fHwgZWxlbWVudC0+aXNDb250ZW50RWRpdGFibGUoKQotICAgICAgICB8fCAoZWxlbWVudC0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykgJiYgZWxlbWVudC0+cGFyZW50Tm9kZSgpICYmIGlz
SFRNTEFuY2hvckVsZW1lbnQoZWxlbWVudC0+cGFyZW50Tm9kZSgpKSkpCisgICAgICAgIHx8IChp
c0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCkgJiYgZWxlbWVudC0+cGFyZW50Tm9kZSgpICYmIGlz
SFRNTEFuY2hvckVsZW1lbnQoZWxlbWVudC0+cGFyZW50Tm9kZSgpKSkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgcmV0dXJuIGhhc01vdXNlUHJlc3NMaXN0ZW5lcihlbGVtZW50KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>