<?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>118226</bug_id>
          
          <creation_ts>2013-06-30 18:20:20 -0700</creation_ts>
          <short_desc>Adopt toHTMLTextAreaElement for code cleanup</short_desc>
          <delta_ts>2013-07-01 03:45:40 -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>904907</commentid>
    <comment_count>0</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-06-30 18:20:20 -0700</bug_when>
    <thetext>Adopt toHTMLTextAreaElement for code cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904910</commentid>
    <comment_count>1</comment_count>
      <attachid>205780</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-06-30 18:30:59 -0700</bug_when>
    <thetext>Created attachment 205780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904971</commentid>
    <comment_count>2</comment_count>
      <attachid>205780</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-01 03:45:38 -0700</bug_when>
    <thetext>Comment on attachment 205780
Patch

Clearing flags on attachment: 205780

Committed r152218: &lt;http://trac.webkit.org/changeset/152218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904972</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-01 03:45:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205780</attachid>
            <date>2013-06-30 18:30:59 -0700</date>
            <delta_ts>2013-07-01 03:45:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118226-20130701102907.patch</filename>
            <type>text/plain</type>
            <size>30887</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NiYTg4MDc5MTFiZDgy
N2IxZTFiMDYwYTI3YzVlNzJmZjNjNWUwNC4uNmFlMWRjN2U2OWU5YTdiMDQ5MThhYTJhYjY1MTg5
ODNlODc3OGQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTA2LTMwICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBBZG9wdCB0b0hUTUxU
ZXh0QXJlYUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5oYW5jZSByZWFkYWJpbGl0eSwgdGhpcyBwYXRj
aCBhZG9wdHMgdG9IVE1MVGV4dEFyZWFFbGVtZW50LgorICAgICAgICBUaGlzIGFsc28gaGVscHMg
b3V0IHRvIHJlZHVjZSBkdXBsaWNhdGVkIHVzZSBvZiBzdGF0aWNfY2FzdC4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc05hdGl2ZVRl
eHRDb250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpp
c1JlYWRPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0
ZXh0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0VmFs
dWUpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmFkanVzdFJlbmRlclN0eWxlKToKKyAgICAgICAgKiBlZGl0aW5nL21h
cmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kVGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b0hUTUxUZXh0QXJlYUVsZW1lbnQp
OgorICAgICAgICAqIHBhZ2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNsZWFyU2VsZWN0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzQ29udGVudEVkaXRh
YmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6c2l6ZXNMb2dpY2FsV2lkdGhUb0ZpdENvbnRlbnQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZTo6flJlbmRlclRleHRDb250cm9sTXVsdGlM
aW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpwcmVm
ZXJyZWRDb250ZW50TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRD
b250cm9sTXVsdGlMaW5lOjpjb21wdXRlQ29udHJvbExvZ2ljYWxIZWlnaHQpOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6d2Fz
TGFzdENoYW5nZVVzZXJFZGl0KToKKwogMjAxMy0wNi0yOSAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBjYWxsaW5nIGludG8gT2JqZWN0aXZl
LUMgZXZlcnkgdGltZSB3ZSBnZXQgdGhlIHNjcm9sbGJhciB3aWR0aApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKaW5kZXggY2EwNDU1YzFiNGQ4ZTMwYmZiODJhMmIwMzRiYWI0ZGY4NTFiMjU4
MS4uZjY5MzFhMjNiM2E0NWU3NzU4NDcwYzM5ODQwNjRlNzRiMTQ3MDA1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTMtMDYtMzAgIEthbmdpbCBI
YW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkb3B0IHRvSFRNTFRleHRB
cmVhRWxlbWVudCBmb3IgY29kZSBjbGVhbnVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUbyBlbmhhbmNlIHJlYWRhYmlsaXR5LCB0aGlzIHBhdGNoIGFk
b3B0cyB0b0hUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIFRoaXMgYWxzbyBoZWxwcyBvdXQg
dG8gcmVkdWNlIGR1cGxpY2F0ZWQgdXNlIG9mIHN0YXRpY19jYXN0LgorCisgICAgICAgICogQXBp
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0
ZTo6YmxvY2tab29tUmVjdEZvck5vZGUpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvRE9NU3Vw
cG9ydC5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkRPTVN1cHBvcnQ6OmlzVGV4
dElucHV0RWxlbWVudCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkRPTVN1cHBvcnQ6
OmlucHV0RWxlbWVudFRleHQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjplbGVtZW50
VHlwZSk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6Ym91bmRp
bmdCb3hGb3JJbnB1dEZpZWxkKToKKwogMjAxMy0wNi0yOSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5o
YW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRvcHQgaXMvdG9IVE1MT3B0R3JvdXBFbGVtZW50
IGZvciBjb2RlIGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2MTgyZDM4MmY2MzFjOTc3Y2Qx
OGQ5YzU1NmFhMGQ3ODNhYmY5ODdjLi43YWUxMGNjNmEwMTk2OTZmYjczNzEwNDVhZjFmZDEzODRl
MTcyYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDYtMzAgIEth
bmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkb3B0IHRvSFRN
TFRleHRBcmVhRWxlbWVudCBmb3IgY29kZSBjbGVhbnVwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBlbmhhbmNlIHJlYWRhYmlsaXR5LCB0aGlzIHBh
dGNoIGFkb3B0cyB0b0hUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIFRoaXMgYWxzbyBoZWxw
cyBvdXQgdG8gcmVkdWNlIGR1cGxpY2F0ZWQgdXNlIG9mIHN0YXRpY19jYXN0LgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRWRpdG9y
Q2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYSk6CisKIDIwMTMtMDYtMjcgIEthbmdpbCBI
YW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEFkb3B0IGlzL3RvSFRNTElu
cHV0RWxlbWVudCBmb3IgY29kZSBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZGUwNjFjMGEx
ODdhYmMwODY0Yzc2MGMzYTc4OTNhNDA0YzNiZDc5YS4uZjNkM2Q0ZTQ5MTgxZTNiYWQ1MDgzODYx
ZTZjYWZhOTdiNjFhMzQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEz
LTA2LTMwICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBB
ZG9wdCB0b0hUTUxUZXh0QXJlYUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51cAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5oYW5jZSByZWFkYWJpbGl0
eSwgdGhpcyBwYXRjaCBhZG9wdHMgdG9IVE1MVGV4dEFyZWFFbGVtZW50LgorICAgICAgICBUaGlz
IGFsc28gaGVscHMgb3V0IHRvIHJlZHVjZSBkdXBsaWNhdGVkIHVzZSBvZiBzdGF0aWNfY2FzdC4K
KworICAgICAgICAqIERPTUNvcmVDbGFzc2VzLmNwcDoKKyAgICAgICAgKERPTUVsZW1lbnQ6OmNy
ZWF0ZUluc3RhbmNlKToKKyAgICAgICAgKiBET01IVE1MQ2xhc3Nlcy5jcHA6CisgICAgICAgIChE
T01IVE1MVGV4dEFyZWFFbGVtZW50Ojpmb3JtKToKKyAgICAgICAgKERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQ6OnZhbHVlKToKKyAgICAgICAgKERPTUhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldFZhbHVl
KToKKyAgICAgICAgKERPTUhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNlbGVjdCk6CisgICAgICAgIChE
T01IVE1MVGV4dEFyZWFFbGVtZW50Ojppc1VzZXJFZGl0ZWQpOgorCiAyMDEzLTA2LTI5ICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBBZG9wdCBpcy90b0hU
TUxPcHRpb25FbGVtZW50IGZvciBjb2RlIGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NmY0Y2JjNGI4
MjU3NDIxM2JjY2E0NTEzYzdkNDM0MTE5ZjQxMGUwLi4wZGU2MzUxYzI4Y2UwMDVlZjdmYmNmY2Vk
NWY2ZmFkMDFiYmEwYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTMtMDYtMzAg
IEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkb3B0IHRv
SFRNTFRleHRBcmVhRWxlbWVudCBmb3IgY29kZSBjbGVhbnVwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyMjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBlbmhhbmNlIHJlYWRhYmlsaXR5LCB0aGlz
IHBhdGNoIGFkb3B0cyB0b0hUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIFRoaXMgYWxzbyBo
ZWxwcyBvdXQgdG8gcmVkdWNlIGR1cGxpY2F0ZWQgdXNlIG9mIHN0YXRpY19jYXN0LgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFu
ZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpodG1s
VGV4dEFyZWFFbGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpblRleHRBbm5vdGF0aW9uLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQREZQbHVnaW5UZXh0QW5ub3RhdGlvbjo6Y3JlYXRlQW5ub3RhdGlvbkVsZW1lbnQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJl
YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViRnJhbWU6OmNvbnRhaW5zQW55Rm9ybUNvbnRyb2xzKToKKwogMjAxMy0wNi0y
OCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFdpbmRv
d3MgYnVpbGRzIGFmdGVyIGRlcHJlY2F0ZWRDaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigp
IHJlbW92YWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IGMyYjI0ZDgyNmRhMGJjNjQ2M2VlZGY3OTNl
YzdhYjM4MGI5NGQ5NzIuLjJjNzM5MmExMzMzODExNTFmZGQ0OWNjN2VhNWIzYzU5NmE5N2UxYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU5vZGVPYmplY3QuY3BwCkBAIC0zMDUsNyArMzA1LDcgQEAgQWNjZXNzaWJpbGl0eVJvbGUg
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKICAg
ICAgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdEVsZW1lbnQgPSB0b0hUTUxTZWxlY3RFbGVt
ZW50KG5vZGUoKSk7CiAgICAgICAgIHJldHVybiBzZWxlY3RFbGVtZW50LT5tdWx0aXBsZSgpID8g
TGlzdEJveFJvbGUgOiBQb3BVcEJ1dHRvblJvbGU7CiAgICAgfQotICAgIGlmIChub2RlKCktPmhh
c1RhZ05hbWUodGV4dGFyZWFUYWcpKQorICAgIGlmIChpc0hUTUxUZXh0QXJlYUVsZW1lbnQobm9k
ZSgpKSkKICAgICAgICAgcmV0dXJuIFRleHRBcmVhUm9sZTsKICAgICBpZiAoaGVhZGluZ0xldmVs
KCkpCiAgICAgICAgIHJldHVybiBIZWFkaW5nUm9sZTsKQEAgLTQ0MSw3ICs0NDEsNyBAQCBib29s
IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc05hdGl2ZVRleHRDb250cm9sKCkgY29uc3QKICAg
ICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChub2RlLT5oYXNU
YWdOYW1lKHRleHRhcmVhVGFnKSkKKyAgICBpZiAoaXNIVE1MVGV4dEFyZWFFbGVtZW50KG5vZGUp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChpc0hUTUxJbnB1dEVsZW1lbnQobm9k
ZSkpIHsKQEAgLTY5NCw3ICs2OTQsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpp
c1JlYWRPbmx5KCkgY29uc3QKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUodGV4dGFyZWFUYWcpKQorICAgIGlmIChpc0hUTUxU
ZXh0QXJlYUVsZW1lbnQobm9kZSkpCiAgICAgICAgIHJldHVybiB0b0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQobm9kZSktPmlzUmVhZE9ubHkoKTsKIAogICAgIGlmIChpc0hUTUxJbnB1dEVsZW1lbnQo
bm9kZSkpIHsKQEAgLTE2NDMsNyArMTY0Myw3IEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6dGV4dCgpIGNvbnN0CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CiAKLSAgICBpZiAoaXNOYXRpdmVUZXh0Q29udHJvbCgpICYmIChub2RlLT5oYXNUYWdOYW1l
KHRleHRhcmVhVGFnKSB8fCBpc0hUTUxJbnB1dEVsZW1lbnQobm9kZSkpKQorICAgIGlmIChpc05h
dGl2ZVRleHRDb250cm9sKCkgJiYgKGlzSFRNTFRleHRBcmVhRWxlbWVudChub2RlKSB8fCBpc0hU
TUxJbnB1dEVsZW1lbnQobm9kZSkpKQogICAgICAgICByZXR1cm4gdG9IVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudChub2RlKS0+dmFsdWUoKTsKIAogICAgIGlmICghbm9kZS0+aXNFbGVtZW50Tm9k
ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggNzk3YWM0NjU4MzJhMjZlOWQ4MTRjNDMwYWU2
ZWMwYmI1NjI3NTg4My4uNmUxNjRmMTBhNTVjNTU0ZjI5MGUzOTQ0MGZiYzQ0Y2Q1MzVmMDQyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xNjQ0LDcgKzE2NDQsNyBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgICAg
ICB0b0hUTUxJbnB1dEVsZW1lbnQoZWxlbWVudCktPnNldFZhbHVlKHN0cmluZyk7CiAgICAgfSBl
bHNlIGlmIChyZW5kZXJlci0+aXNUZXh0QXJlYSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGlzIG5vdCBzYWZlISAgT3RoZXIgZWxlbWVudHMgY291bGQgaGF2ZSBhIFRleHRBcmVhIHJlbmRl
cmVyLgotICAgICAgICBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oZWxlbWVudCkt
PnNldFZhbHVlKHN0cmluZyk7CisgICAgICAgIHRvSFRNTFRleHRBcmVhRWxlbWVudChlbGVtZW50
KS0+c2V0VmFsdWUoc3RyaW5nKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCBiZmE1NjE5NWM2YjUzZmM0YmNmOWM3MDE1MDc2NmIwODBjNDg4YWNiLi5h
MDdhYzNhYmNhM2FkNjhlYjY4ODQwZTc2YTM5MTg1NWJjMzcwMDU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xNDgxLDcgKzE0ODEsNyBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFkanVzdFJlbmRlclN0eWxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHBh
cmVudFN0eQogICAgICAgICBzdHlsZS0+c2V0WkluZGV4KDApOwogCiAgICAgLy8gVGV4dGFyZWEg
Y29uc2lkZXJzIG92ZXJmbG93IHZpc2libGUgYXMgYXV0by4KLSAgICBpZiAoZSAmJiBlLT5oYXNU
YWdOYW1lKHRleHRhcmVhVGFnKSkgeworICAgIGlmIChlICYmIGlzSFRNTFRleHRBcmVhRWxlbWVu
dChlKSkgewogICAgICAgICBzdHlsZS0+c2V0T3ZlcmZsb3dYKHN0eWxlLT5vdmVyZmxvd1goKSA9
PSBPVklTSUJMRSA/IE9BVVRPIDogc3R5bGUtPm92ZXJmbG93WCgpKTsKICAgICAgICAgc3R5bGUt
PnNldE92ZXJmbG93WShzdHlsZS0+b3ZlcmZsb3dZKCkgPT0gT1ZJU0lCTEUgPyBPQVVUTyA6IHN0
eWxlLT5vdmVyZmxvd1koKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCmluZGV4
IGI1ZTg5ODE1Mzk2MDkzM2MxNjZkNjUxYjQ4ODVkZjI3MjA0NWIyY2MuLjZiMzBmNTMyOTk1NDI0
YTFiZGMyZDVhM2E4MTg4YTdhZWUxNjAyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvbWFya3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAK
QEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5o
IgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJNYXJrdXBBY2N1bXVsYXRvci5oIgpAQCAt
MjE1LDcgKzIxNiw3IEBAIFN0cmluZyBTdHlsZWRNYXJrdXBBY2N1bXVsYXRvcjo6dGFrZVJlc3Vs
dHMoKQogCiB2b2lkIFN0eWxlZE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRUZXh0KFN0cmluZ0J1
aWxkZXImIG91dCwgVGV4dCogdGV4dCkKIHsgICAgCi0gICAgY29uc3QgYm9vbCBwYXJlbnRJc1Rl
eHRhcmVhID0gdGV4dC0+cGFyZW50RWxlbWVudCgpICYmIHRleHQtPnBhcmVudEVsZW1lbnQoKS0+
dGFnUU5hbWUoKSA9PSB0ZXh0YXJlYVRhZzsKKyAgICBjb25zdCBib29sIHBhcmVudElzVGV4dGFy
ZWEgPSB0ZXh0LT5wYXJlbnRFbGVtZW50KCkgJiYgaXNIVE1MVGV4dEFyZWFFbGVtZW50KHRleHQt
PnBhcmVudEVsZW1lbnQoKSk7CiAgICAgY29uc3QgYm9vbCB3cmFwcGluZ1NwYW4gPSBzaG91bGRB
cHBseVdyYXBwaW5nU3R5bGUodGV4dCkgJiYgIXBhcmVudElzVGV4dGFyZWE7CiAgICAgaWYgKHdy
YXBwaW5nU3BhbikgewogICAgICAgICBSZWZQdHI8RWRpdGluZ1N0eWxlPiB3cmFwcGluZ1N0eWxl
ID0gbV93cmFwcGluZ1N0eWxlLT5jb3B5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBlMTcyYjUxYWQ5NmQ1ZTRjNmQ4ZmY2ZTlhZWUx
Mjc2YWU1OGQzNjI1Li44NmQ3MDUzZWZlOWJlMjMwNGFkZDdhZjNiNTEyYzIzMDUyNWYwMWExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTExlZ2VuZEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCkBA
IC0xOTYsNyArMTk3LDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmIChlbGVt
ZW50LT5oYXNUYWdOYW1lKGJ1dHRvblRhZykpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlm
IChlbGVtZW50LT5oYXNUYWdOYW1lKHRleHRhcmVhVGFnKSkKKyAgICBpZiAoaXNIVE1MVGV4dEFy
ZWFFbGVtZW50KGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKaW5kZXggN2Ex
N2Y3NTg3MDAyNzgyMzE5Mjc2OTE4MGU2OTlhOTRjOGQ0ZjM5NC4uMDJmYjlmOTBlZmRlYzI1MWQ5
Yjc5NDQ4ZGZiNjUzYzg0YjE3MjM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmgKQEAgLTEzMiw2ICsxMzIsMTIgQEAgaW5saW5lIGJvb2wgaXNIVE1MVGV4dEFy
ZWFFbGVtZW50KE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjp0ZXh0YXJlYVRhZyk7CiB9CiAKK2lubGluZSBIVE1MVGV4dEFyZWFFbGVtZW50KiB0b0hU
TUxUZXh0QXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKK3sKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxUZXh0QXJlYUVsZW1lbnQobm9kZSkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4obm9kZSk7Cit9CisKIH0g
Ly9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggM2FhOWM5YjdmNmNhOTE5MDNhMjg2OWZmMzFjMGMxYzRmM2M5ZDZmZC4uYmM4M2U3
ZjhjY2M3N2ExNTZmZmI3YTEwNDgyMjA2YmZjNWIxYTVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkhUTUxJbWFn
ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhp
dFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTm9k
ZVJlbmRlcmluZ1RyYXZlcnNhbC5oIgpAQCAtNTg0LDcgKzU4NSw3IEBAIHN0YXRpYyB2b2lkIGNs
ZWFyU2VsZWN0aW9uSWZOZWVkZWQoRnJhbWUqIG9sZEZvY3VzZWRGcmFtZSwgRnJhbWUqIG5ld0Zv
Y3VzZWRGcmFtCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAgICBpZiAoTm9k
ZSogc2hhZG93QW5jZXN0b3JOb2RlID0gcm9vdC0+ZGVwcmVjYXRlZFNoYWRvd0FuY2VzdG9yTm9k
ZSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc0hUTUxJbnB1dEVsZW1lbnQoc2hhZG93QW5j
ZXN0b3JOb2RlKSAmJiAhc2hhZG93QW5jZXN0b3JOb2RlLT5oYXNUYWdOYW1lKHRleHRhcmVhVGFn
KSkKKyAgICAgICAgICAgICAgICBpZiAoIWlzSFRNTElucHV0RWxlbWVudChzaGFkb3dBbmNlc3Rv
ck5vZGUpICYmICFpc0hUTUxUZXh0QXJlYUVsZW1lbnQoc2hhZG93QW5jZXN0b3JOb2RlKSkKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggYjU1MTczM2NkYWVm
NjJiNTViNmYwYWE5YWE2ZDIzMGFmMDVkNjA0ZS4uZGU4ZDRjZWVkYTliYzliMTBmMTQ2MjNhYTM0
ZTAwZWE1MmFjZjA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0TG9jYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJC
bG9jay5oIgpAQCAtNTY4LDcgKzU2OSw3IEBAIGJvb2wgSGl0VGVzdFJlc3VsdDo6aXNDb250ZW50
RWRpdGFibGUoKSBjb25zdAogICAgIGlmICghbV9pbm5lck5vblNoYXJlZE5vZGUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFt
ZSh0ZXh0YXJlYVRhZykpCisgICAgaWYgKGlzSFRNTFRleHRBcmVhRWxlbWVudChtX2lubmVyTm9u
U2hhcmVkTm9kZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKGlzSFRN
TElucHV0RWxlbWVudChtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDc3YjEwODk3OTkzN2FkNzBmZmVkM2I2N2UzZjhm
ZTMzYzc0NGRkOGIuLjFhMDgyOGYyOGY0ZTBiM2Q3OGI3OTM2MDM1Mzk5YjdiMWNiYmNiZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yOCwxNiArMjgsMTYgQEAK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgorI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0j
aW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5j
bHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiRmxvYXRRdWFkLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJIVE1M
VGV4dEFyZWFFbGVtZW50LmgiCisjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJBcmVuYS5o
IgpAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybVN0YXRlLmgiCisjaW5jbHVkZSAiaHRt
bGVkaXRpbmcuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8bWF0aC5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGFja1N0YXRzLmg+CkBAIC0yMzA1LDcgKzIzMDYsNyBAQCBib29sIFJlbmRl
ckJveDo6c2l6ZXNMb2dpY2FsV2lkdGhUb0ZpdENvbnRlbnQoU2l6ZVR5cGUgd2lkdGhUeXBlKSBj
b25zdAogICAgIC8vIHN0cmV0Y2hpbmcgY29sdW1uIGZsZXhib3guCiAgICAgLy8gRklYTUU6IFRo
aW5rIGFib3V0IGJsb2NrLWZsb3cgaGVyZS4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDY0NzMKLSAgICBpZiAobG9naWNhbFdpZHRoLnR5cGUoKSA9PSBB
dXRvICYmICFpc1N0cmV0Y2hpbmdDb2x1bW5GbGV4SXRlbSh0aGlzKSAmJiBub2RlKCkgJiYgKGlz
SFRNTElucHV0RWxlbWVudChub2RlKCkpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZShzZWxlY3RUYWcp
IHx8IG5vZGUoKS0+aGFzVGFnTmFtZShidXR0b25UYWcpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZSh0
ZXh0YXJlYVRhZykgfHwgbm9kZSgpLT5oYXNUYWdOYW1lKGxlZ2VuZFRhZykpKQorICAgIGlmIChs
b2dpY2FsV2lkdGgudHlwZSgpID09IEF1dG8gJiYgIWlzU3RyZXRjaGluZ0NvbHVtbkZsZXhJdGVt
KHRoaXMpICYmIG5vZGUoKSAmJiAoaXNIVE1MSW5wdXRFbGVtZW50KG5vZGUoKSkgfHwgbm9kZSgp
LT5oYXNUYWdOYW1lKHNlbGVjdFRhZykgfHwgbm9kZSgpLT5oYXNUYWdOYW1lKGJ1dHRvblRhZykg
fHwgaXNIVE1MVGV4dEFyZWFFbGVtZW50KG5vZGUoKSkgfHwgbm9kZSgpLT5oYXNUYWdOYW1lKGxl
Z2VuZFRhZykpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChpc0hvcml6b250YWxX
cml0aW5nTW9kZSgpICE9IGNvbnRhaW5pbmdCbG9jaygpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sTXVsdGlMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbE11bHRpTGluZS5jcHAKaW5kZXggMTUzYTk1YzMyOGE4ZDBhN2Y5YmYyOGFmZTdiZjg4ZDNk
ZGU3OGMzZi4uOWExMjFjNjE0NzAxMmIyZWY4YmExNTUyYzU2MzcwZGY0ZGMxYThkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0
aUxpbmUuY3BwCkBAIC00MCw3ICs0MCw3IEBAIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpS
ZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZShFbGVtZW50KiBlbGVtZW50KQogUmVuZGVyVGV4dENv
bnRyb2xNdWx0aUxpbmU6On5SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSgpCiB7CiAgICAgaWYg
KG5vZGUoKSAmJiBub2RlKCktPmluRG9jdW1lbnQoKSkKLSAgICAgICAgc3RhdGljX2Nhc3Q8SFRN
TFRleHRBcmVhRWxlbWVudCo+KG5vZGUoKSktPnJlbmRlcmVyV2lsbEJlRGVzdHJveWVkKCk7Cisg
ICAgICAgIHRvSFRNTFRleHRBcmVhRWxlbWVudChub2RlKCkpLT5yZW5kZXJlcldpbGxCZURlc3Ry
b3llZCgpOwogfQogCiBib29sIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpub2RlQXRQb2lu
dChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBj
b25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBv
aW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQpAQCAt
NjcsMTMgKzY3LDEzIEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpnZXRBdmdD
aGFyV2lkdGgoQXRvbWljU3RyaW5nIGZhbWlseSkKIAogTGF5b3V0VW5pdCBSZW5kZXJUZXh0Q29u
dHJvbE11bHRpTGluZTo6cHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aChmbG9hdCBjaGFyV2lk
dGgpIGNvbnN0CiB7Ci0gICAgaW50IGZhY3RvciA9IHN0YXRpY19jYXN0PEhUTUxUZXh0QXJlYUVs
ZW1lbnQqPihub2RlKCkpLT5jb2xzKCk7CisgICAgaW50IGZhY3RvciA9IHRvSFRNTFRleHRBcmVh
RWxlbWVudChub2RlKCkpLT5jb2xzKCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFVu
aXQ+KGNlaWxmKGNoYXJXaWR0aCAqIGZhY3RvcikpICsgc2Nyb2xsYmFyVGhpY2tuZXNzKCk7CiB9
CiAKIExheW91dFVuaXQgUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmU6OmNvbXB1dGVDb250cm9s
TG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxpbmVIZWlnaHQsIExheW91dFVuaXQgbm9uQ29udGVu
dEhlaWdodCkgY29uc3QKIHsKLSAgICByZXR1cm4gbGluZUhlaWdodCAqIHN0YXRpY19jYXN0PEhU
TUxUZXh0QXJlYUVsZW1lbnQqPihub2RlKCkpLT5yb3dzKCkgKyBub25Db250ZW50SGVpZ2h0Owor
ICAgIHJldHVybiBsaW5lSGVpZ2h0ICogdG9IVE1MVGV4dEFyZWFFbGVtZW50KG5vZGUoKSktPnJv
d3MoKSArIG5vbkNvbnRlbnRIZWlnaHQ7CiB9CiAKIGludCBSZW5kZXJUZXh0Q29udHJvbE11bHRp
TGluZTo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBib29sIGZp
cnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIGxp
bmVQb3NpdGlvbk1vZGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMGFkZTQ2NmUzYzlhYjRiYTNiNDc4ZTQ5ZjdlOTFkNThkNTBiMTA1Mi4uYTk2ZmRlMDc4Mzk3
M2JkOTEyMjMyOGM5NTlhMDdiYjI0ZjYxNTI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtOTM0LDcgKzkzNCw3IEBAIGJvb2wgSW50ZXJuYWxzOjp3YXNMYXN0Q2hhbmdl
VXNlckVkaXQoRWxlbWVudCogdGV4dEZpZWxkLCBFeGNlcHRpb25Db2RlJiBlYykKIAogICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgYmUgdXNpbmcgaGFzVGFnTmFtZSBpbnN0ZWFkIGJ1dCBXaW5kb3dz
IHBvcnQgZG9lc24ndCBsaW5rIFF1YWxpZmllZE5hbWVzIHByb3Blcmx5LgogICAgIGlmICh0ZXh0
RmllbGQtPnRhZ05hbWUoKSA9PSAiVEVYVEFSRUEiKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KHRleHRGaWVsZCktPmxhc3RDaGFuZ2VXYXNVc2VyRWRp
dCgpOworICAgICAgICByZXR1cm4gdG9IVE1MVGV4dEFyZWFFbGVtZW50KHRleHRGaWVsZCktPmxh
c3RDaGFuZ2VXYXNVc2VyRWRpdCgpOwogCiAgICAgZWMgPSBJTlZBTElEX05PREVfVFlQRV9FUlI7
CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5j
cHAKaW5kZXggMjExYTYwZTFlMDFkODYxODQ1YzhjYmM5YmNiZGQ3ZDkyNzhiYzc4MS4uOTdmMmE4
YjkxMDY5OGQyMDI1NzJiZDc1OGVmM2Y2ZTQ2MzcwOTI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJz
ZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIkljb25E
YXRhYmFzZUNsaWVudEJsYWNrQmVycnkuaCIKQEAgLTI4MzEsNyArMjgzMiw3IEBAIEludFJlY3Qg
V2ViUGFnZVByaXZhdGU6OmJsb2NrWm9vbVJlY3RGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgZG91
YmxlIGJsb2NrVG9QYWdlUmF0aW8gPSBzdGF0aWNfY2FzdDxkb3VibGU+KHBhZ2VBcmVhIC0gb3Jp
Z2luYWxBcmVhKSAvIHBhZ2VBcmVhOwogICAgIGRvdWJsZSBibG9ja0V4cGFuc2lvblJhdGlvID0g
NS4wICogYmxvY2tUb1BhZ2VSYXRpbyAqIGJsb2NrVG9QYWdlUmF0aW87CiAKLSAgICBpZiAoIWlz
SFRNTEltYWdlRWxlbWVudCh0bm9kZSkgJiYgIWlzSFRNTElucHV0RWxlbWVudCh0bm9kZSkgJiYg
IXRub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcpKSB7CisgICAgaWYgKCFp
c0hUTUxJbWFnZUVsZW1lbnQodG5vZGUpICYmICFpc0hUTUxJbnB1dEVsZW1lbnQodG5vZGUpICYm
ICFpc0hUTUxUZXh0QXJlYUVsZW1lbnQodG5vZGUpKSB7CiAgICAgICAgIHdoaWxlICgodG5vZGUg
PSB0bm9kZS0+cGFyZW50Tm9kZSgpKSkgewogICAgICAgICAgICAgQVNTRVJUKHRub2RlKTsKICAg
ICAgICAgICAgIEludFJlY3QgdFJlY3QgPSByZWN0Rm9yTm9kZSh0bm9kZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9ET01TdXBwb3J0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuY3BwCmlu
ZGV4IDc1MmFkZmZjNTIwNTI4YTcyMzhiN2VlNTdlOWEyZDlhYzhlZTA0ZGEuLjMxMjIyOWRkZGY3
ZGQ4MGFhYWY0ZWU0NzcxNTBhOGYwZmFmOTQ1NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuY3BwCkBAIC0xMDMsNyArMTAz
LDcgQEAgYm9vbCBpc1NoYWRvd0hvc3RUZXh0SW5wdXRFbGVtZW50KE5vZGUqIG5vZGUpCiBib29s
IGlzVGV4dElucHV0RWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBlbGVt
ZW50LT5pc1RleHRGb3JtQ29udHJvbCgpCi0gICAgICAgIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjp0ZXh0YXJlYVRhZykKKyAgICAgICAgfHwgaXNIVE1MVGV4dEFyZWFFbGVtZW50
KGVsZW1lbnQpCiAgICAgICAgIHx8IGVsZW1lbnQtPmlzQ29udGVudEVkaXRhYmxlKCk7CiB9CiAK
QEAgLTEyMiw4ICsxMjIsOCBAQCBXVEY6OlN0cmluZyBpbnB1dEVsZW1lbnRUZXh0KEVsZW1lbnQq
IGVsZW1lbnQpCiAgICAgaWYgKGlzSFRNTElucHV0RWxlbWVudChlbGVtZW50KSkgewogICAgICAg
ICBjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1l
bnQoZWxlbWVudCk7CiAgICAgICAgIGVsZW1lbnRUZXh0ID0gaW5wdXRFbGVtZW50LT52YWx1ZSgp
OwotICAgIH0gZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRleHRhcmVh
VGFnKSkgewotICAgICAgICBjb25zdCBIVE1MVGV4dEFyZWFFbGVtZW50KiBpbnB1dEVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxjb25zdCBIVE1MVGV4dEFyZWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAg
fSBlbHNlIGlmIChpc0hUTUxUZXh0QXJlYUVsZW1lbnQoZWxlbWVudCkpIHsKKyAgICAgICAgY29u
c3QgSFRNTFRleHRBcmVhRWxlbWVudCogaW5wdXRFbGVtZW50ID0gdG9IVE1MVGV4dEFyZWFFbGVt
ZW50KGVsZW1lbnQpOwogICAgICAgICBlbGVtZW50VGV4dCA9IGlucHV0RWxlbWVudC0+dmFsdWUo
KTsKICAgICB9IGVsc2UgaWYgKGVsZW1lbnQtPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKICAgICAg
ICAgUmVmUHRyPFJhbmdlPiByYW5nZUZvck5vZGUgPSByYW5nZU9mQ29udGVudHMoZWxlbWVudCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1
dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5w
dXRIYW5kbGVyLmNwcAppbmRleCAwZmM4YzJiNzQ5MDAyN2FiNzg3NzU3ZWJhODFjMDI0ZTI2OGQ1
ZTFjLi5lMTJjMGYzMDgzYjFjYTBkNzdhY2Q3ZTBmZjIwNGVjZTU2YzllZGZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxl
ci5jcHAKQEAgLTQxMyw3ICs0MTMsNyBAQCBCbGFja0JlcnJ5SW5wdXRUeXBlIElucHV0SGFuZGxl
cjo6ZWxlbWVudFR5cGUoRWxlbWVudCogZWxlbWVudCkgY29uc3QKICAgICBpZiAoY29uc3QgSFRN
TElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gdG9IVE1MSW5wdXRFbGVtZW50KGVsZW1lbnQp
KQogICAgICAgICByZXR1cm4gY29udmVydElucHV0VHlwZShpbnB1dEVsZW1lbnQpOwogCi0gICAg
aWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZykpCisgICAgaWYg
KGlzSFRNTFRleHRBcmVhRWxlbWVudChlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIElucHV0VHlw
ZVRleHRBcmVhOwogCiAgICAgLy8gRGVmYXVsdCB0byBJbnB1dFR5cGVUZXh0QXJlYSBmb3IgY29u
dGVudCBlZGl0YWJsZSBmaWVsZHMuCkBAIC0xMzU0LDcgKzEzNTQsNyBAQCBXZWJDb3JlOjpJbnRS
ZWN0IElucHV0SGFuZGxlcjo6Ym91bmRpbmdCb3hGb3JJbnB1dEZpZWxkKCkKICAgICAgICAgcmV0
dXJuIG1fY3VycmVudEZvY3VzRWxlbWVudC0+cmVuZGVyZXIoKS0+YWJzb2x1dGVCb3VuZGluZ0Jv
eFJlY3QoKTsKICAgICB9CiAKLSAgICBpZiAobV9jdXJyZW50Rm9jdXNFbGVtZW50LT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcpKQorICAgIGlmIChpc0hUTUxUZXh0QXJlYUVsZW1l
bnQobV9jdXJyZW50Rm9jdXNFbGVtZW50KSkKICAgICAgICAgcmV0dXJuIG1fY3VycmVudEZvY3Vz
RWxlbWVudC0+cmVuZGVyZXIoKS0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKTsKIAogICAgIC8v
IENvbnRlbnQgRWRpdGFibGUgY2FuJ3QgcmVseSBvbiB0aGUgYm91bmRpbmcgYm94IHNpbmNlIGl0
IGlzbid0IGZpeGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lm1tCmluZGV4IDE3YzJkMzFjYTI5MTlhZjI3NWI2M2VkNzNhM2YzYzVl
M2ZiZmNkZjEuLjE3MDIwZTg5YzQ5ODNiMGY2YTEzMDA1Yzc4ZWMzMWE0OWY2ZjU0YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
bW0KQEAgLTcxMSwxMCArNzExLDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp0ZXh0V2lsbEJl
RGVsZXRlZEluVGV4dEZpZWxkKEVsZW1lbnQqIGVsZW1lbnQpCiAKIHZvaWQgV2ViRWRpdG9yQ2xp
ZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShFbGVtZW50KiBlbGVtZW50KQogewotICAgIGlm
ICghZWxlbWVudC0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpCisgICAgaWYgKCFpc0hUTUxUZXh0
QXJlYUVsZW1lbnQoZWxlbWVudCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIERPTUhUTUxUZXh0
QXJlYUVsZW1lbnQqIHRleHRBcmVhRWxlbWVudCA9IGtpdChzdGF0aWNfY2FzdDxIVE1MVGV4dEFy
ZWFFbGVtZW50Kj4oZWxlbWVudCkpOworICAgIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQqIHRleHRB
cmVhRWxlbWVudCA9IGtpdCh0b0hUTUxUZXh0QXJlYUVsZW1lbnQoZWxlbWVudCkpOwogICAgIEZv
cm1EZWxlZ2F0ZUxvZyh0ZXh0QXJlYUVsZW1lbnQpOwogICAgIENhbGxGb3JtRGVsZWdhdGUobV93
ZWJWaWV3LCBAc2VsZWN0b3IodGV4dERpZENoYW5nZUluVGV4dEFyZWE6aW5GcmFtZTopLCB0ZXh0
QXJlYUVsZW1lbnQsIGtpdChlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5jcHAKaW5kZXggMDVlMWU3MWNhY2ZjNDJiNmVjM2IyMWUz
ZWZmMGQ0NTI2NDA4MDliNi4uYmEzNzFmM2I2NTFjZWJjNTM3N2I5N2QxNTRlZGQ0OTUzODVhNzVk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRE9NQ29yZUNsYXNzZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL0RPTUNvcmVDbGFzc2VzLmNwcApAQCAtMTUwOSw3ICsxNTA5LDcg
QEAgSURPTUVsZW1lbnQqIERPTUVsZW1lbnQ6OmNyZWF0ZUluc3RhbmNlKFdlYkNvcmU6OkVsZW1l
bnQqIGUpCiAgICAgfSBlbHNlIGlmIChlLT5oYXNUYWdOYW1lKHNlbGVjdFRhZykpIHsKICAgICAg
ICAgRE9NSFRNTFNlbGVjdEVsZW1lbnQqIG5ld0VsZW1lbnQgPSBuZXcgRE9NSFRNTFNlbGVjdEVs
ZW1lbnQoZSk7CiAgICAgICAgIGhyID0gbmV3RWxlbWVudC0+UXVlcnlJbnRlcmZhY2UoSUlEX0lE
T01FbGVtZW50LCAodm9pZCoqKSZkb21FbGVtZW50KTsKLSAgICB9IGVsc2UgaWYgKGUtPmhhc1Rh
Z05hbWUodGV4dGFyZWFUYWcpKSB7CisgICAgfSBlbHNlIGlmIChpc0hUTUxUZXh0QXJlYUVsZW1l
bnQoZSkpIHsKICAgICAgICAgRE9NSFRNTFRleHRBcmVhRWxlbWVudCogbmV3RWxlbWVudCA9IG5l
dyBET01IVE1MVGV4dEFyZWFFbGVtZW50KGUpOwogICAgICAgICBociA9IG5ld0VsZW1lbnQtPlF1
ZXJ5SW50ZXJmYWNlKElJRF9JRE9NRWxlbWVudCwgKHZvaWQqKikmZG9tRWxlbWVudCk7CiAgICAg
fSBlbHNlIGlmIChlLT5pc0hUTUxFbGVtZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL0RPTUhUTUxDbGFzc2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL0RPTUhUTUxDbGFz
c2VzLmNwcAppbmRleCA2MTIwNWM3MDVkMmQ4N2NjN2I0YTllZDgzNGQzZWJkMDJiNGYzOTYzLi5i
MDNhZTExYmU4NDJlMmUwYjU3NmRiNmI0Yjc1Njg0ZTEyNjY1NjRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4v
RE9NSFRNTENsYXNzZXMuY3BwCkBAIC0xNDMwLDggKzE0MzAsOCBAQCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQ6OmZvcm0oCiAgICAgaWYgKCFyZXN1bHQp
CiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7CiAgICAgKnJlc3VsdCA9IDA7Ci0gICAgQVNTRVJU
KG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmhhc1RhZ05hbWUodGV4dGFyZWFUYWcpKTsKLSAgICBI
VE1MVGV4dEFyZWFFbGVtZW50KiB0ZXh0YXJlYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4
dEFyZWFFbGVtZW50Kj4obV9lbGVtZW50KTsKKyAgICBBU1NFUlQobV9lbGVtZW50ICYmIGlzSFRN
TFRleHRBcmVhRWxlbWVudChtX2VsZW1lbnQpKTsKKyAgICBIVE1MVGV4dEFyZWFFbGVtZW50KiB0
ZXh0YXJlYUVsZW1lbnQgPSB0b0hUTUxUZXh0QXJlYUVsZW1lbnQobV9lbGVtZW50KTsKICAgICBD
T01QdHI8SURPTUVsZW1lbnQ+IGRvbUVsZW1lbnQ7CiAgICAgZG9tRWxlbWVudC5hZG9wdFJlZihE
T01IVE1MRWxlbWVudDo6Y3JlYXRlSW5zdGFuY2UodGV4dGFyZWFFbGVtZW50LT5mb3JtKCkpKTsK
ICAgICBpZiAoZG9tRWxlbWVudCkKQEAgLTE1NDcsOCArMTU0Nyw4IEBAIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgRE9NSFRNTFRleHRBcmVhRWxlbWVudDo6dHlwZSgKIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgRE9NSFRNTFRleHRBcmVhRWxlbWVudDo6dmFsdWUoIAogICAgICAgICAvKiBb
cmV0dmFsXVtvdXRdICovIEJTVFIqIHJlc3VsdCkKIHsKLSAgICBBU1NFUlQobV9lbGVtZW50ICYm
IG1fZWxlbWVudC0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpOwotICAgIEhUTUxUZXh0QXJlYUVs
ZW1lbnQqIHRleHRhcmVhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQq
PihtX2VsZW1lbnQpOworICAgIEFTU0VSVChtX2VsZW1lbnQgJiYgaXNIVE1MVGV4dEFyZWFFbGVt
ZW50KG1fZWxlbWVudCkpOworICAgIEhUTUxUZXh0QXJlYUVsZW1lbnQqIHRleHRhcmVhRWxlbWVu
dCA9IHRvSFRNTFRleHRBcmVhRWxlbWVudChtX2VsZW1lbnQpOwogICAgIFdURjo6U3RyaW5nIHZh
bHVlU3RyaW5nID0gdGV4dGFyZWFFbGVtZW50LT52YWx1ZSgpOwogICAgICpyZXN1bHQgPSBCU3Ry
aW5nKHZhbHVlU3RyaW5nLmNoYXJhY3RlcnMoKSwgdmFsdWVTdHJpbmcubGVuZ3RoKCkpLnJlbGVh
c2UoKTsKICAgICBpZiAodmFsdWVTdHJpbmcubGVuZ3RoKCkgJiYgISpyZXN1bHQpCkBAIC0xNTU5
LDE2ICsxNTU5LDE2IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgRE9NSFRNTFRleHRBcmVh
RWxlbWVudDo6dmFsdWUoCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIERPTUhUTUxUZXh0QXJl
YUVsZW1lbnQ6OnNldFZhbHVlKCAKICAgICAgICAgLyogW2luXSAqLyBCU1RSIHZhbHVlKQogewot
ICAgIEFTU0VSVChtX2VsZW1lbnQgJiYgbV9lbGVtZW50LT5oYXNUYWdOYW1lKHRleHRhcmVhVGFn
KSk7Ci0gICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4dGFyZWFFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgQVNTRVJUKG1fZWxlbWVu
dCAmJiBpc0hUTUxUZXh0QXJlYUVsZW1lbnQobV9lbGVtZW50KSk7CisgICAgSFRNTFRleHRBcmVh
RWxlbWVudCogdGV4dGFyZWFFbGVtZW50ID0gdG9IVE1MVGV4dEFyZWFFbGVtZW50KG1fZWxlbWVu
dCk7CiAgICAgdGV4dGFyZWFFbGVtZW50LT5zZXRWYWx1ZShTdHJpbmcoKFVDaGFyKikgdmFsdWUs
IFN5c1N0cmluZ0xlbih2YWx1ZSkpKTsKICAgICByZXR1cm4gU19PSzsKIH0KICAgICAKIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgRE9NSFRNTFRleHRBcmVhRWxlbWVudDo6c2VsZWN0KCB2b2lk
KQogewotICAgIEFTU0VSVChtX2VsZW1lbnQgJiYgbV9lbGVtZW50LT5oYXNUYWdOYW1lKHRleHRh
cmVhVGFnKSk7Ci0gICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4dGFyZWFFbGVtZW50ID0gc3Rh
dGljX2Nhc3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgQVNTRVJUKG1f
ZWxlbWVudCAmJiBpc0hUTUxUZXh0QXJlYUVsZW1lbnQobV9lbGVtZW50KSk7CisgICAgSFRNTFRl
eHRBcmVhRWxlbWVudCogdGV4dGFyZWFFbGVtZW50ID0gdG9IVE1MVGV4dEFyZWFFbGVtZW50KG1f
ZWxlbWVudCk7CiAgICAgdGV4dGFyZWFFbGVtZW50LT5zZWxlY3QoKTsKICAgICByZXR1cm4gU19P
SzsKIH0KQEAgLTE1ODIsOCArMTU4Miw4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgRE9N
SFRNTFRleHRBcmVhRWxlbWVudDo6aXNVc2VyRWRpdGVkKAogICAgICAgICByZXR1cm4gRV9QT0lO
VEVSOwogCiAgICAgKnJlc3VsdCA9IEZBTFNFOwotICAgIEFTU0VSVChtX2VsZW1lbnQgJiYgbV9l
bGVtZW50LT5oYXNUYWdOYW1lKHRleHRhcmVhVGFnKSk7Ci0gICAgaWYgKHN0YXRpY19jYXN0PEhU
TUxUZXh0QXJlYUVsZW1lbnQqPihtX2VsZW1lbnQpLT5sYXN0Q2hhbmdlV2FzVXNlckVkaXQoKSkK
KyAgICBBU1NFUlQobV9lbGVtZW50ICYmIGlzSFRNTFRleHRBcmVhRWxlbWVudChtX2VsZW1lbnQp
KTsKKyAgICBpZiAodG9IVE1MVGV4dEFyZWFFbGVtZW50KG1fZWxlbWVudCktPmxhc3RDaGFuZ2VX
YXNVc2VyRWRpdCgpKQogICAgICAgICAqcmVzdWx0ID0gVFJVRTsKICAgICByZXR1cm4gU19PSzsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
RE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwCmluZGV4
IDI5NmJmMjU0MmJkZTJiNTNiYTg2MmU1NTA4MGM4OTQ5MjYwNDUwZjUuLjVjMjE3ZjNiNThjMjg0
ZDA2OTQ4MDQwOTQ1MWRjNzEzNTJmMjJiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0
ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcApAQCAtMjEyLDEwICsyMTIsMTAgQEAgYm9vbCBJbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGU6Omh0bWxJbnB1dEVsZW1lbnRMYXN0Q2hhbmdlV2FzVXNlckVkaXQo
KQogCiBib29sIEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6aHRtbFRleHRBcmVhRWxlbWVudExh
c3RDaGFuZ2VXYXNVc2VyRWRpdCgpCiB7Ci0gICAgaWYgKCFtX25vZGUtPmhhc1RhZ05hbWUodGV4
dGFyZWFUYWcpKQorICAgIGlmICghaXNIVE1MVGV4dEFyZWFFbGVtZW50KG1fbm9kZS5nZXQoKSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVGV4
dEFyZWFFbGVtZW50Kj4obV9ub2RlLmdldCgpKS0+bGFzdENoYW5nZVdhc1VzZXJFZGl0KCk7Cisg
ICAgcmV0dXJuIHRvSFRNTFRleHRBcmVhRWxlbWVudChtX25vZGUuZ2V0KCkpLT5sYXN0Q2hhbmdl
V2FzVXNlckVkaXQoKTsKIH0KIAogUGFzc1JlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+
IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6aHRtbFRhYmxlQ2VsbEVsZW1lbnRDZWxsQWJvdmUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0KaW5kZXggNWFmNmVjNjc2NDMwOWEwMWU3
YjgxMjJiZTUwNmEzOGExM2ExOWM1ZC4uZDEyNGNjNmE3NzUwODA1M2VjNmUxYTk1MjlhNTE5ZmFl
ZDNjMmFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpblRleHRBbm5vdGF0aW9uLm1tCkBAIC0xMDUsNyArMTA1
LDcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbjo6Y3JlYXRl
QW5ub3RhdGlvbkVsZW1lbnQoKQogICAgIHN0eWxlZEVsZW1lbnQtPnNldElubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlUZXh0QWxpZ24sIGNzc0FsaWdubWVudFZhbHVlRm9yTlNUZXh0QWxp
Z25tZW50KHRleHRBbm5vdGF0aW9uLmFsaWdubWVudCkpOwogCiAgICAgaWYgKGlzTXVsdGlsaW5l
KQotICAgICAgICBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oc3R5bGVkRWxlbWVu
dCktPnNldFZhbHVlKHRleHRBbm5vdGF0aW9uLnN0cmluZ1ZhbHVlKTsKKyAgICAgICAgdG9IVE1M
VGV4dEFyZWFFbGVtZW50KHN0eWxlZEVsZW1lbnQpLT5zZXRWYWx1ZSh0ZXh0QW5ub3RhdGlvbi5z
dHJpbmdWYWx1ZSk7CiAgICAgZWxzZQogICAgICAgICB0b0hUTUxJbnB1dEVsZW1lbnQoc3R5bGVk
RWxlbWVudCktPnNldFZhbHVlKHRleHRBbm5vdGF0aW9uLnN0cmluZ1ZhbHVlKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwCmluZGV4IGM5MTNhNjEzMjJjYmNkOWQ3MzhmMmQ4ZmFiMGJhMTc3ZGQ3
ZmYzNzEuLmIxYjA1NDNlMzlkNzFjNTY5MWRhZjNiNzQ0MGQzZThhMzM0ODg0OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAKQEAgLTM1NSwxNCArMzU1LDE0IEBAIHZvaWQgV2ViRWRpdG9yQ2xp
ZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoRWxlbWVudCogZWxlbWVudCkKIAogdm9pZCBX
ZWJFZGl0b3JDbGllbnQ6OnRleHREaWRDaGFuZ2VJblRleHRBcmVhKEVsZW1lbnQqIGVsZW1lbnQp
CiB7Ci0gICAgaWYgKCFlbGVtZW50LT5oYXNUYWdOYW1lKHRleHRhcmVhVGFnKSkKKyAgICBpZiAo
IWlzSFRNTFRleHRBcmVhRWxlbWVudChlbGVtZW50KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
V2ViRnJhbWVMb2FkZXJDbGllbnQqIHdlYkZyYW1lTG9hZGVyQ2xpZW50ID0gdG9XZWJGcmFtZUxv
YWRlckNsaWVudChlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50
KCkpOwogICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSA9IHdlYkZyYW1lTG9hZGVyQ2xpZW50ID8gd2Vi
RnJhbWVMb2FkZXJDbGllbnQtPndlYkZyYW1lKCkgOiAwOwogICAgIEFTU0VSVCh3ZWJGcmFtZSk7
CiAKLSAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRm9ybUNsaWVudCgpLnRleHREaWRDaGFuZ2VJ
blRleHRBcmVhKG1fcGFnZSwgc3RhdGljX2Nhc3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KGVsZW1l
bnQpLCB3ZWJGcmFtZSk7CisgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZvcm1DbGllbnQoKS50
ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShtX3BhZ2UsIHRvSFRNTFRleHRBcmVhRWxlbWVudChlbGVt
ZW50KSwgd2ViRnJhbWUpOwogfQogCiBzdGF0aWMgYm9vbCBnZXRBY3Rpb25UeXBlRm9yS2V5RXZl
bnQoS2V5Ym9hcmRFdmVudCogZXZlbnQsIFdLSW5wdXRGaWVsZEFjdGlvblR5cGUmIHR5cGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAppbmRleCAx
YjRkZTBkOWZkOTUyMmYyY2RkM2M1MmVhOTFkODY1OWU0ODU3ZjQ4Li45YTk0OGY2MzIwYWU2MWFm
ZGFiNmUzZjhmOTBiNDFkYjA4MGZmNzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTUyLDYgKzUyLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTElucHV0
RWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE5hbWVzLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9IVE1MVGV4dEFyZWFFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0NTU1N0eWxl
RGVjbGFyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTRWxlbWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvSlNSYW5nZS5oPgpAQCAtNjE3LDcgKzYxOCw3IEBAIGJvb2wgV2ViRnJhbWU6OmNv
bnRhaW5zQW55Rm9ybUNvbnRyb2xzKCkgY29uc3QKICAgICBmb3IgKE5vZGUqIG5vZGUgPSBkb2N1
bWVudC0+ZG9jdW1lbnRFbGVtZW50KCk7IG5vZGU7IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0
KG5vZGUpKSB7CiAgICAgICAgIGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmIChpc0hUTUxJbnB1dEVsZW1lbnQobm9kZSkgfHwgdG9F
bGVtZW50KG5vZGUpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c2VsZWN0VGFnKSB8fCB0b0VsZW1l
bnQobm9kZSktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZykpCisgICAgICAgIGlm
IChpc0hUTUxJbnB1dEVsZW1lbnQobm9kZSkgfHwgdG9FbGVtZW50KG5vZGUpLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6c2VsZWN0VGFnKSB8fCBpc0hUTUxUZXh0QXJlYUVsZW1lbnQobm9kZSkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>