<?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>90100</bug_id>
          
          <creation_ts>2012-06-27 14:42:15 -0700</creation_ts>
          <short_desc>[chromium] Use categorized TRACE_EVENTN() macros in compositor code</short_desc>
          <delta_ts>2012-06-27 14:50:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658888</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-27 14:42:15 -0700</bug_when>
    <thetext>[chromium] Use categorized TRACE_EVENTN() macros in compositor code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658890</commentid>
    <comment_count>1</comment_count>
      <attachid>149800</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-27 14:43:25 -0700</bug_when>
    <thetext>Created attachment 149800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658895</commentid>
    <comment_count>2</comment_count>
      <attachid>149800</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-27 14:46:34 -0700</bug_when>
    <thetext>Comment on attachment 149800
Patch

Rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658896</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-27 14:50:59 -0700</bug_when>
    <thetext>Committed r121375: &lt;http://trac.webkit.org/changeset/121375&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149800</attachid>
            <date>2012-06-27 14:43:25 -0700</date>
            <delta_ts>2012-06-27 14:46:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90100-20120627144324.patch</filename>
            <type>text/plain</type>
            <size>37915</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM5ZTQzZjRmYWYxM2Yx
ZGUxNzExZjE2NDFlMDUzYzJlYmEzZWJhOC4uYjFhOWEwMGViYjM4NWRkM2ZjY2E3YzU0ZjZiYzgy
Yzk3OTJlN2UyMiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDEyLTA2LTI3ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBV
c2UgY2F0ZWdvcml6ZWQgVFJBQ0VfRVZFTlROKCkgbWFjcm9zIGluIGNvbXBvc2l0b3IgY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxMDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjaWZ5IHRo
ZSBjYXRlZ29yeSBpbiBhbGwgdHJhY2VzIGluIHRoZSBjb21wb3NpdG9yLiBQYXRjaCBnZW5lcmF0
ZWQgbW9zdGx5IGJ5IHRoZSBzZWQgY29tbWFuZAorICAgICAgICAncy9UUkFDRV9FVkVOVChcKC4q
XCksIHRoaXMsIDApL1RSQUNFX0VWRU5UMCgiY2MiLCBcMSkvJy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmJlZ2luRHJhd2luZ0ZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZmluaXNoKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6c3dhcEJ1ZmZlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjppbml0aWFsaXplU2hhcmVkT2JqZWN0cyk6
CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnRpbGVDaGVja2VyYm9h
cmRQcm9ncmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6c29s
aWRDb2xvclByb2dyYW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVt
OjpoZWFkc1VwRGlzcGxheVByb2dyYW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpyZW5kZXJQYXNzUHJvZ3JhbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW06OnJlbmRlclBhc3NQcm9ncmFtQUEpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW5kZXJQYXNzTWFza1Byb2dyYW0pOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW5kZXJQYXNzTWFza1Byb2dyYW1BQSk6
CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnRpbGVQcm9ncmFtKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dyYW1PcGFx
dWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjp0aWxlUHJvZ3Jh
bUFBKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dy
YW1Td2l6emxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGls
ZVByb2dyYW1Td2l6emxlT3BhcXVlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJD
aHJvbWl1bTo6dGlsZVByb2dyYW1Td2l6emxlQUEpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjp0ZXh0dXJlUHJvZ3JhbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OnRleHR1cmVQcm9ncmFtRmxpcCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnRleHR1cmVJT1N1cmZhY2VQcm9ncmFtKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dmlkZW9ZVVZQcm9ncmFtKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dmlkZW9TdHJlYW1UZXh0dXJl
UHJvZ3JhbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0
dXJlU3ViSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJUZXh0dXJlU3ViSW1hZ2U6
OnVwbG9hZFdpdGhUZXhTdWJJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclRleHR1cmVT
dWJJbWFnZTo6dXBsb2FkV2l0aE1hcFRleFN1YkltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Ta1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmRy
YXdQaWN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJl
Q29waWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkVGV4dHVyZUNvcGllcjo6
Y29weVRleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1
cmVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYW5hZ2VyOjpldmljdFRl
eHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVS
YXRlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xs
ZXI6OnNldEFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI6
Om9uVGltZXJUaWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojpp
bml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6fkNDTGF5ZXJU
cmVlSG9zdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmluaXRpYWxpemVM
YXllclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6YmVnaW5D
b21taXRPbkltcGxUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojpk
aWRMb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0
ZUxheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmFuaW1hdGVMYXll
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhy
ZWFkUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NT
aW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5
Ojp+Q0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVh
ZFByb3h5Ojpjb21wb3NpdGVBbmRSZWFkYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Npbmds
ZVRocmVhZFByb3h5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6
OkNDVGhyZWFkUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6fkNDVGhy
ZWFkUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6Y29tcG9zaXRlQW5k
UmVhZGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUNv
bnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxheWVy
UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2V0TmVlZHNBbmlt
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNldE5lZWRzQ29tbWl0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6Om9uU3dhcEJ1ZmZlcnNDb21wbGV0ZU9u
SW1wbFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzZXROZWVkc0Nv
bW1pdE9uSW1wbFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzZXRO
ZWVkc0ZvcmNlZENvbW1pdE9uSW1wbFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVh
ZFByb3h5Ojpwb3N0QW5pbWF0aW9uRXZlbnRzVG9NYWluVGhyZWFkT25JbXBsVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNldE5lZWRzUmVkcmF3KToKKyAgICAgICAg
KFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNldE5lZWRzUmVkcmF3T25JbXBsVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6
Q0NUaHJlYWRQcm94eTo6ZmluaXNoQWxsUmVuZGVyaW5nT25JbXBsVGhyZWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NUaHJlYWRQcm94eTo6YmVnaW5GcmFtZUNvbXBsZXRlT25JbXBsVGhyZWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJj
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uQ29t
bWl0KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRy
YXdBbmRTd2FwSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6YWNx
dWlyZUxheWVyVGV4dHVyZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6aW5p
dGlhbGl6ZUltcGxPbkltcGxUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94
eTo6aW5pdGlhbGl6ZUNvbnRleHRPbkltcGxUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NU
aHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXJPbkltcGxUaHJlYWQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6bGF5ZXJUcmVlSG9zdENsb3NlZE9uSW1wbFRocmVh
ZCk6CisKIDIwMTItMDYtMjcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjEyMTI5Nik6IE5ldyB6ZXJvLXNpemUgYmFja2dyb3VuZCB0ZXN0
cyBhc3NlcnRpbmcgb24gTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAK
aW5kZXggY2EyZDE5MDJhNjdkZTg1YmRlNTI1YjYyYTU1Y2FkZmZhNzBhNWI3Ny4uZGFhNWNlNDA4
MjZlZDNjMWVlYmQ5NjllMjQxY2JiNzc0ODIzZDg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uY3BwCkBAIC0zMzIsNyArMzMyLDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OmJlZ2luRHJhd2luZ0ZyYW1lKGNvbnN0IENDUmVuZGVyUGFzcyogcm9vdFJlbmRlclBh
c3MKICAgICBpZiAodmlld3BvcnRTaXplKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzIiwgdGhp
cywgMCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXllclJlbmRlcmVyQ2hyb21pdW06OmRy
YXdMYXllcnMiKTsKICAgICBpZiAobV9pc1ZpZXdwb3J0Q2hhbmdlZCkgewogICAgICAgICAvLyBP
bmx5IHJlc2hhcGUgd2hlbiB3ZSBrbm93IHdlIGFyZSBnb2luZyB0byBkcmF3LiBPdGhlcndpc2Us
IHRoZSByZXNoYXBlCiAgICAgICAgIC8vIGNhbiBsZWF2ZSB0aGUgd2luZG93IGF0IHRoZSB3cm9u
ZyBzaXplIGlmIHdlIG5ldmVyIGRyYXcgYW5kIHRoZSBwcm9wZXIKQEAgLTExNTEsNyArMTE1MSw3
IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjb3B5VGV4dHVyZVRvRnJhbWVidWZmZXIo
aW50IHRleHR1cmVJZCwgY29uc3QgSW50U2l6CiAKIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVt
OjpmaW5pc2goKQogewotICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OmZp
bmlzaCIsIHRoaXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpmaW5pc2giKTsKICAgICBtX2NvbnRleHQtPmZpbmlzaCgpOwogfQogCkBAIC0xMTYw
LDcgKzExNjAsNyBAQCBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6c3dhcEJ1ZmZlcnMoY29u
c3QgSW50UmVjdCYgc3ViQnVmZmVyKQogICAgIEFTU0VSVChtX3Zpc2libGUpOwogICAgIEFTU0VS
VCghbV9pc0ZyYW1lYnVmZmVyRGlzY2FyZGVkKTsKIAotICAgIFRSQUNFX0VWRU5UKCJMYXllclJl
bmRlcmVyQ2hyb21pdW06OnN3YXBCdWZmZXJzIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQw
KCJjYyIsICJMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBCdWZmZXJzIik7CiAgICAgLy8gV2Un
cmUgZG9uZSEgVGltZSB0byBzd2FwYnVmZmVycyEKIAogICAgIGlmIChtX2NhcGFiaWxpdGllcy51
c2luZ1BhcnRpYWxTd2FwKSB7CkBAIC0xNDA3LDcgKzE0MDcsNyBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6c2V0RHJhd0ZyYW1lYnVmZmVyUmVjdChjb25zdCBJbnRSZWN0JiBkcmF3UmVj
dCwgYm9vbAogCiBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6aW5pdGlhbGl6ZVNoYXJlZE9i
amVjdHMoKQogewotICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OmluaXRp
YWxpemVTaGFyZWRPYmplY3RzIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJM
YXllclJlbmRlcmVyQ2hyb21pdW06OmluaXRpYWxpemVTaGFyZWRPYmplY3RzIik7CiAgICAgbWFr
ZUNvbnRleHRDdXJyZW50KCk7CiAKICAgICAvLyBDcmVhdGUgYW4gRkJPIGZvciBkb2luZyBvZmZz
Y3JlZW4gcmVuZGVyaW5nLgpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgY29uc3QgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpUaWxlQ2hlY2tlcmJvYXJkUHJvZ3JhbSogTGF5ZXJSZW5kZXJlckNocm9taXVt
Ojp0aWwKICAgICBpZiAoIW1fdGlsZUNoZWNrZXJib2FyZFByb2dyYW0pCiAgICAgICAgIG1fdGls
ZUNoZWNrZXJib2FyZFByb2dyYW0gPSBhZG9wdFB0cihuZXcgVGlsZUNoZWNrZXJib2FyZFByb2dy
YW0obV9jb250ZXh0KSk7CiAgICAgaWYgKCFtX3RpbGVDaGVja2VyYm9hcmRQcm9ncmFtLT5pbml0
aWFsaXplZCgpKSB7Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06
OmNoZWNrZXJib2FyZFByb2dyYW06OmluaXRhbGl6ZSIsIHRoaXMsIDApOworICAgICAgICBUUkFD
RV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y2hlY2tlcmJvYXJkUHJvZ3Jh
bTo6aW5pdGFsaXplIik7CiAgICAgICAgIG1fdGlsZUNoZWNrZXJib2FyZFByb2dyYW0tPmluaXRp
YWxpemUobV9jb250ZXh0KTsKICAgICB9CiAgICAgcmV0dXJuIG1fdGlsZUNoZWNrZXJib2FyZFBy
b2dyYW0uZ2V0KCk7CkBAIC0xNDU4LDcgKzE0NTgsNyBAQCBjb25zdCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OlNvbGlkQ29sb3JQcm9ncmFtKiBMYXllclJlbmRlcmVyQ2hyb21pdW06OnNvbGlkQ29s
bwogICAgIGlmICghbV9zb2xpZENvbG9yUHJvZ3JhbSkKICAgICAgICAgbV9zb2xpZENvbG9yUHJv
Z3JhbSA9IGFkb3B0UHRyKG5ldyBTb2xpZENvbG9yUHJvZ3JhbShtX2NvbnRleHQpKTsKICAgICBp
ZiAoIW1fc29saWRDb2xvclByb2dyYW0tPmluaXRpYWxpemVkKCkpIHsKLSAgICAgICAgVFJBQ0Vf
RVZFTlQoIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6c29saWRDb2xvclByb2dyYW06OmluaXRpYWxp
emUiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXllclJlbmRlcmVy
Q2hyb21pdW06OnNvbGlkQ29sb3JQcm9ncmFtOjppbml0aWFsaXplIik7CiAgICAgICAgIG1fc29s
aWRDb2xvclByb2dyYW0tPmluaXRpYWxpemUobV9jb250ZXh0KTsKICAgICB9CiAgICAgcmV0dXJu
IG1fc29saWRDb2xvclByb2dyYW0uZ2V0KCk7CkBAIC0xNDY5LDcgKzE0NjksNyBAQCBjb25zdCBM
YXllclJlbmRlcmVyQ2hyb21pdW06OkhlYWRzVXBEaXNwbGF5UHJvZ3JhbSogTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpoZWFkcwogICAgIGlmICghbV9oZWFkc1VwRGlzcGxheVByb2dyYW0pCiAgICAg
ICAgIG1faGVhZHNVcERpc3BsYXlQcm9ncmFtID0gYWRvcHRQdHIobmV3IEhlYWRzVXBEaXNwbGF5
UHJvZ3JhbShtX2NvbnRleHQpKTsKICAgICBpZiAoIW1faGVhZHNVcERpc3BsYXlQcm9ncmFtLT5p
bml0aWFsaXplZCgpKSB7Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21p
dW06OmhlYWRzVXBEaXNwbGF5UHJvZ3JhbTo6aW5pdGlhbGl6ZSIsIHRoaXMsIDApOworICAgICAg
ICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aGVhZHNVcERpc3Bs
YXlQcm9ncmFtOjppbml0aWFsaXplIik7CiAgICAgICAgIG1faGVhZHNVcERpc3BsYXlQcm9ncmFt
LT5pbml0aWFsaXplKG1fY29udGV4dCk7CiAgICAgfQogICAgIHJldHVybiBtX2hlYWRzVXBEaXNw
bGF5UHJvZ3JhbS5nZXQoKTsKQEAgLTE0NzksNyArMTQ3OSw3IEBAIGNvbnN0IExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6UmVuZGVyUGFzc1Byb2dyYW0qIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6cmVu
ZGVyUGFzCiB7CiAgICAgQVNTRVJUKG1fcmVuZGVyUGFzc1Byb2dyYW0pOwogICAgIGlmICghbV9y
ZW5kZXJQYXNzUHJvZ3JhbS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgi
TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW5kZXJQYXNzUHJvZ3JhbTo6aW5pdGlhbGl6ZSIsIHRo
aXMsIDApOworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1
bTo6cmVuZGVyUGFzc1Byb2dyYW06OmluaXRpYWxpemUiKTsKICAgICAgICAgbV9yZW5kZXJQYXNz
UHJvZ3JhbS0+aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAgIH0KICAgICByZXR1cm4gbV9yZW5k
ZXJQYXNzUHJvZ3JhbS5nZXQoKTsKQEAgLTE0OTAsNyArMTQ5MCw3IEBAIGNvbnN0IExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6UmVuZGVyUGFzc1Byb2dyYW1BQSogTGF5ZXJSZW5kZXJlckNocm9taXVt
OjpyZW5kZXJQCiAgICAgaWYgKCFtX3JlbmRlclBhc3NQcm9ncmFtQUEpCiAgICAgICAgIG1fcmVu
ZGVyUGFzc1Byb2dyYW1BQSA9IGFkb3B0UHRyKG5ldyBSZW5kZXJQYXNzUHJvZ3JhbUFBKG1fY29u
dGV4dCkpOwogICAgIGlmICghbV9yZW5kZXJQYXNzUHJvZ3JhbUFBLT5pbml0aWFsaXplZCgpKSB7
Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OnJlbmRlclBhc3NQ
cm9ncmFtQUE6OmluaXRpYWxpemUiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJj
YyIsICJMYXllclJlbmRlcmVyQ2hyb21pdW06OnJlbmRlclBhc3NQcm9ncmFtQUE6OmluaXRpYWxp
emUiKTsKICAgICAgICAgbV9yZW5kZXJQYXNzUHJvZ3JhbUFBLT5pbml0aWFsaXplKG1fY29udGV4
dCk7CiAgICAgfQogICAgIHJldHVybiBtX3JlbmRlclBhc3NQcm9ncmFtQUEuZ2V0KCk7CkBAIC0x
NTAxLDcgKzE1MDEsNyBAQCBjb25zdCBMYXllclJlbmRlcmVyQ2hyb21pdW06OlJlbmRlclBhc3NN
YXNrUHJvZ3JhbSogTGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW5kZQogICAgIGlmICghbV9yZW5k
ZXJQYXNzTWFza1Byb2dyYW0pCiAgICAgICAgIG1fcmVuZGVyUGFzc01hc2tQcm9ncmFtID0gYWRv
cHRQdHIobmV3IFJlbmRlclBhc3NNYXNrUHJvZ3JhbShtX2NvbnRleHQpKTsKICAgICBpZiAoIW1f
cmVuZGVyUGFzc01hc2tQcm9ncmFtLT5pbml0aWFsaXplZCgpKSB7Ci0gICAgICAgIFRSQUNFX0VW
RU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OnJlbmRlclBhc3NNYXNrUHJvZ3JhbTo6aW5pdGlh
bGl6ZSIsIHRoaXMsIDApOworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6cmVuZGVyUGFzc01hc2tQcm9ncmFtOjppbml0aWFsaXplIik7CiAgICAgICAg
IG1fcmVuZGVyUGFzc01hc2tQcm9ncmFtLT5pbml0aWFsaXplKG1fY29udGV4dCk7CiAgICAgfQog
ICAgIHJldHVybiBtX3JlbmRlclBhc3NNYXNrUHJvZ3JhbS5nZXQoKTsKQEAgLTE1MTIsNyArMTUx
Miw3IEBAIGNvbnN0IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6UmVuZGVyUGFzc01hc2tQcm9ncmFt
QUEqIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6cmVuCiAgICAgaWYgKCFtX3JlbmRlclBhc3NNYXNr
UHJvZ3JhbUFBKQogICAgICAgICBtX3JlbmRlclBhc3NNYXNrUHJvZ3JhbUFBID0gYWRvcHRQdHIo
bmV3IFJlbmRlclBhc3NNYXNrUHJvZ3JhbUFBKG1fY29udGV4dCkpOwogICAgIGlmICghbV9yZW5k
ZXJQYXNzTWFza1Byb2dyYW1BQS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVO
VCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW5kZXJQYXNzTWFza1Byb2dyYW1BQTo6aW5pdGlh
bGl6ZSIsIHRoaXMsIDApOworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6cmVuZGVyUGFzc01hc2tQcm9ncmFtQUE6OmluaXRpYWxpemUiKTsKICAgICAg
ICAgbV9yZW5kZXJQYXNzTWFza1Byb2dyYW1BQS0+aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAg
IH0KICAgICByZXR1cm4gbV9yZW5kZXJQYXNzTWFza1Byb2dyYW1BQS5nZXQoKTsKQEAgLTE1MjIs
NyArMTUyMiw3IEBAIGNvbnN0IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6VGlsZVByb2dyYW0qIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dyYW0oKQogewogICAgIEFTU0VSVChtX3RpbGVQ
cm9ncmFtKTsKICAgICBpZiAoIW1fdGlsZVByb2dyYW0tPmluaXRpYWxpemVkKCkpIHsKLSAgICAg
ICAgVFJBQ0VfRVZFTlQoIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dyYW06OmluaXRp
YWxpemUiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXllclJlbmRl
cmVyQ2hyb21pdW06OnRpbGVQcm9ncmFtOjppbml0aWFsaXplIik7CiAgICAgICAgIG1fdGlsZVBy
b2dyYW0tPmluaXRpYWxpemUobV9jb250ZXh0KTsKICAgICB9CiAgICAgcmV0dXJuIG1fdGlsZVBy
b2dyYW0uZ2V0KCk7CkBAIC0xNTMyLDcgKzE1MzIsNyBAQCBjb25zdCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OlRpbGVQcm9ncmFtT3BhcXVlKiBMYXllclJlbmRlcmVyQ2hyb21pdW06OnRpbGVQcm9n
cgogewogICAgIEFTU0VSVChtX3RpbGVQcm9ncmFtT3BhcXVlKTsKICAgICBpZiAoIW1fdGlsZVBy
b2dyYW1PcGFxdWUtPmluaXRpYWxpemVkKCkpIHsKLSAgICAgICAgVFJBQ0VfRVZFTlQoIkxheWVy
UmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dyYW1PcGFxdWU6OmluaXRpYWxpemUiLCB0aGlzLCAw
KTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXllclJlbmRlcmVyQ2hyb21pdW06OnRp
bGVQcm9ncmFtT3BhcXVlOjppbml0aWFsaXplIik7CiAgICAgICAgIG1fdGlsZVByb2dyYW1PcGFx
dWUtPmluaXRpYWxpemUobV9jb250ZXh0KTsKICAgICB9CiAgICAgcmV0dXJuIG1fdGlsZVByb2dy
YW1PcGFxdWUuZ2V0KCk7CkBAIC0xNTQzLDcgKzE1NDMsNyBAQCBjb25zdCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OlRpbGVQcm9ncmFtQUEqIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dy
YW1BQQogICAgIGlmICghbV90aWxlUHJvZ3JhbUFBKQogICAgICAgICBtX3RpbGVQcm9ncmFtQUEg
PSBhZG9wdFB0cihuZXcgVGlsZVByb2dyYW1BQShtX2NvbnRleHQpKTsKICAgICBpZiAoIW1fdGls
ZVByb2dyYW1BQS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjp0aWxlUHJvZ3JhbUFBOjppbml0aWFsaXplIiwgdGhpcywgMCk7Cisg
ICAgICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiTGF5ZXJSZW5kZXJlckNocm9taXVtOjp0aWxlUHJv
Z3JhbUFBOjppbml0aWFsaXplIik7CiAgICAgICAgIG1fdGlsZVByb2dyYW1BQS0+aW5pdGlhbGl6
ZShtX2NvbnRleHQpOwogICAgIH0KICAgICByZXR1cm4gbV90aWxlUHJvZ3JhbUFBLmdldCgpOwpA
QCAtMTU1NCw3ICsxNTU0LDcgQEAgY29uc3QgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpUaWxlUHJv
Z3JhbVN3aXp6bGUqIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2cKICAgICBpZiAoIW1f
dGlsZVByb2dyYW1Td2l6emxlKQogICAgICAgICBtX3RpbGVQcm9ncmFtU3dpenpsZSA9IGFkb3B0
UHRyKG5ldyBUaWxlUHJvZ3JhbVN3aXp6bGUobV9jb250ZXh0KSk7CiAgICAgaWYgKCFtX3RpbGVQ
cm9ncmFtU3dpenpsZS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgiTGF5
ZXJSZW5kZXJlckNocm9taXVtOjp0aWxlUHJvZ3JhbVN3aXp6bGU6OmluaXRpYWxpemUiLCB0aGlz
LCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXllclJlbmRlcmVyQ2hyb21pdW06
OnRpbGVQcm9ncmFtU3dpenpsZTo6aW5pdGlhbGl6ZSIpOwogICAgICAgICBtX3RpbGVQcm9ncmFt
U3dpenpsZS0+aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAgIH0KICAgICByZXR1cm4gbV90aWxl
UHJvZ3JhbVN3aXp6bGUuZ2V0KCk7CkBAIC0xNTY1LDcgKzE1NjUsNyBAQCBjb25zdCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OlRpbGVQcm9ncmFtU3dpenpsZU9wYXF1ZSogTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp0aQogICAgIGlmICghbV90aWxlUHJvZ3JhbVN3aXp6bGVPcGFxdWUpCiAgICAgICAg
IG1fdGlsZVByb2dyYW1Td2l6emxlT3BhcXVlID0gYWRvcHRQdHIobmV3IFRpbGVQcm9ncmFtU3dp
enpsZU9wYXF1ZShtX2NvbnRleHQpKTsKICAgICBpZiAoIW1fdGlsZVByb2dyYW1Td2l6emxlT3Bh
cXVlLT5pbml0aWFsaXplZCgpKSB7Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVy
Q2hyb21pdW06OnRpbGVQcm9ncmFtU3dpenpsZU9wYXF1ZTo6aW5pdGlhbGl6ZSIsIHRoaXMsIDAp
OworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGls
ZVByb2dyYW1Td2l6emxlT3BhcXVlOjppbml0aWFsaXplIik7CiAgICAgICAgIG1fdGlsZVByb2dy
YW1Td2l6emxlT3BhcXVlLT5pbml0aWFsaXplKG1fY29udGV4dCk7CiAgICAgfQogICAgIHJldHVy
biBtX3RpbGVQcm9ncmFtU3dpenpsZU9wYXF1ZS5nZXQoKTsKQEAgLTE1NzYsNyArMTU3Niw3IEBA
IGNvbnN0IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6VGlsZVByb2dyYW1Td2l6emxlQUEqIExheWVy
UmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByCiAgICAgaWYgKCFtX3RpbGVQcm9ncmFtU3dpenpsZUFB
KQogICAgICAgICBtX3RpbGVQcm9ncmFtU3dpenpsZUFBID0gYWRvcHRQdHIobmV3IFRpbGVQcm9n
cmFtU3dpenpsZUFBKG1fY29udGV4dCkpOwogICAgIGlmICghbV90aWxlUHJvZ3JhbVN3aXp6bGVB
QS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp0aWxlUHJvZ3JhbVN3aXp6bGVBQTo6aW5pdGlhbGl6ZSIsIHRoaXMsIDApOworICAg
ICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGlsZVByb2dy
YW1Td2l6emxlQUE6OmluaXRpYWxpemUiKTsKICAgICAgICAgbV90aWxlUHJvZ3JhbVN3aXp6bGVB
QS0+aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAgIH0KICAgICByZXR1cm4gbV90aWxlUHJvZ3Jh
bVN3aXp6bGVBQS5nZXQoKTsKQEAgLTE1ODcsNyArMTU4Nyw3IEBAIGNvbnN0IExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6VGV4dHVyZVByb2dyYW0qIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGV4dHVy
ZVByb2dyCiAgICAgaWYgKCFtX3RleHR1cmVQcm9ncmFtKQogICAgICAgICBtX3RleHR1cmVQcm9n
cmFtID0gYWRvcHRQdHIobmV3IFRleHR1cmVQcm9ncmFtKG1fY29udGV4dCkpOwogICAgIGlmICgh
bV90ZXh0dXJlUHJvZ3JhbS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgi
TGF5ZXJSZW5kZXJlckNocm9taXVtOjp0ZXh0dXJlUHJvZ3JhbTo6aW5pdGlhbGl6ZSIsIHRoaXMs
IDApOworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6
dGV4dHVyZVByb2dyYW06OmluaXRpYWxpemUiKTsKICAgICAgICAgbV90ZXh0dXJlUHJvZ3JhbS0+
aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAgIH0KICAgICByZXR1cm4gbV90ZXh0dXJlUHJvZ3Jh
bS5nZXQoKTsKQEAgLTE1OTgsNyArMTU5OCw3IEBAIGNvbnN0IExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6VGV4dHVyZVByb2dyYW1GbGlwKiBMYXllclJlbmRlcmVyQ2hyb21pdW06OnRleHR1cmVQCiAg
ICAgaWYgKCFtX3RleHR1cmVQcm9ncmFtRmxpcCkKICAgICAgICAgbV90ZXh0dXJlUHJvZ3JhbUZs
aXAgPSBhZG9wdFB0cihuZXcgVGV4dHVyZVByb2dyYW1GbGlwKG1fY29udGV4dCkpOwogICAgIGlm
ICghbV90ZXh0dXJlUHJvZ3JhbUZsaXAtPmluaXRpYWxpemVkKCkpIHsKLSAgICAgICAgVFJBQ0Vf
RVZFTlQoIkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6dGV4dHVyZVByb2dyYW1GbGlwOjppbml0aWFs
aXplIiwgdGhpcywgMCk7CisgICAgICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp0ZXh0dXJlUHJvZ3JhbUZsaXA6OmluaXRpYWxpemUiKTsKICAgICAgICAgbV90
ZXh0dXJlUHJvZ3JhbUZsaXAtPmluaXRpYWxpemUobV9jb250ZXh0KTsKICAgICB9CiAgICAgcmV0
dXJuIG1fdGV4dHVyZVByb2dyYW1GbGlwLmdldCgpOwpAQCAtMTYwOSw3ICsxNjA5LDcgQEAgY29u
c3QgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpUZXh0dXJlSU9TdXJmYWNlUHJvZ3JhbSogTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjp0ZXgKICAgICBpZiAoIW1fdGV4dHVyZUlPU3VyZmFjZVByb2dyYW0p
CiAgICAgICAgIG1fdGV4dHVyZUlPU3VyZmFjZVByb2dyYW0gPSBhZG9wdFB0cihuZXcgVGV4dHVy
ZUlPU3VyZmFjZVByb2dyYW0obV9jb250ZXh0KSk7CiAgICAgaWYgKCFtX3RleHR1cmVJT1N1cmZh
Y2VQcm9ncmFtLT5pbml0aWFsaXplZCgpKSB7Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJl
bmRlcmVyQ2hyb21pdW06OnRleHR1cmVJT1N1cmZhY2VQcm9ncmFtOjppbml0aWFsaXplIiwgdGhp
cywgMCk7CisgICAgICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiTGF5ZXJSZW5kZXJlckNocm9taXVt
Ojp0ZXh0dXJlSU9TdXJmYWNlUHJvZ3JhbTo6aW5pdGlhbGl6ZSIpOwogICAgICAgICBtX3RleHR1
cmVJT1N1cmZhY2VQcm9ncmFtLT5pbml0aWFsaXplKG1fY29udGV4dCk7CiAgICAgfQogICAgIHJl
dHVybiBtX3RleHR1cmVJT1N1cmZhY2VQcm9ncmFtLmdldCgpOwpAQCAtMTYyMCw3ICsxNjIwLDcg
QEAgY29uc3QgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpWaWRlb1lVVlByb2dyYW0qIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6dmlkZW9ZVVZQcm8KICAgICBpZiAoIW1fdmlkZW9ZVVZQcm9ncmFtKQog
ICAgICAgICBtX3ZpZGVvWVVWUHJvZ3JhbSA9IGFkb3B0UHRyKG5ldyBWaWRlb1lVVlByb2dyYW0o
bV9jb250ZXh0KSk7CiAgICAgaWYgKCFtX3ZpZGVvWVVWUHJvZ3JhbS0+aW5pdGlhbGl6ZWQoKSkg
ewotICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjp2aWRlb1lVVlBy
b2dyYW06OmluaXRpYWxpemUiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIs
ICJMYXllclJlbmRlcmVyQ2hyb21pdW06OnZpZGVvWVVWUHJvZ3JhbTo6aW5pdGlhbGl6ZSIpOwog
ICAgICAgICBtX3ZpZGVvWVVWUHJvZ3JhbS0+aW5pdGlhbGl6ZShtX2NvbnRleHQpOwogICAgIH0K
ICAgICByZXR1cm4gbV92aWRlb1lVVlByb2dyYW0uZ2V0KCk7CkBAIC0xNjMxLDcgKzE2MzEsNyBA
QCBjb25zdCBMYXllclJlbmRlcmVyQ2hyb21pdW06OlZpZGVvU3RyZWFtVGV4dHVyZVByb2dyYW0q
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dgogICAgIGlmICghbV92aWRlb1N0cmVhbVRleHR1cmVQ
cm9ncmFtKQogICAgICAgICBtX3ZpZGVvU3RyZWFtVGV4dHVyZVByb2dyYW0gPSBhZG9wdFB0cihu
ZXcgVmlkZW9TdHJlYW1UZXh0dXJlUHJvZ3JhbShtX2NvbnRleHQpKTsKICAgICBpZiAoIW1fdmlk
ZW9TdHJlYW1UZXh0dXJlUHJvZ3JhbS0+aW5pdGlhbGl6ZWQoKSkgewotICAgICAgICBUUkFDRV9F
VkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpzdHJlYW1UZXh0dXJlUHJvZ3JhbTo6aW5pdGlh
bGl6ZSIsIHRoaXMsIDApOworICAgICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6c3RyZWFtVGV4dHVyZVByb2dyYW06OmluaXRpYWxpemUiKTsKICAgICAgICAg
bV92aWRlb1N0cmVhbVRleHR1cmVQcm9ncmFtLT5pbml0aWFsaXplKG1fY29udGV4dCk7CiAgICAg
fQogICAgIHJldHVybiBtX3ZpZGVvU3RyZWFtVGV4dHVyZVByb2dyYW0uZ2V0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1
cmVTdWJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclRleHR1cmVTdWJJbWFnZS5jcHAKaW5kZXggNGFhOTk2NWU3ZjM4YjBiZTM4M2ZiY2Qx
YjFmYjMwNzVmNzZjMmU1Yi4uYjg3YjQzZDk0MDFhMDFmZDE5OThiNzNmMmNlZmViNmZjMDI0ZjQ1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJUZXh0dXJlU3ViSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZVN1YkltYWdlLmNwcApAQCAtNjgsNyArNjgsNyBA
QCB2b2lkIExheWVyVGV4dHVyZVN1YkltYWdlOjp1cGxvYWRXaXRoVGV4U3ViSW1hZ2UoY29uc3Qg
dWludDhfdCogaW1hZ2UsIGNvbnN0IEludAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFJl
Y3QmIGRlc3RSZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgQ0NHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiB7Ci0g
ICAgVFJBQ0VfRVZFTlQoIkxheWVyVGV4dHVyZVN1YkltYWdlOjp1cGxvYWRXaXRoVGV4U3ViSW1h
Z2UiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkxheWVyVGV4dHVyZVN1Yklt
YWdlOjp1cGxvYWRXaXRoVGV4U3ViSW1hZ2UiKTsKICAgICBpZiAoIW1fc3ViSW1hZ2UpCiAgICAg
ICAgIG1fc3ViSW1hZ2UgPSBhZG9wdEFycmF5UHRyKG5ldyB1aW50OF90W21fc3ViSW1hZ2VTaXpl
LndpZHRoKCkgKiBtX3N1YkltYWdlU2l6ZS5oZWlnaHQoKSAqIDRdKTsKIApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTGF5ZXJUZXh0dXJlU3ViSW1hZ2U6OnVwbG9hZFdpdGhNYXBUZXhTdWJJbWFn
ZShjb25zdCB1aW50OF90KiBpbWFnZSwgY29uc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25z
dCBJbnRSZWN0JiBkZXN0UmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHQzNEZW51bSBmb3JtYXQsIENDR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0KQogewotICAgIFRSQUNFX0VWRU5UKCJMYXllclRleHR1cmVTdWJJbWFnZTo6dXBsb2FkV2l0
aE1hcFRleFN1YkltYWdlIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJMYXll
clRleHR1cmVTdWJJbWFnZTo6dXBsb2FkV2l0aE1hcFRleFN1YkltYWdlIik7CiAgICAgV2ViS2l0
OjpXZWJHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNkID0gY29udGV4dC0+Y29udGV4dDNEKCk7
CiAgICAgaWYgKCFjb250ZXh0M2QpIHsKICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlz
IHBhdGggZm9yIHNvZnR3YXJlIGNvbXBvc2l0aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJl
VXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9T
a1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcAppbmRleCBjMTE3N2ZiY2QzMTY3
NWQ2YjlmNDYxZDQ3OTQwOTM5NDlmZWVmYjRjLi5hODcxOGI5NjM2NjBiM2Q1ZGI3Mzk1YzYyN2Ux
MjE1OGQxNTcxNzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Ta1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Ta1BpY3R1cmVDYW52YXNM
YXllclRleHR1cmVVcGRhdGVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIFNrUGljdHVyZUNh
bnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OnByZXBhcmVUb1VwZGF0ZShjb25zdCBJbnRSZWN0JiBj
b250ZW50UgogCiB2b2lkIFNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmRyYXdQ
aWN0dXJlKFNrQ2FudmFzKiBjYW52YXMpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIlNrUGljdHVyZUNh
bnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmRyYXdQaWN0dXJlIiwgdGhpcywgMCk7CisgICAgVFJB
Q0VfRVZFTlQwKCJjYyIsICJTa1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpkcmF3
UGljdHVyZSIpOwogICAgIGNhbnZhcy0+ZHJhd1BpY3R1cmUobV9waWN0dXJlKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVy
ZUNvcGllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
ZXh0dXJlQ29waWVyLmNwcAppbmRleCAwZjIzMDkwNjg3OTRiOTA2ODRhOGU2MDY2NzQ5MWQzMDJl
NTY0OGVjLi4yNjI3ODRkNjU4ZDVhOTZmM2U2ODNkN2RiYzJhMzcyOWQ0YWJiNTZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlQ29w
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
ZXh0dXJlQ29waWVyLmNwcApAQCAtNjcsNyArNjcsNyBAQCBBY2NlbGVyYXRlZFRleHR1cmVDb3Bp
ZXI6On5BY2NlbGVyYXRlZFRleHR1cmVDb3BpZXIoKQogCiB2b2lkIEFjY2VsZXJhdGVkVGV4dHVy
ZUNvcGllcjo6Y29weVRleHR1cmUoQ0NHcmFwaGljc0NvbnRleHQqIGNjQ29udGV4dCwgdW5zaWdu
ZWQgc291cmNlVGV4dHVyZUlkLCB1bnNpZ25lZCBkZXN0VGV4dHVyZUlkLCBjb25zdCBJbnRTaXpl
JiBzaXplKQogewotICAgIFRSQUNFX0VWRU5UKCJUZXh0dXJlQ29waWVyOjpjb3B5VGV4dHVyZSIs
IHRoaXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiVGV4dHVyZUNvcGllcjo6Y29weVRl
eHR1cmUiKTsKIAogICAgIFdlYktpdDo6V2ViR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBj
Y0NvbnRleHQtPmNvbnRleHQzRCgpOwogICAgIGlmICghY29udGV4dCkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1h
bmFnZXIuY3BwCmluZGV4IGQxZjUyZmFlYjU2NzQyODQ3Mjc2NWMzMGMxZjQ5ZjU5MzRjYzUxOWYu
LjQ4NWM3MjIyOGVjMDM3ZmNjZTVmM2ZlYzQwMDkyNDg1MjM3YzA2YmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJl
TWFuYWdlci5jcHAKQEAgLTE5NSw3ICsxOTUsNyBAQCB2b2lkIFRleHR1cmVNYW5hZ2VyOjp1bnBy
b3RlY3RBbGxUZXh0dXJlcygpCiAKIHZvaWQgVGV4dHVyZU1hbmFnZXI6OmV2aWN0VGV4dHVyZShU
ZXh0dXJlVG9rZW4gdG9rZW4sIFRleHR1cmVJbmZvIGluZm8pCiB7Ci0gICAgVFJBQ0VfRVZFTlQo
IlRleHR1cmVNYW5hZ2VyOjpldmljdFRleHR1cmUiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVO
VDAoImNjIiwgIlRleHR1cmVNYW5hZ2VyOjpldmljdFRleHR1cmUiKTsKICAgICByZW1vdmVUZXh0
dXJlKHRva2VuLCBpbmZvKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVSYXRlQ29udHJv
bGxlci5jcHAKaW5kZXggM2FiMzkzZmQ5ZjNlMjZkNzhkYzBmNjA3OGJkNTBhOWQ4NDU3YzNmMi4u
ZGY3ZjMxNTU0YTFmZWVmMmQ4NzVkMWVmN2UxZTcyZTI1ODllYTg3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQ0NG
cmFtZVJhdGVDb250cm9sbGVyOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCiB7CiAgICAgaWYgKG1f
dGltZVNvdXJjZS0+YWN0aXZlKCkgPT0gYWN0aXZlKQogICAgICAgICByZXR1cm47Ci0gICAgVFJB
Q0VfRVZFTlQoIkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6c2V0QWN0aXZlIiwgMCwgKGFjdGl2ZSA/
ICJhY3RpdmUiIDogImluYWN0aXZlIikpOworICAgIFRSQUNFX0VWRU5UMSgiY2MiLCAiQ0NGcmFt
ZVJhdGVDb250cm9sbGVyOjpzZXRBY3RpdmUiLCAiYWN0aXZlIiwgYWN0aXZlKTsKICAgICBtX3Rp
bWVTb3VyY2UtPnNldEFjdGl2ZShhY3RpdmUpOwogfQogCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQg
Q0NGcmFtZVJhdGVDb250cm9sbGVyOjpvblRpbWVyVGljaygpCiAKICAgICAvLyBEb24ndCBmb3J3
YXJkIHRoZSB0aWNrIGlmIHdlIGhhdmUgdG9vIG1hbnkgZnJhbWVzIGluIGZsaWdodC4KICAgICBp
ZiAobV9tYXhGcmFtZXNQZW5kaW5nICYmIG1fbnVtRnJhbWVzUGVuZGluZyA+PSBtX21heEZyYW1l
c1BlbmRpbmcpIHsKLSAgICAgICAgVFJBQ0VfRVZFTlQoIkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6
b25UaW1lclRpY2tCdXRNYXhGcmFtZXNQZW5kaW5nIiwgMCwgMCk7CisgICAgICAgIFRSQUNFX0VW
RU5UMCgiY2MiLCAiQ0NGcmFtZVJhdGVDb250cm9sbGVyOjpvblRpbWVyVGlja0J1dE1heEZyYW1l
c1BlbmRpbmciKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5jcHAKaW5kZXggMzUxMTEyYmQ1YWZiN2IxOWMxODA5YjRjMzEwY2FlYzdmMzc3NWNi
YS4uYWNmNjkwZWUxYTU0YjZjMDEyNWI2ZDhhM2IyMWQyM2FlYjcxNGYxOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3QuY3BwCkBAIC05Niw3ICs5Niw3IEBAIENDTGF5ZXJUcmVlSG9zdDo6
Q0NMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVlSG9zdENsaWVudCogY2xpZW50LCBjb25zdCBDQ0xh
eWVyVHJlCiAKIGJvb2wgQ0NMYXllclRyZWVIb3N0Ojppbml0aWFsaXplKCkKIHsKLSAgICBUUkFD
RV9FVkVOVCgiQ0NMYXllclRyZWVIb3N0Ojppbml0aWFsaXplIiwgdGhpcywgMCk7CisgICAgVFJB
Q0VfRVZFTlQwKCJjYyIsICJDQ0xheWVyVHJlZUhvc3Q6OmluaXRpYWxpemUiKTsKIAogICAgIGlm
IChDQ1Byb3h5OjpoYXNJbXBsVGhyZWFkKCkpCiAgICAgICAgIG1fcHJveHkgPSBDQ1RocmVhZFBy
b3h5OjpjcmVhdGUodGhpcyk7CkBAIC0xMjIsNyArMTIyLDcgQEAgYm9vbCBDQ0xheWVyVHJlZUhv
c3Q6OmluaXRpYWxpemUoKQogQ0NMYXllclRyZWVIb3N0Ojp+Q0NMYXllclRyZWVIb3N0KCkKIHsK
ICAgICBBU1NFUlQoQ0NQcm94eTo6aXNNYWluVGhyZWFkKCkpOwotICAgIFRSQUNFX0VWRU5UKCJD
Q0xheWVyVHJlZUhvc3Q6On5DQ0xheWVyVHJlZUhvc3QiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9F
VkVOVDAoImNjIiwgIkNDTGF5ZXJUcmVlSG9zdDo6fkNDTGF5ZXJUcmVlSG9zdCIpOwogICAgIEFT
U0VSVChtX3Byb3h5KTsKICAgICBtX3Byb3h5LT5zdG9wKCk7CiAgICAgbV9wcm94eS5jbGVhcigp
OwpAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpzZXRTdXJmYWNlUmVh
ZHkoKQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoKQog
ewotICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3Q6OmluaXRpYWxpemVMYXllclJlbmRl
cmVyIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJDQ0xheWVyVHJlZUhvc3Q6
OmluaXRpYWxpemVMYXllclJlbmRlcmVyIik7CiAgICAgaWYgKCFtX3Byb3h5LT5pbml0aWFsaXpl
TGF5ZXJSZW5kZXJlcigpKSB7CiAgICAgICAgIC8vIFVoIG9oLCBiZXR0ZXIgdGVsbCB0aGUgY2xp
ZW50IHRoYXQgd2UgY2FuJ3QgZG8gYW55dGhpbmcgd2l0aCB0aGlzIGNvbnRleHQuCiAgICAgICAg
IG1fY2xpZW50LT5kaWRSZWNyZWF0ZUNvbnRleHQoZmFsc2UpOwpAQCAtMjI1LDcgKzIyNSw3IEBA
IHZvaWQgQ0NMYXllclRyZWVIb3N0OjpsYXlvdXQoKQogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmJl
Z2luQ29tbWl0T25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJbXBsKQogewog
ICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7Ci0gICAgVFJBQ0VfRVZFTlQoIkND
TGF5ZXJUcmVlSG9zdDo6Y29tbWl0VG8iLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNj
IiwgIkNDTGF5ZXJUcmVlSG9zdDo6Y29tbWl0VG8iKTsKIAogICAgIG1fY29udGVudHNUZXh0dXJl
TWFuYWdlci0+cmVkdWNlTWVtb3J5VG9MaW1pdChtX2NvbnRlbnRzVGV4dHVyZU1hbmFnZXItPnBy
ZWZlcnJlZE1lbW9yeUxpbWl0Qnl0ZXMoKSk7CiAgICAgbV9jb250ZW50c1RleHR1cmVNYW5hZ2Vy
LT5kZWxldGVFdmljdGVkVGV4dHVyZXMoaG9zdEltcGwtPmNvbnRlbnRzVGV4dHVyZUFsbG9jYXRv
cigpKTsKQEAgLTI3OCw3ICsyNzgsNyBAQCBQYXNzT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+
IENDTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlTGF5ZXJUcmVlSG9zdEltcGwoQ0NMYXllcgogCiB2b2lk
IENDTGF5ZXJUcmVlSG9zdDo6ZGlkTG9zZUNvbnRleHQoKQogewotICAgIFRSQUNFX0VWRU5UKCJD
Q0xheWVyVHJlZUhvc3Q6OmRpZExvc2VDb250ZXh0IiwgMCwgdGhpcyk7CisgICAgVFJBQ0VfRVZF
TlQwKCJjYyIsICJDQ0xheWVyVHJlZUhvc3Q6OmRpZExvc2VDb250ZXh0Iik7CiAgICAgQVNTRVJU
KENDUHJveHk6OmlzTWFpblRocmVhZCgpKTsKICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKICAg
ICBtX251bUZhaWxlZFJlY3JlYXRlQXR0ZW1wdHMgPSAwOwpAQCAtNDYwLDcgKzQ2MCw3IEBAIHZv
aWQgQ0NMYXllclRyZWVIb3N0Ojp1cGRhdGVMYXllcnMoQ0NUZXh0dXJlVXBkYXRlciYgdXBkYXRl
ciwgc2l6ZV90IGNvbnRlbnRzTWVtCiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0Ojp1cGRhdGVMYXll
cnMoTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyLCBDQ1RleHR1cmVVcGRhdGVyJiB1cGRhdGVyKQog
ewotICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVycyIsIHRoaXMs
IDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NMYXllclRyZWVIb3N0Ojp1cGRhdGVMYXll
cnMiKTsKIAogICAgIGlmICghcm9vdExheWVyLT5yZW5kZXJTdXJmYWNlKCkpCiAgICAgICAgIHJv
b3RMYXllci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQg
Q0NMYXllclRyZWVIb3N0Ojp1cGRhdGVMYXllcnMoTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyLCBD
Q1RleHR1cmVVcGRhdGVyJiB1CiAgICAgcm9vdFJlbmRlclN1cmZhY2UtPmNsZWFyTGF5ZXJMaXN0
KCk7CiAKICAgICB7Ci0gICAgICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0
ZUxheWVyczo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJj
YyIsICJDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyczo6Y2FsY0RyYXdFdGMiKTsKICAgICAg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggaWRlbnRpdHlNYXRyaXg7CiAgICAgICAgIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4IGRldmljZVNjYWxlVHJhbnNmb3JtOwogICAgICAgICBkZXZpY2VT
Y2FsZVRyYW5zZm9ybS5zY2FsZShtX2RldmljZVNjYWxlRmFjdG9yKTsKQEAgLTY4Myw3ICs2ODMs
NyBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6YW5pbWF0ZUxheWVycyhkb3VibGUgbW9ub3Rvbmlj
VGltZSkKICAgICBpZiAoIUNDU2V0dGluZ3M6OmFjY2VsZXJhdGVkQW5pbWF0aW9uRW5hYmxlZCgp
IHx8ICFtX25lZWRzQW5pbWF0ZUxheWVycykKICAgICAgICAgcmV0dXJuOwogCi0gICAgVFJBQ0Vf
RVZFTlQoIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmFuaW1hdGVMYXllcnMiLCB0aGlzLCAwKTsKKyAg
ICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmFuaW1hdGVMYXllcnMi
KTsKICAgICBtX25lZWRzQW5pbWF0ZUxheWVycyA9IGFuaW1hdGVMYXllcnNSZWN1cnNpdmUobV9y
b290TGF5ZXIuZ2V0KCksIG1vbm90b25pY1RpbWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2lu
Z2xlVGhyZWFkUHJveHkuY3BwCmluZGV4IGQ2OWU0YmM0NTRmNGU0MTNiMmRhNWRlZWM5M2I2NzY5
MmMwZGZhMjUuLjY3OGVmZGZmMGEzNThhMmQyOWZiMmE4N2E3ODJkNTdiZjdlMzY3YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2lu
Z2xlVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwCkBAIC01Miw3ICs1Miw3IEBAIEND
U2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhyZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0KiBs
YXllclRyZWVIb3N0KQogICAgICwgbV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQoZmFsc2UpCiAg
ICAgLCBtX25leHRGcmFtZUlzTmV3bHlDb21taXR0ZWRGcmFtZShmYWxzZSkKIHsKLSAgICBUUkFD
RV9FVkVOVCgiQ0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eSIsIHRoaXMs
IDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5n
bGVUaHJlYWRQcm94eSIpOwogICAgIEFTU0VSVChDQ1Byb3h5Ojppc01haW5UaHJlYWQoKSk7CiB9
CiAKQEAgLTY0LDE0ICs2NCwxNCBAQCB2b2lkIENDU2luZ2xlVGhyZWFkUHJveHk6OnN0YXJ0KCkK
IAogQ0NTaW5nbGVUaHJlYWRQcm94eTo6fkNDU2luZ2xlVGhyZWFkUHJveHkoKQogewotICAgIFRS
QUNFX0VWRU5UKCJDQ1NpbmdsZVRocmVhZFByb3h5Ojp+Q0NTaW5nbGVUaHJlYWRQcm94eSIsIHRo
aXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NTaW5nbGVUaHJlYWRQcm94eTo6fkND
U2luZ2xlVGhyZWFkUHJveHkiKTsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNNYWluVGhyZWFkKCkp
OwogICAgIEFTU0VSVCghbV9sYXllclRyZWVIb3N0SW1wbCAmJiAhbV9sYXllclRyZWVIb3N0KTsg
Ly8gbWFrZSBzdXJlIHN0b3AoKSBnb3QgY2FsbGVkLgogfQogCiBib29sIENDU2luZ2xlVGhyZWFk
UHJveHk6OmNvbXBvc2l0ZUFuZFJlYWRiYWNrKHZvaWQgKnBpeGVscywgY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsKLSAgICBUUkFDRV9FVkVOVCgiQ0NTaW5nbGVUaHJlYWRQcm94eTo6Y29tcG9zaXRl
QW5kUmVhZGJhY2siLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDU2luZ2xl
VGhyZWFkUHJveHk6OmNvbXBvc2l0ZUFuZFJlYWRiYWNrIik7CiAgICAgQVNTRVJUKENDUHJveHk6
OmlzTWFpblRocmVhZCgpKTsKIAogICAgIGlmICghY29tbWl0QW5kQ29tcG9zaXRlKCkpCkBAIC0y
NTUsNyArMjU1LDcgQEAgdm9pZCBDQ1NpbmdsZVRocmVhZFByb3h5OjpkaWRBZGRBbmltYXRpb24o
KQogCiB2b2lkIENDU2luZ2xlVGhyZWFkUHJveHk6OnN0b3AoKQogewotICAgIFRSQUNFX0VWRU5U
KCJDQ1NpbmdsZVRocmVhZFByb3h5OjpzdG9wIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQw
KCJjYyIsICJDQ1NpbmdsZVRocmVhZFByb3h5OjpzdG9wIik7CiAgICAgQVNTRVJUKENDUHJveHk6
OmlzTWFpblRocmVhZCgpKTsKICAgICB7CiAgICAgICAgIERlYnVnU2NvcGVkU2V0TWFpblRocmVh
ZEJsb2NrZWQgbWFpblRocmVhZEJsb2NrZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmlu
ZGV4IDM4MjI3NDc0NmM4MDExZjFhZmI4NWVkY2I3OTI4ODM4YTQ3YWI5MmQuLjk5NzNhOTc0YjE1
NjdiYjY2ODMxMjYwMzZlY2Q0MDQzMWYwMTFmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHku
Y3BwCkBAIC04OSwyNSArODksMjUgQEAgQ0NUaHJlYWRQcm94eTo6Q0NUaHJlYWRQcm94eShDQ0xh
eWVyVHJlZUhvc3QqIGxheWVyVHJlZUhvc3QpCiAgICAgLCBtX3RleHR1cmVBY3F1aXNpdGlvbkNv
bXBsZXRpb25FdmVudE9uSW1wbFRocmVhZCgwKQogICAgICwgbV9uZXh0RnJhbWVJc05ld2x5Q29t
bWl0dGVkRnJhbWVPbkltcGxUaHJlYWQoZmFsc2UpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhy
ZWFkUHJveHk6OkNDVGhyZWFkUHJveHkiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNj
IiwgIkNDVGhyZWFkUHJveHk6OkNDVGhyZWFkUHJveHkiKTsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogfQogCiBDQ1RocmVhZFByb3h5Ojp+Q0NUaHJlYWRQcm94eSgpCiB7Ci0gICAgVFJB
Q0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6On5DQ1RocmVhZFByb3h5IiwgdGhpcywgMCk7CisgICAg
VFJBQ0VfRVZFTlQwKCJjYyIsICJDQ1RocmVhZFByb3h5Ojp+Q0NUaHJlYWRQcm94eSIpOwogICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKCFtX3N0YXJ0ZWQpOwogfQogCiBi
b29sIENDVGhyZWFkUHJveHk6OmNvbXBvc2l0ZUFuZFJlYWRiYWNrKHZvaWQgKnBpeGVscywgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQUm94eTo6Y29t
cG9zaXRlQW5kUmVhZGJhY2siLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkND
VGhyZWFkUFJveHk6OmNvbXBvc2l0ZUFuZFJlYWRiYWNrIik7CiAgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKICAgICBBU1NFUlQobV9sYXllclRyZWVIb3N0KTsKIAogICAgIGlmICghbV9sYXll
clRyZWVIb3N0LT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcklmTmVlZGVkKCkpIHsKLSAgICAgICAg
VFJBQ0VfRVZFTlQoImNvbXBvc2l0ZUFuZFJlYWRiYWNrX0Vhcmx5T3V0X0xSX1VuaW5pdGlhbGl6
ZWQiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJjb21wb3NpdGVBbmRS
ZWFkYmFja19FYXJseU91dF9MUl9VbmluaXRpYWxpemVkIik7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKQEAgLTE3NSw3ICsxNzUsNyBAQCBib29sIENDVGhyZWFkUHJveHk6OmlzU3Rh
cnRlZCgpIGNvbnN0CiAKIGJvb2wgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUNvbnRleHQoKQog
ewotICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplQ29udGV4dCIsIHRo
aXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6
ZUNvbnRleHQiKTsKICAgICBPd25QdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNvbnRleHQgPSBtX2xh
eWVyVHJlZUhvc3QtPmNyZWF0ZUNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIENDVGhyZWFkUHJveHk6OnNl
dFZpc2libGVPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24sIGJvb2wg
dgogCiBib29sIENDVGhyZWFkUHJveHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyKCkKIHsKLSAg
ICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIiLCB0
aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OmluaXRpYWxp
emVMYXllclJlbmRlcmVyIik7CiAgICAgLy8gTWFrZSBhIGJsb2NraW5nIGNhbGwgdG8gaW5pdGlh
bGl6ZUxheWVyUmVuZGVyZXJPbkltcGxUaHJlYWQuIFRoZSByZXN1bHRzIG9mIHRoYXQgY2FsbAog
ICAgIC8vIGFyZSBwdXNoZWQgaW50byB0aGUgaW5pdGlhbGl6ZVN1Y2NlZWRlZCBhbmQgY2FwYWJp
bGl0aWVzIGxvY2FsIHZhcmlhYmxlcy4KICAgICBDQ0NvbXBsZXRpb25FdmVudCBjb21wbGV0aW9u
OwpAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNBbmltYXRl
KCkKICAgICBpZiAobV9hbmltYXRlUmVxdWVzdGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBU
UkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNBbmltYXRlIiwgdGhpcywgMCk7Cisg
ICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJDQ1RocmVhZFByb3h5OjpzZXROZWVkc0FuaW1hdGUiKTsK
ICAgICBtX2FuaW1hdGVSZXF1ZXN0ZWQgPSB0cnVlOwogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9
CkBAIC0zMTAsNyArMzEwLDcgQEAgdm9pZCBDQ1RocmVhZFByb3h5OjpzZXROZWVkc0NvbW1pdCgp
CiAgICAgaWYgKG1fY29tbWl0UmVxdWVzdGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBUUkFD
RV9FVkVOVCgiQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNDb21taXQiLCB0aGlzLCAwKTsKKyAgICBU
UkFDRV9FVkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OnNldE5lZWRzQ29tbWl0Iik7CiAgICAg
bV9jb21taXRSZXF1ZXN0ZWQgPSB0cnVlOwogICAgIENDUHJveHk6OmltcGxUaHJlYWQoKS0+cG9z
dFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5OjpzZXROZWVkc0Nv
bW1pdE9uSW1wbFRocmVhZCkpOwogfQpAQCAtMzI1LDcgKzMyNSw3IEBAIHZvaWQgQ0NUaHJlYWRQ
cm94eTo6ZGlkTG9zZUNvbnRleHRPbkltcGxUaHJlYWQoKQogdm9pZCBDQ1RocmVhZFByb3h5Ojpv
blN3YXBCdWZmZXJzQ29tcGxldGVPbkltcGxUaHJlYWQoKQogewogICAgIEFTU0VSVChpc0ltcGxU
aHJlYWQoKSk7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6Om9uU3dhcEJ1ZmZlcnND
b21wbGV0ZU9uSW1wbFRocmVhZCIsIHRoaXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAi
Q0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFkIik7CiAgICAg
bV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPmRpZFN3YXBCdWZmZXJzQ29tcGxldGUoKTsKICAgICBt
X21haW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1Ro
cmVhZFByb3h5OjpkaWRDb21wbGV0ZVN3YXBCdWZmZXJzKSk7CiB9CkBAIC0zMzMsMTQgKzMzMywx
NCBAQCB2b2lkIENDVGhyZWFkUHJveHk6Om9uU3dhcEJ1ZmZlcnNDb21wbGV0ZU9uSW1wbFRocmVh
ZCgpCiB2b2lkIENDVGhyZWFkUHJveHk6OnNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKCkKIHsK
ICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwotICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFBy
b3h5OjpzZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCIsIHRoaXMsIDApOworICAgIFRSQUNFX0VW
RU5UMCgiY2MiLCAiQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNDb21taXRPbkltcGxUaHJlYWQiKTsK
ICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVhZC0+c2V0TmVlZHNDb21taXQoKTsKIH0KIAogdm9p
ZCBDQ1RocmVhZFByb3h5OjpzZXROZWVkc0ZvcmNlZENvbW1pdE9uSW1wbFRocmVhZCgpCiB7CiAg
ICAgQVNTRVJUKGlzSW1wbFRocmVhZCgpKTsKLSAgICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94
eTo6c2V0TmVlZHNGb3JjZWRDb21taXRPbkltcGxUaHJlYWQiLCB0aGlzLCAwKTsKKyAgICBUUkFD
RV9FVkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OnNldE5lZWRzRm9yY2VkQ29tbWl0T25JbXBs
VGhyZWFkIik7CiAgICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPnNldE5lZWRzQ29tbWl0KCk7
CiAgICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPnNldE5lZWRzRm9yY2VkQ29tbWl0KCk7CiB9
CkBAIC0zNDgsMTQgKzM0OCwxNCBAQCB2b2lkIENDVGhyZWFkUHJveHk6OnNldE5lZWRzRm9yY2Vk
Q29tbWl0T25JbXBsVGhyZWFkKCkKIHZvaWQgQ0NUaHJlYWRQcm94eTo6cG9zdEFuaW1hdGlvbkV2
ZW50c1RvTWFpblRocmVhZE9uSW1wbFRocmVhZChQYXNzT3duUHRyPENDQW5pbWF0aW9uRXZlbnRz
VmVjdG9yPiBldmVudHMsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lKQogewogICAgIEFTU0VSVChpc0lt
cGxUaHJlYWQoKSk7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OnBvc3RBbmltYXRp
b25FdmVudHNUb01haW5UaHJlYWRPbkltcGxUaHJlYWQiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9F
VkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OnBvc3RBbmltYXRpb25FdmVudHNUb01haW5UaHJl
YWRPbkltcGxUaHJlYWQiKTsKICAgICBtX21haW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRl
Q0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5OjpzZXRBbmltYXRpb25FdmVudHMsIGV2
ZW50cywgd2FsbENsb2NrVGltZSkpOwogfQogCiB2b2lkIENDVGhyZWFkUHJveHk6OnNldE5lZWRz
UmVkcmF3KCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgIFRSQUNFX0VWRU5U
KCJDQ1RocmVhZFByb3h5OjpzZXROZWVkc1JlZHJhdyIsIHRoaXMsIDApOworICAgIFRSQUNFX0VW
RU5UMCgiY2MiLCAiQ0NUaHJlYWRQcm94eTo6c2V0TmVlZHNSZWRyYXciKTsKICAgICBDQ1Byb3h5
OjppbXBsVGhyZWFkKCktPnBvc3RUYXNrKGNyZWF0ZUNDVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJl
YWRQcm94eTo6c2V0RnVsbFJvb3RMYXllckRhbWFnZU9uSW1wbFRocmVhZCkpOwogICAgIENDUHJv
eHk6OmltcGxUaHJlYWQoKS0+cG9zdFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1Ro
cmVhZFByb3h5OjpzZXROZWVkc1JlZHJhd09uSW1wbFRocmVhZCkpOwogfQpAQCAtMzY5LDcgKzM2
OSw3IEBAIGJvb2wgQ0NUaHJlYWRQcm94eTo6Y29tbWl0UmVxdWVzdGVkKCkgY29uc3QKIHZvaWQg
Q0NUaHJlYWRQcm94eTo6c2V0TmVlZHNSZWRyYXdPbkltcGxUaHJlYWQoKQogewogICAgIEFTU0VS
VChpc0ltcGxUaHJlYWQoKSk7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OnNldE5l
ZWRzUmVkcmF3T25JbXBsVGhyZWFkIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIs
ICJDQ1RocmVhZFByb3h5OjpzZXROZWVkc1JlZHJhd09uSW1wbFRocmVhZCIpOwogICAgIG1fc2No
ZWR1bGVyT25JbXBsVGhyZWFkLT5zZXROZWVkc1JlZHJhdygpOwogfQogCkBAIC0zODcsNyArMzg3
LDcgQEAgdm9pZCBDQ1RocmVhZFByb3h5OjpzdGFydCgpCiAKIHZvaWQgQ0NUaHJlYWRQcm94eTo6
c3RvcCgpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OnN0b3AiLCB0aGlzLCAw
KTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OnN0b3AiKTsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3N0YXJ0ZWQpOwogCkBAIC00MjQs
NyArNDI0LDcgQEAgdm9pZCBDQ1RocmVhZFByb3h5Ojpmb3JjZVNlcmlhbGl6ZU9uU3dhcEJ1ZmZl
cnNPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGMKIAogdm9pZCBDQ1RocmVhZFByb3h5
OjpmaW5pc2hBbGxSZW5kZXJpbmdPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBs
ZXRpb24pCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OmZpbmlzaEFsbFJlbmRl
cmluZ09uSW1wbFRocmVhZCIsIHRoaXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NU
aHJlYWRQcm94eTo6ZmluaXNoQWxsUmVuZGVyaW5nT25JbXBsVGhyZWFkIik7CiAgICAgQVNTRVJU
KGlzSW1wbFRocmVhZCgpKTsKICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5maW5pc2hBbGxSZW5k
ZXJpbmcoKTsKICAgICBjb21wbGV0aW9uLT5zaWduYWwoKTsKQEAgLTU0MSw3ICs1NDEsNyBAQCB2
b2lkIENDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWUoKQogICAgIC8vIHBvaW50IG9mIHZpZXcsIGJ1
dCBhc3luY2hyb25vdXNseSBwZXJmb3JtZWQgb24gdGhlIGltcGwgdGhyZWFkLAogICAgIC8vIGNv
b3JkaW5hdGVkIGJ5IHRoZSBDQ1NjaGVkdWxlci4KICAgICB7Ci0gICAgICAgIFRSQUNFX0VWRU5U
KCJjb21taXQiLCB0aGlzLCAwKTsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJjb21taXQi
KTsKICAgICAgICAgRGVidWdTY29wZWRTZXRNYWluVGhyZWFkQmxvY2tlZCBtYWluVGhyZWFkQmxv
Y2tlZDsKIAogICAgICAgICBDQ0NvbXBsZXRpb25FdmVudCBjb21wbGV0aW9uOwpAQCAtNTU1LDcg
KzU1NSw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6YmVnaW5GcmFtZSgpCiAKIHZvaWQgQ0NUaHJl
YWRQcm94eTo6YmVnaW5GcmFtZUNvbXBsZXRlT25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50
KiBjb21wbGV0aW9uKQogewotICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5OjpiZWdpbkZy
YW1lQ29tcGxldGVPbkltcGxUaHJlYWQiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNj
IiwgIkNDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVDb21wbGV0ZU9uSW1wbFRocmVhZCIpOwogICAg
IEFTU0VSVCghbV9jb21taXRDb21wbGV0aW9uRXZlbnRPbkltcGxUaHJlYWQpOwogICAgIEFTU0VS
VChpc0ltcGxUaHJlYWQoKSk7CiAgICAgQVNTRVJUKG1fc2NoZWR1bGVyT25JbXBsVGhyZWFkKTsK
QEAgLTU5OCwxNCArNTk4LDE0IEBAIGJvb2wgQ0NUaHJlYWRQcm94eTo6Y2FuRHJhdygpCiAKIHZv
aWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uVXBkYXRlTW9yZVJlc291cmNlcygpCiB7
Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvblVwZGF0ZU1v
cmVSZXNvdXJjZXMiLCB0aGlzLCAwKTsKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDVGhyZWFk
UHJveHk6OnNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJjZXMiKTsKICAgICBBU1NFUlQo
bV9jdXJyZW50VGV4dHVyZVVwZGF0ZXJPbkltcGxUaHJlYWQpOwogICAgIG1fY3VycmVudFRleHR1
cmVVcGRhdGVyT25JbXBsVGhyZWFkLT51cGRhdGUobV9sYXllclRyZWVIb3N0SW1wbC0+Y29udGV4
dCgpLCBtX2xheWVyVHJlZUhvc3RJbXBsLT5jb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSwgbV9s
YXllclRyZWVIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpLT50ZXh0dXJlQ29waWVyKCksIG1fbGF5
ZXJUcmVlSG9zdEltcGwtPmxheWVyUmVuZGVyZXIoKS0+dGV4dHVyZVVwbG9hZGVyKCksIHRleHR1
cmVVcGRhdGVzUGVyRnJhbWUpOwogfQogCiB2b2lkIENDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFj
dGlvbkNvbW1pdCgpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6OnNjaGVkdWxl
ZEFjdGlvbkNvbW1pdCIsIHRoaXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NUaHJl
YWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uQ29tbWl0Iik7CiAgICAgQVNTRVJUKGlzSW1wbFRocmVh
ZCgpKTsKICAgICBBU1NFUlQobV9jdXJyZW50VGV4dHVyZVVwZGF0ZXJPbkltcGxUaHJlYWQpOwog
ICAgIEFTU0VSVCghbV9jdXJyZW50VGV4dHVyZVVwZGF0ZXJPbkltcGxUaHJlYWQtPmhhc01vcmVV
cGRhdGVzKCkpOwpAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1
bGVkQWN0aW9uQmVnaW5Db250ZXh0UmVjcmVhdGlvbigpCiAKIENDU2NoZWR1bGVkQWN0aW9uRHJh
d0FuZFN3YXBSZXN1bHQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJ
bnRlcm5hbChib29sIGZvcmNlZERyYXcpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJv
eHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZF
TlQwKCJjYyIsICJDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcCIpOwog
ICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgcmVzdWx0OwogICAgIHJlc3Vs
dC5kaWREcmF3ID0gZmFsc2U7CiAgICAgcmVzdWx0LmRpZFN3YXAgPSBmYWxzZTsKQEAgLTcwNyw3
ICs3MDcsNyBAQCB2b2lkIENDVGhyZWFkUHJveHk6OmFjcXVpcmVMYXllclRleHR1cmVzKCkKICAg
ICBpZiAobV90ZXh0dXJlc0FjcXVpcmVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBUUkFDRV9F
VkVOVCgiQ0NUaHJlYWRQcm94eTo6YWNxdWlyZUxheWVyVGV4dHVyZXMiLCB0aGlzLCAwKTsKKyAg
ICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDVGhyZWFkUHJveHk6OmFjcXVpcmVMYXllclRleHR1cmVz
Iik7CiAgICAgQ0NDb21wbGV0aW9uRXZlbnQgY29tcGxldGlvbjsKICAgICBDQ1Byb3h5OjppbXBs
VGhyZWFkKCktPnBvc3RUYXNrKGNyZWF0ZUNDVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94
eTo6YWNxdWlyZUxheWVyVGV4dHVyZXNGb3JNYWluVGhyZWFkT25JbXBsVGhyZWFkLCBBbGxvd0Ny
b3NzVGhyZWFkQWNjZXNzKCZjb21wbGV0aW9uKSkpOwogICAgIGNvbXBsZXRpb24ud2FpdCgpOyAv
LyBCbG9jayB1bnRpbCBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIGxheWVyIHRleHR1cmVzIGZyb20g
dGhlIG1haW4gdGhyZWFkLgpAQCAtODA4LDcgKzgwOCw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6
dHJ5VG9SZWNyZWF0ZUNvbnRleHQoKQogCiB2b2lkIENDVGhyZWFkUHJveHk6OmluaXRpYWxpemVJ
bXBsT25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50KiBjb21wbGV0aW9uKQogewotICAgIFRS
QUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1wbE9uSW1wbFRocmVhZCIsIHRo
aXMsIDApOworICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6
ZUltcGxPbkltcGxUaHJlYWQiKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIG1f
bGF5ZXJUcmVlSG9zdEltcGwgPSBtX2xheWVyVHJlZUhvc3QtPmNyZWF0ZUxheWVyVHJlZUhvc3RJ
bXBsKHRoaXMpOwogICAgIGNvbnN0IGRvdWJsZSBkaXNwbGF5UmVmcmVzaEludGVydmFsID0gMS4w
IC8gNjAuMDsKQEAgLTgyNCwxNCArODI0LDE0IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlh
bGl6ZUltcGxPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24pCiAKIHZv
aWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUNvbnRleHRPbkltcGxUaHJlYWQoQ0NHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJveHk6Omlu
aXRpYWxpemVDb250ZXh0T25JbXBsVGhyZWFkIiwgdGhpcywgMCk7CisgICAgVFJBQ0VfRVZFTlQw
KCJjYyIsICJDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplQ29udGV4dE9uSW1wbFRocmVhZCIpOwog
ICAgIEFTU0VSVChpc0ltcGxUaHJlYWQoKSk7CiAgICAgbV9jb250ZXh0QmVmb3JlSW5pdGlhbGl6
YXRpb25PbkltcGxUaHJlYWQgPSBhZG9wdFB0cihjb250ZXh0KTsKIH0KIAogdm9pZCBDQ1RocmVh
ZFByb3h5Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlck9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25F
dmVudCogY29tcGxldGlvbiwgYm9vbCogaW5pdGlhbGl6ZVN1Y2NlZWRlZCwgTGF5ZXJSZW5kZXJl
ckNhcGFiaWxpdGllcyogY2FwYWJpbGl0aWVzKQogewotICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVh
ZFByb3h5Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlck9uSW1wbFRocmVhZCIsIHRoaXMsIDApOwor
ICAgIFRSQUNFX0VWRU5UMCgiY2MiLCAiQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxheWVyUmVu
ZGVyZXJPbkltcGxUaHJlYWQiKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIEFT
U0VSVChtX2NvbnRleHRCZWZvcmVJbml0aWFsaXphdGlvbk9uSW1wbFRocmVhZCk7CiAgICAgKmlu
aXRpYWxpemVTdWNjZWVkZWQgPSBtX2xheWVyVHJlZUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJS
ZW5kZXJlcihtX2NvbnRleHRCZWZvcmVJbml0aWFsaXphdGlvbk9uSW1wbFRocmVhZC5yZWxlYXNl
KCksIHRleHR1cmVVcGxvYWRlcik7CkBAIC04NDYsNyArODQ2LDcgQEAgdm9pZCBDQ1RocmVhZFBy
b3h5Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlck9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25FdmVu
dCogY29tcGwKIAogdm9pZCBDQ1RocmVhZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25JbXBs
VGhyZWFkKENDQ29tcGxldGlvbkV2ZW50KiBjb21wbGV0aW9uKQogewotICAgIFRSQUNFX0VWRU5U
KCJDQ1RocmVhZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25JbXBsVGhyZWFkIiwgdGhpcywg
MCk7CisgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJDQ1RocmVhZFByb3h5OjpsYXllclRyZWVIb3N0
Q2xvc2VkT25JbXBsVGhyZWFkIik7CiAgICAgQVNTRVJUKGlzSW1wbFRocmVhZCgpKTsKICAgICBp
ZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwtPmNvbnRlbnRzVGV4dHVyZXNXZXJlUHVyZ2VkU2luY2VM
YXN0Q29tbWl0KCkpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGVsZXRlQ29udGVudHNUZXh0
dXJlc09uSW1wbFRocmVhZChtX2xheWVyVHJlZUhvc3RJbXBsLT5jb250ZW50c1RleHR1cmVBbGxv
Y2F0b3IoKSk7Cg==
</data>
<flag name="review"
          id="157908"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>