<?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>182401</bug_id>
          
          <creation_ts>2018-02-01 11:34:23 -0800</creation_ts>
          <short_desc>[Extra zoom mode] Implement basic support for interacting with text form controls</short_desc>
          <delta_ts>2018-02-01 15:17:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1395580</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-01 11:34:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/35143035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395618</commentid>
    <comment_count>1</comment_count>
      <attachid>332907</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-01 13:47:52 -0800</bug_when>
    <thetext>Created attachment 332907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395639</commentid>
    <comment_count>2</comment_count>
      <attachid>332907</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-01 14:54:13 -0800</bug_when>
    <thetext>Comment on attachment 332907
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395656</commentid>
    <comment_count>3</comment_count>
      <attachid>332907</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 15:17:26 -0800</bug_when>
    <thetext>Comment on attachment 332907
Patch

Clearing flags on attachment: 332907

Committed r227984: &lt;https://trac.webkit.org/changeset/227984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395657</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 15:17:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332907</attachid>
            <date>2018-02-01 13:47:52 -0800</date>
            <delta_ts>2018-02-01 15:17:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182401-20180201134752.patch</filename>
            <type>text/plain</type>
            <size>30484</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZiYTcxYTgwM2EwMGEwNzFk
MTAzYjJmZTQ4ZDExYThkYzg4ZDU5NGQuLjRkMTc1MDM3YTEyM2MxMGU2M2NjNGEyNDM0ZWM3Y2Y1
MzA2YWM2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTggQEAKKzIwMTgtMDItMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0V4dHJhIHpvb20gbW9k
ZV0gSW1wbGVtZW50IGJhc2ljIHN1cHBvcnQgZm9yIGludGVyYWN0aW5nIHdpdGggdGV4dCBmb3Jt
IGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODI0MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MTQzMDM1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBVSSBzdXBwb3J0IGZvciBp
bnRlcmFjdGluZyB3aXRoIGFuZCBlZGl0aW5nIHRleHQgZm9ybSBjb250cm9scyB3aGVuIGV4dHJh
IHpvb20gbW9kZSBpcyBlbmFibGVkLiBTZWUgYmVsb3cKKyAgICAgICAgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0XSk6CisgICAgICAg
ICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENvZGVyOl0pOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgorICAgICAgICAoLVtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIF90ZXh0SW50ZXJhY3Rpb25HZXN0dXJlc0VuYWJsZWRdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0VGV4dEludGVyYWN0aW9uR2VzdHVyZXNF
bmFibGVkOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9sb25nUHJlc3NB
Y3Rpb25zRW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRM
b25nUHJlc3NBY3Rpb25zRW5hYmxlZDpdKToKKworICAgICAgICBJbnRyb2R1Y2UgdHdvIG5ldyB3
ZWIgdmlldyBjb25maWd1cmF0aW9uIGZsYWdzOiBgdGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFi
bGVkYCBhbmQgYGxvbmdQcmVzc0FjdGlvbnNFbmFibGVkYC4KKyAgICAgICAgVGhlIGZvcm1lciBk
ZXRlcm1pbmVzIHdoZXRoZXIgdGV4dCBpbnRlcmFjdGlvbiBnZXN0dXJlcyAoaS5lLiB0ZXh0IHNl
bGVjdGlvbiwgbW92aW5nIHRoZSBjYXJldCwgc2hvd2luZyBVSSBmb3IKKyAgICAgICAgSU1FLCBl
dGMuKSBhcmUgZW5hYmxlZC4gVGhlIGxhdHRlciBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IGxv
bmcgcHJlc3MgYWN0aW9ucyAoaS5lLiB0b3VjaCBjYWxsb3V0LCBzaGFyZQorICAgICAgICBzaGVl
dCwgZXRjLikgYXJlIGVuYWJsZWQuIFRoZXNlIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IG9ubHkg
aW4gZXh0cmEgem9vbSBtb2RlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFRleHRBc3luYyk6
CisKKyAgICAgICAgQWRkIGEgd2F5IHRvIHNldCB0aGUgdGV4dCB2YWx1ZSBvZiBhIGN1cnJlbnRs
eSBlZGl0ZWQgdGV4dCBmb3JtIGNvbnRyb2wuIFRoaXMgd2lsbCBlaXRoZXIgc2V0IHRoZSB0ZXh0
IHZhbHVlIG9mCisgICAgICAgIGFuIGlucHV0LCBhLiBsYS4gYXV0b2ZpbGwsIG9yIG92ZXJ3cml0
ZSB0aGUgY29udGVudHMgb2YgYSBjb250ZW50ZWRpdGFibGUgYXJlYSBieSBzZWxlY3RpbmcgZXZl
cnl0aGluZyBhbmQKKyAgICAgICAgaW5zZXJ0aW5nIHRoZSBnaXZlbiB0ZXh0LgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmZvY3VzTmV4dEFzc2lzdGVkTm9kZSk6CisKKyAgICAgICAgQWRkIGEgZGVmYXVsdCBhcmd1
bWVudCBmb3IgdGhlIGNvbXBsZXRpb24gY2FsbGJhY2suCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNl
dHVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlzcGxheUZvcm1O
b2RlSW5wdXRWaWV3XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2FjdGlvbkZvckxvbmdQ
cmVzc0Zyb21Qb3NpdGlvbkluZm9ybWF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGhhc1NlbGVjdGFibGVQb3NpdGlvbkF0UG9pbnQ6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgcG9pbnRJc05lYXJNYXJrZWRUZXh0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRl
eHRJbnRlcmFjdGlvbkdlc3R1cmU6c2hvdWxkQmVnaW5BdFBvaW50Ol0pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IGluc2VydGlvblBvaW50Q29sb3JdKToKKworICAgICAgICBSZXNwZWN0IHRo
ZSB3ZWIgdmlldyBjb25maWd1cmF0aW9uIGZsYWdzIGFib3ZlIGJ5IGJhaWxpbmcgZWFybHkgZnJv
bSB0ZXh0IGludGVyYWN0aW9uIGFuZCBsb25nIHByZXNzIGFjdGlvbgorICAgICAgICBzaGVldCBt
ZXRob2RzLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3N0YXJ0QXNzaXN0aW5nS2V5Ym9h
cmRdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc3RhcnRBc3Npc3RpbmdOb2RlOnVzZXJJ
c0ludGVyYWN0aW5nOmJsdXJQcmV2aW91c05vZGU6Y2hhbmdpbmdBY3Rpdml0eVN0YXRlOnVzZXJP
YmplY3Q6XSk6CisKKyAgICAgICAgQWRkIGEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgd2UgYXJl
IGluIHRoZSBwcm9jZXNzIG9mIGNoYW5naW5nIGZvY3VzIGZyb20gb25lIG5vZGUgdG8gYW5vdGhl
ci4gV2UgdXNlIHRoaXMgdG8KKyAgICAgICAgZGVjaWRlIHdoZXRoZXIgb3Igbm90IHdlIHdhbnQg
dG8gcHJlc2VudCB0aGUgdGV4dCBpbnB1dCB2aWV3IGNvbnRyb2xsZXIgcmlnaHQgYXdheSwgb3Ig
anVzdCByZWxvYWQgdGhlIGZvY3VzZWQKKyAgICAgICAgZm9ybSBjb250cm9sIG92ZXJsYXkuIFdo
ZW4gd2Ugc3RvcCAiYXNzaXN0aW5nIiBhIG5vZGUsIHdlIGFsc28ga2VlcCB0aGUgZm9jdXNlZCBm
b3JtIGNvbnRyb2wgb3ZlcmxheSB1cCBpZiB3ZSdyZQorICAgICAgICBvbmx5IGNoYW5naW5nIGZv
Y3VzIHRvIGFub3RoZXIgZm9ybSBjb250cm9sLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X3N0b3BBc3Npc3RpbmdOb2RlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJlc2VudEZv
Y3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IGRpc21pc3NGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlcjpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBzaG91bGRQcmVzZW50VGV4dElucHV0Vmlld0NvbnRyb2xsZXI6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFRleHRJbnB1dFZpZXdDb250cm9sbGVy
Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpc21pc3NUZXh0SW5wdXRWaWV3Q29udHJv
bGxlcjpdKToKKworICAgICAgICBJbnRyb2R1Y2UgaGVscGVycyBmb3IgbWFuYWdpbmcgcHJlc2Vu
dGF0aW9uIG9mIHRoZSBmb2N1c2VkIGZvcm0gY29udHJvbCBvdmVybGF5IGFuZCB0ZXh0IGlucHV0
IHZpZXcgY29udHJvbGxlci4KKyAgICAgICAgQWxsIC1wcmVzZW50IGFuZCAtZGlzbWlzcyBoZWxw
ZXJzIGhlcmUgYXJlIGlkZW1wb3RlbnQuIFRoZXNlIHZpZXcgY29udHJvbGxlcnMgYXJlIHByZXNl
bnRlZCBmcm9tIHRoZSBjb250ZW50CisgICAgICAgIHZpZXcncyB2aWV3IGNvbnRyb2xsZXIgZm9y
IGZ1bGxzY3JlZW4gcHJlc2VudGF0aW9uLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4
dElucHV0Q29udHJvbGxlcjpkaWRDb21taXRUZXh0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IHRleHRJbnB1dENvbnRyb2xsZXI6ZGlkUmVxdWVzdERpc21pc3NhbFdpdGhBY3Rpb246XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlckRp
ZFN1Ym1pdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBmb2N1c2VkRm9ybUNvbnRyb2xD
b250cm9sbGVyRGlkQ2FuY2VsOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGZvY3VzZWRG
b3JtQ29udHJvbENvbnRyb2xsZXJEaWRCZWdpbkVkaXRpbmc6XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgaGlnaGxpZ2h0ZWRSZWN0Rm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjpp
bkNvb3JkaW5hdGVTcGFjZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBhY3Rpb25OYW1l
Rm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBmb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyRGlkUmVxdWVzdE5leHROb2RlOl0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGZvY3VzZWRGb3JtQ29udHJvbENvbnRyb2xsZXJEaWRS
ZXF1ZXN0UHJldmlvdXNOb2RlOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGhhc05leHRO
b2RlRm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBoYXNQcmV2aW91c05vZGVGb3JGb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyOl0p
OgorCisgICAgICAgIEltcGxlbWVudCBkZWxlZ2F0ZSBtZXRob2RzIGZvciB0aGUgZm9jdXNlZCBm
b3JtIGNvbnRyb2wgYW5kIHRleHQgaW5wdXQgdmlldyBjb250cm9sbGVycy4gVGhpcyBtYWlubHkg
aW52b2x2ZXMKKyAgICAgICAgc3RyYWlnaHRmb3J3YXJkIHBsdW1iaW5nIG9mIHBpZWNlcyBvZiBB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBvbiB0aGUgY29udGVudCB2aWV3LgorCisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgcG9pbnRJc0luQXNzaXN0ZWROb2RlOl0pOiBEZWxldGVkLgorCisgICAg
ICAgIFJlbW92ZSBhIG1ldGhvZCB0aGF0IHdhcyBzdGlsbCBpbXBsZW1lbnRlZCBvbmx5IGZvciBi
aW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIGlPUyAxMC4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0VGV4dEFz
eW5jKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDE4LTAxLTI5ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGJ1
aWxkIHN0ZXAgdG8gY29weSByZXNvdXJjZXMgZnJvbSBXZWJLaXRBZGRpdGlvbnMgYXMgYnVuZGxl
IHJlc291cmNlcyBpbiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggMTRmZWE2MGQ2
MmFiZmRiYmU2ZjA3ZmYwMTY3OTk5OTJmNzZmYzAwZC4uMzU4MTg0YTZhYjJhMmMxYjBiYTkyMGI2
YTU3MWU4NjBiNzMzZDdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTEzMCw2ICsxMzAs
OCBAQCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlvbiB7CiAgICAgQk9PTCBf
aW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGU7CiAgICAgQk9P
TCBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbjsKICAgICBfV0tEcmFn
TGlmdERlbGF5IF9kcmFnTGlmdERlbGF5OworICAgIEJPT0wgX3RleHRJbnRlcmFjdGlvbkdlc3R1
cmVzRW5hYmxlZDsKKyAgICBCT09MIF9sb25nUHJlc3NBY3Rpb25zRW5hYmxlZDsKICNlbmRpZgog
CiAgICAgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ7CkBAIC0yMjUsNyArMjI3
LDE0IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIF9zZWxl
Y3Rpb25HcmFudWxhcml0eSA9IFdLU2VsZWN0aW9uR3JhbnVsYXJpdHlEeW5hbWljOwogICAgIF9k
cmFnTGlmdERlbGF5ID0gdG9EcmFnTGlmdERlbGF5KFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIGludGVnZXJGb3JLZXk6QCJXZWJLaXREZWJ1Z0RyYWdMaWZ0RGVsYXkiXSk7
CisjaWYgRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKKyAgICBfdGV4dEludGVyYWN0aW9uR2VzdHVy
ZXNFbmFibGVkID0gTk87CisgICAgX2xvbmdQcmVzc0FjdGlvbnNFbmFibGVkID0gTk87CisjZWxz
ZQorICAgIF90ZXh0SW50ZXJhY3Rpb25HZXN0dXJlc0VuYWJsZWQgPSBZRVM7CisgICAgX2xvbmdQ
cmVzc0FjdGlvbnNFbmFibGVkID0gWUVTOwogI2VuZGlmCisjZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQogCiAgICAgX21lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0ID0gU2V0
dGluZ3M6OmRlZmF1bHRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCgp
OwogICAgIF9hbGxvd01lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0QXNG
YWxsYmFjayA9IFlFUzsKQEAgLTI2NSw2ICsyNzQsOCBAQCAtICh2b2lkKWVuY29kZVdpdGhDb2Rl
cjooTlNDb2RlciAqKWNvZGVyCiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
TWVkaWFQbGF5YmFjayJdOwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuaWdub3Jlc1ZpZXdw
b3J0U2NhbGVMaW1pdHMgZm9yS2V5OkAiaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMiXTsKICAg
ICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLl9kcmFnTGlmdERlbGF5IGZvcktleTpAImRyYWdM
aWZ0RGVsYXkiXTsKKyAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxmLl90ZXh0SW50ZXJhY3Rpb25H
ZXN0dXJlc0VuYWJsZWQgZm9yS2V5OkAidGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFibGVkIl07
CisgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5fbG9uZ1ByZXNzQWN0aW9uc0VuYWJsZWQgZm9y
S2V5OkAibG9uZ1ByZXNzQWN0aW9uc0VuYWJsZWQiXTsKICNlbHNlCiAgICAgW2NvZGVyIGVuY29k
ZUludGVnZXI6c2VsZi51c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IGZvcktleTpAInVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kiXTsKICNlbmRpZgpAQCAtMjkzLDYgKzMwNCw4IEBAIC0g
KGluc3RhbmNldHlwZSlpbml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBzZWxmLmFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gW2NvZGVyIGRlY29kZUJvb2xGb3JL
ZXk6QCJhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayJdOwogICAgIHNlbGYuaWdu
b3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImlnbm9y
ZXNWaWV3cG9ydFNjYWxlTGltaXRzIl07CiAgICAgc2VsZi5fZHJhZ0xpZnREZWxheSA9IHRvRHJh
Z0xpZnREZWxheShbY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAImRyYWdMaWZ0RGVsYXkiXSk7
CisgICAgc2VsZi5fdGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFibGVkID0gW2NvZGVyIGRlY29k
ZUJvb2xGb3JLZXk6QCJ0ZXh0SW50ZXJhY3Rpb25HZXN0dXJlc0VuYWJsZWQiXTsKKyAgICBzZWxm
Ll9sb25nUHJlc3NBY3Rpb25zRW5hYmxlZCA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAibG9u
Z1ByZXNzQWN0aW9uc0VuYWJsZWQiXTsKICNlbHNlCiAgICAgYXV0byB1c2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5Q2FuZGlkYXRlID0gc3RhdGljX2Nhc3Q8V0tVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5PihbY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAInVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3kiXSk7CiAgICAgaWYgKHVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lDYW5k
aWRhdGUgPT0gV0tVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5Q29udGVudCB8fCB1c2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5Q2FuZGlkYXRlID09IFdLVXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeVN5c3RlbSkKQEAgLTM0Nyw2ICszNjAsOCBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5T
Wm9uZSAqKXpvbmUKICAgICBjb25maWd1cmF0aW9uLT5fc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBz
ZWxmLT5fc2VsZWN0aW9uR3JhbnVsYXJpdHk7CiAgICAgY29uZmlndXJhdGlvbi0+X2lnbm9yZXNW
aWV3cG9ydFNjYWxlTGltaXRzID0gc2VsZi0+X2lnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzOwog
ICAgIGNvbmZpZ3VyYXRpb24tPl9kcmFnTGlmdERlbGF5ID0gc2VsZi0+X2RyYWdMaWZ0RGVsYXk7
CisgICAgY29uZmlndXJhdGlvbi0+X3RleHRJbnRlcmFjdGlvbkdlc3R1cmVzRW5hYmxlZCA9IHNl
bGYtPl90ZXh0SW50ZXJhY3Rpb25HZXN0dXJlc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+
X2xvbmdQcmVzc0FjdGlvbnNFbmFibGVkID0gc2VsZi0+X2xvbmdQcmVzc0FjdGlvbnNFbmFibGVk
OwogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGNvbmZpZ3VyYXRpb24tPl9jcHVMaW1p
dCA9IHNlbGYtPl9jcHVMaW1pdDsKQEAgLTY2NCw2ICs2NzksMjggQEAgLSAodm9pZClfc2V0RHJh
Z0xpZnREZWxheTooX1dLRHJhZ0xpZnREZWxheSlkcmFnTGlmdERlbGF5CiB7CiAgICAgX2RyYWdM
aWZ0RGVsYXkgPSBkcmFnTGlmdERlbGF5OwogfQorCistIChCT09MKV90ZXh0SW50ZXJhY3Rpb25H
ZXN0dXJlc0VuYWJsZWQKK3sKKyAgICByZXR1cm4gX3RleHRJbnRlcmFjdGlvbkdlc3R1cmVzRW5h
YmxlZDsKK30KKworLSAodm9pZClfc2V0VGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFibGVkOihC
T09MKWVuYWJsZWQKK3sKKyAgICBfdGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFibGVkID0gZW5h
YmxlZDsKK30KKworLSAoQk9PTClfbG9uZ1ByZXNzQWN0aW9uc0VuYWJsZWQKK3sKKyAgICByZXR1
cm4gX2xvbmdQcmVzc0FjdGlvbnNFbmFibGVkOworfQorCistICh2b2lkKV9zZXRMb25nUHJlc3NB
Y3Rpb25zRW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAgX2xvbmdQcmVzc0FjdGlvbnNFbmFi
bGVkID0gZW5hYmxlZDsKK30KKworCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAtIChCT09M
KV9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaAppbmRleCA5YTAxMzQ4NmY5Y2U5ZjkxMmY5YTFhZGYwNTYxOGI2MTIwZDkxYTkxLi40
ZTBhNDQ5N2JhNWFmNDM1OTM1OWExYzc4NTA4OGNlYWUzMGQ1NzllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvblByaXZhdGUuaApAQCAtNzYsNiArNzYsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNV
SW50ZWdlciwgX1dLRHJhZ0xpZnREZWxheSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGU6KSBC
T09MIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSBXS19B
UElfQVZBSUxBQkxFKGlvcygxMC4wKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuOikgQk9PTCBfYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiAgV0tfQVBJX0FWQUlMQUJMRShpb3Mo
MTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RHJhZ0xpZnREZWxheTop
IF9XS0RyYWdMaWZ0RGVsYXkgX2RyYWdMaWZ0RGVsYXkgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEu
MCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0VGV4dEludGVyYWN0aW9uR2Vz
dHVyZXNFbmFibGVkOikgQk9PTCBfdGV4dEludGVyYWN0aW9uR2VzdHVyZXNFbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldExvbmdQcmVzc0FjdGlvbnNFbmFibGVkOikgQk9PTCBfbG9uZ1ByZXNzQWN0aW9uc0Vu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogI2Vsc2UKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93
c1VSTHNJblRvb2xUaXBzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBf
c2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOTZlYjVhOWFlOTEw
ODY2YjJjNjc4OTZmOGVjZTU0MDNkN2MyNTc1Yy4uYTNmY2JhNWI4NjYyZTg4NDQ1ZGZiN2VlZmE5
ZTk1Mjg3ZmRkYTFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC02NTU3LDYgKzY1NTcsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmFkZE1JTUVUeXBlV2l0
aEN1c3RvbUNvbnRlbnRQcm92aWRlcihjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRUZXh0QXN5bmMoY29uc3QgU3Ry
aW5nJiB0ZXh0KQoreworICAgIGlmIChpc1ZhbGlkKCkpCisgICAgICAgIHByb2Nlc3MoKS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRUZXh0QXN5bmModGV4dCksIG1fcGFnZUlEKTsKK30KKwog
dm9pZCBXZWJQYWdlUHJveHk6Omluc2VydFRleHRBc3luYyhjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFjZW1lbnRSYW5nZSwgYm9vbCByZWdpc3RlclVuZG9Hcm91
cCwgRWRpdGluZ1JhbmdlSXNSZWxhdGl2ZVRvIGVkaXRpbmdSYW5nZUlzUmVsYXRpdmVUbywgYm9v
bCBzdXBwcmVzc1NlbGVjdGlvblVwZGF0ZSkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTQzYWQyYjIzMzZiMGMxYjNkOTEx
NjczZDFmYjJkYjEzZmI5NzI0YS4uY2ZmMThmNTdhNmJhNTdhMmNhZTc1N2MzNGYzZjAwZThjZTkz
NjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTU3Miw3ICs1
NzIsNyBAQCBwdWJsaWM6CiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEy
MDAwMAogICAgIHZvaWQgZGlkVXBkYXRlQmxvY2tTZWxlY3Rpb25XaXRoVG91Y2godWludDMyX3Qg
dG91Y2gsIHVpbnQzMl90IGZsYWdzLCBmbG9hdCBncm93VGhyZXNob2xkLCBmbG9hdCBzaHJpbmtU
aHJlc2hvbGQpOwogI2VuZGlmCi0gICAgdm9pZCBmb2N1c05leHRBc3Npc3RlZE5vZGUoYm9vbCBp
c0ZvcndhcmQsIFdURjo6RnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwor
ICAgIHZvaWQgZm9jdXNOZXh0QXNzaXN0ZWROb2RlKGJvb2wgaXNGb3J3YXJkLCBXVEY6OkZ1bmN0
aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmID0gW10gKGF1dG8pIHsgfSk7CiAgICAg
dm9pZCBzZXRBc3Npc3RlZE5vZGVWYWx1ZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEFz
c2lzdGVkTm9kZVZhbHVlQXNOdW1iZXIoZG91YmxlKTsKICAgICB2b2lkIHNldEFzc2lzdGVkTm9k
ZVNlbGVjdGVkSW5kZXgodWludDMyX3QgaW5kZXgsIGJvb2wgYWxsb3dNdWx0aXBsZVNlbGVjdGlv
biA9IGZhbHNlKTsKQEAgLTYzOCw2ICs2MzgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKExheWVyT3JWaWV3Kik7CiAgICAgTGF5ZXJPclZp
ZXcqIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSb290TGF5ZXIoKSBjb25zdDsKIAorICAgIHZvaWQg
c2V0VGV4dEFzeW5jKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgaW5zZXJ0VGV4dEFzeW5jKGNv
bnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVudFJhbmdlLCBi
b29sIHJlZ2lzdGVyVW5kb0dyb3VwID0gZmFsc2UsIEVkaXRpbmdSYW5nZUlzUmVsYXRpdmVUbyA9
IEVkaXRpbmdSYW5nZUlzUmVsYXRpdmVUbzo6RWRpdGFibGVSb290LCBib29sIHN1cHByZXNzU2Vs
ZWN0aW9uVXBkYXRlID0gZmFsc2UpOwogICAgIHZvaWQgZ2V0TWFya2VkUmFuZ2VBc3luYyhXVEY6
OkZ1bmN0aW9uPHZvaWQgKEVkaXRpbmdSYW5nZSwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwog
ICAgIHZvaWQgZ2V0U2VsZWN0ZWRSYW5nZUFzeW5jKFdURjo6RnVuY3Rpb248dm9pZCAoRWRpdGlu
Z1JhbmdlLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggYzI2ZjI0
NzRjODZiMDBhZTdlZWYzOWQxY2FmYzE5YmI2NWY1NmMyNC4uYjAyMGUxMWRjNzllMDNlYTNjZGNh
ODMwMzMzN2JiZTJiMDg4MWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtODMsOCArODMsOSBAQCBjbGFz
cyBXZWJQYWdlUHJveHk7CiBAY2xhc3MgX1VJSGlnaGxpZ2h0VmlldzsKIEBjbGFzcyBfVUlXZWJI
aWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcjsKIAotI2lmIEVOQUJMRShEQVRBX0lO
VEVSQUNUSU9OKQotQGNsYXNzIF9VSVRleHREcmFnQ2FyZXRWaWV3OworI2lmIEVOQUJMRShFWFRS
QV9aT09NX01PREUpCitAY2xhc3MgV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlcjsK
K0BjbGFzcyBXS1RleHRJbnB1dFZpZXdDb250cm9sbGVyOwogI2VuZGlmCiAKIHR5cGVkZWYgdm9p
ZCAoXlVJV0tBdXRvY29ycmVjdGlvbkNvbXBsZXRpb25IYW5kbGVyKShVSVdLQXV0b2NvcnJlY3Rp
b25SZWN0cyAqcmVjdHNGb3JJbnB1dCk7CkBAIC0yMjgsNiArMjI5LDcgQEAgc3RydWN0IFdLQXV0
b0NvcnJlY3Rpb25EYXRhIHsKICAgICBCT09MIF9iZWNvbWluZ0ZpcnN0UmVzcG9uZGVyOwogICAg
IEJPT0wgX3Jlc2lnbmluZ0ZpcnN0UmVzcG9uZGVyOwogICAgIEJPT0wgX25lZWRzRGVmZXJyZWRF
bmRTY3JvbGxpbmdTZWxlY3Rpb25VcGRhdGU7CisgICAgQk9PTCBfaXNDaGFuZ2luZ0ZvY3VzOwog
CiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAgICAgV2ViS2l0OjpEcmFnRHJvcEludGVy
YWN0aW9uU3RhdGUgX2RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZTsKQEAgLTIzOCw2ICsyNDAsMTEg
QEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBf
dmlzaWJsZUNvbnRlbnRWaWV3U25hcHNob3Q7CiAgICAgUmV0YWluUHRyPF9VSVRleHREcmFnQ2Fy
ZXRWaWV3PiBfZWRpdERyb3BDYXJldFZpZXc7CiAjZW5kaWYKKworI2lmIEVOQUJMRShFWFRSQV9a
T09NX01PREUpCisgICAgUmV0YWluUHRyPFdLVGV4dElucHV0Vmlld0NvbnRyb2xsZXI+IF90ZXh0
SW5wdXRWaWV3Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8V0tGb2N1c2VkRm9ybUNvbnRyb2xW
aWV3Q29udHJvbGxlcj4gX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyOworI2VuZGlm
CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGEzMzkxOTBmNzkwY2RlMTcyMmUxNDljMTAz
MmFhZGNhYWM0NTFhMGIuLjJiMTFlNDU0OWE0OGYxMTg4ODVlOWM5MmI5YTI2M2JiZDkwOGU2YjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDEsNiArNDEsNyBAQAogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaCIKICNpbXBvcnQgIldLRXJyb3IuaCIK
KyNpbXBvcnQgIldLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQg
IldLRm9ybUlucHV0Q29udHJvbC5oIgogI2ltcG9ydCAiV0tGb3JtU2VsZWN0Q29udHJvbC5oIgog
I2ltcG9ydCAiV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5oIgpAQCAtNDksNiArNTAsNyBA
QAogI2ltcG9ydCAiV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLmgiCiAjaW1wb3J0ICJX
S1ByZXZpZXdBY3Rpb25JdGVtSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLUHJldmlld0VsZW1lbnRJ
bmZvSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldLVGV4dElucHV0Vmlld0NvbnRyb2xsZXIuaCIKICNp
bXBvcnQgIldLVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgiCkBAIC03
MCw2ICs3Miw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RhdGFEZXRlY3Rpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRRdWFkLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVt
ZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9QYXRoLmg+CkBAIC0xMTYsNiArMTE5LDEzIEBAIC0gKHZvaWQpZGVhbGxvYwogCiBAZW5kCiAK
KyNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQorCitAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcg
KEV4dHJhWm9vbU1vZGUpIDxXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyRGVsZWdhdGUs
IFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4KK0BlbmQKKworI2Vu
ZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IApAQCAtNjI2LDYgKzYzNiw3IEBAIC0gKHZvaWQpc2V0dXBJbnRlcmFjdGlvbgogICAgIF9pc0Rv
dWJsZVRhcFBlbmRpbmcgPSBOTzsKICAgICBfc2hvd0RlYnVnVGFwSGlnaGxpZ2h0c0ZvckZhc3RD
bGlja2luZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JL
ZXk6QCJXZWJLaXRTaG93RmFzdENsaWNrRGVidWdUYXBIaWdobGlnaHRzIl07CiAgICAgX25lZWRz
RGVmZXJyZWRFbmRTY3JvbGxpbmdTZWxlY3Rpb25VcGRhdGUgPSBOTzsKKyAgICBfaXNDaGFuZ2lu
Z0ZvY3VzID0gTk87CiB9CiAKIC0gKHZvaWQpY2xlYW51cEludGVyYWN0aW9uCkBAIC0xMjA1LDEz
ICsxMjE2LDEzIEBAIC0gKHZvaWQpX2Rpc3BsYXlGb3JtTm9kZUlucHV0VmlldwogICAgIC8vIElu
IGNhc2UgdXNlciBzY2FsaW5nIGlzIGZvcmNlIGVuYWJsZWQsIGRvIG5vdCB1c2UgdGhhdCBzY2Fs
aW5nIHdoZW4gem9vbWluZyBpbiB3aXRoIGFuIGlucHV0IGZpZWxkLgogICAgIC8vIFpvb21pbmcg
YWJvdmUgdGhlIHBhZ2UncyBkZWZhdWx0IHNjYWxlIGZhY3RvciBzaG91bGQgb25seSBoYXBwZW4g
d2hlbiB0aGUgdXNlciBwZXJmb3JtcyBpdC4KICAgICBbc2VsZiBfem9vbVRvRm9jdXNSZWN0Ol9h
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50UmVjdAotICAgICAgICAgICAgIHNlbGVjdGlv
blJlY3Q6X2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPyBJbnRSZWN0KCkgOiBfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uc2VsZWN0aW9uUmVjdAotICAgICAgICAgICAgICAgaW5zaWRlRml4
ZWQ6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmluc2lkZUZpeGVkUG9zaXRpb24KLSAgICAgICAg
ICAgICAgICAgIGZvbnRTaXplOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5ub2RlRm9udFNpemUK
LSAgICAgICAgICAgICAgbWluaW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5taW5p
bXVtU2NhbGVGYWN0b3IKLSAgICAgICAgICAgICAgbWF4aW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlCi0gICAg
ICAgICAgICAgIGFsbG93U2NhbGluZzooX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmFsbG93c1Vz
ZXJTY2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSAmJiAhY3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbUlzUGFkKCkpCi0gICAgICAgICAgICAgICBmb3JjZVNjcm9sbDpbc2VsZiByZXF1aXJlc0Fj
Y2Vzc29yeVZpZXddXTsKKyAgICAgICAgc2VsZWN0aW9uUmVjdDpfZGlkQWNjZXNzb3J5VGFiSW5p
dGlhdGVGb2N1cyA/IEludFJlY3QoKSA6IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5zZWxlY3Rp
b25SZWN0CisgICAgICAgIGluc2lkZUZpeGVkOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pbnNp
ZGVGaXhlZFBvc2l0aW9uCisgICAgICAgIGZvbnRTaXplOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5ub2RlRm9udFNpemUKKyAgICAgICAgbWluaW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5taW5pbXVtU2NhbGVGYWN0b3IKKyAgICAgICAgbWF4aW11bVNjYWxlOl9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlCisg
ICAgICAgIGFsbG93U2NhbGluZzpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYWxsb3dzVXNlclNj
YWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlICYmIFtbVUlEZXZpY2UgY3VycmVudERldmljZV0g
dXNlckludGVyZmFjZUlkaW9tXSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlvbVBob25lCisgICAgICAg
IGZvcmNlU2Nyb2xsOltzZWxmIHJlcXVpcmVzQWNjZXNzb3J5Vmlld11dOwogCiAgICAgX2RpZEFj
Y2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPSBOTzsKICAgICBbc2VsZiBfZW5zdXJlRm9ybUFjY2Vz
c29yeVZpZXddOwpAQCAtMTMyMyw2ICsxMzM0LDkgQEAgLSAodm9pZClfc2hvd0RhdGFEZXRlY3Rv
cnNTaGVldAogCiAtIChTRUwpX2FjdGlvbkZvckxvbmdQcmVzc0Zyb21Qb3NpdGlvbkluZm9ybWF0
aW9uOihjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYpcG9zaXRpb25JbmZv
cm1hdGlvbgogeworICAgIGlmICghX3dlYlZpZXcuY29uZmlndXJhdGlvbi5fbG9uZ1ByZXNzQWN0
aW9uc0VuYWJsZWQpCisgICAgICAgIHJldHVybiBuaWw7CisKICAgICBpZiAoIXBvc2l0aW9uSW5m
b3JtYXRpb24udG91Y2hDYWxsb3V0RW5hYmxlZCkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAt
MTU0OSw2ICsxNTYzLDkgQEAgLSAodm9pZClfZmluaXNoSW50ZXJhY3Rpb24KIAogLSAoQk9PTClo
YXNTZWxlY3RhYmxlUG9zaXRpb25BdFBvaW50OihDR1BvaW50KXBvaW50CiB7CisgICAgaWYgKCFf
d2ViVmlldy5jb25maWd1cmF0aW9uLl90ZXh0SW50ZXJhY3Rpb25HZXN0dXJlc0VuYWJsZWQpCisg
ICAgICAgIHJldHVybiBOTzsKKwogICAgIGlmIChfaW5zcGVjdG9yTm9kZVNlYXJjaEVuYWJsZWQp
CiAgICAgICAgIHJldHVybiBOTzsKIApAQCAtMTU2OSwyMSArMTU4NiwyMCBAQCAtIChCT09MKWhh
c1NlbGVjdGFibGVQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQKIAogLSAoQk9PTClwb2lu
dElzTmVhck1hcmtlZFRleHQ6KENHUG9pbnQpcG9pbnQKIHsKKyAgICBpZiAoIV93ZWJWaWV3LmNv
bmZpZ3VyYXRpb24uX3RleHRJbnRlcmFjdGlvbkdlc3R1cmVzRW5hYmxlZCkKKyAgICAgICAgcmV0
dXJuIE5POworCiAgICAgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QgcmVxdWVzdChyb3Vu
ZGVkSW50UG9pbnQocG9pbnQpKTsKICAgICBpZiAoIVtzZWxmIGVuc3VyZVBvc2l0aW9uSW5mb3Jt
YXRpb25Jc1VwVG9EYXRlOnJlcXVlc3RdKQogICAgICAgICByZXR1cm4gTk87CiAgICAgcmV0dXJu
IF9wb3NpdGlvbkluZm9ybWF0aW9uLmlzTmVhck1hcmtlZFRleHQ7CiB9Ci0jaWYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDExMDAwMAotLSAoQk9PTClwb2ludElzSW5Bc3Npc3Rl
ZE5vZGU6KENHUG9pbnQpcG9pbnQKLXsKLSAgICAvLyBUaGlzIG1ldGhvZCBpcyBzdGlsbCBpbXBs
ZW1lbnRlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBVSUtpdCB2ZXJz
aW9ucy4KLSAgICByZXR1cm4gW3NlbGYgdGV4dEludGVyYWN0aW9uR2VzdHVyZTpVSVdLR2VzdHVy
ZUxvdXBlIHNob3VsZEJlZ2luQXRQb2ludDpwb2ludF07Ci19Ci0jZW5kaWYKIAogLSAoQk9PTCl0
ZXh0SW50ZXJhY3Rpb25HZXN0dXJlOihVSVdLR2VzdHVyZVR5cGUpZ2VzdHVyZSBzaG91bGRCZWdp
bkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQKIHsKKyAgICBpZiAoIV93ZWJWaWV3LmNvbmZpZ3VyYXRp
b24uX3RleHRJbnRlcmFjdGlvbkdlc3R1cmVzRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIE5POwor
CiAgICAgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QgcmVxdWVzdChyb3VuZGVkSW50UG9p
bnQocG9pbnQpKTsKICAgICBpZiAoIVtzZWxmIGVuc3VyZVBvc2l0aW9uSW5mb3JtYXRpb25Jc1Vw
VG9EYXRlOnJlcXVlc3RdKQogICAgICAgICByZXR1cm4gTk87CkBAIC0yMTAzLDYgKzIxMTksOSBA
QCAtIChOU0RpY3Rpb25hcnkgKil0ZXh0U3R5bGluZ0F0UG9zaXRpb246KFVJVGV4dFBvc2l0aW9u
ICopcG9zaXRpb24gaW5EaXJlY3Rpb246KAogCiAtIChVSUNvbG9yICopaW5zZXJ0aW9uUG9pbnRD
b2xvcgogeworICAgIGlmICghX3dlYlZpZXcuY29uZmlndXJhdGlvbi5fdGV4dEludGVyYWN0aW9u
R2VzdHVyZXNFbmFibGVkKQorICAgICAgICByZXR1cm4gW1VJQ29sb3IgY2xlYXJDb2xvcl07CisK
ICAgICBpZiAoIV9wYWdlLT5lZGl0b3JTdGF0ZSgpLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKSB7
CiAgICAgICAgIFdlYkNvcmU6OkNvbG9yIGNhcmV0Q29sb3IgPSBfcGFnZS0+ZWRpdG9yU3RhdGUo
KS5wb3N0TGF5b3V0RGF0YSgpLmNhcmV0Q29sb3I7CiAgICAgICAgIGlmIChjYXJldENvbG9yLmlz
VmFsaWQoKSkKQEAgLTM5MDMsNyArMzkyMiwxMyBAQCAtICh2b2lkKXRha2VUcmFpdHNGcm9tOihV
SVRleHRJbnB1dFRyYWl0cyAqKXRyYWl0cwogLSAodm9pZClfc3RhcnRBc3Npc3RpbmdLZXlib2Fy
ZAogewogICAgIFtzZWxmIHVzZVNlbGVjdGlvbkFzc2lzdGFudFdpdGhHcmFudWxhcml0eTpXS1Nl
bGVjdGlvbkdyYW51bGFyaXR5Q2hhcmFjdGVyXTsKKworI2lmIEVOQUJMRShFWFRSQV9aT09NX01P
REUpCisgICAgaWYgKCFfaXNDaGFuZ2luZ0ZvY3VzICYmIFtzZWxmIHNob3VsZFByZXNlbnRUZXh0
SW5wdXRWaWV3Q29udHJvbGxlcjpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb25dKQorICAgICAgICBb
c2VsZiBwcmVzZW50VGV4dElucHV0Vmlld0NvbnRyb2xsZXI6WUVTXTsKKyNlbHNlCiAgICAgW3Nl
bGYgcmVsb2FkSW5wdXRWaWV3c107CisjZW5kaWYKIH0KIAogLSAodm9pZClfc3RvcEFzc2lzdGlu
Z0tleWJvYXJkCkBAIC0zOTU5LDYgKzM5ODQsNyBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJ
bnB1dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAKIC0gKHZvaWQpX3N0YXJ0QXNzaXN0aW5nTm9kZToo
Y29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mKWluZm9ybWF0aW9uIHVzZXJJc0ludGVyYWN0
aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQcmV2aW91c05vZGU6KEJPT0wpYmx1clBy
ZXZpb3VzTm9kZSBjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6KEJPT0wpY2hhbmdpbmdBY3Rpdml0eVN0
YXRlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4gKil1c2VyT2JqZWN0CiB7
CisgICAgU2V0Rm9yU2NvcGU8Qk9PTD4gaXNDaGFuZ2luZ0ZvY3VzRm9yU2NvcGUgeyBfaXNDaGFu
Z2luZ0ZvY3VzLCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgIT0gSW5wdXRU
eXBlOjpOb25lIH07CiAgICAgX2lucHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKIAog
ICAgIGlkIDxfV0tJbnB1dERlbGVnYXRlPiBpbnB1dERlbGVnYXRlID0gW193ZWJWaWV3IF9pbnB1
dERlbGVnYXRlXTsKQEAgLTM5OTIsNiArNDAxOCwxMSBAQCAtICh2b2lkKV9zdGFydEFzc2lzdGlu
Z05vZGU6KGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJilpbmZvcm1hdGlvbiB1c2VySXNJ
bgogICAgIF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiA9IGluZm9ybWF0aW9uOwogICAgIF9pbnB1
dFBlcmlwaGVyYWwgPSBuaWw7CiAgICAgX3RyYWl0cyA9IG5pbDsKKworI2lmIEVOQUJMRShFWFRS
QV9aT09NX01PREUpCisgICAgW3NlbGYgcHJlc2VudEZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250
cm9sbGVyOk5PXTsKKyNlbmRpZgorCiAgICAgaWYgKCFbc2VsZiBpc0ZpcnN0UmVzcG9uZGVyXSkK
ICAgICAgICAgW3NlbGYgYmVjb21lRmlyc3RSZXNwb25kZXJdOwogCkBAIC00MDE1LDYgKzQwNDYs
MTEgQEAgLSAodm9pZClfc3RhcnRBc3Npc3RpbmdOb2RlOihjb25zdCBBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbiYpaW5mb3JtYXRpb24gdXNlcklzSW4KICAgICAKICAgICBbc2VsZiBfZGlzcGxheUZv
cm1Ob2RlSW5wdXRWaWV3XTsKIAorI2lmIEVOQUJMRShFWFRSQV9aT09NX01PREUpCisgICAgaWYg
KF9pc0NoYW5naW5nRm9jdXMpCisgICAgICAgIFtfZm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRy
b2xsZXIgcmVsb2FkRGF0YTpZRVNdOworI2VuZGlmCisKICAgICAvLyBfaW5wdXRQZXJpcGhlcmFs
IGhhcyBiZWVuIGluaXRpYWxpemVkIGluIGlucHV0VmlldyBjYWxsZWQgYnkgcmVsb2FkSW5wdXRW
aWV3cy4KICAgICBbX2lucHV0UGVyaXBoZXJhbCBiZWdpbkVkaXRpbmddOwogCkBAIC00MDQzLDYg
KzQwNzksMTIgQEAgLSAodm9pZClfc3RvcEFzc2lzdGluZ05vZGUKICAgICAvLyBUaGUgbmFtZSBp
cyBtaXNsZWFkaW5nLCBidXQgdGhpcyBhY3R1YWxseSBjbGVhcnMgdGhlIHNlbGVjdGlvbiB2aWV3
cyBhbmQgcmVtb3ZlcyBhbnkgc2VsZWN0aW9uLgogICAgIFtfd2ViU2VsZWN0aW9uQXNzaXN0YW50
IHJlc2lnbmVkRmlyc3RSZXNwb25kZXJdOwogCisjaWYgRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkK
KyAgICBbc2VsZiBkaXNtaXNzVGV4dElucHV0Vmlld0NvbnRyb2xsZXI6WUVTXTsKKyAgICBpZiAo
IV9pc0NoYW5naW5nRm9jdXMpCisgICAgICAgIFtzZWxmIGRpc21pc3NGb2N1c2VkRm9ybUNvbnRy
b2xWaWV3Q29udHJvbGxlcjpbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIGlzVmlz
aWJsZV1dOworI2VuZGlmCisKICAgICAvLyBUaGUgY3VzdG9tIGZpeGVkIHBvc2l0aW9uIHJlY3Qg
YmVoYXZpb3IgaXMgYWZmZWN0ZWQgYnkgLWlzQXNzaXN0aW5nTm9kZSwgc28gaWYgdGhhdCBjaGFu
Z2VzIHdlIG5lZWQgdG8gcmVjb21wdXRlIHJlY3RzLgogICAgIGlmIChlZGl0YWJsZUNoYW5nZWQp
CiAgICAgICAgIFtfd2ViVmlldyBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVdOwpA
QCAtNDA1MCw2ICs0MDkyLDE0MCBAQCAtICh2b2lkKV9zdG9wQXNzaXN0aW5nTm9kZQogICAgIFtf
d2ViVmlldyBkaWRFbmRGb3JtQ29udHJvbEludGVyYWN0aW9uXTsKIH0KIAorI2lmIEVOQUJMRShF
WFRSQV9aT09NX01PREUpCisKKy0gKHZvaWQpcHJlc2VudEZvY3VzZWRGb3JtQ29udHJvbFZpZXdD
b250cm9sbGVyOihCT09MKWFuaW1hdGVkCit7CisgICAgaWYgKF9mb2N1c2VkRm9ybUNvbnRyb2xW
aWV3Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgX2ZvY3VzZWRGb3JtQ29udHJv
bFZpZXdDb250cm9sbGVyID0gYWRvcHROUyhbW1dLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRy
b2xsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9s
bGVyIHNldERlbGVnYXRlOnNlbGZdOworICAgIFtbVUlWaWV3Q29udHJvbGxlciBfdmlld0NvbnRy
b2xsZXJGb3JGdWxsU2NyZWVuUHJlc2VudGF0aW9uRnJvbVZpZXc6c2VsZl0gcHJlc2VudFZpZXdD
b250cm9sbGVyOl9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlci5nZXQoKSBhbmltYXRl
ZDphbmltYXRlZCBjb21wbGV0aW9uOm5pbF07Cit9CisKKy0gKHZvaWQpZGlzbWlzc0ZvY3VzZWRG
b3JtQ29udHJvbFZpZXdDb250cm9sbGVyOihCT09MKWFuaW1hdGVkCit7CisgICAgaWYgKCFfZm9j
dXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFtf
Zm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgZGlzbWlzc1ZpZXdDb250cm9sbGVyQW5p
bWF0ZWQ6YW5pbWF0ZWQgY29tcGxldGlvbjpuaWxdOworICAgIF9mb2N1c2VkRm9ybUNvbnRyb2xW
aWV3Q29udHJvbGxlciA9IG5pbDsKK30KKworLSAoQk9PTClzaG91bGRQcmVzZW50VGV4dElucHV0
Vmlld0NvbnRyb2xsZXI6KGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJilpbmZvCit7Cisg
ICAgc3dpdGNoIChpbmZvLmVsZW1lbnRUeXBlKSB7CisgICAgY2FzZSBJbnB1dFR5cGU6OkNvbnRl
bnRFZGl0YWJsZToKKyAgICBjYXNlIElucHV0VHlwZTo6VGV4dDoKKyAgICBjYXNlIElucHV0VHlw
ZTo6UGFzc3dvcmQ6CisgICAgY2FzZSBJbnB1dFR5cGU6OlRleHRBcmVhOgorICAgIGNhc2UgSW5w
dXRUeXBlOjpTZWFyY2g6CisgICAgY2FzZSBJbnB1dFR5cGU6OkVtYWlsOgorICAgIGNhc2UgSW5w
dXRUeXBlOjpVUkw6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKKy0gKHZvaWQpcHJlc2VudFRleHRJbnB1dFZpZXdD
b250cm9sbGVyOihCT09MKWFuaW1hdGVkCit7CisgICAgaWYgKF90ZXh0SW5wdXRWaWV3Q29udHJv
bGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgX3RleHRJbnB1dFZpZXdDb250cm9sbGVyID0g
YWRvcHROUyhbW1dLVGV4dElucHV0Vmlld0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoVGV4dDpf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24udmFsdWUgdGV4dFN1Z2dlc3Rpb25zOkBbIF1dKTsKKyAg
ICBbX3RleHRJbnB1dFZpZXdDb250cm9sbGVyIHNldERlbGVnYXRlOnNlbGZdOworICAgIFtfZm9j
dXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOl90ZXh0
SW5wdXRWaWV3Q29udHJvbGxlci5nZXQoKSBhbmltYXRlZDphbmltYXRlZCBjb21wbGV0aW9uOm5p
bF07Cit9CisKKy0gKHZvaWQpZGlzbWlzc1RleHRJbnB1dFZpZXdDb250cm9sbGVyOihCT09MKWFu
aW1hdGVkCit7CisgICAgaWYgKCFfdGV4dElucHV0Vmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gdGV4dElucHV0Vmlld0NvbnRyb2xsZXIgPSBXVEZNb3ZlKF90ZXh0
SW5wdXRWaWV3Q29udHJvbGxlcik7CisgICAgW3RleHRJbnB1dFZpZXdDb250cm9sbGVyIGRpc21p
c3NWaWV3Q29udHJvbGxlckFuaW1hdGVkOmFuaW1hdGVkIGNvbXBsZXRpb246bmlsXTsKK30KKwor
LSAodm9pZCl0ZXh0SW5wdXRDb250cm9sbGVyOihXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9s
bGVyICopY29udHJvbGxlciBkaWRDb21taXRUZXh0OihOU1N0cmluZyAqKXRleHQKK3sKKyAgICAv
LyBGSVhNRTogVXBkYXRlIGNhY2hlZCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBzdGF0ZSBpbiB0
aGUgVUkgcHJvY2Vzcy4KKyAgICBfcGFnZS0+c2V0VGV4dEFzeW5jKHRleHQpOworfQorCistICh2
b2lkKXRleHRJbnB1dENvbnRyb2xsZXI6KFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIg
Kiljb250cm9sbGVyIGRpZFJlcXVlc3REaXNtaXNzYWxXaXRoQWN0aW9uOihXS0Zvcm1Db250cm9s
QWN0aW9uKWFjdGlvbgoreworICAgIGlmIChhY3Rpb24gPT0gV0tGb3JtQ29udHJvbEFjdGlvbkNh
bmNlbCkgeworICAgICAgICBfcGFnZS0+Ymx1ckFzc2lzdGVkTm9kZSgpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5mb3JtQWN0aW9u
LmlzRW1wdHkoKSAmJiAhX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmhhc05leHROb2RlICYmICFf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaGFzUHJldmlvdXNOb2RlKSB7CisgICAgICAgIC8vIElu
IHRoaXMgY2FzZSwgdGhlcmUncyBubyBwb2ludCBpbiBjb2xsYXBzaW5nIGRvd24gdG8gdGhlIGZv
cm0gY29udHJvbCBmb2N1cyBVSSBiZWNhdXNlIHRoZXJlJ3Mgbm90aGluZyB0aGUgdXNlciBjb3Vs
ZCBwb3RlbnRpYWxseSBkbworICAgICAgICAvLyBiZXNpZGVzIGRpc21pc3MgdGhlIFVJLCBzbyB3
ZSBqdXN0IGF1dG9tYXRpY2FsbHkgZGlzbWlzcyB0aGUgZm9jdXNlZCBmb3JtIGNvbnRyb2wgVUku
CisgICAgICAgIF9wYWdlLT5ibHVyQXNzaXN0ZWROb2RlKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIHNob3c6Tk9dOwor
ICAgIFtzZWxmIGRpc21pc3NUZXh0SW5wdXRWaWV3Q29udHJvbGxlcjpZRVNdOworfQorCistICh2
b2lkKWZvY3VzZWRGb3JtQ29udHJvbENvbnRyb2xsZXJEaWRTdWJtaXQ6KFdLRm9jdXNlZEZvcm1D
b250cm9sVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyCit7CisgICAgW3NlbGYgaW5zZXJ0VGV4
dDpAIlxuIl07CisgICAgX3BhZ2UtPmJsdXJBc3Npc3RlZE5vZGUoKTsKK30KKworLSAodm9pZClm
b2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyRGlkQ2FuY2VsOihXS0ZvY3VzZWRGb3JtQ29udHJv
bFZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworICAgIF9wYWdlLT5ibHVyQXNzaXN0ZWRO
b2RlKCk7Cit9CisKKy0gKHZvaWQpZm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlckRpZEJlZ2lu
RWRpdGluZzooV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIK
K3sKKyAgICBpZiAoW3NlbGYgc2hvdWxkUHJlc2VudFRleHRJbnB1dFZpZXdDb250cm9sbGVyOl9h
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbl0pCisgICAgICAgIFtzZWxmIHByZXNlbnRUZXh0SW5wdXRW
aWV3Q29udHJvbGxlcjpZRVNdOworfQorCistIChDR1JlY3QpaGlnaGxpZ2h0ZWRSZWN0Rm9yRm9j
dXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjooV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJv
bGxlciAqKWNvbnRyb2xsZXIgaW5Db29yZGluYXRlU3BhY2U6KGlkIDxVSUNvb3JkaW5hdGVTcGFj
ZT4pY29vcmRpbmF0ZVNwYWNlCit7CisgICAgcmV0dXJuIFtzZWxmIGNvbnZlcnRSZWN0Ol9hc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50UmVjdCB0b0Nvb3JkaW5hdGVTcGFjZTpjb29yZGlu
YXRlU3BhY2VdOworfQorCistIChOU1N0cmluZyAqKWFjdGlvbk5hbWVGb3JGb2N1c2VkRm9ybUNv
bnRyb2xDb250cm9sbGVyOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29u
dHJvbGxlcgoreworICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZm9ybUFjdGlvbi5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICByZXR1cm4gX2Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6U2VhcmNoID8gZm9ybUNvbnRy
b2xTZWFyY2hCdXR0b25UaXRsZSgpIDogZm9ybUNvbnRyb2xHb0J1dHRvblRpdGxlKCk7Cit9CisK
Ky0gKHZvaWQpZm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlckRpZFJlcXVlc3ROZXh0Tm9kZToo
V0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIKK3sKKyAgICBp
ZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmhhc05leHROb2RlKQorICAgICAgICBfcGFnZS0+
Zm9jdXNOZXh0QXNzaXN0ZWROb2RlKHRydWUpOworfQorCistICh2b2lkKWZvY3VzZWRGb3JtQ29u
dHJvbENvbnRyb2xsZXJEaWRSZXF1ZXN0UHJldmlvdXNOb2RlOihXS0ZvY3VzZWRGb3JtQ29udHJv
bFZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworICAgIGlmIChfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24uaGFzUHJldmlvdXNOb2RlKQorICAgICAgICBfcGFnZS0+Zm9jdXNOZXh0QXNzaXN0
ZWROb2RlKGZhbHNlKTsKK30KKworLSAoQk9PTCloYXNOZXh0Tm9kZUZvckZvY3VzZWRGb3JtQ29u
dHJvbENvbnRyb2xsZXI6KFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgKiljb250
cm9sbGVyCit7CisgICAgcmV0dXJuIF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oYXNOZXh0Tm9k
ZTsKK30KKworLSAoQk9PTCloYXNQcmV2aW91c05vZGVGb3JGb2N1c2VkRm9ybUNvbnRyb2xDb250
cm9sbGVyOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgor
eworICAgIHJldHVybiBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaGFzUHJldmlvdXNOb2RlOwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKKwogLSAodm9pZClfc2VsZWN0
aW9uQ2hhbmdlZAogewogICAgIF9zZWxlY3Rpb25OZWVkc1VwZGF0ZSA9IFlFUzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZTk2NmQzMmY1ZTdm
NjMzMjI2OTM1ODEyZDhkZWMwN2YwMDc4N2VhMS4uN2M3OWI4ZDU1NDQxNzBkMmVkOGYzYjUzNjQ1
MTllY2EzNTdhYjdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTQ1OTAsNiArNDU5MCwyMSBAQCBib29sIFdlYlBhZ2U6OnNob3VsZFVzZUN1
c3RvbUNvbnRlbnRQcm92aWRlckZvclJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmCiAK
ICNpZiBQTEFURk9STShDT0NPQSkKIAordm9pZCBXZWJQYWdlOjpzZXRUZXh0QXN5bmMoY29uc3Qg
U3RyaW5nJiB0ZXh0KQoreworICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PihtX2Fzc2lzdGVk
Tm9kZS5nZXQoKSkpIHsKKyAgICAgICAgZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1fYXNz
aXN0ZWROb2RlKS5zZXRWYWx1ZUZvclVzZXIodGV4dCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvIGZyYW1lID0gbWFrZVJlZihtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZv
Y3VzZWRPck1haW5GcmFtZSgpKTsKKyAgICBpZiAoIWZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rp
b24oKS5pc0NvbnRlbnRFZGl0YWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBmcmFtZS0+
c2VsZWN0aW9uKCkuc2VsZWN0QWxsKCk7CisgICAgZnJhbWUtPmVkaXRvcigpLmluc2VydFRleHQo
dGV4dCwgbnVsbHB0ciwgVGV4dEV2ZW50SW5wdXRLZXlib2FyZCk7Cit9CisKIHZvaWQgV2ViUGFn
ZTo6aW5zZXJ0VGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRWRpdGluZ1Jhbmdl
JiByZXBsYWNlbWVudEVkaXRpbmdSYW5nZSwgYm9vbCByZWdpc3RlclVuZG9Hcm91cCwgdWludDMy
X3QgZWRpdGluZ1JhbmdlSXNSZWxhdGl2ZVRvLCBib29sIHN1cHByZXNzU2VsZWN0aW9uVXBkYXRl
KQogewogICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNl
ZE9yTWFpbkZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggMDdkMzlkNDMzOWFjMjYzM2FkYTBiMTU1YTE5YjI5NjViMjIyNDM3My4uYzFlODMw
NTIwYTVlYjAzZjQ3ODU1ZjQyZThhYTVhMzg3M2U1YTk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzA4LDYgKzcwOCw3IEBAIHB1YmxpYzoKICAg
ICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0VG9QbHVnaW4odWludDY0X3QgcGx1Z2lu
Q29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdGV4dElucHV0KTsKIAor
ICAgIHZvaWQgc2V0VGV4dEFzeW5jKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgaW5zZXJ0VGV4
dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRWRpdGluZ1JhbmdlJiByZXBsYWNlbWVu
dFJhbmdlLCBib29sIHJlZ2lzdGVyVW5kb0dyb3VwID0gZmFsc2UsIHVpbnQzMl90IGVkaXRpbmdS
YW5nZUlzUmVsYXRpdmVUbyA9ICh1aW50MzJfdClFZGl0aW5nUmFuZ2VJc1JlbGF0aXZlVG86OkVk
aXRhYmxlUm9vdCwgYm9vbCBzdXBwcmVzc1NlbGVjdGlvblVwZGF0ZSA9IGZhbHNlKTsKICAgICB2
b2lkIGdldE1hcmtlZFJhbmdlQXN5bmMoQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBnZXRTZWxlY3Rl
ZFJhbmdlQXN5bmMoQ2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA3MjUxYjlhODk1YTcyMzlhZmFl
ZTcxNTUyZTRiNzc2Y2RhZjA0ZjQxLi4xZjEzNTEyMTQyZDI5ZDIzNTBhM2VjYTk1MzZmZDhkOGFh
Y2Q1ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KQEAgLTM5MCw2ICszOTAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBTaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQoV2Vi
S2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KSAtPiAoYm9vbCByZXN1bHQpCiAgICAgQWNjZXB0c0Zp
cnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpIC0+
IChib29sIHJlc3VsdCkKIAorICAgIFNldFRleHRBc3luYyhTdHJpbmcgdGV4dCkKICAgICBJbnNl
cnRUZXh0QXN5bmMoU3RyaW5nIHRleHQsIHN0cnVjdCBXZWJLaXQ6OkVkaXRpbmdSYW5nZSByZXBs
YWNlbWVudFJhbmdlLCBib29sIHJlZ2lzdGVyVW5kb0dyb3VwLCB1aW50MzJfdCBlZGl0aW5nUmFu
Z2VJc1JlbGF0aXZlVG8sIGJvb2wgc3VwcHJlc3NTZWxlY3Rpb25VcGRhdGUpCiAgICAgR2V0TWFy
a2VkUmFuZ2VBc3luYyhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBHZXRTZWxl
Y3RlZFJhbmdlQXN5bmMoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>