<?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>72338</bug_id>
          
          <creation_ts>2011-11-14 17:27:32 -0800</creation_ts>
          <short_desc>HostWindow invalidation functions should use root view coordinates</short_desc>
          <delta_ts>2011-11-15 09:55:05 -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>
          
          <blocked>71945</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>502527</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-11-14 17:27:32 -0800</bug_when>
    <thetext>HostWindow invalidation functions should use root view coordinates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502534</commentid>
    <comment_count>1</comment_count>
      <attachid>115071</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-11-14 17:32:55 -0800</bug_when>
    <thetext>Created attachment 115071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502998</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-11-15 09:55:05 -0800</bug_when>
    <thetext>Committed r100290: &lt;http://trac.webkit.org/changeset/100290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115071</attachid>
            <date>2011-11-14 17:32:55 -0800</date>
            <delta_ts>2011-11-15 09:49:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72338-20111114173332.patch</filename>
            <type>text/plain</type>
            <size>46625</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU4ZGZiZmMxZTI0Yzdj
ZjA5YjAwODEzODc2MGQ1YTQ5ZWEyODVhMi4uNTJhMDhlYWQ4YzkwZmQ5ODFlZmU0MTdkMGI2Mjlm
Zjg1MThlNTdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDExLTExLTE0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgSG9zdFdpbmRvdyBp
bnZhbGlkYXRpb24gZnVuY3Rpb25zIHNob3VsZCB1c2Ugcm9vdCB2aWV3IGNvb3JkaW5hdGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBpbnZh
bGlkYXRlV2luZG93IHRvIGludmFsaWRhdGVSb290VmlldywgYW5kIGludmFsaWRhdGVDb250ZW50
c0FuZFdpbmRvdworICAgICAgICB0byBpbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldy4gTWFr
ZSBzdXJlIHRoYXQgdGhlIHJlY3RzIHBhc3NlZCB0byB0aGUgcmVuYW1lZCBmdW5jdGlvbnMKKyAg
ICAgICAgYXJlIGluIHJvb3QgdmlldyBjb29yZGluYXRlcyBieSBjaGFuZ2luZyBjb250ZW50c1Rv
V2luZG93IGNhbGxzIHRvIGNvbnRlbnRzVG9Sb290Vmlldy4KKyAgICAgICAgCisgICAgICAgIElu
IHByYWN0aWNlIHRoaXMgZG9lc24ndCBtYXR0ZXIgYmVjYXVzZSBmb3IgYWxsIHBsYXRmb3JtcyBl
eGNlcHQgTWFjIFdlYktpdDEsIHJvb3QgdmlldyBjb29yZGluYXRlcworICAgICAgICBhbmQgd2lu
ZG93IGNvb3JkaW5hdGVzIGFyZSBlcXVpdmFsZW50LCBhbmQgTWFjIFdlYktpdDEgZG9lc24ndCB1
c2UgdGhlc2UgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmludmFsaWRhdGVSb290Vmlldyk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5o
OgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9GcmFtZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6dGlsZWRCYWNraW5nU3RvcmVQYWludEVuZCk6
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9s
bENvbnRlbnRzRmFzdFBhdGgpOgorICAgICAgICAqIHBsYXRmb3JtL0hvc3RXaW5kb3cuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFZpZXc6OnJlY3RUb0NvcHlPblNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzY3JvbGxDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp3aGVlbEV2
ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxlc3NTY3JvbGxWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lbGVzc1Njcm9sbFZpZXc6OmludmFsaWRhdGVSZWN0
KToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW1hZ2VDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KToK
KwogMjAxMS0xMS0xNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVuaXF1ZSBvcmlnaW5zIHNob3VsZG4ndCByZW1lbWJlciB0aGVpciBzY2hlbWUsIGhvc3QsIG9y
IHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDE4NjFlODM4ZTRjMzM3YWUwZGI2
OTA1MzExNjA5ZThlMDU4Y2M1NS4uNmJkNmNiN2MxM2JmYzU3MzY3YTc3YmRmMjljYmVjYzFhYmQ1
NjBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0x
MS0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIEhv
c3RXaW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucyBzaG91bGQgdXNlIHJvb3QgdmlldyBjb29y
ZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzIzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50
SW1wbDo6aW52YWxpZGF0ZVJvb3RWaWV3KToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50
SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAoV2ViS2l0OjpD
aHJvbWVDbGllbnRJbXBsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAg
ICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZVJv
b3RWaWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6aW52YWxpZGF0ZUNv
bnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpp
bnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBN
ZW51SW1wbC5oOgorCiAyMDExLTExLTE0ICBSYXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBBZGQgYnVmZmVyaW5nIHRvIGhhbmRsZSBtaXNtYXRjaCBiZXR3ZWVuIGhhcmR3
YXJlIGJ1ZmZlciBzaXplIGFuZCB3ZWJhdWRpbyByZW5kZXIgc2l6ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmlu
ZGV4IDkzYzI2OTVhZjJiYjJjMDIyYzY3NzAxMzZiODU3MWMxODIzNjdjMWEuLmU0ZTY1MDg2ZGM5
MDdkYzRhMDkyNDEyOWQ0ZTZjNTA0YmI2YzI2YTAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMS0xMS0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgorCisgICAgICAgIEhvc3RXaW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucyBzaG91bGQgdXNl
IHJvb3QgdmlldyBjb29yZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzIzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVSb290Vmlldyk6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RW
aWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRl
bnRzRm9yU2xvd1Njcm9sbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmg6CisKIDIwMTEtMTEtMTQgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gVXBkYXRlIGV3a19mcmFtZV9zY3JpcHRfZXhlY3V0ZSB0byBy
ZXR1cm4gdGhlIHJlc3VsdCBmb3IgSmF2YVNjcmlwdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDlkODlh
NDgzNzAxZmVjZTVmODcxY2JlNTBjZmZlZDUwNGU3NWRlZDYuLmJhYzAzNjg1OWFmY2MzMGY3NzZh
YmIwZGFlMzgzZmQ4MjYwZTkxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMS0xMS0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAg
ICAgIEhvc3RXaW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucyBzaG91bGQgdXNlIHJvb3Qgdmll
dyBjb29yZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzIzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZVJvb3RWaWV3KToKKyAgICAgICAgKFdlYktpdDo6
Q2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyk6CisgICAgICAgIChX
ZWJLaXQ6OkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbCk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMTEtMTEtMTQg
IFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHVEtdIFBv
c3NpYmxlIGNyYXNoIHdoZW4gZGVzdHJveWluZyBhZnRlciBjYWxsZWQgd2lkZ2V0U2l6ZUNoYW5n
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjQ5MDQwNjRiMzdjNjk2ZDYxYjg4MTRjY2IzZjRmMDNh
MWVkY2IzZS4uZjFkNWQzNGI3NGQzNjI3MDhhOWZkYjRlZTE0ODAxNDcyOTc5ZmFkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTE0ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgSG9zdFdpbmRvdyBpbnZhbGlkYXRpb24g
ZnVuY3Rpb25zIHNob3VsZCB1c2Ugcm9vdCB2aWV3IGNvb3JkaW5hdGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlUm9vdFZpZXcpOgorICAgICAg
ICAoV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyk6CisgICAg
ICAgIChXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgor
CiAyMDExLTExLTE0ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmVtb3ZlIHRoZSBDU1MzX0ZMRVhCT1ggY29tcGlsZSB0aW1lIGZsYWcgYW5kIGVuYWJsZSBvbiBh
bGwgcG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOTU0NzdkNDdmNGQxNzA1ZjQ5ZTJkZTBkMmM3ZWQ5
YWY3YWVhYzU3My4uNjljNzlmOWNiNjg3NGFhNTMwYjczMWRjODMwN2FjYWUxYTQxOTJhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMS0xNCAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIEhvc3RXaW5kb3cgaW52YWxpZGF0aW9u
IGZ1bmN0aW9ucyBzaG91bGQgdXNlIHJvb3QgdmlldyBjb29yZGluYXRlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjppbnZhbGlk
YXRlUm9vdFZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OmludmFsaWRh
dGVDb250ZW50c0FuZFJvb3RWaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0
OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oOgorCiAyMDExLTExLTExICBQaWVycmUgUm9zc2kgIDxwaWVy
cmUucm9zc2lAZ21haWwuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIHRoZSBRU3R5bGUgZGVw
ZW5kZW5jeSBpbiBRdCdzIG1vYmlsZSB0aGVtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGY4Mzk2ZGM4
YWU1NTE1Y2VhNDJlNGFjMzk4ZDBjMTcyZjc5YzczNTUuLmU2MTE0ZjhiYWU1M2VkZTM1NWU5ODc3
ZDU1YjQzNmUyN2RmMzQzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MS0xMS0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAg
IEhvc3RXaW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucyBzaG91bGQgdXNlIHJvb3QgdmlldyBj
b29yZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzIzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJv
bWVDbGllbnQ6OmludmFsaWRhdGVSb290Vmlldyk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0xMS0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgc3RhdGljICJwb2xpY3kiIHN0YXRlIGZyb20gU2Vj
dXJpdHlPcmlnaW4uY3BwIHRvIFNlY3VyaXR5UG9saWN5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpp
bmRleCA3MTMyMjA5MGVkZGE4YWJiNjhmMmM1NDBhYzFhNjY3NDk0YWM2ZjM3Li43NmZiMDdiMWM3
MmEyOWVhMGU0NDY1NTlhYmY4NzBjNjRiZjg2OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDExLTExLTE0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgSG9zdFdpbmRvdyBpbnZhbGlkYXRpb24gZnVuY3Rpb25zIHNob3Vs
ZCB1c2Ugcm9vdCB2aWV3IGNvb3JkaW5hdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6aW52YWxpZGF0ZVJvb3RWaWV3
KToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OmludmFsaWRhdGVDb250ZW50
c0FuZFJvb3RWaWV3KToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OmludmFs
aWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGll
bnRXaW5DRTo6c2Nyb2xsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oOgorCiAyMDExLTExLTA0ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtXSU5DRV0gVXNlIGRlZmF1bHQgTG9jYWxpemF0aW9uU3RyYXRlZ3kK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cKaW5kZXggMDM2ODYzMGQzOGIwNjFjNWM0NDNlMzJkNjYwMDcxNTdiOWE5Njk3
NC4uNTI3YWYyM2IyOTYzNjdhZjAxNGY0ZDRiNjBjOTk0ZjU3MTI2NTA1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMS0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgorCisgICAgICAgIEhvc3RXaW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9u
cyBzaG91bGQgdXNlIHJvb3QgdmlldyBjb29yZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6OmludmFsaWRhdGVSb290Vmll
dyk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZUNvbnRlbnRz
Rm9yU2xvd1Njcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aW52YWxp
ZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21l
Q2xpZW50V3guaDoKKwogMjAxMS0xMS0wMiAgVG9tIFNlcGV6ICA8dHNlcGV6QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBYU1NBdWRpdG9yIGlzIHNpbGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM1YmI1MDVi
YTZjMTI3ZjFhMTc1MzQ0ZGU0N2EzMTJmMDU4MmZlOTYuLmZmNGFlZTNmNTc3YWExYTk3M2ZiY2Rk
Zjk5ZGEwNTJkM2U5OTA0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMS0x
NCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIEhvc3RX
aW5kb3cgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucyBzaG91bGQgdXNlIHJvb3QgdmlldyBjb29yZGlu
YXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIz
MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlUm9vdFZpZXcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDExLTExLTE0ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIHRoZSBDU1MzX0ZMRVhCT1ggY29tcGlsZSB0aW1lIGZsYWcgYW5kIGVuYWJsZSBvbiBhbGwg
cG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCAxM2NjMDhmMzE0M2Fh
MGY5NzkzODQ0YTZmNDNhNzg2OTQ0ZTQ2YzAxLi5kODYzNjczM2NmZmZkZTM2YmQyOWE5ODU2NTc2
ZDQzNDk4ZDQ4NTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNTcs
OSArMTU3LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBJbnRSZWN0IHdpbmRvd1Jlc2l6ZXJS
ZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9Ci0gICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgeyB9Ci0g
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50
UmVjdCYsIGJvb2wpIHt9OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlUm9vdFZpZXcoY29u
c3QgSW50UmVjdCYsIGJvb2wpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgT1ZFUlJJREUgeyB9
CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3Qg
SW50UmVjdCYsIGJvb2wpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29u
c3QgSW50U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgeyB9CiAjaWYgVVNF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdmlydHVhbCB2b2lkIGRlbGVnYXRlZFNjcm9sbFJl
cXVlc3RlZChjb25zdCBJbnRQb2ludCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDZk
MGRhOGZjNGRmMjZjYWJkOWVlYmY0N2NjZmZlODJkODEzYzExYjQuLjFkMzg2MDM1MWJjZDI2NmU1
MzViMTc0NzJhN2EzZmVjZTk1OTBlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTcxLDE0
ICs3MSwxNCBAQCBDaHJvbWU6On5DaHJvbWUoKQogICAgIG1fY2xpZW50LT5jaHJvbWVEZXN0cm95
ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWU6OmludmFsaWRhdGVXaW5kb3coY29uc3QgSW50UmVjdCYg
dXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZTo6aW52YWxpZGF0ZVJvb3RW
aWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewotICAgIG1f
Y2xpZW50LT5pbnZhbGlkYXRlV2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgbV9j
bGllbnQtPmludmFsaWRhdGVSb290Vmlldyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOwogfQogCi12
b2lkIENocm9tZTo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3QmIHVw
ZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBDaHJvbWU6OmludmFsaWRhdGVDb250ZW50
c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQog
ewotICAgIG1fY2xpZW50LT5pbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3codXBkYXRlUmVjdCwg
aW1tZWRpYXRlKTsKKyAgICBtX2NsaWVudC0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXco
dXBkYXRlUmVjdCwgaW1tZWRpYXRlKTsKIH0KIAogdm9pZCBDaHJvbWU6OmludmFsaWRhdGVDb250
ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlh
dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCA1MWM1OTIyYzg0MWQzNzk5MzMyYTQwMzk2ZjZiNjU2
NGY0ODFkODM1Li4wNDRlYjZjYzI4MTFkOWMxYjk5YWJkY2MwMjBmZDEwYzAzZTcwNWE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmgKQEAgLTY5LDggKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIC8vIEhvc3RXaW5kb3cgbWV0aG9kcy4KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29s
KSBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFJv
b3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29sKSBPVkVSUklERTsKICAgICAgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRS
ZWN0JiwgY29uc3QgSW50UmVjdCYpOwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggN2NjYjc3YWRiOTlkYTE0YWU1ZTFhYTI3Mjc1
ZjIzM2Q4M2RkYTE1YS4uM2FjYTMxMThhM2Q1ZWYyZWM0NzE1M2RlNzY4Yzg0ODgzNzMyY2ZmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0xNDYsOCArMTQ2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIEludFJlY3Qgd2luZG93UmVzaXplclJlY3Qo
KSBjb25zdCA9IDA7CiAKICAgICAgICAgLy8gTWV0aG9kcyB1c2VkIGJ5IEhvc3RXaW5kb3cuCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29s
KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3co
Y29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiwgYm9vbCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwo
Y29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChj
b25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFJlY3QmKSA9IDA7CiAjaWYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGRmMmQ3MGM2
YTIzNzM5OGU1NmU3OTMyNmM2Mzk5Nzc5YzBiOWVlNTMuLmUzNTNiNDljOWY2ZWU5Yzg5ODhhMGMw
ZGE4MGRmMTlmMjE3YzEyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC05MjksNyArOTI5LDcg
QEAgdm9pZCBGcmFtZTo6dGlsZWRCYWNraW5nU3RvcmVQYWludEVuZChjb25zdCBWZWN0b3I8SW50
UmVjdD4mIHBhaW50ZWRBcmVhKQogICAgIHVuc2lnbmVkIHNpemUgPSBwYWludGVkQXJlYS5zaXpl
KCk7CiAgICAgLy8gUmVxdWVzdCByZXBhaW50IGZyb20gdGhlIHN5c3RlbQogICAgIGZvciAoaW50
IG4gPSAwOyBuIDwgc2l6ZTsgKytuKQotICAgICAgICBtX3BhZ2UtPmNocm9tZSgpLT5pbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3cobV92aWV3LT5jb250ZW50c1RvV2luZG93KHBhaW50ZWRBcmVh
W25dKSwgZmFsc2UpOworICAgICAgICBtX3BhZ2UtPmNocm9tZSgpLT5pbnZhbGlkYXRlQ29udGVu
dHNBbmRSb290VmlldyhtX3ZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhwYWludGVkQXJlYVtuXSks
IGZhbHNlKTsKIH0KIAogSW50UmVjdCBGcmFtZTo6dGlsZWRCYWNraW5nU3RvcmVDb250ZW50c1Jl
Y3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGU2MDVjN2U3YTBiMzA3ODBlNWVj
NWFhNTU0ZGM0NGI3NzlkMzcxMDEuLjQ0YWFkOTkzYzgxNDVkZWQwZTkxYzRiYTIzYTFhY2EyNWQy
YmZhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM3Nyw3ICszNzcsNyBAQCB2
b2lkIEZyYW1lVmlldzo6aW52YWxpZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAg
ICBpZiAoIXBhcmVudCgpKSB7CiAgICAgICAgIGlmIChob3N0V2luZG93KCkpCi0gICAgICAgICAg
ICBob3N0V2luZG93KCktPmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBmYWxzZSAv
KmltbWVkaWF0ZSovKTsKKyAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRl
bnRzQW5kUm9vdFZpZXcocmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTE0NTIsNyArMTQ1Miw3IEBAIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxD
b250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0
CiAgICAgICAgIGlmIChyZW5kZXJCb3gtPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3Np
dGlvbikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBJbnRSZWN0IHVwZGF0ZVJlY3Qg
PSByZW5kZXJCb3gtPmxheWVyKCktPnJlcGFpbnRSZWN0SW5jbHVkaW5nRGVzY2VuZGFudHMoKTsK
LSAgICAgICAgdXBkYXRlUmVjdCA9IGNvbnRlbnRzVG9XaW5kb3codXBkYXRlUmVjdCk7CisgICAg
ICAgIHVwZGF0ZVJlY3QgPSBjb250ZW50c1RvUm9vdFZpZXcodXBkYXRlUmVjdCk7CiAgICAgICAg
IGlmICghaXNDb21wb3NpdGVkQ29udGVudExheWVyICYmIGNsaXBzUmVwYWludHMoKSkKICAgICAg
ICAgICAgIHVwZGF0ZVJlY3QuaW50ZXJzZWN0KHJlY3RUb1Njcm9sbCk7CiAgICAgICAgIGlmICgh
dXBkYXRlUmVjdC5pc0VtcHR5KCkpIHsKQEAgLTE0NzgsNyArMTQ3OCw3IEBAIGJvb2wgRnJhbWVW
aWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBj
b25zdCBJbnRSZWN0CiAgICAgICAgICAgICB1cGRhdGVSZWN0LnVuaXRlKHNjcm9sbGVkUmVjdCk7
CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICAgICAgaWYgKGlzQ29t
cG9zaXRlZENvbnRlbnRMYXllcikgewotICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3QgPSB3aW5k
b3dUb0NvbnRlbnRzKHVwZGF0ZVJlY3QpOworICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3QgPSBy
b290Vmlld1RvQ29udGVudHModXBkYXRlUmVjdCk7CiAgICAgICAgICAgICAgICAgUmVuZGVyVmll
dyogcm9vdCA9IHJvb3RSZW5kZXJlcih0aGlzKTsKICAgICAgICAgICAgICAgICBBU1NFUlQocm9v
dCk7CiAgICAgICAgICAgICAgICAgcm9vdC0+bGF5ZXIoKS0+c2V0QmFja2luZ05lZWRzUmVwYWlu
dEluUmVjdCh1cGRhdGVSZWN0KTsKQEAgLTE0ODcsNyArMTQ4Nyw3IEBAIGJvb2wgRnJhbWVWaWV3
OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25z
dCBJbnRSZWN0CiAjZW5kaWYKICAgICAgICAgICAgIGlmIChjbGlwc1JlcGFpbnRzKCkpCiAgICAg
ICAgICAgICAgICAgdXBkYXRlUmVjdC5pbnRlcnNlY3QocmVjdFRvU2Nyb2xsKTsKLSAgICAgICAg
ICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVwZGF0ZVJlY3Qs
IGZhbHNlKTsKKyAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5k
Um9vdFZpZXcodXBkYXRlUmVjdCwgZmFsc2UpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5k
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCBhZDI1MTg1
MjRmYWVkMzM0OWE0YWEyMTVjNjBkMDBiNmZmNTVhZmUxLi4xNWMzYzcxNjI5MDY5N2RiNTM0ZWU0
MmE1YzhmYjQyNDJjMzA5ODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9I
b3N0V2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBA
IC0zOCwxNiArMzgsMTYgQEAgcHVibGljOgogICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0
dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKLSAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlk
YXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBk
byBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMuCi0gICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUp
ID0gMDsKKyAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSByb290IHZpZXcs
IG5vdCB0aGUgY29udGVudHMuIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3Vz
bHksIG90aGVyd2lzZSBhc3luYy4KKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RWaWV3
KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKSA9IDA7CiAKLSAgICAv
LyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSBjb250ZW50cyBhbmQgdGhlIHdpbmRv
dy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBh
c3luYy4KLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0
IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKSA9IDA7CisgICAgLy8gUmVxdWVz
dHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgY29udGVudHMgYW5kIHRoZSByb290IHZpZXcuIElm
IGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4K
KyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50
UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpID0gMDsKIAogICAgIC8vIFJlcXVlc3Rz
IHRoZSBob3N0IHNjcm9sbCBiYWNraW5nc3RvcmUgYnkgdGhlIHNwZWNpZmllZCBkZWx0YSwgcmVj
dCB0byBzY3JvbGwsIGFuZCBjbGlwIHJlY3QuCiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25z
dCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25z
dCBJbnRSZWN0JiBjbGlwUmVjdCkgPSAwOwogCi0gICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52
YWxpZGF0ZSB0aGUgY29udGVudHMsIG5vdCB0aGUgd2luZG93LiAgVGhpcyBpcyB0aGUgc2xvdyBw
YXRoIGZvciBzY3JvbGxpbmcuCisgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0
aGUgY29udGVudHMsIG5vdCB0aGUgcm9vdCB2aWV3LiBUaGlzIGlzIHRoZSBzbG93IHBhdGggZm9y
IHNjcm9sbGluZy4KICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkgPSAwOwogCiAj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwCmluZGV4IDU1NTYzOTRlYTQ1ZTZiNDQxNDEzZTY3ZjhiOTkyNzk2NzRiYTJhZDUuLjRm
MmZlNDY0ZTJiNmM1NThhZjBjMzUwMDI3NDE4Njk3Nzk5MzBiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC02MDMsNyArNjAzLDcgQEAgY29uc3QgaW50IHBhbklj
b25TaXplTGVuZ3RoID0gMTY7CiAKIEludFJlY3QgU2Nyb2xsVmlldzo6cmVjdFRvQ29weU9uU2Ny
b2xsKCkgY29uc3QKIHsKLSAgICBJbnRSZWN0IHNjcm9sbFZpZXdSZWN0ID0gY29udmVydFRvQ29u
dGFpbmluZ1dpbmRvdyhJbnRSZWN0KDAsIDAsIHZpc2libGVXaWR0aCgpLCB2aXNpYmxlSGVpZ2h0
KCkpKTsKKyAgICBJbnRSZWN0IHNjcm9sbFZpZXdSZWN0ID0gY29udmVydFRvUm9vdFZpZXcoSW50
UmVjdCgwLCAwLCB2aXNpYmxlV2lkdGgoKSwgdmlzaWJsZUhlaWdodCgpKSk7CiAgICAgaWYgKGhh
c092ZXJsYXlTY3JvbGxiYXJzKCkpIHsKICAgICAgICAgaW50IHZlcnRpY2FsU2Nyb2xsYmFyV2lk
dGggPSAodmVydGljYWxTY3JvbGxiYXIoKSAmJiAhaGFzTGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJh
cigpKSA/IHZlcnRpY2FsU2Nyb2xsYmFyKCktPndpZHRoKCkgOiAwOwogICAgICAgICBpbnQgaG9y
aXpvbnRhbFNjcm9sbGJhckhlaWdodCA9IChob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWhhc0xh
eWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcigpKSA/IGhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVp
Z2h0KCkgOiAwOwpAQCAtNjI2LDggKzYyNiw4IEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsQ29u
dGVudHMoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgSW50UmVjdCB1cGRhdGVSZWN0
ID0gY2xpcFJlY3Q7CiAgICAgdXBkYXRlUmVjdC5pbnRlcnNlY3Qoc2Nyb2xsVmlld1JlY3QpOwog
Ci0gICAgLy8gSW52YWxpZGF0ZSB0aGUgd2luZG93IChub3QgdGhlIGJhY2tpbmcgc3RvcmUpLgot
ICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZVdpbmRvdyh1cGRhdGVSZWN0LCBmYWxzZSAvKmlt
bWVkaWF0ZSovKTsKKyAgICAvLyBJbnZhbGlkYXRlIHRoZSByb290IHZpZXcgKG5vdCB0aGUgYmFj
a2luZyBzdG9yZSkuCisgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlUm9vdFZpZXcodXBkYXRl
UmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAKICAgICBpZiAobV9kcmF3UGFuU2Nyb2xsSWNv
bikgewogICAgICAgICAvLyBGSVhNRTogdGhlIHBhbiBpY29uIGlzIGJyb2tlbiB3aGVuIGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIGlzIG9uLCBzaW5jZSBpdCB3aWxsIGRyYXcgdW5kZXIgdGhlIGNv
bXBvc2l0aW5nIGxheWVycy4KQEAgLTYzNiw3ICs2MzYsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnNj
cm9sbENvbnRlbnRzKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQogICAgICAgICBJbnRQb2lu
dCBwYW5JY29uRGlydHlTcXVhcmVMb2NhdGlvbiA9IEludFBvaW50KG1fcGFuU2Nyb2xsSWNvblBv
aW50LngoKSAtIChwYW5JY29uRGlydHlTcXVhcmVTaXplTGVuZ3RoIC8gMiksIG1fcGFuU2Nyb2xs
SWNvblBvaW50LnkoKSAtIChwYW5JY29uRGlydHlTcXVhcmVTaXplTGVuZ3RoIC8gMikpOwogICAg
ICAgICBJbnRSZWN0IHBhblNjcm9sbEljb25EaXJ0eVJlY3QgPSBJbnRSZWN0KHBhbkljb25EaXJ0
eVNxdWFyZUxvY2F0aW9uLCBJbnRTaXplKHBhbkljb25EaXJ0eVNxdWFyZVNpemVMZW5ndGgsIHBh
bkljb25EaXJ0eVNxdWFyZVNpemVMZW5ndGgpKTsKICAgICAgICAgcGFuU2Nyb2xsSWNvbkRpcnR5
UmVjdC5pbnRlcnNlY3QoY2xpcFJlY3QpOwotICAgICAgICBob3N0V2luZG93KCktPmludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhwYW5TY3JvbGxJY29uRGlydHlSZWN0LCBmYWxzZSAvKmltbWVk
aWF0ZSovKTsKKyAgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRSb290
VmlldyhwYW5TY3JvbGxJY29uRGlydHlSZWN0LCBmYWxzZSAvKmltbWVkaWF0ZSovKTsKICAgICB9
CiAKICAgICBpZiAoY2FuQmxpdE9uU2Nyb2xsKCkpIHsgLy8gVGhlIG1haW4gZnJhbWUgY2FuIGp1
c3QgYmxpdCB0aGUgV2ViVmlldyB3aW5kb3cKQEAgLTY2MiwxNSArNjYyLDE1IEBAIHZvaWQgU2Ny
b2xsVmlldzo6c2Nyb2xsQ29udGVudHMoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAg
fQogI2VuZGlmCiAgICAgaWYgKCFob3Jpem9udGFsT3ZlcmhhbmdSZWN0LmlzRW1wdHkoKSkKLSAg
ICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coaG9yaXpvbnRh
bE92ZXJoYW5nUmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CisgICAgICAgIGhvc3RXaW5kb3co
KS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoaG9yaXpvbnRhbE92ZXJoYW5nUmVjdCwg
ZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAgICAgaWYgKCF2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5pc0Vt
cHR5KCkpCi0gICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KHZlcnRpY2FsT3ZlcmhhbmdSZWN0LCBmYWxzZSAvKmltbWVkaWF0ZSovKTsKKyAgICAgICAgaG9z
dFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyh2ZXJ0aWNhbE92ZXJoYW5n
UmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAKICAgICAvLyBUaGlzIGNhbGwgd2lsbCBtb3Zl
IGNoaWxkcmVuIHdpdGggbmF0aXZlIHdpZGdldHMgKHBsdWdpbnMpIGFuZCBpbnZhbGlkYXRlIHRo
ZW0gYXMgd2VsbC4KICAgICBmcmFtZVJlY3RzQ2hhbmdlZCgpOwogCiAgICAgLy8gTm93IGJsaXQg
dGhlIGJhY2tpbmdzdG9yZSBpbnRvIHRoZSB3aW5kb3cgd2hpY2ggc2hvdWxkIGJlIHZlcnkgZmFz
dC4KLSAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVXaW5kb3coSW50UmVjdCgpLCB0cnVlKTsK
KyAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVSb290VmlldyhJbnRSZWN0KCksIHRydWUpOwog
fQogCiBib29sIFNjcm9sbFZpZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6
ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVj
dCYgY2xpcFJlY3QpCkBAIC05MjksNyArOTI5LDcgQEAgdm9pZCBTY3JvbGxWaWV3OjpyZXBhaW50
Q29udGVudFJlY3RhbmdsZShjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIG5vdykKICAgICB9CiAK
ICAgICBpZiAoaG9zdFdpbmRvdygpKQotICAgICAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVD
b250ZW50c0FuZFdpbmRvdyhjb250ZW50c1RvV2luZG93KHBhaW50UmVjdCksIG5vdyAvKmltbWVk
aWF0ZSovKTsKKyAgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRSb290
Vmlldyhjb250ZW50c1RvV2luZG93KHBhaW50UmVjdCksIG5vdyAvKmltbWVkaWF0ZSovKTsKIH0K
IAogSW50UmVjdCBTY3JvbGxWaWV3OjpzY3JvbGxDb3JuZXJSZWN0KCkgY29uc3QKQEAgLTEyNTIs
NyArMTI1Miw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6YWRkUGFuU2Nyb2xsSWNvbihjb25zdCBJbnRQ
b2ludCYgaWNvblBvc2l0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgbV9kcmF3UGFuU2Nyb2xs
SWNvbiA9IHRydWU7ICAgIAogICAgIG1fcGFuU2Nyb2xsSWNvblBvaW50ID0gSW50UG9pbnQoaWNv
blBvc2l0aW9uLngoKSAtIHBhbkljb25TaXplTGVuZ3RoIC8gMiAsIGljb25Qb3NpdGlvbi55KCkg
LSBwYW5JY29uU2l6ZUxlbmd0aCAvIDIpIDsKLSAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVD
b250ZW50c0FuZFdpbmRvdyhJbnRSZWN0KG1fcGFuU2Nyb2xsSWNvblBvaW50LCBJbnRTaXplKHBh
bkljb25TaXplTGVuZ3RoLCBwYW5JY29uU2l6ZUxlbmd0aCkpLCB0cnVlIC8qaW1tZWRpYXRlKi8p
OworICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoSW50UmVj
dChtX3BhblNjcm9sbEljb25Qb2ludCwgSW50U2l6ZShwYW5JY29uU2l6ZUxlbmd0aCwgcGFuSWNv
blNpemVMZW5ndGgpKSwgdHJ1ZSAvKmltbWVkaWF0ZSovKTsKIH0KIAogdm9pZCBTY3JvbGxWaWV3
OjpyZW1vdmVQYW5TY3JvbGxJY29uKCkKQEAgLTEyNjAsNyArMTI2MCw3IEBAIHZvaWQgU2Nyb2xs
Vmlldzo6cmVtb3ZlUGFuU2Nyb2xsSWNvbigpCiAgICAgaWYgKCFob3N0V2luZG93KCkpCiAgICAg
ICAgIHJldHVybjsKICAgICBtX2RyYXdQYW5TY3JvbGxJY29uID0gZmFsc2U7IAotICAgIGhvc3RX
aW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KEludFJlY3QobV9wYW5TY3JvbGxJ
Y29uUG9pbnQsIEludFNpemUocGFuSWNvblNpemVMZW5ndGgsIHBhbkljb25TaXplTGVuZ3RoKSks
IHRydWUgLyppbW1lZGlhdGUqLyk7CisgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVu
dHNBbmRSb290VmlldyhJbnRSZWN0KG1fcGFuU2Nyb2xsSWNvblBvaW50LCBJbnRTaXplKHBhbklj
b25TaXplTGVuZ3RoLCBwYW5JY29uU2l6ZUxlbmd0aCkpLCB0cnVlIC8qaW1tZWRpYXRlKi8pOwog
fQogCiB2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdpbihjb25zdCBJbnRQb2ludCYgb3Jp
Z2luLCBib29sIHVwZGF0ZVBvc2l0aW9uQXRBbGwsIGJvb2wgdXBkYXRlUG9zaXRpb25TeW5jaHJv
bm91c2x5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRnJh
bWVsZXNzU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9G
cmFtZWxlc3NTY3JvbGxWaWV3LmNwcAppbmRleCAzZmNhNzI2NzdhMzZjZTQ2ZGMyNzg5MDQyZWI2
OWZmMzg2NmQxODYxLi43M2JlYzBkZjg2M2Q5NDQxODhjMDBiODg1YzczZDgxYTUwZTU5N2QxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxlc3NTY3Jv
bGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxl
c3NTY3JvbGxWaWV3LmNwcApAQCAtNjYsNyArNjYsNyBAQCBTY3JvbGxhYmxlQXJlYSogRnJhbWVs
ZXNzU2Nyb2xsVmlldzo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEoKSBjb25zdAogdm9pZCBGcmFt
ZWxlc3NTY3JvbGxWaWV3OjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQogewog
ICAgIGlmIChIb3N0V2luZG93KiBoID0gaG9zdFdpbmRvdygpKQotICAgICAgICBoLT5pbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3cocmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CisgICAgICAg
IGgtPmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KHJlY3QsIGZhbHNlIC8qaW1tZWRpYXRl
Ki8pOwogfQogCiBIb3N0V2luZG93KiBGcmFtZWxlc3NTY3JvbGxWaWV3Ojpob3N0V2luZG93KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDdkYjZk
Zjg1NTE5MmY5OTA2Mjc1YzRiYTEwYjFiY2Y1YjE4MDgyMmIuLmI2NDNlZTYzN2U4N2U0YjhjMGZi
Yzc2YmJlODM4MzlmZDA3ZmRmYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogICAgICAgICBtX2ltYWdlID0gMDsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNv
bnN0IEludFJlY3QmIHIsIGJvb2wpCisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50
c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHIsIGJvb2wpCiAgICAgewogICAgICAgICBpZiAo
bV9pbWFnZSAmJiBtX2ltYWdlLT5pbWFnZU9ic2VydmVyKCkpCiAgICAgICAgICAgICBtX2ltYWdl
LT5pbWFnZU9ic2VydmVyKCktPmNoYW5nZWRJblJlY3QobV9pbWFnZSwgcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IDM5Y2NjNjNm
MGNjNjNkZTcyMGQ3NDM2NDQ4MmUxZWQyMjA0MWMxNjYuLmRkY2I3YTE4YzQ2YjI5MDFhYjg2ZTBi
ZjBmNDQ2NDBhMzczODgxMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCkBAIC01MDYsMTIgKzUwNiwxMiBAQCB2b2lkIENocm9tZUNsaWVu
dEltcGw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25z
dCBTdHJpbgogfQogI2VuZGlmCiAKLXZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZVdp
bmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCkKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6aW52YWxp
ZGF0ZVJvb3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29sKQogewogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2lu
ZG93KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgLyppbW1lZGlhdGUqLykKK3ZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50
UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCAvKmltbWVkaWF0ZSovKQogewogICAgIGlmICh1cGRhdGVS
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJl
Y3QmIHVwZGF0ZVJlY3QsIGJvCiB2b2lkIENocm9tZUNsaWVudEltcGw6OmludmFsaWRhdGVDb250
ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlh
dGUpCiB7CiAgICAgbV93ZWJWaWV3LT5oaWRlUG9wdXBzKCk7Ci0gICAgaW52YWxpZGF0ZUNvbnRl
bnRzQW5kV2luZG93KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgaW52YWxpZGF0ZUNvbnRl
bnRzQW5kUm9vdFZpZXcodXBkYXRlUmVjdCwgaW1tZWRpYXRlKTsKIH0KIAogI2lmIEVOQUJMRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAppbmRleCA3OTAzYzM5OTZhMTQ0NmIxYTFhOTYxMWUyNDZkYjc5MWZh
ZDY1NzMxLi4wMDk1YjlkNjc0OTE2MzRiNDBkYzQxOWRlYzc1YWNiNjRmNDI1NzExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0xMDUsOCAr
MTA1LDggQEAgcHVibGljOgogI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQog
ICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CiAjZW5kaWYKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVSb290Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jiwg
Ym9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAj
aWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIHZpcnR1YWwgdm9pZCBzY2hl
ZHVsZUFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1
cE1lbnVJbXBsLmNwcAppbmRleCA4ODEyNTgxYjMyMzlmYjgzZTViZmQxMTAxMjVmYTkyYzU3NGE0
ZGYyLi5jMmRlMDQ1OGFjNTU2ODg2YTY4ZGJkOWI4M2FmYzBiMWVjZWM0N2YwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcApAQCAtMzQ4LDEy
ICszNDgsMTIgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVudHMoY29u
c3QgSW50UmVjdCYsIGJvb2wpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJQ
b3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29sKQordm9p
ZCBXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJv
b2wpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJQb3B1cE1lbnVJbXBs
OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBi
b29sIC8qaW1tZWRpYXRlKi8pCit2b2lkIFdlYlBvcHVwTWVudUltcGw6OmludmFsaWRhdGVDb250
ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHBhaW50UmVjdCwgYm9vbCAvKmltbWVkaWF0
ZSovKQogewogICAgIGlmIChwYWludFJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CkBA
IC0zNjMsNyArMzYzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVu
dHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBib28KIAogdm9pZCBXZWJQb3B1
cE1lbnVJbXBsOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3Qm
IHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewotICAgIGludmFsaWRhdGVDb250ZW50c0Fu
ZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOworICAgIGludmFsaWRhdGVDb250ZW50c0Fu
ZFJvb3RWaWV3KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51
SW1wbDo6c2NoZWR1bGVBbmltYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IGNiMWFiODI5NGQ2MzVmOGVkOGU3ZTQ3NTdlMWJjMDQ5
YzcwZmNlZjUuLjdmZjEzMTEwMDk3MjRlOGU5Y2NlOWU0OGFlNDQzNTBiZjljZWYzMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTExNiw4
ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJDb3JlOjpIb3N0V2luZG93IG1ldGhvZHM6
CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50cyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYsIGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVu
dHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOworICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwor
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50
c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1
YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmNwcAppbmRleCA2MDhiODA4YzA3NmMxZGM0ZGNmM2MzYTVjMTQzODkwOTVkODNmNjQ5Li4wMmU4
YmY2OWE2YTFkYjJmMmJjMWFiNTNmYzM1ZDZlOGI2ZGI3ZmRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTQ4NSwx
MiArNDg1LDEyIEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjppbnZhbGlkYXRlQ29udGVudHMoY29u
c3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVXaW5kb3coY29uc3QgSW50
UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudEVmbDo6
aW52YWxpZGF0ZVJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRp
YXRlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZs
OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwg
Ym9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudEVmbDo6aW52YWxpZGF0ZUNvbnRlbnRz
QW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7
CiAgICAgaWYgKHVwZGF0ZVJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CkBAIC01MDYs
NyArNTA2LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OmludmFsaWRhdGVDb250ZW50c0FuZFdp
bmRvdyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBib28KIAogdm9pZCBDaHJvbWVDbGllbnRF
Zmw6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgdXBkYXRl
UmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7Ci0gICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CisgICAgaW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZp
ZXcodXBkYXRlUmVjdCwgaW1tZWRpYXRlKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRFZmw6OnNj
cm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Ny
b2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNzJjMDJmMzk2ZTA0MGYyYjMz
MWIwNWQwZjNmOGMxM2E4NThhZjNjMS4uZDJiMjU4YTYxNDYyYjk5MWY5ODM4NjVlMzQ5ZDIyZjkx
MDk3ZWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKQEAgLTE1Miw4ICsxNTIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRp
b24qKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHMoY29uc3QgSW50UmVj
dCYsIGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJl
Y3QmLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93
KGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RW
aWV3KGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNv
bnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmLCBib29sKTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IEludFNpemUmLCBjb25zdCBJbnRSZWN0Jiwg
Y29uc3QgSW50UmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0Rm9yRnJhbWUoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDhkNzUxOGI1ODMxMzhj
MDk5NTczNjEwZmQxNGQzYWMyMjNiMWIwNjIuLmEyNTM0YzY3ZDk3NjMyZjg2NDg2YTI5M2RkOWJh
YjJlMmNhNmI2NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtNTcwLDExICs1NzAsMTEgQEAgdm9pZCBDaHJvbWVD
bGllbnQ6OnBhaW50KFdlYkNvcmU6OlRpbWVyPENocm9tZUNsaWVudD4qKQogICAgIG1fcmVwYWlu
dFNvb25Tb3VyY2VJZCA9IDA7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlV2lu
ZG93KGNvbnN0IEludFJlY3QmLCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgQ2hyb21lQ2xpZW50Ojpp
bnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wgaW1tZWRpYXRlKQogewogfQog
Ci12b2lkIENocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBDaHJvbWVDbGllbnQ6Omlu
dmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJv
b2wgaW1tZWRpYXRlKQogewogICAgIGlmICh1cGRhdGVSZWN0LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtNTg0LDcgKzU4NCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRl
Q29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpCiAKIHZv
aWQgQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IElu
dFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewotICAgIGludmFsaWRhdGVDb250
ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOworICAgIGludmFsaWRhdGVDb250
ZW50c0FuZFJvb3RWaWV3KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiAgICAgbV9hZGp1c3RtZW50
V2F0Y2hlci51cGRhdGVBZGp1c3RtZW50c0Zyb21TY3JvbGxiYXJzTGF0ZXIoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApp
bmRleCAyNTA1MTFlNWZiYTMwZjEwODNhNmZjNDhlOWU5MmJjYWNkMzA2NDJkLi4yMWRlNDkxNTRh
YjI0MzBmZDNmMTJkM2I5NzQ2MjRlMzcyMWZhOGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTAyLDggKzEwMiw4IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KSAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFdU
Rjo6U3RyaW5nJiwgY29uc3QgV1RGOjpTdHJpbmcmLCBjb25zdCBXVEY6OlN0cmluZyYsIGNvbnN0
IFdURjo6U3RyaW5nJik7IAogI2VuZGlmIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wpOworICAgICAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29sKTsKKyAg
ICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IElu
dFJlY3QmLCBib29sKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0Zv
clNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9T
Y3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBmZTZmYWZhYjk1MGRi
YzE4OGE0NTM5OWU2MWQ3ODZhZjlkNmFjMGY2Li5iNmEwNWQxOTc3MzFmZDFkMjkzOTY2ZTI5Yzg3
M2Q2MWEwNTI2YzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtODgsOCArODgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkludFJlY3Qgd2luZG93UmVzaXplclJlY3QoKSBjb25zdCBPVkVSUklERTsK
IAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBi
b29sKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9v
dFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmLCBib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0
VG9TY3JvbGwsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KSBPVkVSUklERTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCmluZGV4IDg2YjM2Nzk1MzM1Nzg1NDViNjY3YzY2NWEwNjI4ZTkxMGFkYzZjZWUuLjA3ODY4
YzY2ODQxZWMxOTliZmEzOTc2ZDA3NzNhMDNiNjA4N2U5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTU0MSw3ICs1
NDEsNyBAQCBJbnRSZWN0IFdlYkNocm9tZUNsaWVudDo6d2luZG93UmVzaXplclJlY3QoKSBjb25z
dAogICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KFtbbV93ZWJWaWV3IHdpbmRvd10gX2dyb3dC
b3hSZWN0XSk7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlV2luZG93KGNv
bnN0IEludFJlY3QmLCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZh
bGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIGlm
IChpbW1lZGlhdGUpIHsKICAgICAgICAgW1ttX3dlYlZpZXcgd2luZG93XSBkaXNwbGF5SWZOZWVk
ZWRdOwpAQCAtNTQ5LDEzICs1NDksMTMgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRh
dGVXaW5kb3coY29uc3QgSW50UmVjdCYsIGJvb2wgaW1tZWRpYXRlKQogICAgIH0KIH0KIAotdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRS
ZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlk
YXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0
ZSkKIHsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNs
b3dTY3JvbGwoY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7Ci0gICAgaW52
YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHJlY3QsIGltbWVkaWF0ZSk7CisgICAgaW52YWxpZGF0
ZUNvbnRlbnRzQW5kUm9vdFZpZXcocmVjdCwgaW1tZWRpYXRlKTsKIH0KIAogdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OnNjcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IElu
dFJlY3QmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcAppbmRleCA5NWE0MDdlNGM2M2MxYTFhOTlkNjI5YmM0ZWVjNmNjOGIxNDZiZGUy
Li41Nzg1ZDBiOGRjMjdmNmUxOGI2NzE1NDk3MTE2YmQ5ZTcxYmU5MTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtMzk4
LDcgKzM5OCw3IEBAIEludFJlY3QgQ2hyb21lQ2xpZW50UXQ6OndpbmRvd1Jlc2l6ZXJSZWN0KCkg
Y29uc3QKICNlbmRpZgogfQogCi12b2lkIENocm9tZUNsaWVudFF0OjppbnZhbGlkYXRlV2luZG93
KGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wpCit2b2lkIENocm9tZUNsaWVudFF0Ojpp
bnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgd2luZG93UmVjdCwgYm9vbCkKIHsKICNp
ZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICBpZiAocGxhdGZvcm1QYWdlQ2xpZW50KCkp
IHsKQEAgLTQxMiw3ICs0MTIsNyBAQCB2b2lkIENocm9tZUNsaWVudFF0OjppbnZhbGlkYXRlV2lu
ZG93KGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wpCiAjZW5kaWYKIH0KIAotdm9pZCBD
aHJvbWVDbGllbnRRdDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IEludFJlY3Qm
IHdpbmRvd1JlY3QsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBDaHJvbWVDbGllbnRRdDo6aW52YWxp
ZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgd2luZG93UmVjdCwgYm9vbCBp
bW1lZGlhdGUpCiB7CiAgICAgLy8gTm8gZG91YmxlIGJ1ZmZlciwgc28gb25seSB1cGRhdGUgdGhl
IFFXaWRnZXQgaWYgY29udGVudCBjaGFuZ2VkLgogICAgIGlmIChwbGF0Zm9ybVBhZ2VDbGllbnQo
KSkgewpAQCAtNDI5LDcgKzQyOSw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OmludmFsaWRhdGVD
b250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBib29sCiAKIHZvaWQg
Q2hyb21lQ2xpZW50UXQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50
UmVjdCYgd2luZG93UmVjdCwgYm9vbCBpbW1lZGlhdGUpCiB7Ci0gICAgaW52YWxpZGF0ZUNvbnRl
bnRzQW5kV2luZG93KHdpbmRvd1JlY3QsIGltbWVkaWF0ZSk7CisgICAgaW52YWxpZGF0ZUNvbnRl
bnRzQW5kUm9vdFZpZXcod2luZG93UmVjdCwgaW1tZWRpYXRlKTsKIH0KIAogdm9pZCBDaHJvbWVD
bGllbnRRdDo6c2Nyb2xsKGNvbnN0IEludFNpemUmIGRlbHRhLCBjb25zdCBJbnRSZWN0JiBzY3Jv
bGxWaWV3UmVjdCwgY29uc3QgSW50UmVjdCYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggMzFkNmI0YjlkMTkwOTYwODA4Y2JkMjQz
MDZiYTVmY2JmNzAyMWYxMy4uMGE3OTE4NWVjMDI2MzhjOGU0MDBiNjJhYmU0MmZlZDI3NDA4MmUx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaApAQCAtMTE0LDggKzExNCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEtleWJvYXJkVUlN
b2RlIGtleWJvYXJkVUlNb2RlKCk7CiAgICAgdmlydHVhbCBJbnRSZWN0IHdpbmRvd1Jlc2l6ZXJS
ZWN0KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJ
bnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdp
bmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVS
b290Vmlldyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29sKTsKICAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiwgYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwg
Y29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBjMjhiZTIwYTkyODBiMjVk
ZGE2ZmE2ZTQwNjRiZWFlNzY1OThiZDJlLi5iY2Q2YzJjNTUzY2MwMDA2NjllY2QyNjhlMTMwYzM4
Y2YyNmFkN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ2MCwxMyArNDYwLDEzIEBAIEludFJlY3QgV2ViQ2hy
b21lQ2xpZW50Ojp3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIEludFJlY3Qo
KTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVXaW5kb3coY29uc3QgSW50
UmVjdCYgd2luZG93UmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6
aW52YWxpZGF0ZVJvb3RWaWV3KGNvbnN0IEludFJlY3QmIHdpbmRvd1JlY3QsIGJvb2wgaW1tZWRp
YXRlKQogewogICAgIEFTU0VSVChjb3JlKG1fd2ViVmlldy0+dG9wTGV2ZWxGcmFtZSgpKSk7CiAg
ICAgbV93ZWJWaWV3LT5yZXBhaW50KHdpbmRvd1JlY3QsIGZhbHNlIC8qY29udGVudENoYW5nZWQq
LywgaW1tZWRpYXRlLCBmYWxzZSAvKnJlcGFpbnRDb250ZW50T25seSovKTsKIH0KIAotdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0
JiB3aW5kb3dSZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZh
bGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiB3aW5kb3dSZWN0LCBib29s
IGltbWVkaWF0ZSkKIHsKICAgICBBU1NFUlQoY29yZShtX3dlYlZpZXctPnRvcExldmVsRnJhbWUo
KSkpOwogICAgIG1fd2ViVmlldy0+cmVwYWludCh3aW5kb3dSZWN0LCB0cnVlIC8qY29udGVudENo
YW5nZWQqLywgaW1tZWRpYXRlIC8qaW1tZWRpYXRlKi8sIGZhbHNlIC8qcmVwYWludENvbnRlbnRP
bmx5Ki8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCAxNTkzNDAyMTc1NGFlM2M0NDMyNjYwMjdmMmRlOTgyZTQzNjJjNzBh
Li40Zjk1N2M0Yzc2MDkyOGNmZWVkNTUyNTg2MWI2ZWYxYmMyYmFhNDUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTQs
OCArOTQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpLZXlib2FyZFVJTW9kZSBr
ZXlib2FyZFVJTW9kZSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB3aW5kb3dSZXNp
emVyUmVjdCgpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Q29udGVudHNBbmRXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOworICAgIHZp
cnR1YWwgdm9pZCBpbnZhbGlkYXRlUm9vdFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJv
b2wpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVD
b250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGJvb2wpOwogICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsRGVsdGEs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgY2xpcFJlY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCmluZGV4IGVlNTUwYTRkZDU4MjZlNTY1
NzJlZmU3YjcwMDc2NjUzMmQ5NWQ0M2UuLmViN2UzMTdmNzZkMTk3OWVlOWRiYThmMWNmNTAyNGEy
YWQyODE2NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCkBAIC0yMjYsMTIgKzIyNiwxMiBAQCBJbnRSZWN0
IENocm9tZUNsaWVudFdpbkNFOjp3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJu
IEludFJlY3QoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6aW52YWxpZGF0ZVdpbmRv
dyhjb25zdCBJbnRSZWN0JiwgYm9vbCkKK3ZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmludmFsaWRh
dGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiwgYm9vbCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCi12b2lkIENocm9tZUNsaWVudFdpbkNFOjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5k
b3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9t
ZUNsaWVudFdpbkNFOjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0
JiB1cGRhdGVSZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBSRUNUIHJlY3QgPSB1cGRhdGVS
ZWN0OwogICAgIEludmFsaWRhdGVSZWN0KG1fd2ViVmlldy0+d2luZG93SGFuZGxlKCksICZyZWN0
LCBGQUxTRSk7CkBAIC0yNDIsMTIgKzI0MiwxMiBAQCB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpp
bnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYgog
CiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xs
KGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgaW1tZWRpYXRlKQogewotICAgIGludmFs
aWRhdGVDb250ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBpbW1lZGlhdGUpOworICAgIGludmFs
aWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KHVwZGF0ZVJlY3QsIGltbWVkaWF0ZSk7CiB9CiAKIHZv
aWQgQ2hyb21lQ2xpZW50V2luQ0U6OnNjcm9sbChjb25zdCBJbnRTaXplJiwgY29uc3QgSW50UmVj
dCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JikKIHsKLSAgICBpbnZhbGlkYXRlQ29udGVu
dHNBbmRXaW5kb3cocmVjdFRvU2Nyb2xsLCBmYWxzZSk7CisgICAgaW52YWxpZGF0ZUNvbnRlbnRz
QW5kUm9vdFZpZXcocmVjdFRvU2Nyb2xsLCBmYWxzZSk7CiB9CiAKIEludFJlY3QgQ2hyb21lQ2xp
ZW50V2luQ0U6OndpbmRvd1RvU2NyZWVuKGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdp
bkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdp
bkNFLmgKaW5kZXggZGVmMjA4NDUzYjExNTcyMTg3MTczODBkMTAxZTY4NjA5OTIxM2EyNy4uODIw
N2VlOWNjN2Q0MGFjNWQ2NWE5NTA3MzU3MGY4Yjk5NDI4ZDFkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAt
OTMsOCArOTMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IHdpbmRv
d1Jlc2l6ZXJSZWN0KCkgY29uc3Q7CiAKICAgICAvLyBNZXRob2RzIHVzZWQgYnkgSG9zdFdpbmRv
dy4KLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVdpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRv
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVSb290Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CisgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNj
cm9sbChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IHNj
cmVlblRvV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAppbmRleCA5MTQy
ZjcwNzNiMGE0MTI0ZDE1NWFkMzgyNzgwM2YwYzU4Y2RiZGZjLi5mOWUzYzdhNDAwY2E0YjRhY2Ex
M2JhYjdmN2E4NmU2ODk5YzI3MjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCBJbnRSZWN0IENo
cm9tZUNsaWVudFd4Ojp3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIEludFJl
Y3QoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJ
bnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgQ2hyb21lQ2xpZW50V3g6OmludmFs
aWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKIHsKICAg
ICBpZiAoaW1tZWRpYXRlKQogICAgICAgICBtX3dlYlZpZXctPlVwZGF0ZSgpOwpAQCAtMzQ4LDEw
ICszNDgsMTAgQEAgdm9pZCBDaHJvbWVDbGllbnRXeDo6aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJ
bnRSZWN0JiByZWN0LCBib29sIGltbWVkaWF0ZSkKIAogdm9pZCBDaHJvbWVDbGllbnRXeDo6aW52
YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIGlt
bWVkaWF0ZSkKIHsKLSAgICBpbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3cocmVjdCwgaW1tZWRp
YXRlKTsKKyAgICBpbnZhbGlkYXRlQ29udGVudHNBbmRSb290VmlldyhyZWN0LCBpbW1lZGlhdGUp
OwogfQogCi12b2lkIENocm9tZUNsaWVudFd4OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3co
Y29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIENocm9tZUNsaWVudFd4
OjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29s
IGltbWVkaWF0ZSkKIHsKICAgICBpZiAoIW1fd2ViVmlldykKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAppbmRleCAx
MDFlMDlmNzk2ZDZhZDBjZjI0ZTk0NjE2MjVhYzdjNTE5MGIzNTc1Li5lNGNiNzlhNDY0OGNmNGEz
ZDk0NTVhYjJmNTgyMzdlZTQzMDY4NzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTAzLDggKzEwMyw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQmFja2luZ1N0b3JlKGludCBkeCwgaW50IGR5LCBjb25zdCBJ
bnRSZWN0JiBzY3JvbGxWaWV3UmVjdCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7CisgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiwgYm9vbCk7Cisg
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJl
Y3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Nj
cm9sbChjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChjb25z
dCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25z
dCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAxMTcz
NjBlYzdjOGQyNDQ1MDYxYmUxNjc5MWY5N2E5ZTRkODBiYTQzLi45Y2U3NWI2NGE4ZWRkM2Y0N2E4
ZjQ3NjYzYjQ5YWMzZTFmOTVhMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0zNzAs
MTIgKzM3MCwxMiBAQCBJbnRSZWN0IFdlYkNocm9tZUNsaWVudDo6d2luZG93UmVzaXplclJlY3Qo
KSBjb25zdAogICAgIHJldHVybiBtX3BhZ2UtPndpbmRvd1Jlc2l6ZXJSZWN0KCk7CiB9CiAKLXZv
aWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlV2luZG93KGNvbnN0IEludFJlY3QmLCBib29s
KQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0
JiwgYm9vbCkKIHsKICAgICAvLyBEbyBub3RoaW5nIGhlcmUsIHRoZXJlJ3Mgbm8gY29uY2VwdCBv
ZiBpbnZhbGlkYXRpbmcgdGhlIHdpbmRvdyBpbiB0aGUgd2ViIHByb2Nlc3MuCiB9CiAKLXZvaWQg
V2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVj
dCYgcmVjdCwgYm9vbCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNB
bmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiByZWN0LCBib29sKQogewogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBtX3BhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5kb2N1bWVudCgp
KSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cHJpbnRpbmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDgyYzQzMmJlMjVkMjQxOTlhY2VjOGI5ZDlmZTllNDQxYThkN2Y4MzYuLjhjMTY1NDRj
YWE5YjhkZDNiNmI5YTA1ZjA3ZTBmY2Q1NjI2MDBhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtMTA4LDggKzEwOCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0
IHdpbmRvd1Jlc2l6ZXJSZWN0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgLy8gSG9zdFdp
bmRvdyBtZW1iZXIgZnVuY3Rpb24gb3ZlcnJpZGVzLgotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmLCBib29sKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJvb3RW
aWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNG
b3JTbG93U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNl
dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgY2xpcFJlY3QpIE9WRVJSSURFOwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQo=
</data>
<flag name="review"
          id="113884"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>