<?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>103660</bug_id>
          
          <creation_ts>2012-11-29 12:36:43 -0800</creation_ts>
          <short_desc>Add a minimumLayoutWidth WKView property</short_desc>
          <delta_ts>2012-11-29 16:02:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>bdakin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>779332</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-11-29 12:36:43 -0800</bug_when>
    <thetext>Add a minimumLayoutWidth WKView property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779352</commentid>
    <comment_count>1</comment_count>
      <attachid>176796</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-11-29 12:48:18 -0800</bug_when>
    <thetext>Created attachment 176796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779360</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 12:55:32 -0800</bug_when>
    <thetext>Attachment 176796 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h:53:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779375</commentid>
    <comment_count>3</comment_count>
      <attachid>176801</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-11-29 13:18:52 -0800</bug_when>
    <thetext>Created attachment 176801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779380</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 13:21:53 -0800</bug_when>
    <thetext>Attachment 176801 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h:53:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779556</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-11-29 16:02:44 -0800</bug_when>
    <thetext>Committed r136178: &lt;http://trac.webkit.org/changeset/136178&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176796</attachid>
            <date>2012-11-29 12:48:18 -0800</date>
            <delta_ts>2012-11-29 13:18:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103660-20121129124550.patch</filename>
            <type>text/plain</type>
            <size>26681</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDI1Njc4N2U3MTBhNjU0
YTZhMTg4NDM3MTIyOThjZTg4ZDNkYTkxMS4uNmU5ODJlNGFiYmNhOWZjNmJiMzk2YjljMTBmZmIx
M2I3MzQ0ZjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEyLTExLTI5ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWluaW11
bUxheW91dFdpZHRoIFdLVmlldyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNjYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTc5
MTcyOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIG1pbmltdW1MYXlvdXRXaWR0aCBpcyBzZXQgdG8gYSBwb3NpdGl2ZSB2YWx1ZSwgdGhlIFdL
VmlldyB3aWxsIHVwZGF0ZSBpdHMgaW50cmluc2ljIGNvbnRlbnQgc2l6ZSBnaXZlbiB0aGUgbGF5
b3V0IHdpZHRoLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KToKKyAgICAgICAgQ2FsbCB0aGUgV0tWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToK
KyAgICAgICAgT3ZlcnJpZGUgdGhlIGludHJpbnNpY0NvbnRlbnRTaXplIGdldHRlci4KKworICAg
ICAgICAoLVtXS1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOl0pOgorICAgICAgICBVcGRh
dGUgdGhlIGludHJpbnNpYyBjb250ZW50IHNpemUgYW5kIG1hcmsgaXQgYXMgaW52YWxpZC4KKwor
ICAgICAgICAoLVtXS1ZpZXcgaW5pdFdpdGhGcmFtZTpjb250ZXh0UmVmOnBhZ2VHcm91cFJlZjpy
ZWxhdGVkVG9QYWdlOl0pOgorICAgICAgICBCeSBkZWZhdWx0LCB0aGUgV0tWaWV3IHNob3VsZCBo
YXZlIG5vIGludHJpbnNpYyBzaXplLgorCisgICAgICAgICgtW1dLVmlldyBtaW5pbXVtTGF5b3V0
V2lkdGhdKToKKyAgICAgICAgKC1bV0tWaWV3IHNldE1pbmltdW1MYXlvdXRXaWR0aDpdKToKKyAg
ICAgICAgQ2FsbCB0aHJvdWdoIHRvIHRoZSBXZWJQYWdlUHJveHkgb2JqZWN0LgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3UHJpdmF0ZS5oOgorICAgICAgICBBZGQgdGhlIFNQ
SSBoZXJlLgorCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0cnkp
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6
ZURpZENoYW5nZSk6CisgICAgICAgIEFkZCBlbXB0eSBzdHVicy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICBVcGRhdGUgdGhlIERp
ZFVwZGF0ZUdlb21ldHJ5IHNpZ25hdHVyZSBhbmQgYWRkIEludHJpbnNpY0NvbnRlbnRTaXplRGlk
Q2hhbmdlLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgSW5pdGlhbGl6
ZSB0aGUgbWluaW11bSBsYXlvdXQgd2lkdGguCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgpOgorICAgICAgICBVcGRhdGUgdGhlIG1pbmltdW0g
bGF5b3V0IHdpZHRoIGFuZCBjYWxsIHRoZSBkcmF3aW5nIGFyZWEgcHJveHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6bWluaW11bUxheW91dFdpZHRoKToKKyAgICAgICAgQWRkIGdldHRlci4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oOgorICAg
ICAgICAoVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAg
ICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjptaW5pbXVtTGF5
b3V0V2lkdGhEaWRDaGFuZ2UpOgorICAgICAgICBVcGRhdGUgdGhlIGdlb21ldHJ5IGlmIG5lZWRl
ZC4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5
OjpkaWRVcGRhdGVHZW9tZXRyeSk6CisgICAgICAgIFVwZGF0ZSB0aGUgaW50cmluc2ljIGNvbnRl
bnQgc2l6ZS4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZSk6CisgICAgICAgIENhbGwgdGhy
b3VnaCB0byBXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlLgorCisg
ICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OnNlbmRV
cGRhdGVHZW9tZXRyeSk6CisgICAgICAgIFBhc3MgYWxvbmcgdGhlIG1pbmltdW0gbGF5b3V0IHdp
ZHRoLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Up
OgorICAgICAgICBDYWxsIHRocm91Z2ggdG8gdGhlIHBhZ2UgY2xpZW50LgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICBD
YWxsIERyYXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZCk6CisgICAgICAgIEFkZCBlbXB0
eSBzdHViLgorCisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6
CisgICAgICAgIFVwZGF0ZSBzaWduYXR1cmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW46CisgICAgICAgIEFkZCBtaW5pbXVtTGF5b3V0V2lk
dGggdG8gVXBkYXRlR2VvbWV0cnkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdl
YktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXpl
Q2hhbmdlZCk6CisgICAgICAgIElmIHRoZSBjb250ZW50IHNpemUgY2hhbmdlIGlzIG5vdCBjb21p
bmcgZnJvbSB1cGRhdGVHZW9tZXRyeSwgc2VuZCBhbiBJbnN0cmluc2ljQ29udGVudFNpemVEaWRD
aGFuZ2UgbWVzc2FnZS4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICBJZiBtX21pbmltdW1MYXlvdXRXaWR0
aCBpcyBwb3NpdGl2ZSwgZG8gYW4gaW5pdGlhbCBsYXlvdXQgcGFzcyB0byBmaWd1cmUgb3V0IHRo
ZSBoZWlnaHQgb2YgdGhlIHBhZ2UgYW5kIHRoZW4gZG8gYW5vdGhlcgorICAgICAgICBsYXlvdXQg
d2l0aCB0aGUgdmlld3BvcnQgc2V0IHRvIHRoYXQgaGVpZ2h0LgorCiAyMDEyLTExLTI5ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQgYWZ0
ZXIgcjEzNjA5NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
UGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VD
bGllbnRJbXBsLmgKaW5kZXggODc2OGZkMDY3MDBmNGZkMjI0NjQyOWU4ODA5YzM0YTFmZGFiM2Rm
NS4uNjZiMjNlNDdjMWJkYjQ3MjA2YmVmYTZkZTg2ODdjY2NmODJiYTk1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xMzks
NiArMTM5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVjb21tZW5kZWRTY3JvbGxi
YXJTdHlsZURpZENoYW5nZShpbnQzMl90IG5ld1N0eWxlKTsKIAogICAgIHZpcnR1YWwgV0tWaWV3
KiB3a1ZpZXcoKSBjb25zdCB7IHJldHVybiBtX3drVmlldzsgfQorICAgIHZpcnR1YWwgdm9pZCBp
bnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBpbnRy
aW5zaWNDb250ZW50U2l6ZSkgT1ZFUlJJREU7CiAKICNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhjb25z
dCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA5ZWQ3ZmVlYTFmZjk0
MzVlM2MwOWMxODQ4MjE2N2JkYzRkOGU5MTExLi4wMTcyY2IwNzdkNjA4NmVmZDA0YTE2ZWE2Zjc1
OTMxZGZmNjZkNWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNTU4LDYgKzU1OCwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKGludDMyX3QgbmV3U3R5bGUp
CiAjZW5kaWYKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVudFNpemVE
aWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCit7CisgICAgW21f
d2tWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6ZV07Cit9
CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OmV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKGNv
bnN0IFN0cmluZyYgc2VsZWN0b3JTdHJpbmcpCiB7CiAgICAgcmV0dXJuIFttX3drVmlldyBfZXhl
Y3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3I6TlNTZWxlY3RvckZyb21TdHJpbmcoc2VsZWN0b3JT
dHJpbmcpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQppbmRl
eCA0ZTMwYjMzNjhhNTYyYjdjYzMwN2FkMTNhMjEzOGQ1ZTFmMWQ5NmE1Li5iMTQ3MGZlYTkxYTlj
OGIxOTg0Y2M4MTFmN2MwN2QzMjkzZDQxZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0yMTUsNiArMjE1LDggQEAgc3RydWN0IFdLVmlld0ludGVy
cHJldEtleUV2ZW50c1BhcmFtZXRlcnMgewogICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gX3By
b21pc2VkSW1hZ2U7CiAgICAgU3RyaW5nIF9wcm9taXNlZEZpbGVuYW1lOwogICAgIFN0cmluZyBf
cHJvbWlzZWRVUkw7CisKKyAgICBOU1NpemUgX2ludHJpbnNpY0NvbnRlbnRTaXplOwogfQogCiBA
ZW5kCkBAIC0zNTYsNiArMzU4LDExIEBAIHN0cnVjdCBXS1ZpZXdJbnRlcnByZXRLZXlFdmVudHNQ
YXJhbWV0ZXJzIHsKICAgICByZXR1cm4gWUVTOwogfQogCistIChOU1NpemUpaW50cmluc2ljQ29u
dGVudFNpemUKK3sKKyAgICByZXR1cm4gX2RhdGEtPl9pbnRyaW5zaWNDb250ZW50U2l6ZTsKK30K
KwogLSAodm9pZClzZXRGcmFtZVNpemU6KE5TU2l6ZSlzaXplCiB7CiAgICAgaWYgKCFOU0VxdWFs
U2l6ZXMoc2l6ZSwgW3NlbGYgZnJhbWVdLnNpemUpKQpAQCAtMjkyNSw2ICsyOTMyLDEyIEBAIHN0
YXRpYyBOU1N0cmluZyAqcGF0aFdpdGhVbmlxdWVGaWxlbmFtZUZvclBhdGgoTlNTdHJpbmcgKnBh
dGgpCiAgICAgcmV0dXJuICFbc2luay5nZXQoKSBkaWRSZWNlaXZlVW5oYW5kbGVkQ29tbWFuZF07
CiB9CiAKKy0gKHZvaWQpX3NldEludHJpbnNpY0NvbnRlbnRTaXplOihOU1NpemUpaW50cmluc2lj
Q29udGVudFNpemUKK3sKKyAgICBfZGF0YS0+X2ludHJpbnNpY0NvbnRlbnRTaXplID0gaW50cmlu
c2ljQ29udGVudFNpemU7CisgICAgW3NlbGYgaW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXpl
XTsKK30KKwogLSAodm9pZClfY2FjaGVXaW5kb3dCb3R0b21Db3JuZXJSZWN0CiB7CiAjaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDcwCkBAIC0zMDIxLDYgKzMwMzQsOCBA
QCBzdGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoKE5TU3RyaW5n
ICpwYXRoKQogICAgIF9kYXRhLT5fbW91c2VEb3duRXZlbnQgPSBuaWw7CiAgICAgX2RhdGEtPl9p
Z25vcmluZ01vdXNlRHJhZ2dlZEV2ZW50cyA9IE5POwogCisgICAgX2RhdGEtPl9pbnRyaW5zaWND
b250ZW50U2l6ZSA9IE5TTWFrZVNpemUoTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljLCBOU1ZpZXdO
b0luc3RyaW5zaWNNZXRyaWMpOworCiAgICAgW3NlbGYgX3JlZ2lzdGVyRHJhZ2dlZFR5cGVzXTsK
IAogICAgIGlmIChbc2VsZiBfc2hvdWxkVXNlVGlsZWREcmF3aW5nQXJlYV0pIHsKQEAgLTMxMjYs
NiArMzE0MSwxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQ
YXRoKE5TU3RyaW5nICpwYXRoKQogI2VuZGlmCiB9CiAKKy0gKENHRmxvYXQpbWluaW11bUxheW91
dFdpZHRoCit7CisgICAgcmV0dXJuIF9kYXRhLT5fcGFnZS0+bWluaW11bUxheW91dFdpZHRoKCk7
Cit9CisKKy0gKHZvaWQpc2V0TWluaW11bUxheW91dFdpZHRoOihDR0Zsb2F0KW1pbmltdW1MYXlv
dXRXaWR0aAoreworICAgIF9kYXRhLT5fcGFnZS0+c2V0TWluaW11bUxheW91dFdpZHRoKG1pbmlt
dW1MYXlvdXRXaWR0aCk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLUmVzcG9uZGVy
Q2hhaW5TaW5rCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9X
S1ZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3
SW50ZXJuYWwuaAppbmRleCAzZjYxMmQyNDA3YzlmZDYzZmQ0M2I0NWQwMGQxOTViNGEzNTUxYzU3
Li45YjAyOTQ3YTM0YjM4ZTE4YzQ3NGU1NDdjOWY4OGQwNjM2NTEyZGZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdJbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld0ludGVybmFsLmgKQEAgLTYxLDYg
KzYxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAtIChCT09MKV9pbnRlcnByZXRLZXlFdmVudDoo
TlNFdmVudCAqKXRoZUV2ZW50IHNhdmluZ0NvbW1hbmRzVG86KFZlY3RvcjxXZWJDb3JlOjpLZXlw
cmVzc0NvbW1hbmQ+Jiljb21tYW5kczsKIC0gKHZvaWQpX2RvbmVXaXRoS2V5RXZlbnQ6KE5TRXZl
bnQgKilldmVudCBldmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOwogLSAoYm9v
bClfZXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3I6KFNFTClzZWxlY3RvcjsKKy0gKHZvaWQp
X3NldEludHJpbnNpY0NvbnRlbnRTaXplOihOU1NpemUpaW50cmluc2ljQ29udGVudFNpemU7CiAt
IChOU1JlY3QpX2NvbnZlcnRUb0RldmljZVNwYWNlOihOU1JlY3QpcmVjdDsKIC0gKE5TUmVjdClf
Y29udmVydFRvVXNlclNwYWNlOihOU1JlY3QpcmVjdDsKIC0gKHZvaWQpX3NldEZpbmRJbmRpY2F0
b3I6KFBhc3NSZWZQdHI8V2ViS2l0OjpGaW5kSW5kaWNhdG9yPilmaW5kSW5kaWNhdG9yIGZhZGVP
dXQ6KEJPT0wpZmFkZU91dCBhbmltYXRlOihCT09MKWFuaW1hdGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmgKaW5kZXggNTE1Nzg3NjRmOTk4
ZDQ3YWE1NDU5YzFjMDMxYmNhMmFlNmE5MTQ1Ni4uMjE2MWViNzg2Yzk2NjU0MDViZmJjZDNlZjlj
NTA5NzllZTBjYTU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlld1ByaXZhdGUuaApAQCAtNTAsNCArNTAsNiBAQAogLSAodm9pZClwZXJmb3JtRGljdGlv
bmFyeUxvb2t1cEF0Q3VycmVudE1vdXNlTG9jYXRpb247CiArICh2b2lkKWhpZGVXb3JkRGVmaW5p
dGlvbldpbmRvdzsKIAorQHByb3BlcnR5IChyZWFkd3JpdGUpIENHRmxvYXQgbWluaW11bUxheW91
dFdpZHRoOworCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaAppbmRleCA3NGE4N2E0NTUwZTkwZGE3MWJkMTFhODA4NWVkZWM1MmY1NTFjY2I0Li5jNGVk
MDY4YjQxMjRjZjJmZDhlZmY3MDcxMTUzMDFkOWI2OWRjNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCB3YWl0Rm9yUG9zc2libGVHZW9tZXRyeVVwZGF0ZSgpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGNvbG9yU3BhY2VEaWRDaGFuZ2UoKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgbWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdlKCkgeyB9CiAKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpZXdwb3J0KCk7CkBAIC0xMTgs
NyArMTE5LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJRCAqLywgY29uc3Qg
TGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIHZp
cnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRV
cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250ZW50
U2l6ZSkgeyB9CisgICAgdmlydHVhbCB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKSB7IH0KICNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3ZGJkY2ViYWJiNmVkZGIzYzQyNTk5NDI4ZDBmYjE4
NjYwNmUzMDI4Li5iM2YwMmFmZWM3OTQzY2IyYjA3ZjRiMDZlZTZkMzFkY2VkOTIyZjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMzEsNiArMzEsNyBAQCBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYVByb3h5IHsK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBVc2VkIGJ5IFRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhUHJveHkuCi0gICAgRGlkVXBkYXRlR2VvbWV0cnkoKQorICAgIERpZFVwZGF0ZUdl
b21ldHJ5KFdlYkNvcmU6OkludFNpemUgbmV3SW50cmluc2ljQ29udGVudFNpemUpCisgICAgSW50
cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoV2ViQ29yZTo6SW50U2l6ZSBuZXdJbnRyaW5zaWND
b250ZW50U2l6ZSkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggYWJjNTQ0ZjY1ZGZhMjE0N2FlZjAxNTFlZjczMTdiMmM4ZjdkMjdiMS4uNTZkYzlhMTQx
NTRhNjMyNDU3NWVhYzI5OGEyZTU2YzY0NzE3ZmViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCkBAIC0yMjUsNiArMjI1LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEFQUEtJ
VCkKICAgICB2aXJ0dWFsIFdLVmlldyogd2tWaWV3KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBpbnRyaW5zaWNDb250ZW50U2l6ZSkgPSAwOwogI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQogICAgIHZpcnR1YWwgdWludDY0X3QgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKGNvbnN0
IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkZjQxNmMw
OWRiYzY2YmIwNWZlMmMyMDExOTQwOTM4MGY1NzFlNDMxLi40ZmQ4ZWIwYzI5Nzk0MWUzNTNmM2Ni
NDIzNmQ5MzljZjc3MTlmOWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMjMzLDYgKzIzMyw3IEBAIFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KFBh
Z2VDbGllbnQqIHBhZ2VDbGllbnQsIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBwCiAgICAg
LCBtX3JlbmRlclRyZWVTaXplKDApCiAgICAgLCBtX3Nob3VsZFNlbmRFdmVudHNTeW5jaHJvbm91
c2x5KGZhbHNlKQogICAgICwgbV9zdXBwcmVzc1Zpc2liaWxpdHlVcGRhdGVzKGZhbHNlKQorICAg
ICwgbV9taW5pbXVtTGF5b3V0V2lkdGgoMCkKICAgICAsIG1fbWVkaWFWb2x1bWUoMSkKICAgICAs
IG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyh0cnVlKQogI2lmIEVOQUJMRShQQUdFX1ZJU0lC
SUxJVFlfQVBJKQpAQCAtNDEyOSw2ICs0MTMwLDE4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpsaW5r
Q2xpY2tlZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMaW5rQ2xpY2tlZCh1cmwsIGV2
ZW50KSwgbV9wYWdlSUQsIDApOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0TWluaW11bUxh
eW91dFdpZHRoKGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpCit7CisgICAgaWYgKG1fbWluaW11
bUxheW91dFdpZHRoID09IG1pbmltdW1MYXlvdXRXaWR0aCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5pbXVtTGF5b3V0V2lkdGg7CisgICAgbV9kcmF3
aW5nQXJlYS0+bWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdlKCk7CisKKyAgICBpZiAobV9taW5p
bXVtTGF5b3V0V2lkdGggPD0gMCkKKyAgICAgICAgaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFu
Z2UoSW50U2l6ZSgtMSwgLTEpKTsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIAogdm9pZCBXZWJQ
YWdlUHJveHk6OnN1YnN0aXR1dGlvbnNQYW5lbElzU2hvd2luZyhib29sJiBpc1Nob3dpbmcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggODhhOTNkODFlMGJmZGUy
YTRiNzI0MDA5YjQyY2VlNzljOWQ2NjllYi4uZmY4ZWM1MTMzODExMDBhZjJkMDgwOWI3NWY5M2Vk
NTRlZDZjOGMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
NDA5LDYgKzQwOSw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgV0tWaWV3KiB3
a1ZpZXcoKSBjb25zdDsKKyAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKTsKICNlbmRpZgogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtNzU3LDYgKzc1OCw5IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFdlYkxvYWRlckNsaWVudCYgbG9hZGVyQ2xpZW50KCkgeyByZXR1cm4gbV9sb2FkZXJD
bGllbnQ7IH0KIAorICAgIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX21pbmltdW1MYXlvdXRXaWR0aDsgfQorICAgIHZvaWQgc2V0TWluaW11bUxheW91dFdpZHRo
KGRvdWJsZSk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQqLCBQYXNz
UmVmUHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBhZ2VHcm91cCosIHVpbnQ2NF90IHBhZ2VJRCk7
CiAKQEAgLTEyNDIsNiArMTI0Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZFNlbmRF
dmVudHNTeW5jaHJvbm91c2x5OwogCiAgICAgYm9vbCBtX3N1cHByZXNzVmlzaWJpbGl0eVVwZGF0
ZXM7CisgICAgZmxvYXQgbV9taW5pbXVtTGF5b3V0V2lkdGg7CiAKICAgICBmbG9hdCBtX21lZGlh
Vm9sdW1lOwogICAgIGJvb2wgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhUHJveHkuaAppbmRleCAwOGIxNjUwOGQ0M2QxMTIyYjgyNmJkZjRiZDky
YmY0ODk0M2Q4YjRlLi5jNzg2MTA5ODQwNjczOGE0MDQyYzU0YjY2OWExZWM3ZGZhOWRlMmM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaApAQCAtNDgsMTMgKzQ4LDE1IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgd2FpdEZvclBvc3NpYmxlR2VvbWV0cnlVcGRhdGUoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENoYW5nZSgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBtaW5pbXVtTGF5b3V0V2lkdGhEaWRDaGFuZ2UoKSBPVkVSUklERTsKIAogICAgIHZp
cnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tp
bmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tp
bmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0
b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIE9WRVJSSURFOwogCiAgICAgLy8g
TWVzc2FnZSBoYW5kbGVycy4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVudFNpemUpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkgT1ZFUlJJREU7CiAKICAgICB2b2lkIHNlbmRV
cGRhdGVHZW9tZXRyeSgpOwogCkBAIC02Myw2ICs2NSw5IEBAIHByaXZhdGU6CiAKICAgICAvLyBU
aGUgbGFzdCBzaXplIHdlIHNlbnQgdG8gdGhlIHdlYiBwcm9jZXNzLgogICAgIFdlYkNvcmU6Oklu
dFNpemUgbV9sYXN0U2VudFNpemU7CisKKyAgICAvLyBUaGUgbGFzdCBtaW5pbXVtIGxheW91dCB3
aWR0aCB3ZSBzZW50IHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICBkb3VibGUgbV9sYXN0U2VudE1p
bmltdW1MYXlvdXRXaWR0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IGEwYzE4MTc2ODM5ZWFmYWI1MTdmZmM1NThm
OTU4YmIwNjZmZmE3ZGMuLjNkZThiZTdhNjg3MzFlNzY2YmVjOThjMDQ3ZGQ0MjhhYTY1NWM4ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KQEAgLTQ3LDYgKzQ3LDcgQEAg
UGFzc093blB0cjxUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5PiBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYVByb3gKIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHk6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5KiB3ZWJQ
YWdlUHJveHkpCiAgICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhVHlwZVRpbGVkQ29y
ZUFuaW1hdGlvbiwgd2ViUGFnZVByb3h5KQogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVH
ZW9tZXRyeShmYWxzZSkKKyAgICAsIG1fbGFzdFNlbnRNaW5pbXVtTGF5b3V0V2lkdGgoMCkKIHsK
IH0KIApAQCAtMTAzLDYgKzEwNCwxOSBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHk6OmNvbG9yU3BhY2VEaWRDaGFuZ2UoKQogICAgIG1fd2ViUGFnZVByb3h5LT5wcm9j
ZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXRDb2xvclNwYWNlKG1fd2ViUGFn
ZVByb3h5LT5jb2xvclNwYWNlKCkpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwogfQogCit2
b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6Om1pbmltdW1MYXlvdXRXaWR0
aERpZENoYW5nZSgpCit7CisgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS0+aXNWYWxpZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICAvLyBXZSBvbmx5IHdhbnQgb25lIFVwZGF0ZUdlb21ldHJ5IG1l
c3NhZ2UgaW4gZmxpZ2h0IGF0IG9uY2UsIHNvIGlmIHdlJ3ZlIGFscmVhZHkgc2VudCBvbmUgYnV0
CisgICAgLy8gaGF2ZW4ndCB5ZXQgcmVjZWl2ZWQgdGhlIHJlcGx5IHdlJ2xsIGp1c3QgcmV0dXJu
IGVhcmx5IGhlcmUuCisgICAgaWYgKG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpCisg
ICAgICAgIHJldHVybjsKKworICAgIHNlbmRVcGRhdGVHZW9tZXRyeSgpOworfQorCiB2b2lkIFRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29u
dGV4dCYgbGF5ZXJUcmVlQ29udGV4dCkKIHsKICAgICBtX3dlYlBhZ2VQcm94eS0+ZW50ZXJBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRyZWVDb250ZXh0KTsKQEAgLTExOSwyNCArMTMz
LDM2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0CiAgICAgbV93ZWJQYWdlUHJveHktPnVwZGF0
ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGxheWVyVHJlZUNvbnRleHQpOwogfQogCi12b2lk
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRpZFVwZGF0ZUdlb21ldHJ5KCkK
K3ZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0
cnkoY29uc3QgSW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVudFNpemUpCiB7CiAgICAgQVNTRVJU
KG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpOwogCiAgICAgbV9pc1dhaXRpbmdGb3JE
aWRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlOwogCisgICAgZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0
aCA9IG1fd2ViUGFnZVByb3h5LT5taW5pbXVtTGF5b3V0V2lkdGgoKTsKKwogICAgIC8vIElmIHRo
ZSBXS1ZpZXcgd2FzIHJlc2l6ZWQgd2hpbGUgd2Ugd2VyZSB3YWl0aW5nIGZvciBhIERpZFVwZGF0
ZUdlb21ldHJ5IHJlcGx5IGZyb20gdGhlIHdlYiBwcm9jZXNzLAogICAgIC8vIHdlIG5lZWQgdG8g
cmVzZW5kIHRoZSBuZXcgc2l6ZSBoZXJlLgotICAgIGlmIChtX2xhc3RTZW50U2l6ZSAhPSBtX3Np
emUpCisgICAgaWYgKG1fbGFzdFNlbnRTaXplICE9IG1fc2l6ZSB8fCBtX2xhc3RTZW50TWluaW11
bUxheW91dFdpZHRoICE9IG1pbmltdW1MYXlvdXRXaWR0aCkKICAgICAgICAgc2VuZFVwZGF0ZUdl
b21ldHJ5KCk7CisKKyAgICBpZiAobWluaW11bUxheW91dFdpZHRoID4gMCkKKyAgICAgICAgbV93
ZWJQYWdlUHJveHktPmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKG5ld0ludHJpbnNpY0Nv
bnRlbnRTaXplKTsKK30KKwordm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5
OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdJbnRyaW5z
aWNDb250ZW50U2l6ZSkKK3sKKyAgICBpZiAobV93ZWJQYWdlUHJveHktPm1pbmltdW1MYXlvdXRX
aWR0aCgpID4gMCkKKyAgICAgICAgbV93ZWJQYWdlUHJveHktPmludHJpbnNpY0NvbnRlbnRTaXpl
RGlkQ2hhbmdlKG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKTsKIH0KIAogdm9pZCBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpzZW5kVXBkYXRlR2VvbWV0cnkoKQogewogICAgIEFT
U0VSVCghbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeSk7CiAKKyAgICBtX2xhc3RTZW50
TWluaW11bUxheW91dFdpZHRoID0gbV93ZWJQYWdlUHJveHktPm1pbmltdW1MYXlvdXRXaWR0aCgp
OwogICAgIG1fbGFzdFNlbnRTaXplID0gbV9zaXplOwotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9j
ZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVHZW9tZXRyeShtX3NpemUp
LCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNz
KCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVHZW9tZXRyeShtX3NpemUsIG1f
bGFzdFNlbnRNaW5pbXVtTGF5b3V0V2lkdGgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwog
ICAgIG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkgPSB0cnVlOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDEzN2My
MmYyY2MzNjdhMDMyMjU3MzIzN2UyZjA3YTVhODI5ZmViOWEuLjg0OWJhMjBmODI2NmEyMTZiOGUx
MWYwMjU0OTEwMzU3MDdlOGNlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC00NzQsNiArNDc0LDExIEBAIFdLVmlldyogV2ViUGFn
ZVByb3h5Ojp3a1ZpZXcoKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2VDbGllbnQtPndrVmlldygp
OwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Uo
Y29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCit7CisgICAgbV9wYWdlQ2xpZW50
LT5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShpbnRyaW5zaWNDb250ZW50U2l6ZSk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVy
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcikKIHsKICAgICBtX3BhZ2VDbGllbnQtPnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSb290TGF5ZXIocm9vdExheWVyLT5wbGF0Zm9ybUxheWVy
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJhNWRhNWM1OTg2MDczNmE1NTg0YjBm
MWM1NDFkZjE2OGIwYzk3ZDcuLjI4M2E4MzljNGZlYmE5NWY1MDY0YTM4NjVkYjIwNGRiYWM5Yzky
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQzMiw3ICs0MzIsNyBAQCBQbGF0Zm9y
bVBhZ2VDbGllbnQgV2ViQ2hyb21lQ2xpZW50OjpwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdAog
ICAgIHJldHVybiAwOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hh
bmdlZChGcmFtZSogZnJhbWUsIGNvbnN0IEludFNpemUmIC8qc2l6ZSovKSBjb25zdAordm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBJ
bnRTaXplJiBzaXplKSBjb25zdAogewogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0
aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgV2ViRnJhbWUqIGxh
cmdlc3RGcmFtZSA9IGZpbmRMYXJnZXN0RnJhbWVJbkZyYW1lU2V0KG1fcGFnZSk7CkBAIC00NTYs
NiArNDU2LDggQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJh
bWUqIGZyYW1lLCBjb25zdCBJbnRTaXplJiAvKnNpemUqLykKIAogI2VuZGlmCiAKKyAgICBtX3Bh
Z2UtPmRyYXdpbmdBcmVhKCktPm1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZChzaXplKTsKKwog
ICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUtPnZpZXcoKTsKICAgICBpZiAoZnJhbWVW
aWV3ICYmICFmcmFtZVZpZXctPmRlbGVnYXRlc1Njcm9sbGluZygpKSAgewogICAgICAgICBib29s
IGhhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmcmFtZVZpZXctPmhvcml6b250YWxTY3JvbGxiYXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgK
aW5kZXggYzhlOTZjM2MwZTMzMTJkZjc5YjRjYWZiNDc1NGNlYmZkYmU4YjU0Ny4uMzI3ZjY1MWM5
M2Y2MmVjYWM0ZTNlMTA1NGIwN2UzMjMwMTFmYmJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTg2LDYgKzg2LDcgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBtYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIHZpcnR1YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5
ZXJGYWN0b3J5KCkgeyByZXR1cm4gMDsgfQpAQCAtMTIxLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgdmlld1NpemUpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHZW9tZXRyeShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3U2l6ZSwgZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0
aCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0KSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29sb3JTcGFjZShjb25zdCBDb2xvclNwYWNlRGF0YSYpIHsg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXggZmU5OGM3MzY0MjAzNDg3NThiZjdhNjM5
OTY5YTgwNDY0NDVhMjI4OC4uZGVjODZlYzIyOTE2ZWJhNzU5MjI4MjQ1NDE2N2NmMzRhYTFkZjMw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5tZXNzYWdlcy5pbgpAQCAtMzAsNyArMzAsNyBAQCBtZXNzYWdlcyAtPiBEcmF3
aW5nQXJlYSB7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS4KLSAgICBVcGRhdGVHZW9tZXRyeShXZWJDb3JlOjpJbnRTaXpl
IHZpZXdTaXplKQorICAgIFVwZGF0ZUdlb21ldHJ5KFdlYkNvcmU6OkludFNpemUgdmlld1NpemUs
IGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpCiAgICAgU2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxv
YXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgU2V0Q29sb3JTcGFjZShXZWJLaXQ6OkNvbG9yU3Bh
Y2VEYXRhIGNvbG9yU3BhY2UpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEuaAppbmRleCA3ZDViM2JlOTY2MjA0YjgzMTJmOWU1ZWQ2NjU4N2Q2OTI5ODExYjc2
Li45MGM3NmM0NTdkZWQ5MWY1OTZiYjc0MDUzNjU0NTJlYjg0ZTJiZmYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBt
YWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIE9WRVJS
SURFOwogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQWZ0ZXJFbnN1cmluZ1VwZGF0ZWRTY3Jv
bGxQb3NpdGlvbihjb25zdCBGdW5jdGlvbjx2b2lkICgpPiYpIE9WRVJSSURFOwogCkBAIC04MCw3
ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2aXJ0dWFs
IHZvaWQgc3VzcGVuZFBhaW50aW5nKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlc3Vt
ZVBhaW50aW5nKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdlb21ldHJ5KGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdTaXplKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdmlld1NpemUsIGRvdWJs
ZSBtaW5pbXVtTGF5b3V0V2lkdGgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXREZXZp
Y2VTY2FsZUZhY3RvcihmbG9hdCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVy
SG9zdGluZ01vZGUodWludDMyX3QpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb2xv
clNwYWNlKGNvbnN0IENvbG9yU3BhY2VEYXRhJikgT1ZFUlJJREU7CkBAIC0xMDUsNiArMTA2LDEw
IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IG1fcGFnZU92
ZXJsYXlMYXllcjsKIAogICAgIGJvb2wgbV9pc1BhaW50aW5nU3VzcGVuZGVkOworCisgICAgZG91
YmxlIG1fbWluaW11bUxheW91dFdpZHRoOworICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0U2Vu
dEludHJpbnNpY0NvbnRlbnRTaXplOworICAgIGJvb2wgbV9pblVwZGF0ZUdlb21ldHJ5OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS5tbQppbmRleCBjZjVkMjNlMDEzYjk4NGNiN2JjZDkzMWRhMzIzZTg3YzQ3ZTYyZDZl
Li4xMDNkMjUxM2I4MzBmNjVmNzYyYzc1MjNhN2VkYTFjMTlkN2ExZDIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTMzLDYgKzMzLDcgQEAKICNpbXBv
cnQgIkV2ZW50RGlzcGF0Y2hlci5oIgogI2ltcG9ydCAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgog
I2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgorI2ltcG9ydCAiV2ViRnJhbWUuaCIKICNpbXBv
cnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNp
bXBvcnQgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCkBAIC02OSw2ICs3MCw3IEBAIFRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYShXZWJQ
YWdlKiB3ZWJQYWdlLCBjCiAgICAgLCBtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW4oZmFsc2UpCiAg
ICAgLCBtX2xheWVyRmx1c2hTY2hlZHVsZXIodGhpcykKICAgICAsIG1faXNQYWludGluZ1N1c3Bl
bmRlZCghcGFyYW1ldGVycy5pc1Zpc2libGUpCisgICAgLCBtX21pbmltdW1MYXlvdXRXaWR0aCgw
KQogewogICAgIFBhZ2UqIHBhZ2UgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCk7CiAKQEAgLTIyOSw2
ICsyMzEsMjEgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYKICAgICBTY3JvbGxpbmdUaHJlYWQ6
OmRpc3BhdGNoKGJpbmQoJlNjcm9sbGluZ1RyZWU6OnNldERlYnVnUm9vdExheWVyLCBtX3dlYlBh
Z2UtPmNvcmVQYWdlKCktPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCktPnNjcm9sbGluZ1RyZWUoKSwg
bV9kZWJ1Z0luZm9MYXllcikpOwogfQogCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgY29udGVudFNp
emUpCit7CisgICAgaWYgKCFtX21pbmltdW1MYXlvdXRXaWR0aCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKG1faW5VcGRhdGVHZW9tZXRyeSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZSA9PSBjb250ZW50U2l6ZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplID0gY29udGVudFNp
emU7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpJbnRy
aW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb250ZW50U2l6ZSkpOworfQorCiB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Ny
b2xsUG9zaXRpb24oY29uc3QgRnVuY3Rpb248dm9pZCAoKT4mIGZ1bmN0aW9uUmVmKQogewogICAg
IG1fd2ViUGFnZS0+cmVmKCk7CkBAIC0zMzAsOSArMzQ3LDI0IEBAIHZvaWQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OnJlc3VtZVBhaW50aW5nKCkKICAgICAgICAgbV93ZWJQYWdlLT5j
b3JlUGFnZSgpLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMoKTsKIH0KIAotdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmll
d1NpemUpCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRy
eShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwgZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkKIHsK
LSAgICBtX3dlYlBhZ2UtPnNldFNpemUodmlld1NpemUpOworICAgIG1faW5VcGRhdGVHZW9tZXRy
eSA9IHRydWU7CisKKyAgICBtX21pbmltdW1MYXlvdXRXaWR0aCA9IG1pbmltdW1MYXlvdXRXaWR0
aDsKKworICAgIEludFNpemUgc2l6ZSA9IHZpZXdTaXplOworICAgIEludFNpemUgY29udGVudFNp
emUgPSBJbnRTaXplKC0xLCAtMSk7CisKKyAgICBpZiAobV9taW5pbXVtTGF5b3V0V2lkdGggPiAw
KSB7CisgICAgICAgIG1fd2ViUGFnZS0+c2V0U2l6ZShJbnRTaXplKG1fbWluaW11bUxheW91dFdp
ZHRoLCAwKSk7CisgICAgICAgIG1fd2ViUGFnZS0+bGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAg
ICBjb250ZW50U2l6ZSA9IG1fd2ViUGFnZS0+bWFpbldlYkZyYW1lKCktPmNvbnRlbnRCb3VuZHMo
KS5zaXplKCk7CisgICAgICAgIHNpemUgPSBjb250ZW50U2l6ZTsKKyAgICB9CisKKyAgICBtX3dl
YlBhZ2UtPnNldFNpemUoc2l6ZSk7CiAgICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwog
CiAgICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKQEAgLTM1MSw3ICszODMsMTAgQEAgdm9pZCBU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6
ZSYgdmlld1NpemUpCiAgICAgW0NBVHJhbnNhY3Rpb24gZmx1c2hdOwogICAgIFtDQVRyYW5zYWN0
aW9uIHN5bmNocm9uaXplXTsKIAotICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6RHJhd2lu
Z0FyZWFQcm94eTo6RGlkVXBkYXRlR2VvbWV0cnkoKSk7CisgICAgbV9sYXN0U2VudEludHJpbnNp
Y0NvbnRlbnRTaXplID0gY29udGVudFNpemU7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVHZW9tZXRyeShjb250ZW50U2l6ZSkpOworCisg
ICAgbV9pblVwZGF0ZUdlb21ldHJ5ID0gZmFsc2U7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OnNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176801</attachid>
            <date>2012-11-29 13:18:52 -0800</date>
            <delta_ts>2012-11-29 15:59:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103660-20121129131623.patch</filename>
            <type>text/plain</type>
            <size>26708</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDI1Njc4N2U3MTBhNjU0
YTZhMTg4NDM3MTIyOThjZTg4ZDNkYTkxMS4uNmU5ODJlNGFiYmNhOWZjNmJiMzk2YjljMTBmZmIx
M2I3MzQ0ZjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEyLTExLTI5ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWluaW11
bUxheW91dFdpZHRoIFdLVmlldyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNjYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTc5
MTcyOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIG1pbmltdW1MYXlvdXRXaWR0aCBpcyBzZXQgdG8gYSBwb3NpdGl2ZSB2YWx1ZSwgdGhlIFdL
VmlldyB3aWxsIHVwZGF0ZSBpdHMgaW50cmluc2ljIGNvbnRlbnQgc2l6ZSBnaXZlbiB0aGUgbGF5
b3V0IHdpZHRoLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KToKKyAgICAgICAgQ2FsbCB0aGUgV0tWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToK
KyAgICAgICAgT3ZlcnJpZGUgdGhlIGludHJpbnNpY0NvbnRlbnRTaXplIGdldHRlci4KKworICAg
ICAgICAoLVtXS1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOl0pOgorICAgICAgICBVcGRh
dGUgdGhlIGludHJpbnNpYyBjb250ZW50IHNpemUgYW5kIG1hcmsgaXQgYXMgaW52YWxpZC4KKwor
ICAgICAgICAoLVtXS1ZpZXcgaW5pdFdpdGhGcmFtZTpjb250ZXh0UmVmOnBhZ2VHcm91cFJlZjpy
ZWxhdGVkVG9QYWdlOl0pOgorICAgICAgICBCeSBkZWZhdWx0LCB0aGUgV0tWaWV3IHNob3VsZCBo
YXZlIG5vIGludHJpbnNpYyBzaXplLgorCisgICAgICAgICgtW1dLVmlldyBtaW5pbXVtTGF5b3V0
V2lkdGhdKToKKyAgICAgICAgKC1bV0tWaWV3IHNldE1pbmltdW1MYXlvdXRXaWR0aDpdKToKKyAg
ICAgICAgQ2FsbCB0aHJvdWdoIHRvIHRoZSBXZWJQYWdlUHJveHkgb2JqZWN0LgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3UHJpdmF0ZS5oOgorICAgICAgICBBZGQgdGhlIFNQ
SSBoZXJlLgorCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0cnkp
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6
ZURpZENoYW5nZSk6CisgICAgICAgIEFkZCBlbXB0eSBzdHVicy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICBVcGRhdGUgdGhlIERp
ZFVwZGF0ZUdlb21ldHJ5IHNpZ25hdHVyZSBhbmQgYWRkIEludHJpbnNpY0NvbnRlbnRTaXplRGlk
Q2hhbmdlLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgSW5pdGlhbGl6
ZSB0aGUgbWluaW11bSBsYXlvdXQgd2lkdGguCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgpOgorICAgICAgICBVcGRhdGUgdGhlIG1pbmltdW0g
bGF5b3V0IHdpZHRoIGFuZCBjYWxsIHRoZSBkcmF3aW5nIGFyZWEgcHJveHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6bWluaW11bUxheW91dFdpZHRoKToKKyAgICAgICAgQWRkIGdldHRlci4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oOgorICAg
ICAgICAoVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAg
ICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjptaW5pbXVtTGF5
b3V0V2lkdGhEaWRDaGFuZ2UpOgorICAgICAgICBVcGRhdGUgdGhlIGdlb21ldHJ5IGlmIG5lZWRl
ZC4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5
OjpkaWRVcGRhdGVHZW9tZXRyeSk6CisgICAgICAgIFVwZGF0ZSB0aGUgaW50cmluc2ljIGNvbnRl
bnQgc2l6ZS4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZSk6CisgICAgICAgIENhbGwgdGhy
b3VnaCB0byBXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlLgorCisg
ICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OnNlbmRV
cGRhdGVHZW9tZXRyeSk6CisgICAgICAgIFBhc3MgYWxvbmcgdGhlIG1pbmltdW0gbGF5b3V0IHdp
ZHRoLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Up
OgorICAgICAgICBDYWxsIHRocm91Z2ggdG8gdGhlIHBhZ2UgY2xpZW50LgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICBD
YWxsIERyYXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZCk6CisgICAgICAgIEFkZCBlbXB0
eSBzdHViLgorCisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6
CisgICAgICAgIFVwZGF0ZSBzaWduYXR1cmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW46CisgICAgICAgIEFkZCBtaW5pbXVtTGF5b3V0V2lk
dGggdG8gVXBkYXRlR2VvbWV0cnkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdl
YktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXpl
Q2hhbmdlZCk6CisgICAgICAgIElmIHRoZSBjb250ZW50IHNpemUgY2hhbmdlIGlzIG5vdCBjb21p
bmcgZnJvbSB1cGRhdGVHZW9tZXRyeSwgc2VuZCBhbiBJbnN0cmluc2ljQ29udGVudFNpemVEaWRD
aGFuZ2UgbWVzc2FnZS4KKworICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICBJZiBtX21pbmltdW1MYXlvdXRXaWR0
aCBpcyBwb3NpdGl2ZSwgZG8gYW4gaW5pdGlhbCBsYXlvdXQgcGFzcyB0byBmaWd1cmUgb3V0IHRo
ZSBoZWlnaHQgb2YgdGhlIHBhZ2UgYW5kIHRoZW4gZG8gYW5vdGhlcgorICAgICAgICBsYXlvdXQg
d2l0aCB0aGUgdmlld3BvcnQgc2V0IHRvIHRoYXQgaGVpZ2h0LgorCiAyMDEyLTExLTI5ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQgYWZ0
ZXIgcjEzNjA5NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
UGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VD
bGllbnRJbXBsLmgKaW5kZXggODc2OGZkMDY3MDBmNGZkMjI0NjQyOWU4ODA5YzM0YTFmZGFiM2Rm
NS4uNjZiMjNlNDdjMWJkYjQ3MjA2YmVmYTZkZTg2ODdjY2NmODJiYTk1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xMzks
NiArMTM5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVjb21tZW5kZWRTY3JvbGxi
YXJTdHlsZURpZENoYW5nZShpbnQzMl90IG5ld1N0eWxlKTsKIAogICAgIHZpcnR1YWwgV0tWaWV3
KiB3a1ZpZXcoKSBjb25zdCB7IHJldHVybiBtX3drVmlldzsgfQorICAgIHZpcnR1YWwgdm9pZCBp
bnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBpbnRy
aW5zaWNDb250ZW50U2l6ZSkgT1ZFUlJJREU7CiAKICNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhjb25z
dCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA5ZWQ3ZmVlYTFmZjk0
MzVlM2MwOWMxODQ4MjE2N2JkYzRkOGU5MTExLi4wMTcyY2IwNzdkNjA4NmVmZDA0YTE2ZWE2Zjc1
OTMxZGZmNjZkNWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNTU4LDYgKzU1OCwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKGludDMyX3QgbmV3U3R5bGUp
CiAjZW5kaWYKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVudFNpemVE
aWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCit7CisgICAgW21f
d2tWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6ZV07Cit9
CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OmV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKGNv
bnN0IFN0cmluZyYgc2VsZWN0b3JTdHJpbmcpCiB7CiAgICAgcmV0dXJuIFttX3drVmlldyBfZXhl
Y3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3I6TlNTZWxlY3RvckZyb21TdHJpbmcoc2VsZWN0b3JT
dHJpbmcpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQppbmRl
eCA0ZTMwYjMzNjhhNTYyYjdjYzMwN2FkMTNhMjEzOGQ1ZTFmMWQ5NmE1Li5iMTQ3MGZlYTkxYTlj
OGIxOTg0Y2M4MTFmN2MwN2QzMjkzZDQxZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0yMTUsNiArMjE1LDggQEAgc3RydWN0IFdLVmlld0ludGVy
cHJldEtleUV2ZW50c1BhcmFtZXRlcnMgewogICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gX3By
b21pc2VkSW1hZ2U7CiAgICAgU3RyaW5nIF9wcm9taXNlZEZpbGVuYW1lOwogICAgIFN0cmluZyBf
cHJvbWlzZWRVUkw7CisKKyAgICBOU1NpemUgX2ludHJpbnNpY0NvbnRlbnRTaXplOwogfQogCiBA
ZW5kCkBAIC0zNTYsNiArMzU4LDExIEBAIHN0cnVjdCBXS1ZpZXdJbnRlcnByZXRLZXlFdmVudHNQ
YXJhbWV0ZXJzIHsKICAgICByZXR1cm4gWUVTOwogfQogCistIChOU1NpemUpaW50cmluc2ljQ29u
dGVudFNpemUKK3sKKyAgICByZXR1cm4gX2RhdGEtPl9pbnRyaW5zaWNDb250ZW50U2l6ZTsKK30K
KwogLSAodm9pZClzZXRGcmFtZVNpemU6KE5TU2l6ZSlzaXplCiB7CiAgICAgaWYgKCFOU0VxdWFs
U2l6ZXMoc2l6ZSwgW3NlbGYgZnJhbWVdLnNpemUpKQpAQCAtMjkyNSw2ICsyOTMyLDEyIEBAIHN0
YXRpYyBOU1N0cmluZyAqcGF0aFdpdGhVbmlxdWVGaWxlbmFtZUZvclBhdGgoTlNTdHJpbmcgKnBh
dGgpCiAgICAgcmV0dXJuICFbc2luay5nZXQoKSBkaWRSZWNlaXZlVW5oYW5kbGVkQ29tbWFuZF07
CiB9CiAKKy0gKHZvaWQpX3NldEludHJpbnNpY0NvbnRlbnRTaXplOihOU1NpemUpaW50cmluc2lj
Q29udGVudFNpemUKK3sKKyAgICBfZGF0YS0+X2ludHJpbnNpY0NvbnRlbnRTaXplID0gaW50cmlu
c2ljQ29udGVudFNpemU7CisgICAgW3NlbGYgaW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXpl
XTsKK30KKwogLSAodm9pZClfY2FjaGVXaW5kb3dCb3R0b21Db3JuZXJSZWN0CiB7CiAjaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDcwCkBAIC0zMDIxLDYgKzMwMzQsOCBA
QCBzdGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoKE5TU3RyaW5n
ICpwYXRoKQogICAgIF9kYXRhLT5fbW91c2VEb3duRXZlbnQgPSBuaWw7CiAgICAgX2RhdGEtPl9p
Z25vcmluZ01vdXNlRHJhZ2dlZEV2ZW50cyA9IE5POwogCisgICAgX2RhdGEtPl9pbnRyaW5zaWND
b250ZW50U2l6ZSA9IE5TTWFrZVNpemUoTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljLCBOU1ZpZXdO
b0luc3RyaW5zaWNNZXRyaWMpOworCiAgICAgW3NlbGYgX3JlZ2lzdGVyRHJhZ2dlZFR5cGVzXTsK
IAogICAgIGlmIChbc2VsZiBfc2hvdWxkVXNlVGlsZWREcmF3aW5nQXJlYV0pIHsKQEAgLTMxMjYs
NiArMzE0MSwxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQ
YXRoKE5TU3RyaW5nICpwYXRoKQogI2VuZGlmCiB9CiAKKy0gKENHRmxvYXQpbWluaW11bUxheW91
dFdpZHRoCit7CisgICAgcmV0dXJuIF9kYXRhLT5fcGFnZS0+bWluaW11bUxheW91dFdpZHRoKCk7
Cit9CisKKy0gKHZvaWQpc2V0TWluaW11bUxheW91dFdpZHRoOihDR0Zsb2F0KW1pbmltdW1MYXlv
dXRXaWR0aAoreworICAgIF9kYXRhLT5fcGFnZS0+c2V0TWluaW11bUxheW91dFdpZHRoKG1pbmlt
dW1MYXlvdXRXaWR0aCk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLUmVzcG9uZGVy
Q2hhaW5TaW5rCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9X
S1ZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3
SW50ZXJuYWwuaAppbmRleCAzZjYxMmQyNDA3YzlmZDYzZmQ0M2I0NWQwMGQxOTViNGEzNTUxYzU3
Li45YjAyOTQ3YTM0YjM4ZTE4YzQ3NGU1NDdjOWY4OGQwNjM2NTEyZGZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdJbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld0ludGVybmFsLmgKQEAgLTYxLDYg
KzYxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAtIChCT09MKV9pbnRlcnByZXRLZXlFdmVudDoo
TlNFdmVudCAqKXRoZUV2ZW50IHNhdmluZ0NvbW1hbmRzVG86KFZlY3RvcjxXZWJDb3JlOjpLZXlw
cmVzc0NvbW1hbmQ+Jiljb21tYW5kczsKIC0gKHZvaWQpX2RvbmVXaXRoS2V5RXZlbnQ6KE5TRXZl
bnQgKilldmVudCBldmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOwogLSAoYm9v
bClfZXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3I6KFNFTClzZWxlY3RvcjsKKy0gKHZvaWQp
X3NldEludHJpbnNpY0NvbnRlbnRTaXplOihOU1NpemUpaW50cmluc2ljQ29udGVudFNpemU7CiAt
IChOU1JlY3QpX2NvbnZlcnRUb0RldmljZVNwYWNlOihOU1JlY3QpcmVjdDsKIC0gKE5TUmVjdClf
Y29udmVydFRvVXNlclNwYWNlOihOU1JlY3QpcmVjdDsKIC0gKHZvaWQpX3NldEZpbmRJbmRpY2F0
b3I6KFBhc3NSZWZQdHI8V2ViS2l0OjpGaW5kSW5kaWNhdG9yPilmaW5kSW5kaWNhdG9yIGZhZGVP
dXQ6KEJPT0wpZmFkZU91dCBhbmltYXRlOihCT09MKWFuaW1hdGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmgKaW5kZXggNTE1Nzg3NjRmOTk4
ZDQ3YWE1NDU5YzFjMDMxYmNhMmFlNmE5MTQ1Ni4uMjE2MWViNzg2Yzk2NjU0MDViZmJjZDNlZjlj
NTA5NzllZTBjYTU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlld1ByaXZhdGUuaApAQCAtNTAsNCArNTAsNiBAQAogLSAodm9pZClwZXJmb3JtRGljdGlv
bmFyeUxvb2t1cEF0Q3VycmVudE1vdXNlTG9jYXRpb247CiArICh2b2lkKWhpZGVXb3JkRGVmaW5p
dGlvbldpbmRvdzsKIAorQHByb3BlcnR5IChyZWFkd3JpdGUpIENHRmxvYXQgbWluaW11bUxheW91
dFdpZHRoOworCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaAppbmRleCA3NGE4N2E0NTUwZTkwZGE3MWJkMTFhODA4NWVkZWM1MmY1NTFjY2I0Li5jNGVk
MDY4YjQxMjRjZjJmZDhlZmY3MDcxMTUzMDFkOWI2OWRjNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCB3YWl0Rm9yUG9zc2libGVHZW9tZXRyeVVwZGF0ZSgpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGNvbG9yU3BhY2VEaWRDaGFuZ2UoKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgbWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdlKCkgeyB9CiAKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpZXdwb3J0KCk7CkBAIC0xMTgs
NyArMTE5LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJRCAqLywgY29uc3Qg
TGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIHZp
cnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRV
cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250ZW50
U2l6ZSkgeyB9CisgICAgdmlydHVhbCB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKSB7IH0KICNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3ZGJkY2ViYWJiNmVkZGIzYzQyNTk5NDI4ZDBmYjE4
NjYwNmUzMDI4Li5iM2YwMmFmZWM3OTQzY2IyYjA3ZjRiMDZlZTZkMzFkY2VkOTIyZjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMzEsNiArMzEsNyBAQCBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYVByb3h5IHsK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBVc2VkIGJ5IFRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhUHJveHkuCi0gICAgRGlkVXBkYXRlR2VvbWV0cnkoKQorICAgIERpZFVwZGF0ZUdl
b21ldHJ5KFdlYkNvcmU6OkludFNpemUgbmV3SW50cmluc2ljQ29udGVudFNpemUpCisgICAgSW50
cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoV2ViQ29yZTo6SW50U2l6ZSBuZXdJbnRyaW5zaWND
b250ZW50U2l6ZSkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggYWJjNTQ0ZjY1ZGZhMjE0N2FlZjAxNTFlZjczMTdiMmM4ZjdkMjdiMS4uNTZkYzlhMTQx
NTRhNjMyNDU3NWVhYzI5OGEyZTU2YzY0NzE3ZmViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCkBAIC0yMjUsNiArMjI1LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEFQUEtJ
VCkKICAgICB2aXJ0dWFsIFdLVmlldyogd2tWaWV3KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBpbnRyaW5zaWNDb250ZW50U2l6ZSkgPSAwOwogI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQogICAgIHZpcnR1YWwgdWludDY0X3QgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKGNvbnN0
IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkZjQxNmMw
OWRiYzY2YmIwNWZlMmMyMDExOTQwOTM4MGY1NzFlNDMxLi45ZDkxNGNmMjg0YzcwZWE3YzJhM2M1
YjI2N2ZlZTUxY2EzZDdiMTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMjMzLDYgKzIzMyw3IEBAIFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KFBh
Z2VDbGllbnQqIHBhZ2VDbGllbnQsIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBwCiAgICAg
LCBtX3JlbmRlclRyZWVTaXplKDApCiAgICAgLCBtX3Nob3VsZFNlbmRFdmVudHNTeW5jaHJvbm91
c2x5KGZhbHNlKQogICAgICwgbV9zdXBwcmVzc1Zpc2liaWxpdHlVcGRhdGVzKGZhbHNlKQorICAg
ICwgbV9taW5pbXVtTGF5b3V0V2lkdGgoMCkKICAgICAsIG1fbWVkaWFWb2x1bWUoMSkKICAgICAs
IG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyh0cnVlKQogI2lmIEVOQUJMRShQQUdFX1ZJU0lC
SUxJVFlfQVBJKQpAQCAtNDEyOSw2ICs0MTMwLDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpsaW5r
Q2xpY2tlZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMaW5rQ2xpY2tlZCh1cmwsIGV2
ZW50KSwgbV9wYWdlSUQsIDApOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0TWluaW11bUxh
eW91dFdpZHRoKGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpCit7CisgICAgaWYgKG1fbWluaW11
bUxheW91dFdpZHRoID09IG1pbmltdW1MYXlvdXRXaWR0aCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5pbXVtTGF5b3V0V2lkdGg7CisgICAgbV9kcmF3
aW5nQXJlYS0+bWluaW11bUxheW91dFdpZHRoRGlkQ2hhbmdlKCk7CisKKyNpZiBQTEFURk9STShN
QUMpCisgICAgaWYgKG1fbWluaW11bUxheW91dFdpZHRoIDw9IDApCisgICAgICAgIGludHJpbnNp
Y0NvbnRlbnRTaXplRGlkQ2hhbmdlKEludFNpemUoLTEsIC0xKSk7CisjZW5kaWYKK30KKwogI2lm
IFBMQVRGT1JNKE1BQykKIAogdm9pZCBXZWJQYWdlUHJveHk6OnN1YnN0aXR1dGlvbnNQYW5lbElz
U2hvd2luZyhib29sJiBpc1Nob3dpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggODhhOTNkODFlMGJmZGUyYTRiNzI0MDA5YjQyY2VlNzljOWQ2NjllYi4uZmY4
ZWM1MTMzODExMDBhZjJkMDgwOWI3NWY5M2VkNTRlZDZjOGMzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDA5LDYgKzQwOSw3IEBAIHB1YmxpYzoKIAogI2lm
IFVTRShBUFBLSVQpCiAgICAgV0tWaWV3KiB3a1ZpZXcoKSBjb25zdDsKKyAgICB2b2lkIGludHJp
bnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGludHJpbnNp
Y0NvbnRlbnRTaXplKTsKICNlbmRpZgogI2VuZGlmCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtNzU3
LDYgKzc1OCw5IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFdlYkxvYWRlckNsaWVudCYgbG9hZGVy
Q2xpZW50KCkgeyByZXR1cm4gbV9sb2FkZXJDbGllbnQ7IH0KIAorICAgIGRvdWJsZSBtaW5pbXVt
TGF5b3V0V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1MYXlvdXRXaWR0aDsgfQorICAg
IHZvaWQgc2V0TWluaW11bUxheW91dFdpZHRoKGRvdWJsZSk7CisKIHByaXZhdGU6CiAgICAgV2Vi
UGFnZVByb3h5KFBhZ2VDbGllbnQqLCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBh
Z2VHcm91cCosIHVpbnQ2NF90IHBhZ2VJRCk7CiAKQEAgLTEyNDIsNiArMTI0Niw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX3Nob3VsZFNlbmRFdmVudHNTeW5jaHJvbm91c2x5OwogCiAgICAgYm9v
bCBtX3N1cHByZXNzVmlzaWJpbGl0eVVwZGF0ZXM7CisgICAgZmxvYXQgbV9taW5pbXVtTGF5b3V0
V2lkdGg7CiAKICAgICBmbG9hdCBtX21lZGlhVm9sdW1lOwogICAgIGJvb2wgbV9tYXlTdGFydE1l
ZGlhV2hlbkluV2luZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaAppbmRleCAw
OGIxNjUwOGQ0M2QxMTIyYjgyNmJkZjRiZDkyYmY0ODk0M2Q4YjRlLi5jNzg2MTA5ODQwNjczOGE0
MDQyYzU0YjY2OWExZWM3ZGZhOWRlMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHkuaApAQCAtNDgsMTMgKzQ4LDE1IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNpemVE
aWRDaGFuZ2UoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgd2FpdEZvclBvc3NpYmxlR2Vv
bWV0cnlVcGRhdGUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENo
YW5nZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtaW5pbXVtTGF5b3V0V2lkdGhEaWRD
aGFuZ2UoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJl
ZUNvbnRleHQmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUlu
Zm8mKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29u
dGV4dCYpIE9WRVJSSURFOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KLSAgICB2aXJ0dWFs
IHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
VXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVu
dFNpemUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURp
ZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkg
T1ZFUlJJREU7CiAKICAgICB2b2lkIHNlbmRVcGRhdGVHZW9tZXRyeSgpOwogCkBAIC02Myw2ICs2
NSw5IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgbGFzdCBzaXplIHdlIHNlbnQgdG8gdGhlIHdl
YiBwcm9jZXNzLgogICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0U2VudFNpemU7CisKKyAgICAv
LyBUaGUgbGFzdCBtaW5pbXVtIGxheW91dCB3aWR0aCB3ZSBzZW50IHRvIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICBkb3VibGUgbV9sYXN0U2VudE1pbmltdW1MYXlvdXRXaWR0aDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4
IGEwYzE4MTc2ODM5ZWFmYWI1MTdmZmM1NThmOTU4YmIwNjZmZmE3ZGMuLjNkZThiZTdhNjg3MzFl
NzY2YmVjOThjMDQ3ZGQ0MjhhYTY1NWM4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
UHJveHkubW0KQEAgLTQ3LDYgKzQ3LDcgQEAgUGFzc093blB0cjxUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5PiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3gKIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHkoV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkpCiAgICAgOiBEcmF3aW5nQXJlYVBy
b3h5KERyYXdpbmdBcmVhVHlwZVRpbGVkQ29yZUFuaW1hdGlvbiwgd2ViUGFnZVByb3h5KQogICAg
ICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeShmYWxzZSkKKyAgICAsIG1fbGFzdFNl
bnRNaW5pbXVtTGF5b3V0V2lkdGgoMCkKIHsKIH0KIApAQCAtMTAzLDYgKzEwNCwxOSBAQCB2b2lk
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmNvbG9yU3BhY2VEaWRDaGFuZ2Uo
KQogICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdB
cmVhOjpTZXRDb2xvclNwYWNlKG1fd2ViUGFnZVByb3h5LT5jb2xvclNwYWNlKCkpLCBtX3dlYlBh
Z2VQcm94eS0+cGFnZUlEKCkpOwogfQogCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHk6Om1pbmltdW1MYXlvdXRXaWR0aERpZENoYW5nZSgpCit7CisgICAgaWYgKCFtX3dl
YlBhZ2VQcm94eS0+aXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBXZSBvbmx5
IHdhbnQgb25lIFVwZGF0ZUdlb21ldHJ5IG1lc3NhZ2UgaW4gZmxpZ2h0IGF0IG9uY2UsIHNvIGlm
IHdlJ3ZlIGFscmVhZHkgc2VudCBvbmUgYnV0CisgICAgLy8gaGF2ZW4ndCB5ZXQgcmVjZWl2ZWQg
dGhlIHJlcGx5IHdlJ2xsIGp1c3QgcmV0dXJuIGVhcmx5IGhlcmUuCisgICAgaWYgKG1faXNXYWl0
aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmRVcGRh
dGVHZW9tZXRyeSgpOworfQorCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3Jl
U3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4dCkKIHsKICAg
ICBtX3dlYlBhZ2VQcm94eS0+ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRy
ZWVDb250ZXh0KTsKQEAgLTExOSwyNCArMTMzLDM2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0
CiAgICAgbV93ZWJQYWdlUHJveHktPnVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGxh
eWVyVHJlZUNvbnRleHQpOwogfQogCi12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
UHJveHk6OmRpZFVwZGF0ZUdlb21ldHJ5KCkKK3ZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgbmV3SW50cmluc2lj
Q29udGVudFNpemUpCiB7CiAgICAgQVNTRVJUKG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0
cnkpOwogCiAgICAgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlOwogCisg
ICAgZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0aCA9IG1fd2ViUGFnZVByb3h5LT5taW5pbXVtTGF5
b3V0V2lkdGgoKTsKKwogICAgIC8vIElmIHRoZSBXS1ZpZXcgd2FzIHJlc2l6ZWQgd2hpbGUgd2Ug
d2VyZSB3YWl0aW5nIGZvciBhIERpZFVwZGF0ZUdlb21ldHJ5IHJlcGx5IGZyb20gdGhlIHdlYiBw
cm9jZXNzLAogICAgIC8vIHdlIG5lZWQgdG8gcmVzZW5kIHRoZSBuZXcgc2l6ZSBoZXJlLgotICAg
IGlmIChtX2xhc3RTZW50U2l6ZSAhPSBtX3NpemUpCisgICAgaWYgKG1fbGFzdFNlbnRTaXplICE9
IG1fc2l6ZSB8fCBtX2xhc3RTZW50TWluaW11bUxheW91dFdpZHRoICE9IG1pbmltdW1MYXlvdXRX
aWR0aCkKICAgICAgICAgc2VuZFVwZGF0ZUdlb21ldHJ5KCk7CisKKyAgICBpZiAobWluaW11bUxh
eW91dFdpZHRoID4gMCkKKyAgICAgICAgbV93ZWJQYWdlUHJveHktPmludHJpbnNpY0NvbnRlbnRT
aXplRGlkQ2hhbmdlKG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKTsKK30KKwordm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5n
ZShjb25zdCBJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkKK3sKKyAgICBpZiAobV93
ZWJQYWdlUHJveHktPm1pbmltdW1MYXlvdXRXaWR0aCgpID4gMCkKKyAgICAgICAgbV93ZWJQYWdl
UHJveHktPmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKG5ld0ludHJpbnNpY0NvbnRlbnRT
aXplKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpzZW5k
VXBkYXRlR2VvbWV0cnkoKQogewogICAgIEFTU0VSVCghbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVH
ZW9tZXRyeSk7CiAKKyAgICBtX2xhc3RTZW50TWluaW11bUxheW91dFdpZHRoID0gbV93ZWJQYWdl
UHJveHktPm1pbmltdW1MYXlvdXRXaWR0aCgpOwogICAgIG1fbGFzdFNlbnRTaXplID0gbV9zaXpl
OwotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdB
cmVhOjpVcGRhdGVHZW9tZXRyeShtX3NpemUpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwor
ICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVh
OjpVcGRhdGVHZW9tZXRyeShtX3NpemUsIG1fbGFzdFNlbnRNaW5pbXVtTGF5b3V0V2lkdGgpLCBt
X3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwogICAgIG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2Vv
bWV0cnkgPSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tCmluZGV4IDEzN2MyMmYyY2MzNjdhMDMyMjU3MzIzN2UyZjA3YTVhODI5
ZmViOWEuLjg0OWJhMjBmODI2NmEyMTZiOGUxMWYwMjU0OTEwMzU3MDdlOGNlMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC00NzQs
NiArNDc0LDExIEBAIFdLVmlldyogV2ViUGFnZVByb3h5Ojp3a1ZpZXcoKSBjb25zdAogICAgIHJl
dHVybiBtX3BhZ2VDbGllbnQtPndrVmlldygpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6aW50
cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVu
dFNpemUpCit7CisgICAgbV9wYWdlQ2xpZW50LT5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5n
ZShpbnRyaW5zaWNDb250ZW50U2l6ZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXll
cikKIHsKICAgICBtX3BhZ2VDbGllbnQtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSb290TGF5
ZXIocm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmlu
ZGV4IDJhNWRhNWM1OTg2MDczNmE1NTg0YjBmMWM1NDFkZjE2OGIwYzk3ZDcuLjI4M2E4MzljNGZl
YmE5NWY1MDY0YTM4NjVkYjIwNGRiYWM5YzkyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
QEAgLTQzMiw3ICs0MzIsNyBAQCBQbGF0Zm9ybVBhZ2VDbGllbnQgV2ViQ2hyb21lQ2xpZW50Ojpw
bGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi12b2lkIFdlYkNo
cm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSogZnJhbWUsIGNvbnN0IEludFNp
emUmIC8qc2l6ZSovKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNo
YW5nZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogewogICAgIGlm
ICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KCkpIHsKICAgICAgICAgV2ViRnJhbWUqIGxhcmdlc3RGcmFtZSA9IGZpbmRMYXJnZXN0RnJhbWVJ
bkZyYW1lU2V0KG1fcGFnZSk7CkBAIC00NTYsNiArNDU2LDggQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRTaXplJiAvKnNp
emUqLykKIAogI2VuZGlmCiAKKyAgICBtX3BhZ2UtPmRyYXdpbmdBcmVhKCktPm1haW5GcmFtZUNv
bnRlbnRTaXplQ2hhbmdlZChzaXplKTsKKwogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJh
bWUtPnZpZXcoKTsKICAgICBpZiAoZnJhbWVWaWV3ICYmICFmcmFtZVZpZXctPmRlbGVnYXRlc1Nj
cm9sbGluZygpKSAgewogICAgICAgICBib29sIGhhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmcmFt
ZVZpZXctPmhvcml6b250YWxTY3JvbGxiYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggYzhlOTZjM2MwZTMzMTJkZjc5YjRjYWZi
NDc1NGNlYmZkYmU4YjU0Ny4uMzI3ZjY1MWM5M2Y2MmVjYWM0ZTNlMTA1NGIwN2UzMjMwMTFmYmJl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmgKQEAgLTg2LDYgKzg2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50
aW5nRW5hYmxlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBtYWluRnJh
bWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIHsgfQogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgeyByZXR1cm4gMDsgfQpAQCAt
MTIxLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gVXNl
ZCBieSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS4KLSAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlR2VvbWV0cnkoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdmlld1NpemUpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3U2l6
ZSwgZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERl
dmljZVNjYWxlRmFjdG9yKGZsb2F0KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29sb3JTcGFj
ZShjb25zdCBDb2xvclNwYWNlRGF0YSYpIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5k
ZXggZmU5OGM3MzY0MjAzNDg3NThiZjdhNjM5OTY5YTgwNDY0NDVhMjI4OC4uZGVjODZlYzIyOTE2
ZWJhNzU5MjI4MjQ1NDE2N2NmMzRhYTFkZjMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5tZXNzYWdlcy5pbgpAQCAtMzAs
NyArMzAsNyBAQCBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYSB7CiAKICNpZiBQTEFURk9STShNQUMp
CiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS4KLSAgICBVcGRh
dGVHZW9tZXRyeShXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKQorICAgIFVwZGF0ZUdlb21ldHJ5
KFdlYkNvcmU6OkludFNpemUgdmlld1NpemUsIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpCiAg
ICAgU2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgU2V0
Q29sb3JTcGFjZShXZWJLaXQ6OkNvbG9yU3BhY2VEYXRhIGNvbG9yU3BhY2UpCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAppbmRleCA3ZDViM2JlOTY2MjA0
YjgzMTJmOWU1ZWQ2NjU4N2Q2OTI5ODExYjc2Li45MGM3NmM0NTdkZWQ5MWY1OTZiYjc0MDUzNjU0
NTJlYjg0ZTJiZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5o
CkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFs
bFBhZ2VPdmVybGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5
TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoQWZ0ZXJFbnN1cmluZ1VwZGF0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGdW5jdGlvbjx2b2lk
ICgpPiYpIE9WRVJSSURFOwogCkBAIC04MCw3ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVz
c2FnZSBoYW5kbGVycy4KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFBhaW50aW5nKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBhaW50aW5nKCkgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCB2b2lkIHVwZGF0ZUdlb21ldHJ5KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdTaXpl
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgdmlld1NpemUsIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVySG9zdGluZ01vZGUodWludDMyX3QpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb2xvclNwYWNlKGNvbnN0IENvbG9yU3BhY2VEYXRhJikg
T1ZFUlJJREU7CkBAIC0xMDUsNiArMTA2LDEwIEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI+IG1fcGFnZU92ZXJsYXlMYXllcjsKIAogICAgIGJvb2wgbV9pc1Bh
aW50aW5nU3VzcGVuZGVkOworCisgICAgZG91YmxlIG1fbWluaW11bUxheW91dFdpZHRoOworICAg
IFdlYkNvcmU6OkludFNpemUgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplOworICAgIGJv
b2wgbV9pblVwZGF0ZUdlb21ldHJ5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBjZjVkMjNlMDEzYjk4
NGNiN2JjZDkzMWRhMzIzZTg3YzQ3ZTYyZDZlLi4xMDNkMjUxM2I4MzBmNjVmNzYyYzc1MjNhN2Vk
YTFjMTlkN2ExZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEu
bW0KQEAgLTMzLDYgKzMzLDcgQEAKICNpbXBvcnQgIkV2ZW50RGlzcGF0Y2hlci5oIgogI2ltcG9y
dCAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgor
I2ltcG9ydCAiV2ViRnJhbWUuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgi
CkBAIC02OSw2ICs3MCw3IEBAIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYShXZWJQYWdlKiB3ZWJQYWdlLCBjCiAgICAgLCBtX2xheWVy
VHJlZVN0YXRlSXNGcm96ZW4oZmFsc2UpCiAgICAgLCBtX2xheWVyRmx1c2hTY2hlZHVsZXIodGhp
cykKICAgICAsIG1faXNQYWludGluZ1N1c3BlbmRlZCghcGFyYW1ldGVycy5pc1Zpc2libGUpCisg
ICAgLCBtX21pbmltdW1MYXlvdXRXaWR0aCgwKQogewogICAgIFBhZ2UqIHBhZ2UgPSBtX3dlYlBh
Z2UtPmNvcmVQYWdlKCk7CiAKQEAgLTIyOSw2ICsyMzEsMjEgQEAgdm9pZCBUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYKICAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKGJpbmQoJlNjcm9sbGluZ1RyZWU6
OnNldERlYnVnUm9vdExheWVyLCBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKCktPnNjcm9sbGluZ1RyZWUoKSwgbV9kZWJ1Z0luZm9MYXllcikpOwogfQogCit2b2lk
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5n
ZWQoY29uc3QgSW50U2l6ZSYgY29udGVudFNpemUpCit7CisgICAgaWYgKCFtX21pbmltdW1MYXlv
dXRXaWR0aCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1faW5VcGRhdGVHZW9tZXRyeSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6
ZSA9PSBjb250ZW50U2l6ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9sYXN0U2VudEludHJp
bnNpY0NvbnRlbnRTaXplID0gY29udGVudFNpemU7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpEcmF3aW5nQXJlYVByb3h5OjpJbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb250
ZW50U2l6ZSkpOworfQorCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaXNw
YXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRnVuY3Rpb248dm9p
ZCAoKT4mIGZ1bmN0aW9uUmVmKQogewogICAgIG1fd2ViUGFnZS0+cmVmKCk7CkBAIC0zMzAsOSAr
MzQ3LDI0IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnJlc3VtZVBhaW50
aW5nKCkKICAgICAgICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5yZXN1bWVTY3JpcHRlZEFuaW1h
dGlvbnMoKTsKIH0KIAotdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRl
R2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUpCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwgZG91
YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkKIHsKLSAgICBtX3dlYlBhZ2UtPnNldFNpemUodmlld1Np
emUpOworICAgIG1faW5VcGRhdGVHZW9tZXRyeSA9IHRydWU7CisKKyAgICBtX21pbmltdW1MYXlv
dXRXaWR0aCA9IG1pbmltdW1MYXlvdXRXaWR0aDsKKworICAgIEludFNpemUgc2l6ZSA9IHZpZXdT
aXplOworICAgIEludFNpemUgY29udGVudFNpemUgPSBJbnRTaXplKC0xLCAtMSk7CisKKyAgICBp
ZiAobV9taW5pbXVtTGF5b3V0V2lkdGggPiAwKSB7CisgICAgICAgIG1fd2ViUGFnZS0+c2V0U2l6
ZShJbnRTaXplKG1fbWluaW11bUxheW91dFdpZHRoLCAwKSk7CisgICAgICAgIG1fd2ViUGFnZS0+
bGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAgICBjb250ZW50U2l6ZSA9IG1fd2ViUGFnZS0+bWFp
bldlYkZyYW1lKCktPmNvbnRlbnRCb3VuZHMoKS5zaXplKCk7CisgICAgICAgIHNpemUgPSBjb250
ZW50U2l6ZTsKKyAgICB9CisKKyAgICBtX3dlYlBhZ2UtPnNldFNpemUoc2l6ZSk7CiAgICAgbV93
ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwogCiAgICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikK
QEAgLTM1MSw3ICszODMsMTAgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
dXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUpCiAgICAgW0NBVHJhbnNhY3Rp
b24gZmx1c2hdOwogICAgIFtDQVRyYW5zYWN0aW9uIHN5bmNocm9uaXplXTsKIAotICAgIG1fd2Vi
UGFnZS0+c2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RGlkVXBkYXRlR2VvbWV0cnko
KSk7CisgICAgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplID0gY29udGVudFNpemU7Cisg
ICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVH
ZW9tZXRyeShjb250ZW50U2l6ZSkpOworCisgICAgbV9pblVwZGF0ZUdlb21ldHJ5ID0gZmFsc2U7
CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldERldmljZVNjYWxl
RmFjdG9yKGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKQo=
</data>
<flag name="review"
          id="192687"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>