<?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>86484</bug_id>
          
          <creation_ts>2012-05-15 07:43:27 -0700</creation_ts>
          <short_desc>REGRESSION(r116712): This patch is causing crashes in Chromium Canary builds (Requested by pilgrim_google__ on #webkit).</short_desc>
          <delta_ts>2012-05-15 11:50:12 -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>
          
          <blocked>85221</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>624077</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 07:43:27 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/116712 broke the build:
This patch is causing crashes in Chromium Canary builds (Requested by pilgrim_google__ on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624080</commentid>
    <comment_count>1</comment_count>
      <attachid>141968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 07:44:14 -0700</bug_when>
    <thetext>Created attachment 141968
ROLLOUT of r116712

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624081</commentid>
    <comment_count>2</comment_count>
      <attachid>141968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 07:45:17 -0700</bug_when>
    <thetext>Comment on attachment 141968
ROLLOUT of r116712

Rejecting attachment 141968 from commit-queue.

pilgrim@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624303</commentid>
    <comment_count>3</comment_count>
      <attachid>141968</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-15 11:22:41 -0700</bug_when>
    <thetext>Comment on attachment 141968
ROLLOUT of r116712

Are you not in committers.py?  That should be easy to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624335</commentid>
    <comment_count>4</comment_count>
      <attachid>141968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 11:47:02 -0700</bug_when>
    <thetext>Comment on attachment 141968
ROLLOUT of r116712

Clearing flags on attachment: 141968

Committed r117107: &lt;http://trac.webkit.org/changeset/117107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624336</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 11:47:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624339</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2012-05-15 11:50:12 -0700</bug_when>
    <thetext>bah... thnx for reverting</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141968</attachid>
            <date>2012-05-15 07:44:14 -0700</date>
            <delta_ts>2012-05-15 11:47:02 -0700</delta_ts>
            <desc>ROLLOUT of r116712</desc>
            <filename>bug-86484-20120515144817.patch</filename>
            <type>text/plain</type>
            <size>42231</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5YzNiYjk3ZGM3M2U4
YmZiZWI5MDNiNGEzMDRhNjQxODJiNGJjZC4uOTY5YzE0NjI5OWVmYjVhZjZhMTUxODA4MjQxYjIy
M2E4OTg4ZDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE1ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE2NzEyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTY3MTIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2NDg0CisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBjYXVzaW5nIGNyYXNoZXMg
aW4gQ2hyb21pdW0gQ2FuYXJ5IGJ1aWxkcworICAgICAgICAoUmVxdWVzdGVkIGJ5IHBpbGdyaW1f
Z29vZ2xlX18gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhLmg6
CisgICAgICAgIChTdG9yYWdlQXJlYSk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpkaXNhYmxlZEJ5UHJp
dmF0ZUJyb3dzaW5nSW5GcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlQXJlYUltcGw6
OnNldEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpyZW1vdmVJdGVt
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6Y2xlYXIpOgorICAgICAgICAq
IHN0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmg6CisgICAgICAgIChTdG9yYWdlQXJlYUltcGwpOgor
CiAyMDEyLTA1LTE1ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yIFNuaXBwZXRzTW9kZWw6IGV4dHJhY3QgU25p
cHBldFN0b3JhZ2UsIG1ha2UgU25pcHBldFNjcmlwdE1hcHBpbmcgZGVsZWdhdGUgY2FsbHMgdG8g
U2NyaXB0U25pcHBldE1vZGVsIGFuZCBwcm92aWRlIHB1YmxpYyBpbnRlcmZhY2Ugb24gU2NyaXB0
U25pcHBldE1vZGVsIGluIHRlcm1zIG9mIHVpU291cmNlQ29kZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggNWRhYWY5NjY3MzhiYWI2MWJjODJlZGIyYTdlYzljZTU0NDcyN2QxYy4uNmYy
YWU1MGNmYzRhZGM2ZGE2NDNmODU4YTUzODU4ZjZkNzMyNGJiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw1OCBAQAorMjAxMi0wNS0xNSAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjExNjcxMi4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE2
NzEyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjQ4
NAorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgY2F1c2luZyBjcmFzaGVzIGluIENocm9taXVtIENh
bmFyeSBidWlsZHMKKyAgICAgICAgKFJlcXVlc3RlZCBieSBwaWxncmltX2dvb2dsZV9fIG9uICN3
ZWJraXQpLgorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViU3Rv
cmFnZUFyZWEuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogcHVibGljL1dlYlN0b3Jh
Z2VFdmVudERpc3BhdGNoZXIuaDoKKyAgICAgICAgKFdlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXIp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVyOjp+V2ViU3RvcmFn
ZUV2ZW50RGlzcGF0Y2hlcik6CisgICAgICAgICogcHVibGljL1dlYlN0b3JhZ2VOYW1lc3BhY2Uu
aDoKKyAgICAgICAgKFdlYlN0b3JhZ2VOYW1lc3BhY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
dG9yYWdlTmFtZXNwYWNlOjpjbG9zZSk6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYktp
dFBsYXRmb3JtU3VwcG9ydC5oOgorICAgICAgICAoV2ViS2l0UGxhdGZvcm1TdXBwb3J0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZvcm1TdXBwb3J0OjpkaXNwYXRjaFN0b3JhZ2VFdmVu
dCk6CisgICAgICAgICogc3JjL1N0b3JhZ2VBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3RvcmFnZUFyZWFQcm94eTo6c2V0SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdl
QXJlYVByb3h5OjpyZW1vdmVJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhUHJv
eHk6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFn
ZUFyZWFQcm94eTo6c3RvcmFnZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVh
UHJveHk6OmRpc3BhdGNoTG9jYWxTdG9yYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Zmlu
ZFBhZ2VXaXRoU2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6U3Rv
cmFnZUFyZWFQcm94eTo6ZGlzcGF0Y2hTZXNzaW9uU3RvcmFnZUV2ZW50KToKKyAgICAgICAgKiBz
cmMvU3RvcmFnZUFyZWFQcm94eS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTdG9y
YWdlQXJlYVByb3h5KToKKyAgICAgICAgKiBzcmMvU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFn
ZUV2ZW50RGlzcGF0Y2hlckltcGw6OlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsOjpkaXNwYXRjaFN0b3JhZ2VF
dmVudCk6CisgICAgICAgICogc3JjL1N0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlN0b3JhZ2VFdmVudERpc3Bh
dGNoZXIuaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU3RvcmFnZUV2ZW50RGlzcGF0
Y2hlckltcGwpOgorICAgICAgICAqIHNyYy9XZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlRXZlbnRE
aXNwYXRjaGVyOjpkaXNwYXRjaExvY2FsU3RvcmFnZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTZXNzaW9uU3RvcmFnZUV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGw6OldlYlN0b3JhZ2VF
dmVudERpc3BhdGNoZXJJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUV2ZW50RGlz
cGF0Y2hlckltcGw6OmRpc3BhdGNoU3RvcmFnZUV2ZW50KToKKyAgICAgICAgKiBzcmMvV2ViU3Rv
cmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5oLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsKToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDUtMTUgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTcGVlY2ggSmF2YVNjcmlw
dCBBUEk6IEludHJvZHVjZSBlcnJvciBjb2RlIGVudW0gaW4gQ2hyb21pdW0gcGx1bWJpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAppbmRleCA1ZGExYmMxNTAyZTY3Mzc1M2E1NmI0
MzFlOTFmMTZmZDNjZjUxYTJjLi5lMmQwODJlYjgyNzJkMmUzYmQ4ZTZlZmRiZWE1ZGRlOGQxMzAx
NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5oCkBAIC00OSw5ICs0OSw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoRnJh
bWUqIHNvdXJjZUZyYW1lKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGtleSh1
bnNpZ25lZCBpbmRleCwgRnJhbWUqIHNvdXJjZUZyYW1lKSBjb25zdCA9IDA7CiAgICAgICAgIHZp
cnR1YWwgU3RyaW5nIGdldEl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBzb3VyY2VGcmFt
ZSkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0SXRlbShjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYsIEZyYW1lKiBzb3VyY2VG
cmFtZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlSXRlbShjb25zdCBTdHJpbmcm
IGtleSwgRnJhbWUqIHNvdXJjZUZyYW1lKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBjbGVh
cihGcmFtZSogc291cmNlRnJhbWUpID0gMDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgc2V0SXRl
bShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYg
ZWMsIEZyYW1lKiBzb3VyY2VGcmFtZSkgPSAwOworICAgICAgICB2aXJ0dWFsIFN0cmluZyByZW1v
dmVJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBGcmFtZSogc291cmNlRnJhbWUpID0gMDsKKyAgICAg
ICAgdmlydHVhbCBib29sIGNsZWFyKEZyYW1lKiBzb3VyY2VGcmFtZSkgPSAwOwogICAgICAgICB2
aXJ0dWFsIGJvb2wgY29udGFpbnMoY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBzb3VyY2VGcmFt
ZSkgY29uc3QgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBkaXNhYmxlZEJ5UHJpdmF0ZUJy
b3dzaW5nSW5GcmFtZShjb25zdCBGcmFtZSogc291cmNlRnJhbWUpIGNvbnN0ID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcAppbmRleCA3MmU4NjU3MThhYmIy
MTc4NDQyNmEwZDBjMzU3MTQ5NWNmMzQ3NTQ4Li4wNzc0ODMwMmJhZTEwMDIyNDE5N2EzMzcxMTZl
MTg3YmZlOTY3MzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VB
cmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwu
Y3BwCkBAIC0xMDIsNiArMTAyLDEzIEBAIFN0b3JhZ2VBcmVhSW1wbDo6U3RvcmFnZUFyZWFJbXBs
KFN0b3JhZ2VBcmVhSW1wbCogYXJlYSkKIAogYm9vbCBTdG9yYWdlQXJlYUltcGw6OmRpc2FibGVk
QnlQcml2YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKiBmcmFtZSkgY29uc3QKIHsKKyNp
ZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICAvLyBUaGUgZnJhbWUgcG9pbnRlciBjYW4gYmUgTlVM
TCBpbiBDaHJvbWl1bSBzaW5jZSB0aGlzIGNhbGwgaXMgbWFkZSBpbiBhIGRpZmZlcmVudAorICAg
IC8vIHByb2Nlc3MgZnJvbSB3aGVyZSB0aGUgRnJhbWUgb2JqZWN0IGV4aXN0cy4gIEx1Y2tpbHks
IHByaXZhdGUgYnJvd3NlaW5nIGlzCisgICAgLy8gaW1wbGVtZW50ZWQgZGlmZmVyZW50bHkgaW4g
Q2hyb21pdW0sIHNvIGl0J2QgbmV2ZXIgcmV0dXJuIHRydWUgYW55d2F5LgorICAgIEFTU0VSVCgh
ZnJhbWUpOworICAgIHJldHVybiBmYWxzZTsKKyNlbHNlCiAgICAgaWYgKCFmcmFtZS0+cGFnZSgp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAoIWZyYW1lLT5wYWdlKCktPnNldHRpbmdz
KCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKQEAgLTEwOSw2ICsxMTYsNyBAQCBib29sIFN0
b3JhZ2VBcmVhSW1wbDo6ZGlzYWJsZWRCeVByaXZhdGVCcm93c2luZ0luRnJhbWUoY29uc3QgRnJh
bWUqIGZyYW1lKSBjb25zdAogICAgIGlmIChtX3N0b3JhZ2VUeXBlICE9IExvY2FsU3RvcmFnZSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuICFTY2hlbWVSZWdpc3RyeTo6YWxsb3dz
TG9jYWxTdG9yYWdlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcoZnJhbWUtPmRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCktPnByb3RvY29sKCkpOworI2VuZGlmCiB9CiAKIHVuc2lnbmVkIFN0b3Jh
Z2VBcmVhSW1wbDo6bGVuZ3RoKEZyYW1lKikgY29uc3QKQEAgLTEzNSw3ICsxNDMsNyBAQCBTdHJp
bmcgU3RvcmFnZUFyZWFJbXBsOjpnZXRJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBGcmFtZSopIGNv
bnN0CiAgICAgcmV0dXJuIG1fc3RvcmFnZU1hcC0+Z2V0SXRlbShrZXkpOwogfQogCi12b2lkIFN0
b3JhZ2VBcmVhSW1wbDo6c2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2
YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMsIEZyYW1lKiBmcmFtZSkKK1N0cmluZyBTdG9yYWdlQXJl
YUltcGw6OnNldEl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4
Y2VwdGlvbkNvZGUmIGVjLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgQVNTRVJUKCFtX2lzU2h1dGRv
d24pOwogICAgIEFTU0VSVCghdmFsdWUuaXNOdWxsKCkpOwpAQCAtMTQzLDcgKzE1MSw3IEBAIHZv
aWQgU3RvcmFnZUFyZWFJbXBsOjpzZXRJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJp
bmcmIHZhbHVlLCBFeGNlcHRpb25DCiAKICAgICBpZiAoZGlzYWJsZWRCeVByaXZhdGVCcm93c2lu
Z0luRnJhbWUoZnJhbWUpKSB7CiAgICAgICAgIGVjID0gUVVPVEFfRVhDRUVERURfRVJSOwotICAg
ICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICB9CiAKICAgICBTdHJp
bmcgb2xkVmFsdWU7CkBAIC0xNTQsMjQgKzE2MiwyNSBAQCB2b2lkIFN0b3JhZ2VBcmVhSW1wbDo6
c2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9u
QwogCiAgICAgaWYgKHF1b3RhRXhjZXB0aW9uKSB7CiAgICAgICAgIGVjID0gUVVPVEFfRVhDRUVE
RURfRVJSOwotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBvbGRWYWx1ZTsKICAgICB9
CiAKICAgICBpZiAob2xkVmFsdWUgPT0gdmFsdWUpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAg
cmV0dXJuIG9sZFZhbHVlOwogCiAgICAgaWYgKG1fc3RvcmFnZUFyZWFTeW5jKQogICAgICAgICBt
X3N0b3JhZ2VBcmVhU3luYy0+c2NoZWR1bGVJdGVtRm9yU3luYyhrZXksIHZhbHVlKTsKICAgICBT
dG9yYWdlRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaChrZXksIG9sZFZhbHVlLCB2YWx1ZSwgbV9z
dG9yYWdlVHlwZSwgbV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgZnJhbWUpOworICAgIHJldHVybiBv
bGRWYWx1ZTsKIH0KIAotdm9pZCBTdG9yYWdlQXJlYUltcGw6OnJlbW92ZUl0ZW0oY29uc3QgU3Ry
aW5nJiBrZXksIEZyYW1lKiBmcmFtZSkKK1N0cmluZyBTdG9yYWdlQXJlYUltcGw6OnJlbW92ZUl0
ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBmcmFtZSkKIHsKICAgICBBU1NFUlQoIW1faXNT
aHV0ZG93bik7CiAgICAgYmxvY2tVbnRpbEltcG9ydENvbXBsZXRlKCk7CiAKICAgICBpZiAoZGlz
YWJsZWRCeVByaXZhdGVCcm93c2luZ0luRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1cm47Cisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAogICAgIFN0cmluZyBvbGRWYWx1ZTsKICAgICBSZWZQ
dHI8U3RvcmFnZU1hcD4gbmV3TWFwID0gbV9zdG9yYWdlTWFwLT5yZW1vdmVJdGVtKGtleSwgb2xk
VmFsdWUpOwpAQCAtMTc5LDIzICsxODgsMjQgQEAgdm9pZCBTdG9yYWdlQXJlYUltcGw6OnJlbW92
ZUl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBmcmFtZSkKICAgICAgICAgbV9zdG9yYWdl
TWFwID0gbmV3TWFwLnJlbGVhc2UoKTsKIAogICAgIGlmIChvbGRWYWx1ZS5pc051bGwoKSkKLSAg
ICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gb2xkVmFsdWU7CiAKICAgICBpZiAobV9zdG9y
YWdlQXJlYVN5bmMpCiAgICAgICAgIG1fc3RvcmFnZUFyZWFTeW5jLT5zY2hlZHVsZUl0ZW1Gb3JT
eW5jKGtleSwgU3RyaW5nKCkpOwogICAgIFN0b3JhZ2VFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNo
KGtleSwgb2xkVmFsdWUsIFN0cmluZygpLCBtX3N0b3JhZ2VUeXBlLCBtX3NlY3VyaXR5T3JpZ2lu
LmdldCgpLCBmcmFtZSk7CisgICAgcmV0dXJuIG9sZFZhbHVlOwogfQogCi12b2lkIFN0b3JhZ2VB
cmVhSW1wbDo6Y2xlYXIoRnJhbWUqIGZyYW1lKQorYm9vbCBTdG9yYWdlQXJlYUltcGw6OmNsZWFy
KEZyYW1lKiBmcmFtZSkKIHsKICAgICBBU1NFUlQoIW1faXNTaHV0ZG93bik7CiAgICAgYmxvY2tV
bnRpbEltcG9ydENvbXBsZXRlKCk7CiAKICAgICBpZiAoZGlzYWJsZWRCeVByaXZhdGVCcm93c2lu
Z0luRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIGlmICghbV9zdG9yYWdlTWFwLT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICB1bnNpZ25lZCBxdW90YSA9IG1fc3RvcmFnZU1hcC0+
cXVvdGEoKTsKICAgICBtX3N0b3JhZ2VNYXAgPSBTdG9yYWdlTWFwOjpjcmVhdGUocXVvdGEpOwpA
QCAtMjAzLDYgKzIxMyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFJbXBsOjpjbGVhcihGcmFtZSogZnJh
bWUpCiAgICAgaWYgKG1fc3RvcmFnZUFyZWFTeW5jKQogICAgICAgICBtX3N0b3JhZ2VBcmVhU3lu
Yy0+c2NoZWR1bGVDbGVhcigpOwogICAgIFN0b3JhZ2VFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNo
KFN0cmluZygpLCBTdHJpbmcoKSwgU3RyaW5nKCksIG1fc3RvcmFnZVR5cGUsIG1fc2VjdXJpdHlP
cmlnaW4uZ2V0KCksIGZyYW1lKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBTdG9yYWdl
QXJlYUltcGw6OmNvbnRhaW5zKGNvbnN0IFN0cmluZyYga2V5LCBGcmFtZSopIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaAppbmRleCBhNTYzNjFmMmVhZTg1Zjg1
MjJlNjZlZjFiNzYxODVhZGI0NGRiMmExLi43OWIyN2Q2MGJjMzE4MTE0ZDY0Yzk3ODFjNzM2ODhh
MzQ4OGEzNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVh
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmgKQEAg
LTQ2LDkgKzQ2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHVuc2ln
bmVkIGxlbmd0aChGcmFtZSogc291cmNlRnJhbWUpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIFN0
cmluZyBrZXkodW5zaWduZWQgaW5kZXgsIEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7CiAgICAg
ICAgIHZpcnR1YWwgU3RyaW5nIGdldEl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBzb3Vy
Y2VGcmFtZSkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRJdGVtKGNvbnN0IFN0cmlu
ZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiwgRnJhbWUqIHNvdXJj
ZUZyYW1lKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBr
ZXksIEZyYW1lKiBzb3VyY2VGcmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBjbGVhcihGcmFt
ZSogc291cmNlRnJhbWUpOworICAgICAgICB2aXJ0dWFsIFN0cmluZyBzZXRJdGVtKGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYywgRnJhbWUq
IHNvdXJjZUZyYW1lKTsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgcmVtb3ZlSXRlbShjb25zdCBT
dHJpbmcmIGtleSwgRnJhbWUqIHNvdXJjZUZyYW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGNs
ZWFyKEZyYW1lKiBzb3VyY2VGcmFtZSk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjb250YWlucyhj
b25zdCBTdHJpbmcmIGtleSwgRnJhbWUqIHNvdXJjZUZyYW1lKSBjb25zdDsKIAogICAgICAgICB2
aXJ0dWFsIGJvb2wgZGlzYWJsZWRCeVByaXZhdGVCcm93c2luZ0luRnJhbWUoY29uc3QgRnJhbWUq
IHNvdXJjZUZyYW1lKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA1YWQx
NzhhZTA2MjRkN2E2MjA2M2VlYTBjY2MyZDRlYzU0YzE3NDhkLi45NTc0YzJlNzBmNDIxZThlNWI5
YWUwMWUzMjI2Y2QxOGJkOTM1YWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC00
NzIsNiArNDcyLDggQEAKICAgICAgICAgICAgICAgICAnc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xp
ZW50UHJveHkuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9TdG9yYWdlQXJlYVByb3h5LmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9TdG9yYWdlQXJlYVByb3h5LmgnLAorICAgICAgICAgICAg
ICAgICdzcmMvU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuY3BwJywKKyAgICAgICAgICAgICAg
ICAnc3JjL1N0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmgnLAogICAgICAgICAgICAgICAgICdz
cmMvU3RvcmFnZUluZm9DaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvU3RvcmFn
ZU5hbWVzcGFjZVByb3h5LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9TdG9yYWdlTmFtZXNw
YWNlUHJveHkuaCcsCkBAIC02NDksNiArNjUxLDcgQEAKICAgICAgICAgICAgICAgICAnc3JjL1dl
YlNwZWVjaFJlY29nbml0aW9uSGFuZGxlLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJT
cGVlY2hSZWNvZ25pdGlvblJlc3VsdC5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU3Rv
cmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlN0
b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmgnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU3Rv
cmFnZVF1b3RhQ2FsbGJhY2tzSW1wbC5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU3Rv
cmFnZVF1b3RhQ2FsbGJhY2tzSW1wbC5oJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlN1cnJv
dW5kaW5nVGV4dC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU3RvcmFnZUFyZWEuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlN0
b3JhZ2VBcmVhLmgKaW5kZXggMjNiNzk5YWYxMzFjYWNkNWQwNTNhYzE5ZGViMGI5MTZmNGExZGY4
ZC4uY2I1ZWU4ZDM2ZjJjN2YyNDBmYWU1MDEyM2YwNmFmMWY1N2RkNGU4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3RvcmFnZUFyZWEuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTdG9yYWdlQXJlYS5oCkBAIC0zOCw2ICszOCw5
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJVUkw7CiAKKy8vIEluIFdlYkNvcmUs
IHRoZXJlJ3Mgb25lIGRpc3RpbmN0IFN0b3JhZ2VBcmVhIHBlciBvcmlnaW4gcGVyIFN0b3JhZ2VO
YW1lc3BhY2UuIFRoaXMKKy8vIGNsYXNzIHdyYXBzIGEgU3RvcmFnZUFyZWEuICBBbGwgdGhlIG1l
dGhvZHMgaGF2ZSBvYnZpb3VzIGNvbm5lY3Rpb25zIHRvIHRoZSBzcGVjOgorLy8gaHR0cDovL2Rl
di53My5vcmcvaHRtbDUvd2Vic3RvcmFnZS8KIGNsYXNzIFdlYlN0b3JhZ2VBcmVhIHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5XZWJTdG9yYWdlQXJlYSgpIHsgfQpAQCAtNjAsMzQgKzYzLDE2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBnZXRJdGVtKGNvbnN0IFdlYlN0cmluZyYg
a2V5KSA9IDA7CiAKICAgICAvLyBTZXQgdGhlIHZhbHVlIHRoYXQgY29ycmVzcG9uZHMgdG8gYSBz
cGVjaWZpYyBrZXkuIFJlc3VsdCB3aWxsIGVpdGhlciBiZSBSZXN1bHRPSwotICAgIC8vIG9yIHNv
bWUgcGFydGljdWxhciBlcnJvci4gVGhlIHZhbHVlIGlzIE5PVCBzZXQgd2hlbiB0aGVyZSdzIGFu
IGVycm9yLiB8cGFnZVVybHwgaXMgdGhlCisgICAgLy8gb3Igc29tZSBwYXJ0aWN1bGFyIGVycm9y
LiBUaGUgdmFsdWUgaXMgTk9UIHNldCB3aGVuIHRoZXJlJ3MgYW4gZXJyb3IuICB1cmwgaXMgdGhl
CiAgICAgLy8gdXJsIHRoYXQgc2hvdWxkIGJlIHVzZWQgaWYgYSBzdG9yYWdlIGV2ZW50IGZpcmVz
LgotICAgIHZpcnR1YWwgdm9pZCBzZXRJdGVtKGNvbnN0IFdlYlN0cmluZyYga2V5LCBjb25zdCBX
ZWJTdHJpbmcmIG5ld1ZhbHVlLCBjb25zdCBXZWJVUkwmIHBhZ2VVcmwsIFJlc3VsdCYgcmVzdWx0
KQotICAgIHsKLSAgICAgICAgV2ViU3RyaW5nIHVudXNlZDsKLSAgICAgICAgc2V0SXRlbShrZXks
IG5ld1ZhbHVlLCBwYWdlVXJsLCByZXN1bHQsIHVudXNlZCk7Ci0gICAgfQotCisgICAgdmlydHVh
bCB2b2lkIHNldEl0ZW0oY29uc3QgV2ViU3RyaW5nJiBrZXksIGNvbnN0IFdlYlN0cmluZyYgbmV3
VmFsdWUsIGNvbnN0IFdlYlVSTCYsIFJlc3VsdCYsIFdlYlN0cmluZyYgb2xkVmFsdWUpID0gMDsK
IAotICAgIC8vIFJlbW92ZSB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBr
ZXkuIHxwYWdlVXJsfCBpcyB0aGUgdXJsIHRoYXQgc2hvdWxkIGJlIHVzZWQKKyAgICAvLyBSZW1v
dmUgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIga2V5LiAgdXJsIGlzIHRo
ZSB1cmwgdGhhdCBzaG91bGQgYmUgdXNlZAogICAgIC8vIGlmIGEgc3RvcmFnZSBldmVudCBmaXJl
cy4KLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlSXRlbShjb25zdCBXZWJTdHJpbmcmIGtleSwgY29u
c3QgV2ViVVJMJiBwYWdlVXJsKQotICAgIHsKLSAgICAgICAgV2ViU3RyaW5nIHVudXNlZDsKLSAg
ICAgICAgcmVtb3ZlSXRlbShrZXksIHBhZ2VVcmwsIHVudXNlZCk7Ci0gICAgfQorICAgIHZpcnR1
YWwgdm9pZCByZW1vdmVJdGVtKGNvbnN0IFdlYlN0cmluZyYga2V5LCBjb25zdCBXZWJVUkwmIHVy
bCwgV2ViU3RyaW5nJiBvbGRWYWx1ZSkgPSAwOwogCi0gICAgLy8gQ2xlYXIgYWxsIGtleS92YWx1
ZSBwYWlycy4gfHBhZ2VVcmx8IGlzIHRoZSB1cmwgdGhhdCBzaG91bGQgYmUgdXNlZCBpZiBhIHN0
b3JhZ2UgZXZlbnQgZmlyZXMuCi0gICAgdmlydHVhbCB2b2lkIGNsZWFyKGNvbnN0IFdlYlVSTCYg
cGFnZVVybCkKLSAgICB7Ci0gICAgICAgIGJvb2wgdW51c2VkOwotICAgICAgICBjbGVhcihwYWdl
VXJsLCB1bnVzZWQpOwotICAgIH0KLQotICAgIC8vIERFUFJFQ0FURUQgLSBiZWluZyByZXBsYWNl
ZCBieSB0aGUgYXN5bmMgdmFyaWFudHMgYWJvdmUgd2hpY2ggZG8gbm90IHJldHVybiBvbGRWYWx1
ZXMgb3IgYmxvY2sgdW50aWwgY29tcGxldGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgc2V0SXRlbShj
b25zdCBXZWJTdHJpbmcmIGtleSwgY29uc3QgV2ViU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgV2Vi
VVJMJiwgUmVzdWx0JiwgV2ViU3RyaW5nJiBvbGRWYWx1ZSkgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCByZW1vdmVJdGVtKGNvbnN0IFdlYlN0cmluZyYga2V5LCBjb25zdCBXZWJVUkwmIHBhZ2VVcmws
IFdlYlN0cmluZyYgb2xkVmFsdWUpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoY29uc3Qg
V2ViVVJMJiBwYWdlVXJsLCBib29sJiBzb21ldGhpbmdDbGVhcmVkKSA9IDA7CisgICAgLy8gQ2xl
YXIgYWxsIGtleS92YWx1ZSBwYWlycy4gIHVybCBpcyB0aGUgdXJsIHRoYXQgc2hvdWxkIGJlIHVz
ZWQgaWYgYSBzdG9yYWdlIGV2ZW50IGZpcmVzLgorICAgIHZpcnR1YWwgdm9pZCBjbGVhcihjb25z
dCBXZWJVUkwmIHVybCwgYm9vbCYgc29tZXRoaW5nQ2xlYXJlZCkgPSAwOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggYjMyMWJmMGU5OTM2ZGMzNWY1
ZTY3ZjA3ZjZkYjFiYjEyNGZlYmQ5Yy4uNGZiYzU5NmIyODY3YTM3ZWQ0MDE0MGE2NWY1OTE4OTg3
ZWY2OWVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3Rv
cmFnZUV2ZW50RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXIuaApAQCAtNTUsOCArNTUsMTMgQEAgcHVibGljOgog
ICAgICAgICAgICAgY29uc3QgV2ViVVJMJiBwYWdlVXJsLCBjb25zdCBXZWJTdG9yYWdlTmFtZXNw
YWNlJiwKICAgICAgICAgICAgIFdlYlN0b3JhZ2VBcmVhKiBzb3VyY2VBcmVhSW5zdGFuY2UsIGJv
b2wgb3JpZ2luYXRlZEluUHJvY2Vzcyk7CiAKLSBwcml2YXRlOgotICAgIFdlYlN0b3JhZ2VFdmVu
dERpc3BhdGNoZXIoKSB7IH0KKyAgICAvLyBERVBSRUNBVEVEIC0gVGhlIGluc3RhbmNlIG1ldGhv
ZHMgYXJlIGdvaW5nIGF3YXkgc29vbiBpbiBmYXZvcgorICAgIC8vIG9mIHRoZSB0d28gc3RhdGlj
IGRpc3BhdGNoIG1ldGhvZHMgYWJvdmUuCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU3Rv
cmFnZUV2ZW50RGlzcGF0Y2hlciogY3JlYXRlKCk7CisgICAgdmlydHVhbCB+V2ViU3RvcmFnZUV2
ZW50RGlzcGF0Y2hlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFN0b3JhZ2VFdmVu
dChjb25zdCBXZWJTdHJpbmcmIGtleSwgY29uc3QgV2ViU3RyaW5nJiBvbGRWYWx1ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuZXdWYWx1
ZSwgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFdlYlVSTCYgdXJsLCBib29sIGlzTG9jYWxTdG9yYWdlKSA9IDA7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlN0b3JhZ2VOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlN0b3JhZ2VOYW1lc3BhY2UuaAppbmRleCBkZDRhOGZkNDQyM2IwMDVhMmQ3
ZjkyMGU0YWM2MTY1NDE1OTAyNTFjLi44OTQzMzA3MTc3MjRiMWY2MDU0YzIwNDZkM2ExMmFlZmZj
ZmU4NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTdG9y
YWdlTmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3Rv
cmFnZU5hbWVzcGFjZS5oCkBAIC01NSw2ICs1NSw5IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVy
bnMgdHJ1ZSBvZiB0aGUgdHdvIGluc3RhbmNlcyByZXByZXNlbnQgdGhlIHNhbWUgc3RvcmFnZSBu
YW1lc3BhY2UuCiAgICAgdmlydHVhbCBib29sIGlzU2FtZU5hbWVzcGFjZShjb25zdCBXZWJTdG9y
YWdlTmFtZXNwYWNlJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIC8vIERFUFJFQ0FU
RUQKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKSB7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0v
V2ViS2l0UGxhdGZvcm1TdXBwb3J0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9w
bGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAppbmRleCBjYzU1NzFlYTY2YmZkZmU5MDAx
ZjY1ZDUzNmE4ZTFiMzNjMGY2MWQ3Li5jZWU3ZWQ0MmY1NGZiMTA1ZTZiNjJmNzlhNWMyYTU2ZjZj
YjAzNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9y
bS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaApAQCAtODgsNiArODgsMTEgQEAg
cHVibGljOgogICAgIC8vIFJldHVybiBhIExvY2FsU3RvcmFnZSBuYW1lc3BhY2UgdGhhdCBjb3Jy
ZXNwb25kcyB0byB0aGUgZm9sbG93aW5nIHBhdGguCiAgICAgdmlydHVhbCBXZWJTdG9yYWdlTmFt
ZXNwYWNlKiBjcmVhdGVMb2NhbFN0b3JhZ2VOYW1lc3BhY2UoY29uc3QgV2ViU3RyaW5nJiBwYXRo
LCB1bnNpZ25lZCBxdW90YSkgeyByZXR1cm4gMDsgfQogCisgICAgLy8gREVQUkVDQVRFRAorICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaFN0b3JhZ2VFdmVudChjb25zdCBXZWJTdHJpbmcmIGtleSwg
Y29uc3QgV2ViU3RyaW5nJiBvbGRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgV2ViU3RyaW5nJiBvcmln
aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlVSTCYg
dXJsLCBib29sIGlzTG9jYWxTdG9yYWdlKSB7IH0KKwogCiAgICAgLy8gSFRNTDUgRGF0YWJhc2Ug
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1N0b3JhZ2VBcmVhUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUFyZWFQcm94eS5jcHAKaW5k
ZXggMDBjYzQ0MzNiZmVkOTkxNTM2OWY3ODEwZjk4MWFiMDEyMWU5MDdhNS4uMTFlYjdjZWMzMmZm
NDllNWVmOTBmZjUyZDJlZGU2N2I5MzcwZTM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvU3RvcmFnZUFyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvU3RvcmFnZUFyZWFQcm94eS5jcHAKQEAgLTgwLDI5ICs4MCw0MiBAQCBTdHJpbmcg
U3RvcmFnZUFyZWFQcm94eTo6Z2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSwgRnJhbWUqIGZyYW1l
KSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotdm9pZCBTdG9yYWdlQXJlYVByb3h5
OjpzZXRJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRp
b25Db2RlJiBlYywgRnJhbWUqIGZyYW1lKQorU3RyaW5nIFN0b3JhZ2VBcmVhUHJveHk6OnNldEl0
ZW0oY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBGcmFtZSogZnJhbWUpCiB7CisgICAgV2ViS2l0OjpXZWJTdG9yYWdlQXJlYTo6UmVzdWx0
IHJlc3VsdCA9IFdlYktpdDo6V2ViU3RvcmFnZUFyZWE6OlJlc3VsdE9LOworICAgIFdlYktpdDo6
V2ViU3RyaW5nIG9sZFZhbHVlOwogICAgIGlmICghY2FuQWNjZXNzU3RvcmFnZShmcmFtZSkpCiAg
ICAgICAgIGVjID0gUVVPVEFfRVhDRUVERURfRVJSOwogICAgIGVsc2UgewotICAgICAgICBXZWJL
aXQ6OldlYlN0b3JhZ2VBcmVhOjpSZXN1bHQgcmVzdWx0ID0gV2ViS2l0OjpXZWJTdG9yYWdlQXJl
YTo6UmVzdWx0T0s7Ci0gICAgICAgIG1fc3RvcmFnZUFyZWEtPnNldEl0ZW0oa2V5LCB2YWx1ZSwg
ZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLCByZXN1bHQpOworICAgICAgICBtX3N0b3JhZ2VBcmVh
LT5zZXRJdGVtKGtleSwgdmFsdWUsIGZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSwgcmVzdWx0LCBv
bGRWYWx1ZSk7CiAgICAgICAgIGVjID0gKHJlc3VsdCA9PSBXZWJLaXQ6OldlYlN0b3JhZ2VBcmVh
OjpSZXN1bHRPSykgPyAwIDogUVVPVEFfRVhDRUVERURfRVJSOworICAgICAgICBTdHJpbmcgb2xk
VmFsdWVTdHJpbmcgPSBvbGRWYWx1ZTsKKyAgICAgICAgaWYgKG9sZFZhbHVlU3RyaW5nICE9IHZh
bHVlICYmIHJlc3VsdCA9PSBXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhOjpSZXN1bHRPSykKKyAgICAg
ICAgICAgIHN0b3JhZ2VFdmVudChrZXksIG9sZFZhbHVlLCB2YWx1ZSwgbV9zdG9yYWdlVHlwZSwg
ZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGZyYW1lKTsKICAgICB9CisgICAg
cmV0dXJuIG9sZFZhbHVlOwogfQogCi12b2lkIFN0b3JhZ2VBcmVhUHJveHk6OnJlbW92ZUl0ZW0o
Y29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBmcmFtZSkKK1N0cmluZyBTdG9yYWdlQXJlYVByb3h5
OjpyZW1vdmVJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYg
KCFjYW5BY2Nlc3NTdG9yYWdlKGZyYW1lKSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fc3RvcmFn
ZUFyZWEtPnJlbW92ZUl0ZW0oa2V5LCBmcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkpOworICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisgICAgV2ViS2l0OjpXZWJTdHJpbmcgb2xkVmFsdWU7CisgICAg
bV9zdG9yYWdlQXJlYS0+cmVtb3ZlSXRlbShrZXksIGZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSwg
b2xkVmFsdWUpOworICAgIGlmICghb2xkVmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHN0b3JhZ2VF
dmVudChrZXksIG9sZFZhbHVlLCBTdHJpbmcoKSwgbV9zdG9yYWdlVHlwZSwgZnJhbWUtPmRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGZyYW1lKTsKKyAgICByZXR1cm4gb2xkVmFsdWU7CiB9
CiAKLXZvaWQgU3RvcmFnZUFyZWFQcm94eTo6Y2xlYXIoRnJhbWUqIGZyYW1lKQorYm9vbCBTdG9y
YWdlQXJlYVByb3h5OjpjbGVhcihGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKCFjYW5BY2Nlc3NT
dG9yYWdlKGZyYW1lKSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fc3RvcmFnZUFyZWEtPmNsZWFy
KGZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBi
b29sIGNsZWFyZWRTb21ldGhpbmc7CisgICAgbV9zdG9yYWdlQXJlYS0+Y2xlYXIoZnJhbWUtPmRv
Y3VtZW50KCktPnVybCgpLCBjbGVhcmVkU29tZXRoaW5nKTsKKyAgICBpZiAoY2xlYXJlZFNvbWV0
aGluZykKKyAgICAgICAgc3RvcmFnZUV2ZW50KFN0cmluZygpLCBTdHJpbmcoKSwgU3RyaW5nKCks
IG1fc3RvcmFnZVR5cGUsIGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBmcmFt
ZSk7CisgICAgcmV0dXJuIGNsZWFyZWRTb21ldGhpbmc7CiB9CiAKIGJvb2wgU3RvcmFnZUFyZWFQ
cm94eTo6Y29udGFpbnMoY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBmcmFtZSkgY29uc3QKQEAg
LTExMCw2ICsxMjMsNTQgQEAgYm9vbCBTdG9yYWdlQXJlYVByb3h5Ojpjb250YWlucyhjb25zdCBT
dHJpbmcmIGtleSwgRnJhbWUqIGZyYW1lKSBjb25zdAogICAgIHJldHVybiAhZ2V0SXRlbShrZXks
IGZyYW1lKS5pc051bGwoKTsKIH0KIAorLy8gRklYTUU6IHJlbW92ZSB0aGlzIG1ldGhvZCBhbmQg
dGhlIGNhbGxzIHRvIGl0IGZyb20gb3VyIHNldHRlcnMgYWZ0ZXIgbXVsdGktc2lkZSBwYXRjaCBs
YW5kaW5nIGlzIGRvbmUuCisvLyBDb3BpZWQgZnJvbSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2
ZW50RGlzcGF0Y2hlci5jcHAgb3V0IG9mIG5lY2Vzc2l0eS4gIEl0J3MgcHJvYmFibHkgYmVzdCB0
byBrZWVwIGl0IGN1cnJlbnQuCit2b2lkIFN0b3JhZ2VBcmVhUHJveHk6OnN0b3JhZ2VFdmVudChj
b25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBu
ZXdWYWx1ZSwgU3RvcmFnZVR5cGUgc3RvcmFnZVR5cGUsIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbiwgRnJhbWUqIHNvdXJjZUZyYW1lKQoreworICAgIFBhZ2UqIHBhZ2UgPSBzb3VyY2VG
cmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
V2UgbmVlZCB0byBjb3B5IGFsbCByZWxldmFudCBmcmFtZXMgZnJvbSBldmVyeSBwYWdlIHRvIGEg
dmVjdG9yIHNpbmNlIHNlbmRpbmcgdGhlIGV2ZW50IHRvIG9uZSBmcmFtZSBtaWdodCBtdXRhdGUg
dGhlIGZyYW1lIHRyZWUKKyAgICAvLyBvZiBhbnkgZ2l2ZW4gcGFnZSBpbiB0aGUgZ3JvdXAgb3Ig
bXV0YXRlIHRoZSBwYWdlIGdyb3VwIGl0c2VsZi4KKyAgICBWZWN0b3I8UmVmUHRyPEZyYW1lPiA+
IGZyYW1lczsKKyAgICBpZiAoc3RvcmFnZVR5cGUgPT0gU2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAg
ICAgLy8gU2VuZCBldmVudHMgb25seSB0byBvdXIgcGFnZS4KKyAgICAgICAgZm9yIChGcmFtZSog
ZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+
dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VGcmFtZSAhPSBmcmFtZSAm
JiBmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+ZXF1YWwoc2VjdXJpdHlPcmln
aW4pKQorICAgICAgICAgICAgICAgIGZyYW1lcy5hcHBlbmQoZnJhbWUpOworICAgICAgICB9CisK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyYW1lcy5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgLy8gRklYTUU6IG1heWJlIG9ubHkgcmFpc2UgaWYgdGhlIHdpbmRvdyBoYXMg
YW4gb25zdG9yYWdlIGxpc3RlbmVyCisgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byBhdm9pZCBj
cmVhdGluZyB0aGUgU3RvcmFnZSBpbnN0YW5jZS4KKyAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOworICAgICAgICAgICAgU3RvcmFnZSogc3RvcmFnZSA9IGZyYW1lc1tpXS0+ZG9tV2lu
ZG93KCktPnNlc3Npb25TdG9yYWdlKGVjKTsKKyAgICAgICAgICAgIGlmICghZWMpCisgICAgICAg
ICAgICAgICAgZnJhbWVzW2ldLT5kb2N1bWVudCgpLT5lbnF1ZXVlV2luZG93RXZlbnQoU3RvcmFn
ZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0b3JhZ2VFdmVudCwga2V5LCBvbGRWYWx1ZSwg
bmV3VmFsdWUsIHNvdXJjZUZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSwgc3RvcmFnZSkpOworICAg
ICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gU2VuZCBldmVudHMgdG8gZXZlcnkgcGFn
ZS4KKyAgICAgICAgY29uc3QgSGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gcGFnZS0+Z3JvdXAoKS5w
YWdlcygpOworICAgICAgICBIYXNoU2V0PFBhZ2UqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gcGFn
ZXMuZW5kKCk7CisgICAgICAgIGZvciAoSGFzaFNldDxQYWdlKj46OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gcGFnZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBmb3IgKEZy
YW1lKiBmcmFtZSA9ICgqaXQpLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRy
ZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoc291cmNlRnJhbWUg
IT0gZnJhbWUgJiYgZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmVxdWFsKHNl
Y3VyaXR5T3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVzLmFwcGVuZChmcmFtZSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgZnJhbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogbWF5YmUg
b25seSByYWlzZSBpZiB0aGUgd2luZG93IGhhcyBhbiBvbnN0b3JhZ2UgbGlzdGVuZXIKKyAgICAg
ICAgICAgIC8vIGF0dGFjaGVkIHRvIGF2b2lkIGNyZWF0aW5nIHRoZSBTdG9yYWdlIGluc3RhbmNl
LgorICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgICAgICBTdG9yYWdl
KiBzdG9yYWdlID0gZnJhbWVzW2ldLT5kb21XaW5kb3coKS0+bG9jYWxTdG9yYWdlKGVjKTsKKyAg
ICAgICAgICAgIGlmICghZWMpCisgICAgICAgICAgICAgICAgZnJhbWVzW2ldLT5kb2N1bWVudCgp
LT5lbnF1ZXVlV2luZG93RXZlbnQoU3RvcmFnZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0
b3JhZ2VFdmVudCwga2V5LCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHNvdXJjZUZyYW1lLT5kb2N1bWVu
dCgpLT51cmwoKSwgc3RvcmFnZSkpOworICAgICAgICB9CisgICAgfQorfQorCiBib29sIFN0b3Jh
Z2VBcmVhUHJveHk6OmNhbkFjY2Vzc1N0b3JhZ2UoRnJhbWUqIGZyYW1lKSBjb25zdAogewogICAg
IGlmICghZnJhbWUtPnBhZ2UoKSkKQEAgLTExOSwxMCArMTgwLDE4IEBAIGJvb2wgU3RvcmFnZUFy
ZWFQcm94eTo6Y2FuQWNjZXNzU3RvcmFnZShGcmFtZSogZnJhbWUpIGNvbnN0CiAgICAgcmV0dXJu
ICF3ZWJWaWV3LT5wZXJtaXNzaW9uQ2xpZW50KCkgfHwgd2ViVmlldy0+cGVybWlzc2lvbkNsaWVu
dCgpLT5hbGxvd1N0b3JhZ2Uod2ViRnJhbWUsIG1fc3RvcmFnZVR5cGUgPT0gTG9jYWxTdG9yYWdl
KTsKIH0KIAotdm9pZCBTdG9yYWdlQXJlYVByb3h5OjpkaXNwYXRjaExvY2FsU3RvcmFnZUV2ZW50
KFBhZ2VHcm91cCogcGFnZUdyb3VwLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBv
bGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwKK3ZvaWQgU3RvcmFnZUFyZWFQcm94eTo6
ZGlzcGF0Y2hMb2NhbFN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIHBhZ2VHcm91cE5hbWUsIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5l
d1ZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwgY29uc3QgS1VSTCYgcGFnZVVSTCwgV2Vi
S2l0OjpXZWJTdG9yYWdlQXJlYSogc291cmNlQXJlYUluc3RhbmNlLCBib29sIG9yaWdpbmF0ZWRJ
blByb2Nlc3MpCiB7Ci0gICAgY29uc3QgSGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gcGFnZUdyb3Vw
LT5wYWdlcygpOworICAgIC8vIEZJWE1FOiBNdWx0aS1zaWRlZCBwYXRjaCBlbmdpbmVlcmluZyBh
bGVydCAhCisgICAgLy8gc3RlcCAxOiB0aGlzIG1ldGhvZCBnZXRzIGRlZmluZWQgYW5kIGltcGxl
bWVudGVkIGluIHdlYmtpdC93ZWJjb3JlIHdpdGggdGhlIGVhcmx5IHJldHVybi4KKyAgICAvLyBz
dGVwIDI6IHRoaXMgbWV0aG9kIHN0YXJ0cyBnZXR0aW5nIGNhbGxlZCBieSBjaHJvbWl1bSBzdGls
bCB3aXRoIHRoZSBlYXJseSByZXR1cm4uCisgICAgLy8gc3RlcCAzOiBUaGlzIGNsYXNzJ3Mgc2V0
dGVycyBhcmUgbW9kaWZpZWQgdG8gbm8gbG9uZ2VyIHJhaXNlIFNlc3Npb25TdG9yYWdlCisgICAg
Ly8gICAgICAgICBldmVudHMgZm9yIGlucHJvY2VzcyBjaGFuZ2VzIGFuZCB0aGlzIGVhcmx5IHJl
dHVybiBpcyByZW1vdmVkLgorICAgIGlmIChvcmlnaW5hdGVkSW5Qcm9jZXNzKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBh
Z2VHcm91cChwYWdlR3JvdXBOYW1lKS0+cGFnZXMoKTsKICAgICBmb3IgKEhhc2hTZXQ8UGFnZSo+
Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0ICE9IHBhZ2VzLmVuZCgpOyAr
K2l0KSB7CiAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gKCppdCktPm1haW5GcmFtZSgpOyBm
cmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICAg
ICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5lcXVhbChzZWN1cml0
eU9yaWdpbikgJiYgIWlzRXZlbnRTb3VyY2UoZnJhbWUtPmRvbVdpbmRvdygpLT5vcHRpb25hbExv
Y2FsU3RvcmFnZSgpLCBzb3VyY2VBcmVhSW5zdGFuY2UpKSB7CkBAIC0xMzYsOSArMjA1LDkgQEAg
dm9pZCBTdG9yYWdlQXJlYVByb3h5OjpkaXNwYXRjaExvY2FsU3RvcmFnZUV2ZW50KFBhZ2VHcm91
cCogcGFnZUdyb3VwLCBjb25zdCBTdHIKICAgICB9CiB9CiAKLXN0YXRpYyBQYWdlKiBmaW5kUGFn
ZVdpdGhTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZShQYWdlR3JvdXAqIHBhZ2VHcm91cCwgY29uc3Qg
V2ViS2l0OjpXZWJTdG9yYWdlTmFtZXNwYWNlJiBzZXNzaW9uTmFtZXNwYWNlKQorc3RhdGljIFBh
Z2UqIGZpbmRQYWdlV2l0aFNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKGNvbnN0IFN0cmluZyYgcGFn
ZUdyb3VwTmFtZSwgY29uc3QgV2ViS2l0OjpXZWJTdG9yYWdlTmFtZXNwYWNlJiBzZXNzaW9uTmFt
ZXNwYWNlKQogewotICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IHBhZ2VHcm91cC0+
cGFnZXMoKTsKKyAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBh
Z2VHcm91cChwYWdlR3JvdXBOYW1lKS0+cGFnZXMoKTsKICAgICBmb3IgKEhhc2hTZXQ8UGFnZSo+
Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0ICE9IHBhZ2VzLmVuZCgpOyAr
K2l0KSB7CiAgICAgICAgIGNvbnN0IGJvb2wgY3JlYXRlSWZOZWVkZWQgPSB0cnVlOwogICAgICAg
ICBTdG9yYWdlTmFtZXNwYWNlUHJveHkqIHByb3h5ID0gc3RhdGljX2Nhc3Q8U3RvcmFnZU5hbWVz
cGFjZVByb3h5Kj4oKCppdCktPnNlc3Npb25TdG9yYWdlKGNyZWF0ZUlmTmVlZGVkKSk7CkBAIC0x
NDgsMTEgKzIxNywxOSBAQCBzdGF0aWMgUGFnZSogZmluZFBhZ2VXaXRoU2Vzc2lvblN0b3JhZ2VO
YW1lc3BhY2UoUGFnZUdyb3VwKiBwYWdlR3JvdXAsIGNvbnN0IFdlYgogICAgIHJldHVybiAwOwog
fQogCi12b2lkIFN0b3JhZ2VBcmVhUHJveHk6OmRpc3BhdGNoU2Vzc2lvblN0b3JhZ2VFdmVudChQ
YWdlR3JvdXAqIHBhZ2VHcm91cCwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xk
VmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsCit2b2lkIFN0b3JhZ2VBcmVhUHJveHk6OmRp
c3BhdGNoU2Vzc2lvblN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIHBhZ2VHcm91cE5hbWUsIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5l
d1ZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBLVVJMJiBwYWdlVVJMLCBj
b25zdCBXZWJLaXQ6OldlYlN0b3JhZ2VOYW1lc3BhY2UmIHNlc3Npb25OYW1lc3BhY2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXQ6Oldl
YlN0b3JhZ2VBcmVhKiBzb3VyY2VBcmVhSW5zdGFuY2UsIGJvb2wgb3JpZ2luYXRlZEluUHJvY2Vz
cykKIHsKLSAgICBQYWdlKiBwYWdlID0gZmluZFBhZ2VXaXRoU2Vzc2lvblN0b3JhZ2VOYW1lc3Bh
Y2UocGFnZUdyb3VwLCBzZXNzaW9uTmFtZXNwYWNlKTsKKyAgICAvLyBGSVhNRTogTXVsdGktc2lk
ZWQgcGF0Y2ggZW5naW5lZXJpbmcgYWxlcnQgIQorICAgIC8vIHN0ZXAgMTogdGhpcyBtZXRob2Qg
Z2V0cyBkZWZpbmVkIGFuZCBpbXBsZW1lbnRlZCBpbiB3ZWJraXQvd2ViY29yZSB3aXRoIHRoZSBl
YXJseSByZXR1cm4uCisgICAgLy8gc3RlcCAyOiB0aGlzIG1ldGhvZCBzdGFydHMgZ2V0dGluZyBj
YWxsZWQgYnkgY2hyb21pdW0gc3RpbGwgd2l0aCB0aGUgZWFybHkgcmV0dXJuLgorICAgIC8vIHN0
ZXAgMzogVGhpcyBjbGFzcydzIHNldHRlcnMgYXJlIG1vZGlmaWVkIHRvIG5vIGxvbmdlciByYWlz
ZSBTZXNzaW9uU3RvcmFnZQorICAgIC8vICAgICAgICAgZXZlbnRzIGZvciBpbnByb2Nlc3MgY2hh
bmdlcyBhbmQgdGhpcyBlYXJseSByZXR1cm4gaXMgcmVtb3ZlZC4KKyAgICBpZiAob3JpZ2luYXRl
ZEluUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGZpbmRQYWdl
V2l0aFNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKHBhZ2VHcm91cE5hbWUsIHNlc3Npb25OYW1lc3Bh
Y2UpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TdG9yYWdlQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9TdG9yYWdlQXJlYVByb3h5LmgKaW5kZXggODNmMmVhZTE3M2QyNzlhZjdl
NzQzNDdmOGNiM2Y2ZjhhMGUxYzQyYi4uYWIyMzU3NDcwMGM0YWZjYzUzMzM1MTJmNGE2MjkxN2Nh
YzJmOTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUFy
ZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1N0b3JhZ2VBcmVhUHJv
eHkuaApAQCAtMzgsNyArMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsK
IGNsYXNzIEtVUkw7CiBjbGFzcyBQYWdlOwotY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiBjbGFzcyBTdG9yYWdlOwogCkBAIC01MSwyMiArNTAsMjMgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdW5zaWduZWQgbGVuZ3RoKEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcga2V5KHVuc2lnbmVkIGluZGV4LCBGcmFtZSogc291cmNlRnJhbWUp
IGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZy
YW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldEl0ZW0oY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmLCBGcmFtZSog
c291cmNlRnJhbWUpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVJdGVtKGNvbnN0IFN0cmluZyYg
a2V5LCBGcmFtZSogc291cmNlRnJhbWUpOwotICAgIHZpcnR1YWwgdm9pZCBjbGVhcihGcmFtZSog
c291cmNlRnJhbWUpOworICAgIHZpcnR1YWwgU3RyaW5nIHNldEl0ZW0oY29uc3QgU3RyaW5nJiBr
ZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjLCBGcmFtZSogc291cmNl
RnJhbWUpOworICAgIHZpcnR1YWwgU3RyaW5nIHJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBrZXks
IEZyYW1lKiBzb3VyY2VGcmFtZSk7CisgICAgdmlydHVhbCBib29sIGNsZWFyKEZyYW1lKiBzb3Vy
Y2VGcmFtZSk7CiAgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IFN0cmluZyYga2V5LCBG
cmFtZSogc291cmNlRnJhbWUpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGRpc2FibGVkQnlQ
cml2YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKikgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIAogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoTG9jYWxTdG9yYWdlRXZlbnQoCi0gICAgICAg
ICAgICBQYWdlR3JvdXAqLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1
ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwKKyAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcGFn
ZUdyb3VwTmFtZSwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNv
bnN0IFN0cmluZyYgbmV3VmFsdWUsCiAgICAgICAgICAgICBTZWN1cml0eU9yaWdpbiosIGNvbnN0
IEtVUkwmIHBhZ2VVUkwsIFdlYktpdDo6V2ViU3RvcmFnZUFyZWEqIHNvdXJjZUFyZWFJbnN0YW5j
ZSwgYm9vbCBvcmlnaW5hdGVkSW5Qcm9jZXNzKTsKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFNl
c3Npb25TdG9yYWdlRXZlbnQoCi0gICAgICAgICAgICBQYWdlR3JvdXAqLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwKKyAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgcGFnZUdyb3VwTmFtZSwgY29uc3QgU3RyaW5nJiBrZXks
IGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsCiAgICAgICAg
ICAgICBTZWN1cml0eU9yaWdpbiosIGNvbnN0IEtVUkwmIHBhZ2VVUkwsIGNvbnN0IFdlYktpdDo6
V2ViU3RvcmFnZU5hbWVzcGFjZSYsCiAgICAgICAgICAgICBXZWJLaXQ6OldlYlN0b3JhZ2VBcmVh
KiBzb3VyY2VBcmVhSW5zdGFuY2UsIGJvb2wgb3JpZ2luYXRlZEluUHJvY2Vzcyk7CiAKIHByaXZh
dGU6CisgICAgdm9pZCBzdG9yYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmlu
ZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlLCBTZWN1cml0
eU9yaWdpbiosIEZyYW1lKiBzb3VyY2VGcmFtZSk7CiAgICAgYm9vbCBjYW5BY2Nlc3NTdG9yYWdl
KEZyYW1lKikgY29uc3Q7CiAKICAgICBzdGF0aWMgYm9vbCBpc0V2ZW50U291cmNlKFN0b3JhZ2Uq
LCBXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhKiBzb3VyY2VBcmVhSW5zdGFuY2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUV2ZW50RGlzcGF0Y2hlcklt
cGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU5NDhiNTk3Y2M5ZTI0NzIzNTE0NTQ3MDA4MmM5ZGE5MzVlMDdm
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TdG9yYWdl
RXZlbnREaXNwYXRjaGVySW1wbC5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbC5oIgorCisjaW5jbHVkZSAi
RE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CisjaW5jbHVkZSAiU3RvcmFnZUV2ZW50LmgiCisKKy8vIEZJWE1FOiBkZWxldGUgdGhpcyBhbG1v
c3Qgb2Jzb2xldGUgZmlsZSBzb29uCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU3RvcmFnZUV2
ZW50RGlzcGF0Y2hlckltcGw6OlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsKGNvbnN0IFN0cmlu
ZyYgZ3JvdXBOYW1lKQorICAgIDogbV9wYWdlR3JvdXAoUGFnZUdyb3VwOjpwYWdlR3JvdXAoZ3Jv
dXBOYW1lKSkKK3sKKyAgICBBU1NFUlQobV9wYWdlR3JvdXApOworfQorCit2b2lkIFN0b3JhZ2VF
dmVudERpc3BhdGNoZXJJbXBsOjpkaXNwYXRjaFN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIGtl
eSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFNlY3VyaXR5
T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEtVUkwmIHVybCwgU3RvcmFnZVR5cGUgc3RvcmFn
ZVR5cGUpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudAorICAgIGlmIChzdG9yYWdlVHlwZSA9
PSBTZXNzaW9uU3RvcmFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gV2UgbmVlZCB0byBj
b3B5IGFsbCByZWxldmFudCBmcmFtZXMgZnJvbSBldmVyeSBwYWdlIHRvIGEgdmVjdG9yIHNpbmNl
IHNlbmRpbmcgdGhlIGV2ZW50IHRvIG9uZSBmcmFtZSBtaWdodCBtdXRhdGUgdGhlIGZyYW1lIHRy
ZWUKKyAgICAvLyBvZiBhbnkgZ2l2ZW4gcGFnZSBpbiB0aGUgZ3JvdXAgb3IgbXV0YXRlIHRoZSBw
YWdlIGdyb3VwIGl0c2VsZi4KKyAgICBWZWN0b3I8UmVmUHRyPEZyYW1lPiA+IGZyYW1lczsKKwor
ICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IG1fcGFnZUdyb3VwLT5wYWdlcygpOwor
ICAgIEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBwYWdlcy5lbmQoKTsKKyAg
ICBmb3IgKEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICgqaXQpLT5t
YWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkp
IHsKKyAgICAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
ZXF1YWwoc2VjdXJpdHlPcmlnaW4pKQorICAgICAgICAgICAgICAgIGZyYW1lcy5hcHBlbmQoZnJh
bWUpOworICAgICAgICB9CisgICAgfQorCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZy
YW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAg
ICAgU3RvcmFnZSogc3RvcmFnZSA9IGZyYW1lc1tpXS0+ZG9tV2luZG93KCktPmxvY2FsU3RvcmFn
ZShlYyk7CisgICAgICAgIGlmICghZWMpCisgICAgICAgICAgICBmcmFtZXNbaV0tPmRvY3VtZW50
KCktPmRpc3BhdGNoV2luZG93RXZlbnQoU3RvcmFnZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnN0b3JhZ2VFdmVudCwga2V5LCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHVybCwgc3RvcmFnZSkpOwor
ICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1N0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDM0MzM4NTFmNDU4NGVlYWQ3ZWRmZGFhYmE5NWQ0ODJlNmI3OGI1NQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1N0b3JhZ2VFdmVudERpc3BhdGNoZXJJ
bXBsLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGxf
aAorI2RlZmluZSBTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbF9oCisKKyNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgS1VSTDsKK2NsYXNzIFBhZ2VHcm91cDsKK2NsYXNzIFNlY3VyaXR5T3Jp
Z2luOworCitjbGFzcyBTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbCB7CitwdWJsaWM6CisgICAg
U3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwoY29uc3QgU3RyaW5nJiBncm91cE5hbWUpOworCisg
ICAgdm9pZCBkaXNwYXRjaFN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiBvbGRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmlu
ZyYgbmV3VmFsdWUsIFNlY3VyaXR5T3JpZ2luKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEtVUkwmLCBTdG9yYWdlVHlwZSk7CisKK3ByaXZhdGU6CisgICAgUGFnZUdyb3Vw
KiBtX3BhZ2VHcm91cDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IFN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmNwcAppbmRl
eCBjZDc3Y2I0NmJjZGMzZmMwZDlhNzZlMmEwNjA2NmE3NGYxNTgxNmIwLi5jODAzNmFhNzRmNjcy
NmFhMjRmM2EyN2YxMzZjZmFhMzdhMjRhZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuY3BwCkBA
IC0yOSwyMCArMjksMTkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5oIgorI2luY2x1ZGUgIldlYlN0b3JhZ2VFdmVudERp
c3BhdGNoZXJJbXBsLmgiCiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYVByb3h5LmgiCi0jaW5jbHVkZSAiV2ViVmll
d0ltcGwuaCIKIAogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKLS8vIEZJWE1FOiBtb3ZlIHRoaXMgZmlsZSB0byBXZWJTdG9yYWdlRXZl
bnREaXNwYXRjaGVyLmNwcAotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorZXh0ZXJuIGNvbnN0IGNo
YXIqIHBhZ2VHcm91cE5hbWU7CisKIHZvaWQgV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlcjo6ZGlz
cGF0Y2hMb2NhbFN0b3JhZ2VFdmVudCgKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBrZXksIGNv
bnN0IFdlYlN0cmluZyYgb2xkVmFsdWUsCiAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmV3VmFs
dWUsIGNvbnN0IFdlYlVSTCYgb3JpZ2luLApAQCAtNTEsNyArNTAsNyBAQCB2b2lkIFdlYlN0b3Jh
Z2VFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoTG9jYWxTdG9yYWdlRXZlbnQoCiB7CiAgICAgUmVm
UHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiA9IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luOjpjcmVhdGUob3JpZ2luKTsKICAgICBXZWJDb3JlOjpTdG9yYWdlQXJlYVBy
b3h5OjpkaXNwYXRjaExvY2FsU3RvcmFnZUV2ZW50KAotICAgICAgICAgICAgV2ViVmlld0ltcGw6
OmRlZmF1bHRQYWdlR3JvdXAoKSwga2V5LCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHNlY3VyaXR5T3Jp
Z2luLmdldCgpLCBwYWdlVVJMLAorICAgICAgICAgICAgcGFnZUdyb3VwTmFtZSwga2V5LCBvbGRW
YWx1ZSwgbmV3VmFsdWUsIHNlY3VyaXR5T3JpZ2luLmdldCgpLCBwYWdlVVJMLAogICAgICAgICAg
ICAgc291cmNlQXJlYUluc3RhbmNlLCBvcmlnaW5hdGVkSW5Qcm9jZXNzKTsKIH0KIApAQCAtNjMs
OCArNjIsMzEgQEAgdm9pZCBXZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaFNlc3Np
b25TdG9yYWdlRXZlbnQoCiB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBz
ZWN1cml0eU9yaWdpbiA9IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUob3JpZ2luKTsK
ICAgICBXZWJDb3JlOjpTdG9yYWdlQXJlYVByb3h5OjpkaXNwYXRjaFNlc3Npb25TdG9yYWdlRXZl
bnQoCi0gICAgICAgICAgICBXZWJWaWV3SW1wbDo6ZGVmYXVsdFBhZ2VHcm91cCgpLCBrZXksIG9s
ZFZhbHVlLCBuZXdWYWx1ZSwgc2VjdXJpdHlPcmlnaW4uZ2V0KCksIHBhZ2VVUkwsCisgICAgICAg
ICAgICBwYWdlR3JvdXBOYW1lLCBrZXksIG9sZFZhbHVlLCBuZXdWYWx1ZSwgc2VjdXJpdHlPcmln
aW4uZ2V0KCksIHBhZ2VVUkwsCiAgICAgICAgICAgICBzZXNzaW9uTmFtZXNwYWNlLCBzb3VyY2VB
cmVhSW5zdGFuY2UsIG9yaWdpbmF0ZWRJblByb2Nlc3MpOwogfQogCisKKy8vIEZJWE1FOiByZW1v
dmUgdGhlIFdlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsIGNsYXNzIHNvb24uCisKK1dlYlN0
b3JhZ2VFdmVudERpc3BhdGNoZXIqIFdlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXI6OmNyZWF0ZSgp
Cit7CisgICAgcmV0dXJuIG5ldyBXZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbCgpOworfQor
CitXZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbDo6V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hl
ckltcGwoKQorICAgIDogbV9ldmVudERpc3BhdGNoZXIoYWRvcHRQdHIobmV3IFdlYkNvcmU6OlN0
b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsKHBhZ2VHcm91cE5hbWUpKSkKK3sKKyAgICBBU1NFUlQo
bV9ldmVudERpc3BhdGNoZXIpOworfQorCit2b2lkIFdlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJ
bXBsOjpkaXNwYXRjaFN0b3JhZ2VFdmVudChjb25zdCBXZWJTdHJpbmcmIGtleSwgY29uc3QgV2Vi
U3RyaW5nJiBvbGRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmV3VmFsdWUsIGNvbnN0IFdlYlN0
cmluZyYgb3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViVVJMJiBwYWdlVVJMLCBib29sIGlzTG9jYWxTdG9yYWdl
KQoreworICAgIFdlYkNvcmU6OlN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlID0gaXNMb2NhbFN0b3Jh
Z2UgPyBXZWJDb3JlOjpMb2NhbFN0b3JhZ2UgOiBXZWJDb3JlOjpTZXNzaW9uU3RvcmFnZTsKKyAg
ICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luID0gV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luKTsKKyAgICBtX2V2ZW50
RGlzcGF0Y2hlci0+ZGlzcGF0Y2hTdG9yYWdlRXZlbnQoa2V5LCBvbGRWYWx1ZSwgbmV3VmFsdWUs
IHNlY3VyaXR5T3JpZ2luLmdldCgpLCBwYWdlVVJMLCBzdG9yYWdlVHlwZSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAzYzZiN2E2
YzhiZmM1NGQ5MWZlOWY0NzM2YmFkYjJhZTQ1YjE3NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGxfaAorI2Rl
ZmluZSBXZWJTdG9yYWdlRXZlbnREaXNwYXRjaGVySW1wbF9oCisKKyNpbmNsdWRlICJTdG9yYWdl
RXZlbnREaXNwYXRjaGVySW1wbC5oIgorI2luY2x1ZGUgIldlYlN0b3JhZ2VFdmVudERpc3BhdGNo
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCisv
LyBERVBSRUNBVEVEIC0gdG8gYmUgcmVtb3ZlZCB3aGVuIHJlbW92aW5nIHRoZSBpbnN0YW5jZSBt
ZXRob2RzIGluIHRoZSBwdWJsaWMgYXBpLgorY2xhc3MgV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hl
ckltcGwgOiBwdWJsaWMgV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlciB7CitwdWJsaWM6CisgICAg
V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGwoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hTdG9yYWdlRXZlbnQoY29uc3QgV2ViU3RyaW5nJiBrZXksIGNvbnN0IFdlYlN0cmluZyYgb2xk
VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgbmV3VmFsdWUsIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJVUkwmLCBib29sIGlzTG9jYWxTdG9yYWdl
KTsKK3ByaXZhdGU6CisgICAgT3duUHRyPFdlYkNvcmU6OlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJ
bXBsPiBtX2V2ZW50RGlzcGF0Y2hlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlckltcGxfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDBhMjJmNmQxNGQ3NTdhYWIxYjI2ZThl
Y2QyNjViZWI3MThjY2JkNzEuLmVhYTk5ZTMyNGQxZGY3Mjc5ZDdiZmU1M2RiMzdmOWY2NWI3Yzc2
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTEy
NjcsMTEgKzEyNjcsNiBAQCBXZWJWaWV3SW1wbCogV2ViVmlld0ltcGw6OmZyb21QYWdlKFBhZ2Uq
IHBhZ2UpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlZpZXdJbXBsKj4oY2hyb21lQ2xpZW50
LT53ZWJWaWV3KCkpOwogfQogCi1QYWdlR3JvdXAqIFdlYlZpZXdJbXBsOjpkZWZhdWx0UGFnZUdy
b3VwKCkKLXsKLSAgICByZXR1cm4gUGFnZUdyb3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwTmFtZSk7
Ci19Ci0KIC8vIFdlYldpZGdldCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogdm9pZCBXZWJWaWV3SW1wbDo6Y2xvc2Uo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMzc3NTM2ZWFk
Y2RlZTc4MGIxMDE3MmU4YWYyOGZlM2ZhN2MyZTk1NS4uZGVmN2U4Nzk1YmM5NjljMWRhZmQ2YWYy
MDhlNmY0NTRiMzU2MzE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5oCkBAIC02OSw3ICs2OSw2IEBAIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgSGl0VGVzdFJl
c3VsdDsKIGNsYXNzIEtleWJvYXJkRXZlbnQ7CiBjbGFzcyBQYWdlOwotY2xhc3MgUGFnZUdyb3Vw
OwogY2xhc3MgUGFnZVBvcHVwOwogY2xhc3MgUGFnZVBvcHVwQ2xpZW50OwogY2xhc3MgUGxhdGZv
cm1HZXN0dXJlQ3VydmVUYXJnZXQ7CkBAIC0zMDQsMTIgKzMwMyw2IEBAIHB1YmxpYzoKIAogICAg
IHN0YXRpYyBXZWJWaWV3SW1wbCogZnJvbVBhZ2UoV2ViQ29yZTo6UGFnZSopOwogCi0gICAgLy8g
QSBwYWdlR3JvdXAgaWRlbnRpZmllcyBhIG5hbWVzcGFjZSBvZiBwYWdlcy4gUGFnZSBncm91cHMg
YXJlIHVzZWQgb24gUExBVEZPUk0oTUFDKQotICAgIC8vIGZvciBzb21lIHByb2dyYW1zIHRoYXQg
dXNlIEhUTUwgdmlld3MgdG8gZGlzcGxheSB0aGluZ3MgdGhhdCBkb24ndCBzZWVtIGxpa2UKLSAg
ICAvLyB3ZWIgcGFnZXMgdG8gdGhlIHVzZXIgKHNvIHNob3VsZG4ndCBoYXZlIHZpc2l0ZWQgbGlu
ayBjb2xvcmluZykuIFdlIG9ubHkgdXNlCi0gICAgLy8gb25lIHBhZ2UgZ3JvdXAuCi0gICAgc3Rh
dGljIFdlYkNvcmU6OlBhZ2VHcm91cCogZGVmYXVsdFBhZ2VHcm91cCgpOwotCiAgICAgV2ViVmll
d0NsaWVudCogY2xpZW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NsaWVudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>