<?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>153267</bug_id>
          
          <creation_ts>2016-01-19 19:47:38 -0800</creation_ts>
          <short_desc>REGRESSION(r195302): This change broke the Windows build, rolling out so it isn&apos;t broken all night before investigation. (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-01-19 19:51:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>151963</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1156847</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-19 19:47:38 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/195302 broke the build:
This change broke the Windows build, rolling out so it isn&apos;t broken all night before investigation. (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156848</commentid>
    <comment_count>1</comment_count>
      <attachid>269327</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-19 19:48:06 -0800</bug_when>
    <thetext>Created attachment 269327
ROLLOUT of r195302

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>1156849</commentid>
    <comment_count>2</comment_count>
      <attachid>269327</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-19 19:51:05 -0800</bug_when>
    <thetext>Comment on attachment 269327
ROLLOUT of r195302

Clearing flags on attachment: 269327

Committed r195335: &lt;http://trac.webkit.org/changeset/195335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156850</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-19 19:51:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269327</attachid>
            <date>2016-01-19 19:48:06 -0800</date>
            <delta_ts>2016-01-19 19:51:05 -0800</delta_ts>
            <desc>ROLLOUT of r195302</desc>
            <filename>bug-153267-20160119194737.patch</filename>
            <type>text/plain</type>
            <size>37353</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUyM2QwNmY5N2Y3Mjc0
ZTAyOTUxNmMzYzhiY2UwYmRkODA2OGY3Yy4uMjMwZmIzMDc1MjgzNDA3ZTdiNTZlY2Q4NWNmYTFl
NzVkOWVmNGNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTAxLTE5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTk1MzAyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUzMjY3CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYnJva2UgdGhlIFdp
bmRvd3MgYnVpbGQsIHJvbGxpbmcgb3V0IHNvIGl0IGlzbid0CisgICAgICAgIGJyb2tlbiBhbGwg
bmlnaHQgYmVmb3JlIGludmVzdGlnYXRpb24uIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgcnlhbmhh
ZGRhZCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAg
ICAgIltFTUVdIENvcnJlY3RseSByZXBvcnQgZXJyb3JzIHdoZW4gZ2VuZXJhdGluZyBrZXkgcmVx
dWVzdHMKKyAgICAgICAgZnJvbSBBVkNvbnRlbnRLZXlTZXNzaW9uLiIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTk2MworICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTUzMDIKKwogMjAxNi0wMS0xOSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERPTUltcGxlbWVudGF0aW9uLmNyZWF0
ZURvY3VtZW50KCkgc2hvdWxkIHRyZWF0IHVuZGVmaW5lZCBuYW1lc3BhY2UgYXMgbnVsbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmgKaW5kZXggODFkMmRhOWZj
ZjMwMjAxNTI1Y2JkZmQ0YTBmYzBiNTA3NGU3YjM0Mi4uOWJmZDFiYzI1NzA1ZmZmNTZkMjNhZWQ3
ZDEwZTM0M2RhOWMwMDY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL0NETS5oCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIENETSB7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgQ0RNKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKTsKIAotICAgIGVudW0gQ0RNRXJyb3JD
b2RlIHsgTm9FcnJvciwgVW5rbm93bkVycm9yLCBDbGllbnRFcnJvciwgU2VydmljZUVycm9yLCBP
dXRwdXRFcnJvciwgSGFyZHdhcmVDaGFuZ2VFcnJvciwgRG9tYWluRXJyb3IgfTsKKyAgICBlbnVt
IENETUVycm9yQ29kZSB7IFVua25vd25FcnJvciA9IDEsIENsaWVudEVycm9yLCBTZXJ2aWNlRXJy
b3IsIE91dHB1dEVycm9yLCBIYXJkd2FyZUNoYW5nZUVycm9yLCBEb21haW5FcnJvciB9OwogICAg
IHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRp
YyBib29sIGtleVN5c3RlbVN1cHBvcnRzTWltZVR5cGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q0RN
PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1TZXNzaW9uQ2xlYXJLZXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1TZXNzaW9uQ2xlYXJLZXkuY3Bw
CmluZGV4IDU4OWFjZDIyNjk1NDFmYTU2NjUyMjUwZjQ2MGNhMzdiMmI3Yjg0ODguLjllYzc5N2Yw
YzE0MWNkNWYzYTc5YzdlNzUxMjZjNGFlMWY0Y2UwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNU2Vzc2lvbkNsZWFyS2V5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETVNlc3Npb25DbGVhcktleS5j
cHAKQEAgLTY5LDcgKzY5LDcgQEAgQ0RNU2Vzc2lvbkNsZWFyS2V5Ojp+Q0RNU2Vzc2lvbkNsZWFy
S2V5KCkKIHsKIH0KIAotUmVmUHRyPFVpbnQ4QXJyYXk+IENETVNlc3Npb25DbGVhcktleTo6Z2Vu
ZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaXRE
YXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1
aW50MzJfdCYgc3lzdGVtQ29kZSkKK1JlZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQ2xlYXJL
ZXk6OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5
KiBpbml0RGF0YSwgU3RyaW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hvcnQmIGVycm9y
Q29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBVTlVTRURfUEFSQU0obWlt
ZVR5cGUpOwogICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvblVSTCk7CkBAIC05Niw3ICs5Niw3
IEBAIHZvaWQgQ0RNU2Vzc2lvbkNsZWFyS2V5OjpyZWxlYXNlS2V5cygpCiAgICAgbV9jYWNoZWRL
ZXlzLmNsZWFyKCk7CiB9CiAKLWJvb2wgQ0RNU2Vzc2lvbkNsZWFyS2V5Ojp1cGRhdGUoVWludDhB
cnJheSogcmF3S2V5c0RhdGEsIFJlZlB0cjxVaW50OEFycmF5PiYgbmV4dE1lc3NhZ2UsIHVuc2ln
bmVkIHNob3J0JiBlcnJvckNvZGUsIHVpbnQzMl90JiBzeXN0ZW1Db2RlKQorYm9vbCBDRE1TZXNz
aW9uQ2xlYXJLZXk6OnVwZGF0ZShVaW50OEFycmF5KiByYXdLZXlzRGF0YSwgUmVmUHRyPFVpbnQ4
QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQg
bG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBVTlVTRURfUEFSQU0obmV4dE1lc3NhZ2UpOwogICAg
IFVOVVNFRF9QQVJBTShzeXN0ZW1Db2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNU2Vzc2lvbkNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETVNlc3Npb25DbGVhcktleS5oCmluZGV4IDQ2Mjg3
MDk0YWE4YzY3ZTg0NTM2ZDk2NTNmNDUxMzFhYTZjZmRlYzYuLmU1MDlmYjZhNjdhZmRlMjcyYWQw
OTc5NWY4NjFhYTI5NjNkNzhjYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvQ0RNU2Vzc2lvbkNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1TZXNzaW9uQ2xlYXJLZXkuaApAQCAtNDIsOSArNDIs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDRE1TZXNzaW9uVHlwZSB0eXBlKCkgb3ZlcnJpZGUg
eyByZXR1cm4gQ0RNU2Vzc2lvblR5cGVDbGVhcktleTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRD
bGllbnQoQ0RNU2Vzc2lvbkNsaWVudCogY2xpZW50KSBvdmVycmlkZSB7IG1fY2xpZW50ID0gY2xp
ZW50OyB9CiAgICAgdmlydHVhbCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9Ci0gICAgdmlydHVhbCBSZWZQdHI8VWludDhBcnJh
eT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkq
LCBTdHJpbmcmLCB1bnNpZ25lZCBzaG9ydCYsIHVpbnQzMl90Jikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBSZWZQdHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIFVpbnQ4QXJyYXkqLCBTdHJpbmcmLCB1bnNpZ25lZCBzaG9ydCYsIHVuc2lnbmVk
IGxvbmcmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZUtleXMoKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlKFVpbnQ4QXJyYXkqLCBSZWZQdHI8VWludDhBcnJh
eT4mLCB1bnNpZ25lZCBzaG9ydCYsIHVpbnQzMl90Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBi
b29sIHVwZGF0ZShVaW50OEFycmF5KiwgUmVmUHRyPFVpbnQ4QXJyYXk+JiwgdW5zaWduZWQgc2hv
cnQmLCB1bnNpZ25lZCBsb25nJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZWZQdHI8QXJyYXlC
dWZmZXI+IGNhY2hlZEtleUZvcktleUlEKGNvbnN0IFN0cmluZyYpIGNvbnN0IG92ZXJyaWRlOwog
CiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKaW5kZXggODczYmMyNjQyZDdkMTNmMGMyZjZj
MzVmYjcyZDUwZjM0YTUxMjM5Mi4uYmYxNjJkZWM3MDhiYWUzYjg4Yzg4NTg1Y2FhYTJhZTVhMmE2
NjE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgTWVkaWFL
ZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgICAgIC8vIDIuIExldCBkZXN0
aW5hdGlvblVSTCBiZSBudWxsLgogICAgICAgICBTdHJpbmcgZGVzdGluYXRpb25VUkw7CiAgICAg
ICAgIE1lZGlhS2V5RXJyb3I6OkNvZGUgZXJyb3JDb2RlID0gMDsKLSAgICAgICAgdWludDMyX3Qg
c3lzdGVtQ29kZSA9IDA7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgc3lzdGVtQ29kZSA9IDA7CiAK
ICAgICAgICAgLy8gMy4gVXNlIGNkbSB0byBnZW5lcmF0ZSBhIGtleSByZXF1ZXN0IGFuZCBmb2xs
b3cgdGhlIHN0ZXBzIGZvciB0aGUgZmlyc3QgbWF0Y2hpbmcgY29uZGl0aW9uIGZyb20gdGhlIGZv
bGxvd2luZyBsaXN0OgogCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246
OmFkZEtleVRpbWVyRmlyZWQoKQogICAgIHdoaWxlICghbV9wZW5kaW5nS2V5cy5pc0VtcHR5KCkp
IHsKICAgICAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IHBlbmRpbmdLZXkgPSBtX3BlbmRpbmdLZXlz
LnRha2VGaXJzdCgpOwogICAgICAgICB1bnNpZ25lZCBzaG9ydCBlcnJvckNvZGUgPSAwOwotICAg
ICAgICB1aW50MzJfdCBzeXN0ZW1Db2RlID0gMDsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBzeXN0
ZW1Db2RlID0gMDsKIAogICAgICAgICAvLyBOT1RFOiBDb250aW51ZWQgZnJvbSBzdGVwIDIuIG9m
IE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlKCkKICAgICAgICAgLy8gMi4xLiBMZXQgY2RtIGJlIHRo
ZSBjZG0gbG9hZGVkIGluIHRoZSBNZWRpYUtleXMgY29uc3RydWN0b3IuCkBAIC0yMTksNyArMjE5
LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnNlbmRNZXNzYWdlKFVpbnQ4QXJyYXkqIG1lc3Nh
Z2UsIFN0cmluZyBkZXN0aW5hdGlvblVSTCkKICAgICBtX2FzeW5jRXZlbnRRdWV1ZS5lbnF1ZXVl
RXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBNZWRpYUtleVNlc3Npb246OnNlbmRF
cnJvcihDRE1TZXNzaW9uQ2xpZW50OjpNZWRpYUtleUVycm9yQ29kZSBlcnJvckNvZGUsIHVpbnQz
Ml90IHN5c3RlbUNvZGUpCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6c2VuZEVycm9yKENETVNlc3Np
b25DbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyBzeXN0
ZW1Db2RlKQogewogICAgIFJlZjxNZWRpYUtleUVycm9yPiBlcnJvciA9IE1lZGlhS2V5RXJyb3I6
OmNyZWF0ZShlcnJvckNvZGUsIHN5c3RlbUNvZGUpLmdldCgpOwogICAgIHNldEVycm9yKGVycm9y
LnB0cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5oCmluZGV4IDRiNTE3MTQ4MDBkZWViMzc2Y2U2Yzg4ODBlYzNm
ZmM2MjQyZDIxOGUuLmE0NmRiYTQ3ZDE1N2JiN2FkYjY1NWU4NzkzYzFiMjYxNzk2NWI3MDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb24uaApAQCAtODYsNyArODYsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBDRE1T
ZXNzaW9uQ2xpZW50CiAgICAgdmlydHVhbCB2b2lkIHNlbmRNZXNzYWdlKFVpbnQ4QXJyYXkqLCBT
dHJpbmcgZGVzdGluYXRpb25VUkwpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBzZW5kRXJy
b3IoTWVkaWFLZXlFcnJvckNvZGUsIHVpbnQzMl90IHN5c3RlbUNvZGUpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBzZW5kRXJyb3IoTWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcg
c3lzdGVtQ29kZSkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgTWVkaWFLZXlzKiBtX2tleXM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYzUzMDNkYTZkNzc4MjE5ZTMzOWI5MjQzYjFhYzVkNzJlMDdjZDA3Yi4uMTVmMmZmOTY3MzIw
MGJkNzdiNTEwZWY5MGU4ZjJiODlmOTk0NzliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjA2OCw4ICs2MDY4LDYgQEAKIAkJ
Q0RDOEI1QUExODA0N0ZGMTAwMTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOEI1QTgx
ODA0N0ZGMTAwMTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tICovOyB9Owog
CQlDREM4QjVBQjE4MDQ3RkYxMDAxNkU2ODUgLyogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhCNUE5
MTgwNDdGRjEwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oICovOyB9Owog
CQlDREM4QjVBRDE4MDRBRTVEMDAxNkU2ODUgLyogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOEI1QUMx
ODA0QUU1RDAwMTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCAqLzsgfTsKLQkJ
Q0RDOTc5RjQxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTc5RjIxQzQ5OEMw
OTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLm1tICovOyB9OwotCQlDREM5NzlGNTFD
NDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5TRXJyb3JFeHRyYXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzk3OUYzMUM0OThDMDkwMERCNTBENCAv
KiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oICovOyB9OwogCQlDRENBODI5NjE2NzkxMDBGMDA4NzU3
MTQgLyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb25JT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENBODI5NDE2NzkxMDBGMDA4NzU3MTQgLyogVGV4
dFRyYWNrUmVwcmVzZW50YXRpb25JT1MubW0gKi87IH07CiAJCUNEQ0E5OEVCMThCMkM4RUIwMEMx
MkZGOSAvKiBDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQTk4RUExOEIyQzhFQjAwQzEyRkY5IC8qIENETVBy
aXZhdGVNZWRpYVBsYXllci5jcHAgKi87IH07CiAJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAv
KiBTZWxlY3Rpb25TdWJ0cmVlUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUwIC8qIFNlbGVjdGlvblN1YnRy
ZWVSb290LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTEzOTQ5LDggKzEzOTQ3LDYgQEAKIAkJQ0RDOEI1QTgxODA0N0ZGMTAwMTZFNjg1IC8qIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNEQzhCNUE5MTgwNDdGRjEwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREM4
QjVBQzE4MDRBRTVEMDAxNkU2ODUgLyogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEQzk3OUYyMUM0OThDMDkwMERCNTBENCAv
KiBXZWJDb3JlTlNFcnJvckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYkNvcmVOU0Vycm9yRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDREM5NzlGMzFDNDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5TRXJyb3JFeHRyYXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZU5TRXJyb3JFeHRyYXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDQTgyOTQxNjc5MTAwRjAwODc1NzE0
IC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVGV4dFRyYWNrUmVwcmVzZW50YXRpb25JT1MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQ0E5OEU5MThCMkM4RDAwMEMxMkZGOSAvKiBDRE1Qcml2
YXRlTWVkaWFQbGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0RNUHJp
dmF0ZU1lZGlhUGxheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQ0E5OEVB
MThCMkM4RUIwMEMxMkZGOSAvKiBDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ0RNUHJpdmF0ZU1lZGlhUGxheWVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NzUyLDggKzE5NzQ4LDYgQEAKIAkJCQkzMTBE
NzE5MzFCMzM1QzlEMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5jcHAgKi8sCiAJCQkJMzEwRDcxOTQx
QjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAqLywKIAkJCQk0NkRCN0Q1NjFCMjBGRTND
MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovLAotCQkJCUNEQzk3OUYyMUM0OThD
MDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5tbSAqLywKLQkJCQlDREM5NzlGMzFD
NDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5TRXJyb3JFeHRyYXMuaCAqLywKIAkJCSk7CiAJCQlw
YXRoID0gY29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjY2NDMsNyArMjY2
MzcsNiBAQAogCQkJCTMxNkZFMTFBMEU2RTFEQTcwMEJGNjA4OCAvKiBLZXlmcmFtZUFuaW1hdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUJBMTEwRTgyM0U0NzAwQjI1OTY1IC8qIEtleWZy
YW1lTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1RkY3RDUxOEM5NTUzODAwRkU0Qzg3IC8q
IEtleXByZXNzQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RDOTc5RjUxQzQ5OEMwOTAw
REI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjFE
NDZGODExQUVDOUIxMDA1MTQ2MTMgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1
MENFQkYxMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNDU2RkEyNzExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjg4NDcsNyArMjg4NDAsNiBAQAogCQkJCUUxNkE4NEY5MTRDODVDQ0Mw
MDI5NzdERiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NEIz
MTE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZh
bHVlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUNEQzk3OUY0MUM0OThDMDkwMERCNTBENCAvKiBX
ZWJDb3JlTlNFcnJvckV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA0QTQzMERCNTYz
NEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUVC
QkJENDBBQUM5Qjg3MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNFQTQ3OEYwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFLZXlFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmgKaW5k
ZXggNDg3ZDQ2NWNlN2IwOGE4ZGFmNWIzNWU3ZDExZWQyODQwMzcxNmM4Yi4uMTE1Yzk2MTQ2Nzcz
ZmVkOGI4NTc3YzRhMTgyNjM4Mjk1NzQwZmZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVy
cm9yLmgKQEAgLTQ2LDEwICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB0eXBlZGVmIHVu
c2lnbmVkIHNob3J0IENvZGU7CiAKLSAgICBzdGF0aWMgUmVmPE1lZGlhS2V5RXJyb3I+IGNyZWF0
ZShDb2RlIGNvZGUsIHVpbnQzMl90IHN5c3RlbUNvZGUgPSAwKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IE1lZGlhS2V5RXJyb3IoY29kZSwgc3lzdGVtQ29kZSkpOyB9CisgICAgc3RhdGljIFJlZjxN
ZWRpYUtleUVycm9yPiBjcmVhdGUoQ29kZSBjb2RlLCB1bnNpZ25lZCBsb25nIHN5c3RlbUNvZGUg
PSAwKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5RXJyb3IoY29kZSwgc3lzdGVtQ29k
ZSkpOyB9CiAKICAgICBDb2RlIGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KLSAgICB1
aW50MzJfdCBzeXN0ZW1Db2RlKCkgeyByZXR1cm4gbV9zeXN0ZW1Db2RlOyB9CisgICAgdW5zaWdu
ZWQgbG9uZyBzeXN0ZW1Db2RlKCkgeyByZXR1cm4gbV9zeXN0ZW1Db2RlOyB9CiAKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgTWVkaWFLZXlFcnJvcihDb2RlIGNvZGUsIHVuc2lnbmVkIGxvbmcgc3lz
dGVtQ29kZSkgOiBtX2NvZGUoY29kZSksIG1fc3lzdGVtQ29kZShzeXN0ZW1Db2RlKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmgKaW5kZXggZjkxODMyMjljZTY5ODc5MDJkZmNlMWYx
MjQwYmY0OTQwY2Y1MzVkYi4uNzc0ZGUzMGRhZDNjZGQ4YzFmZWNmZDgyNzg4YTU2OTE5MDhjYzNm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmgKQEAgLTQyLDcgKzQyLDcgQEAgc3Ry
dWN0IE1lZGlhS2V5RXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CiAgICAgUmVmUHRyPFVp
bnQ4QXJyYXk+IG1lc3NhZ2U7CiAgICAgU3RyaW5nIGRlZmF1bHRVUkw7CiAgICAgUmVmUHRyPE1l
ZGlhS2V5RXJyb3I+IGVycm9yQ29kZTsKLSAgICB1aW50MzJfdCBzeXN0ZW1Db2RlOworICAgIHVu
c2lnbmVkIHNob3J0IHN5c3RlbUNvZGU7CiB9OwogCiBjbGFzcyBNZWRpYUtleUV2ZW50IGZpbmFs
IDogcHVibGljIEV2ZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1dlYkNvcmVOU0Vycm9yRXh0cmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9XZWJDb3JlTlNFcnJvckV4dHJhcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
YjI0ZGQ0MTAyNjVjYWQ1NDJmNmJhMTAyYjljZDhlY2E2MjIwNzc1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1dlYkNvcmVOU0Vycm9yRXh0cmFzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJDb3JlTlNFcnJvckV4dHJhc19oCi0jZGVmaW5lIFdl
YkNvcmVOU0Vycm9yRXh0cmFzX2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XRUJDT1JFX0VY
UE9SVCBsb25nIG1lZGlhS2V5RXJyb3JTeXN0ZW1Db2RlKE5TRXJyb3IgKik7Ci0KLX0KLQotI2Vu
ZGlmIC8vIFdlYkNvcmVOU0Vycm9yRXh0cmFzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYkNvcmVOU0Vycm9yRXh0cmFzLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvV2ViQ29yZU5TRXJyb3JFeHRyYXMubW0KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDUyMzk5ZDY0YWE0YTVlMTY1MTRlZmJiNzRjMGQzNDUzMDc0ZTIxODUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvV2ViQ29yZU5TRXJyb3JFeHRyYXMubW0KKysrIC9kZXYvbnVsbApA
QCAtMSw0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9y
dCAiV2ViQ29yZU5TRXJyb3JFeHRyYXMuaCIKLQotI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRXJy
b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1sb25nIG1lZGlhS2V5RXJyb3JTeXN0ZW1D
b2RlKE5TRXJyb3IgKmVycm9yKQotewotICAgIE5TSW50ZWdlciBjb2RlID0gW2Vycm9yIGNvZGVd
OwotCi0gICAgaWYgKGNvZGUgPT0gQVZFcnJvclVua25vd24pIHsKLSAgICAgICAgTlNFcnJvciog
dW5kZXJseWluZ0Vycm9yID0gW2Vycm9yLnVzZXJJbmZvIHZhbHVlRm9yS2V5Ok5TVW5kZXJseWlu
Z0Vycm9yS2V5XTsKLSAgICAgICAgaWYgKHVuZGVybHlpbmdFcnJvciAmJiBbdW5kZXJseWluZ0Vy
cm9yIGlzS2luZE9mQ2xhc3M6W05TRXJyb3IgY2xhc3NdXSkKLSAgICAgICAgICAgIHJldHVybiBb
dW5kZXJseWluZ0Vycm9yIGNvZGVdOwotICAgIH0KLQotICAgIHJldHVybiBjb2RlOwotfQotCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DRE1TZXNzaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DRE1TZXNzaW9uLmgKaW5kZXgg
YTcxZWE1Y2NiNTgzMDI1NDUzNzU2MmYxYzk0YzI4NTkxMDkzNmNjMy4uNDU1MTQwNTJhOTBiZTgz
MDYxNDcxN2M3OWIxMmQ2MTdiNzRiYjM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ0RNU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NETVNlc3Npb24uaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAg
IE1lZGlhS2V5RXJyb3JEb21haW4sCiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIHNob3J0
IE1lZGlhS2V5RXJyb3JDb2RlOwotICAgIHZpcnR1YWwgdm9pZCBzZW5kRXJyb3IoTWVkaWFLZXlF
cnJvckNvZGUsIHVpbnQzMl90IHN5c3RlbUNvZGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2Vu
ZEVycm9yKE1lZGlhS2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nIHN5c3RlbUNvZGUpID0gMDsK
IAogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCA9
IDA7CiB9OwpAQCAtNzAsOSArNzAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDRE1TZXNzaW9u
VHlwZSB0eXBlKCkgeyByZXR1cm4gQ0RNU2Vzc2lvblR5cGVVbmtub3duOyB9CiAgICAgdmlydHVh
bCB2b2lkIHNldENsaWVudChDRE1TZXNzaW9uQ2xpZW50KikgPSAwOwogICAgIHZpcnR1YWwgY29u
c3QgU3RyaW5nJiBzZXNzaW9uSWQoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBSZWZQdHI8VWlu
dDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4
QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYg
ZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgPSAwOworICAgIHZpcnR1YWwgUmVmUHRy
PFVpbnQ4QXJyYXk+IGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBV
aW50OEFycmF5KiBpbml0RGF0YSwgU3RyaW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hv
cnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCByZWxlYXNlS2V5cygpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlKFVpbnQ4
QXJyYXkqLCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNpZ25lZCBzaG9ydCYg
ZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgPSAwOworICAgIHZpcnR1YWwgYm9vbCB1
cGRhdGUoVWludDhBcnJheSosIFJlZlB0cjxVaW50OEFycmF5PiYgbmV4dE1lc3NhZ2UsIHVuc2ln
bmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcmIHN5c3RlbUNvZGUpID0gMDsKICAg
ICB2aXJ0dWFsIFJlZlB0cjxBcnJheUJ1ZmZlcj4gY2FjaGVkS2V5Rm9yS2V5SUQoY29uc3QgU3Ry
aW5nJikgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFW
Q29udGVudEtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uLmgKaW5kZXggODZk
YzVhYzU5ZGNhZmJjOGJlZGJhNTBhMzMxMDllMTBiZjZmYzQ4Yi4uOTE4NmZjYzRjZTM1N2E5ZmFm
ODAzNGZhYmYzMzUwNzEyZDkwMjg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Np
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9DRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbi5oCkBAIC00OSw5ICs0OSw5IEBAIHB1
YmxpYzoKIAogICAgIC8vIENETVNlc3Npb24KICAgICB2aXJ0dWFsIENETVNlc3Npb25UeXBlIHR5
cGUoKSBvdmVycmlkZSB7IHJldHVybiBDRE1TZXNzaW9uVHlwZUFWQ29udGVudEtleVNlc3Npb247
IH0KLSAgICB2aXJ0dWFsIFJlZlB0cjxVaW50OEFycmF5PiBnZW5lcmF0ZUtleVJlcXVlc3QoY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgVWludDhBcnJheSogaW5pdERhdGEsIFN0cmluZyYgZGVzdGlu
YXRpb25VUkwsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVpbnQzMl90JiBzeXN0ZW1Db2Rl
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlZlB0cjxVaW50OEFycmF5PiBnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgVWludDhBcnJheSogaW5pdERhdGEsIFN0cmlu
ZyYgZGVzdGluYXRpb25VUkwsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxv
bmcmIHN5c3RlbUNvZGUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlS2V5cygp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgYm9vbCB1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQ
dHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1
aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHVwZGF0ZShV
aW50OEFycmF5KiBrZXksIFJlZlB0cjxVaW50OEFycmF5PiYgbmV4dE1lc3NhZ2UsIHVuc2lnbmVk
IHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcmIHN5c3RlbUNvZGUpIG92ZXJyaWRlOwog
CiAgICAgLy8gQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQwogICAgIHZvaWQgYWRkUGFyc2Vy
KEFWU3RyZWFtRGF0YVBhcnNlciAqKSBvdmVycmlkZTsKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0KEFWQ29udGVudEtleVJlcXVl
c3QgKik7CiAKIHByb3RlY3RlZDoKLSAgICBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGdlbmVyYXRl
S2V5UmVsZWFzZU1lc3NhZ2UodW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdWludDMyX3QmIHN5
c3RlbUNvZGUpOworICAgIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlSZWxlYXNl
TWVzc2FnZSh1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1D
b2RlKTsKIAogICAgIGJvb2wgaGFzQ29udGVudEtleVNlc3Npb24oKSBjb25zdCB7IHJldHVybiBt
X2NvbnRlbnRLZXlTZXNzaW9uOyB9CiAgICAgQVZDb250ZW50S2V5U2Vzc2lvbiogY29udGVudEtl
eVNlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lv
bkFWQ29udGVudEtleVNlc3Npb24ubW0KaW5kZXggN2U2Y2ZlZTQ0ODA4N2MxM2ZmM2MzMmZlMzA1
N2RhOTdiNzc4ZTdiYS4uNjAyNmJjNWMyMzM0Zjg4NTZlODlmYTJhMWFkYzE2Y2I1MTg5ZDNjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWQ29udGVu
dEtleVNlc3Npb24ubW0KQEAgLTM3LDkgKzM3LDkgQEAKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgi
CiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oIgogI2ltcG9ydCAiVVVJRC5o
IgotI2ltcG9ydCAiV2ViQ29yZU5TRXJyb3JFeHRyYXMuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVkVycm9yLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CYXNlLmg+CisjaW1wb3J0IDxjc3Rk
bGliPgogI2ltcG9ydCA8b2JqYy9vYmpjLXJ1bnRpbWUuaD4KICNpbXBvcnQgPHJ1bnRpbWUvVHlw
ZWRBcnJheUlubGluZXMuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtMTQ0
LDcgKzE0NCw3IEBAIGJvb2wgQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb246OmlzQXZhaWxh
YmxlKCkKICAgICByZXR1cm4gZ2V0QVZDb250ZW50S2V5U2Vzc2lvbkNsYXNzKCk7CiB9CiAKLVJl
ZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbjo6Z2VuZXJhdGVL
ZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBT
dHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJf
dCYgc3lzdGVtQ29kZSkKK1JlZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZDb250ZW50S2V5
U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4
QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYg
ZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKQogewogICAgIFVOVVNFRF9QQVJB
TShtaW1lVHlwZSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uVVJMKTsKQEAgLTIyOCw3
ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBpc0VxdWFsKFVpbnQ4QXJyYXkqIGRhdGEsIGNvbnN0IGNo
YXIqIGxpdGVyYWwpCiAgICAgcmV0dXJuICFsaXRlcmFsW2xlbmd0aF07CiB9CiAKLWJvb2wgQ0RN
U2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb246OnVwZGF0ZShVaW50OEFycmF5KiBrZXksIFJlZlB0
cjxVaW50OEFycmF5PiYgbmV4dE1lc3NhZ2UsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVp
bnQzMl90JiBzeXN0ZW1Db2RlKQorYm9vbCBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbjo6
dXBkYXRlKFVpbnQ4QXJyYXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwg
dW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsK
ICAgICBVTlVTRURfUEFSQU0obmV4dE1lc3NhZ2UpOwogCkBAIC0yODEsMTUgKzI4MSw5IEBAIGJv
b2wgQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb246OnVwZGF0ZShVaW50OEFycmF5KiBrZXks
IFJlZlB0cjxVaW50OEFycmF5PiYKIAogICAgICAgICBlcnJvckNvZGUgPSBNZWRpYVBsYXllcjo6
Tm9FcnJvcjsKICAgICAgICAgc3lzdGVtQ29kZSA9IDA7Ci0gICAgICAgIE5TRXJyb3IqIGVycm9y
ID0gbmlsOwotICAgICAgICBOU0RhdGEqIHJlcXVlc3REYXRhID0gW21fa2V5UmVxdWVzdCBjb250
ZW50S2V5UmVxdWVzdERhdGFGb3JBcHA6Y2VydGlmaWNhdGVEYXRhLmdldCgpIGNvbnRlbnRJZGVu
dGlmaWVyOm5pbCBvcHRpb25zOm9wdGlvbnMuZ2V0KCkgZXJyb3I6JmVycm9yXTsKLSAgICAgICAg
aWYgKGVycm9yKSB7Ci0gICAgICAgICAgICBlcnJvckNvZGUgPSBNZWRpYVBsYXllckNsaWVudDo6
RG9tYWluRXJyb3I7Ci0gICAgICAgICAgICBzeXN0ZW1Db2RlID0gbWVkaWFLZXlFcnJvclN5c3Rl
bUNvZGUoZXJyb3IpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0KKyAg
ICAgICAgTlNEYXRhKiByZXF1ZXN0RGF0YSA9IFttX2tleVJlcXVlc3QgY29udGVudEtleVJlcXVl
c3REYXRhRm9yQXBwOmNlcnRpZmljYXRlRGF0YS5nZXQoKSBjb250ZW50SWRlbnRpZmllcjpuaWwg
b3B0aW9uczpvcHRpb25zLmdldCgpIGVycm9yOm5pbF07CiAgICAgICAgIG5leHRNZXNzYWdlID0g
VWludDhBcnJheTo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihbcmVxdWVzdERh
dGEgYnl0ZXNdKSwgW3JlcXVlc3REYXRhIGxlbmd0aF0pOworCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKQEAgLTMxMiw3ICszMDYsNyBAQCB2b2lkIENETVNlc3Npb25BVkNvbnRlbnRL
ZXlTZXNzaW9uOjpyZW1vdmVQYXJzZXIoQVZTdHJlYW1EYXRhUGFyc2VyKiBwYXJzZXIpCiAgICAg
W2NvbnRlbnRLZXlTZXNzaW9uKCkgcmVtb3ZlU3RyZWFtRGF0YVBhcnNlcjpwYXJzZXJdOwogfQog
Ci1QYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IENETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlbGVhc2VNZXNzYWdlKHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVpbnQz
Ml90JiBzeXN0ZW1Db2RlKQorUGFzc1JlZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZDb250
ZW50S2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZWxlYXNlTWVzc2FnZSh1bnNpZ25lZCBzaG9ydCYg
ZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKQogewogICAgIEFTU0VSVChtX21v
ZGUgPT0gS2V5UmVsZWFzZSk7CiAgICAgbV9jZXJ0aWZpY2F0ZSA9IG1faW5pdERhdGE7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaApp
bmRleCAwZWIxMjVjMTA3NDE4NjJlZWQzMTJkZGExNWI3YTg5MDUyYWFjNDBiLi41ZDkzMDczNzhi
MWFlMzc2ZDU3NWI3YjQ2YjUyNGRlMWQ4NjA1ZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0
aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLmgKQEAgLTQ1LDkgKzQ1LDkgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgQ0RNU2Vzc2lvblR5cGUgdHlwZSgpIG92ZXJyaWRlIHsgcmV0
dXJuIENETVNlc3Npb25UeXBlQVZGb3VuZGF0aW9uT2JqQzsgfQogICAgIHZpcnR1YWwgdm9pZCBz
ZXRDbGllbnQoQ0RNU2Vzc2lvbkNsaWVudCogY2xpZW50KSBvdmVycmlkZSB7IG1fY2xpZW50ID0g
Y2xpZW50OyB9CiAgICAgdmlydHVhbCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9Ci0gICAgdmlydHVhbCBSZWZQdHI8VWludDhB
cnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJy
YXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJy
b3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWZQ
dHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IFVpbnQ4QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBz
aG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVsZWFzZUtleXMoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wg
dXBkYXRlKFVpbnQ4QXJyYXkqLCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNp
Z25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCBib29sIHVwZGF0ZShVaW50OEFycmF5KiwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBu
ZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lz
dGVtQ29kZSkgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDKiBtX3BhcmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25P
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggMDgxMDg3YjU2MTEyNDU2ZTkz
MmE0MjhlYzUzN2Y4MTk3N2M4ZTJmZC4uY2JkZTE5ODk1YWM5N2U3MDExOGIzZDhmOTFkZDJlNTJh
MjBlMWFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFW
Rm91bmRhdGlvbk9iakMubW0KQEAgLTM1LDcgKzM1LDYgQEAKICNpbXBvcnQgIk1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCIKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaW1w
b3J0ICJVVUlELmgiCi0jaW1wb3J0ICJXZWJDb3JlTlNFcnJvckV4dHJhcy5oIgogI2ltcG9ydCA8
QVZGb3VuZGF0aW9uL0FWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8b2JqYy9vYmpjLXJ1bnRpbWUu
aD4KIApAQCAtNTQsNyArNTMsNyBAQCBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQzo6Q0RNU2Vz
c2lvbkFWRm91bmRhdGlvbk9iakMoTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZAogewogfQogCi1S
ZWZQdHI8VWludDhBcnJheT4gQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakM6OmdlbmVyYXRlS2V5
UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5KiBpbml0RGF0YSwgU3Ry
aW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdWludDMyX3Qm
IHN5c3RlbUNvZGUpCitSZWZQdHI8VWludDhBcnJheT4gQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9i
akM6OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5
KiBpbml0RGF0YSwgU3RyaW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hvcnQmIGVycm9y
Q29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBVTlVTRURfUEFSQU0obWlt
ZVR5cGUpOwogCkBAIC02MiwxMyArNjEsMTMgQEAgUmVmUHRyPFVpbnQ4QXJyYXk+IENETVNlc3Np
b25BVkZvdW5kYXRpb25PYmpDOjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJgogICAg
IFN0cmluZyBrZXlJRDsKICAgICBSZWZQdHI8VWludDhBcnJheT4gY2VydGlmaWNhdGU7CiAgICAg
aWYgKCFNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpleHRyYWN0S2V5VVJJS2V5
SURBbmRDZXJ0aWZpY2F0ZUZyb21Jbml0RGF0YShpbml0RGF0YSwga2V5VVJJLCBrZXlJRCwgY2Vy
dGlmaWNhdGUpKSB7Ci0gICAgICAgIGVycm9yQ29kZSA9IENETTo6VW5rbm93bkVycm9yOworICAg
ICAgICBlcnJvckNvZGUgPSBNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlOwogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBtX3JlcXVlc3QgPSBtX3BhcmVudC0+dGFr
ZVJlcXVlc3RGb3JLZXlVUkkoa2V5VVJJKTsKICAgICBpZiAoIW1fcmVxdWVzdCkgewotICAgICAg
ICBlcnJvckNvZGUgPSBDRE06OlVua25vd25FcnJvcjsKKyAgICAgICAgZXJyb3JDb2RlID0gTWVk
aWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQogCkBAIC03OSw4ICs3OCw4IEBAIFJlZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZG
b3VuZGF0aW9uT2JqQzo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYKICAgICBSZXRh
aW5QdHI8TlNEYXRhPiBrZXlSZXF1ZXN0ID0gW21fcmVxdWVzdCBzdHJlYW1pbmdDb250ZW50S2V5
UmVxdWVzdERhdGFGb3JBcHA6Y2VydGlmaWNhdGVEYXRhLmdldCgpIGNvbnRlbnRJZGVudGlmaWVy
OmFzc2V0SUQuZ2V0KCkgb3B0aW9uczpuaWwgZXJyb3I6Jm5zRXJyb3JdOwogCiAgICAgaWYgKCFr
ZXlSZXF1ZXN0KSB7Ci0gICAgICAgIGVycm9yQ29kZSA9IENETTo6RG9tYWluRXJyb3I7Ci0gICAg
ICAgIHN5c3RlbUNvZGUgPSBtZWRpYUtleUVycm9yU3lzdGVtQ29kZShuc0Vycm9yKTsKKyAgICAg
ICAgTlNFcnJvciogdW5kZXJseWluZ0Vycm9yID0gW1tuc0Vycm9yIHVzZXJJbmZvXSBvYmplY3RG
b3JLZXk6TlNVbmRlcmx5aW5nRXJyb3JLZXldOworICAgICAgICBzeXN0ZW1Db2RlID0gW3VuZGVy
bHlpbmdFcnJvciBjb2RlXTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCkBAIC05
Niw3ICs5NSw3IEBAIHZvaWQgQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakM6OnJlbGVhc2VLZXlz
KCkKIHsKIH0KIAotYm9vbCBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQzo6dXBkYXRlKFVpbnQ4
QXJyYXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hv
cnQmIGVycm9yQ29kZSwgdWludDMyX3QmIHN5c3RlbUNvZGUpCitib29sIENETVNlc3Npb25BVkZv
dW5kYXRpb25PYmpDOjp1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQdHI8VWludDhBcnJheT4m
IG5leHRNZXNzYWdlLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBz
eXN0ZW1Db2RlKQogewogICAgIFJldGFpblB0cjxOU0RhdGE+IGtleURhdGEgPSBhZG9wdE5TKFtb
TlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzOmtleS0+YmFzZUFkZHJlc3MoKSBsZW5ndGg6a2V5
LT5ieXRlTGVuZ3RoKCldKTsKICAgICBbW21fcmVxdWVzdCBkYXRhUmVxdWVzdF0gcmVzcG9uZFdp
dGhEYXRhOmtleURhdGEuZ2V0KCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RN
U2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5oCmluZGV4IDQ1NjdmNDI4MjU2OTI0MWQyNjFmMGIwMjgx
NDYzMDdiZjNiYWQxNDAuLmRhNTdjNDczNmI2YWUzNDkxM2ZjNGU5NjQ0MjU4YTVmMzkxZDYxM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNz
aW9uLmgKQEAgLTQ3LDkgKzQ3LDkgQEAgcHVibGljOgogCiAgICAgLy8gQ0RNU2Vzc2lvbgogICAg
IHZpcnR1YWwgQ0RNU2Vzc2lvblR5cGUgdHlwZSgpIG92ZXJyaWRlIHsgcmV0dXJuIENETVNlc3Np
b25UeXBlQVZTdHJlYW1TZXNzaW9uOyB9Ci0gICAgdmlydHVhbCBSZWZQdHI8VWludDhBcnJheT4g
Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGlu
aXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2Rl
LCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWZQdHI8VWlu
dDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4
QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYg
ZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVsZWFzZUtleXMoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgdXBkYXRl
KFVpbnQ4QXJyYXkqLCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNpZ25lZCBz
aG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBib29sIHVwZGF0ZShVaW50OEFycmF5KiwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuZXh0TWVz
c2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29k
ZSkgb3ZlcnJpZGU7CiAKICAgICAvLyBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDCiAgICAg
dm9pZCBhZGRQYXJzZXIoQVZTdHJlYW1EYXRhUGFyc2VyKikgb3ZlcnJpZGU7CkBAIC01OCw3ICs1
OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cmVhbVNlc3Npb24oQVZTdHJlYW1TZXNzaW9u
Kik7CiAKIHByb3RlY3RlZDoKLSAgICBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGdlbmVyYXRlS2V5
UmVsZWFzZU1lc3NhZ2UodW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdWludDMyX3Qgc3lzdGVt
Q29kZSk7CisgICAgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBnZW5lcmF0ZUtleVJlbGVhc2VNZXNz
YWdlKHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcmIHN5c3RlbUNvZGUp
OwogCiAgICAgV2Vha1B0ckZhY3Rvcnk8Q0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbj4gbV93ZWFr
UHRyRmFjdG9yeTsKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1TZXNzaW9uPiBtX3N0cmVhbVNlc3Np
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vz
c2lvbi5tbQppbmRleCA5MGFhYWYwM2Y2N2E5MWE3YjVmMjI1YzNlMDc0NDE2NTQ1M2MyOWU2Li43
ZGI4YmY4M2RlYzdhNGUxNTg4NzUwODE2NjczMmZhMmJkODBkZGZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9u
QVZTdHJlYW1TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24ubW0KQEAgLTM3LDkg
KzM3LDkgQEAKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5oIgogI2ltcG9ydCAiVVVJRC5oIgotI2ltcG9ydCAiV2ViQ29yZU5TRXJy
b3JFeHRyYXMuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkVycm9yLmg+CiAjaW1wb3J0IDxD
b3JlTWVkaWEvQ01CYXNlLmg+CisjaW1wb3J0IDxjc3RkbGliPgogI2ltcG9ydCA8b2JqYy9vYmpj
LXJ1bnRpbWUuaD4KICNpbXBvcnQgPHJ1bnRpbWUvVHlwZWRBcnJheUlubGluZXMuaD4KICNpbXBv
cnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtMTEyLDcgKzExMiw3IEBAIENETVNlc3Npb25B
VlN0cmVhbVNlc3Npb246On5DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uKCkKICAgICAgICAgcmVt
b3ZlUGFyc2VyKHNvdXJjZUJ1ZmZlci0+cGFyc2VyKCkpOwogfQogCi1SZWZQdHI8VWludDhBcnJh
eT4gQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9u
VVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkKK1Jl
ZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgVWludDhBcnJheSogaW5pdERhdGEsIFN0cmlu
ZyYgZGVzdGluYXRpb25VUkwsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxv
bmcmIHN5c3RlbUNvZGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKG1pbWVUeXBlKTsKICAgICBVTlVT
RURfUEFSQU0oZGVzdGluYXRpb25VUkwpOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRpYyBib29s
IGlzRXF1YWwoVWludDhBcnJheSogZGF0YSwgY29uc3QgY2hhciogbGl0ZXJhbCkKICAgICByZXR1
cm4gIWxpdGVyYWxbbGVuZ3RoXTsKIH0KIAotYm9vbCBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9u
Ojp1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdl
LCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkKK2Jvb2wg
Q0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbjo6dXBkYXRlKFVpbnQ4QXJyYXkqIGtleSwgUmVmUHRy
PFVpbnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5z
aWduZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBib29sIHNob3VsZEdlbmVyYXRlS2V5UmVx
dWVzdCA9ICFtX2NlcnRpZmljYXRlIHx8IGlzRXF1YWwoa2V5LCAicmVuZXciKTsKICAgICBpZiAo
IW1fY2VydGlmaWNhdGUpIHsKQEAgLTI1NSw3ICsyNTUsNyBAQCBib29sIENETVNlc3Npb25BVlN0
cmVhbVNlc3Npb246OnVwZGF0ZShVaW50OEFycmF5KiBrZXksIFJlZlB0cjxVaW50OEFycmF5PiYg
bmV4dAogICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIkNETVNl
c3Npb25BVlN0cmVhbVNlc3Npb246OnVwZGF0ZSglcCkgLSBlcnJvcjolQCIsIHRoaXMsIFtlcnJv
ciBkZXNjcmlwdGlvbl0pOwogICAgICAgICAgICAgZXJyb3JDb2RlID0gTWVkaWFQbGF5ZXI6Oklu
dmFsaWRQbGF5ZXJTdGF0ZTsKLSAgICAgICAgICAgIHN5c3RlbUNvZGUgPSBtZWRpYUtleUVycm9y
U3lzdGVtQ29kZShlcnJvcik7CisgICAgICAgICAgICBzeXN0ZW1Db2RlID0gc3RkOjphYnMoc3lz
dGVtQ29kZUZvckVycm9yKGVycm9yKSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KIApAQCAtMzA0LDcgKzMwNCw3IEBAIHZvaWQgQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lv
bjo6cmVtb3ZlUGFyc2VyKEFWU3RyZWFtRGF0YVBhcnNlciogcGFyc2VyKQogICAgICAgICBbbV9z
dHJlYW1TZXNzaW9uIHJlbW92ZVN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKIH0KIAotUGFzc1Jl
ZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uOjpnZW5lcmF0ZUtleVJl
bGVhc2VNZXNzYWdlKHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVpbnQzMl90IHN5c3RlbUNv
ZGUpCitQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IENETVNlc3Npb25BVlN0cmVhbVNlc3Npb246Omdl
bmVyYXRlS2V5UmVsZWFzZU1lc3NhZ2UodW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWdu
ZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBBU1NFUlQobV9tb2RlID09IEtleVJlbGVhc2Up
OwogICAgIG1fY2VydGlmaWNhdGUgPSBtX2luaXREYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlh
U291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDU0NWQ4NmE5
ZWExYTFiYzk3OTFiZmYzMzM2NWE3MDdlNjYxMjAxM2YuLjc1YTQ0OGI5NWM2NDE5NDE4ODExYzEy
MWEwYTc0M2ZmM2IwMzJlN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9D
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgaW52YWxpZGF0ZUNETSgpIHsgbV9jZG0gPSBudWxscHRyOyB9CiAKIHByb3RlY3Rl
ZDoKKyAgICBzdGF0aWMgbG9uZyBzeXN0ZW1Db2RlRm9yRXJyb3IoTlNFcnJvciAqKTsKICAgICBT
dHJpbmcgc3RvcmFnZVBhdGgoKSBjb25zdDsKIAogICAgIENETVByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMqIG1fY2RtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggMDRmYTM1ZmM5YTZlNThiNDEyZDQ4YTQyOTlm
NjkyZGMxMGY4ODc0NS4uNDJjYjg4Y2Q0YWI0YzJkYWQwYTU5YzM0OTM0ZGU3YmViNzhkZDg5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCkBAIC0zMCw4ICszMCw4IEBACiAKICNpbXBvcnQgIkNETVByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMuaCIKICNpbXBvcnQgIkZpbGVTeXN0ZW0uaCIKLSNpbXBvcnQgIldlYkNv
cmVOU0Vycm9yRXh0cmFzLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZFcnJvci5oPgorI2lt
cG9ydCA8Y3N0ZGxpYj4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Miw3ICs1Miw3IEBA
IHZvaWQgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3Io
QVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5CiAgICAgaWYgKCFtX2NsaWVudCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgdW5zaWduZWQgbG9uZyBjb2RlID0gbWVkaWFLZXlFcnJvclN5c3RlbUNvZGUo
ZXJyb3IpOworICAgIHVuc2lnbmVkIGxvbmcgY29kZSA9IHN0ZDo6YWJzKHN5c3RlbUNvZGVGb3JF
cnJvcihlcnJvcikpOwogCiAgICAgLy8gRklYTUUoMTQyMjQ2KTogUmVtb3ZlIHRoZSBmb2xsb3dp
bmcgb25jZSA8cmRhcjovL3Byb2JsZW0vMjAwMjc0MzQ+IGlzIHJlc29sdmVkLgogICAgIHNob3Vs
ZElnbm9yZSA9IG1fc3RvcHBlZCAmJiBjb2RlID09IDEyNzg1OwpAQCAtNjUsNyArNjUsNyBAQCB2
b2lkIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakM6OnJlbmRlcmVyRGlkUmVjZWl2ZUVycm9y
KEFWU2FtcGxlQnVmZmVyQXVkaW9SZQogICAgIGlmICghbV9jbGllbnQpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIHVuc2lnbmVkIGxvbmcgY29kZSA9IG1lZGlhS2V5RXJyb3JTeXN0ZW1Db2RlKGVy
cm9yKTsKKyAgICB1bnNpZ25lZCBsb25nIGNvZGUgPSBzdGQ6OmFicyhzeXN0ZW1Db2RlRm9yRXJy
b3IoZXJyb3IpKTsKIAogICAgIC8vIEZJWE1FKDE0MjI0Nik6IFJlbW92ZSB0aGUgZm9sbG93aW5n
IG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0PiBpcyByZXNvbHZlZC4KICAgICBzaG91bGRJ
Z25vcmUgPSBtX3N0b3BwZWQgJiYgY29kZSA9PSAxMjc4NTsKQEAgLTk2LDYgKzk2LDE5IEBAIHZv
aWQgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDCiAgICAgbV9zb3VyY2VCdWZmZXJzLnJlbW92ZShtX3NvdXJj
ZUJ1ZmZlcnMuZmluZChzb3VyY2VCdWZmZXIpKTsKIH0KIAorbG9uZyBDRE1TZXNzaW9uTWVkaWFT
b3VyY2VBVkZPYmpDOjpzeXN0ZW1Db2RlRm9yRXJyb3IoTlNFcnJvciAqZXJyb3IpCit7CisgICAg
TlNJbnRlZ2VyIGNvZGUgPSBbZXJyb3IgY29kZV07CisgICAgaWYgKGNvZGUgIT0gQVZFcnJvclVu
a25vd24pCisgICAgICAgIHJldHVybiBjb2RlOworCisgICAgTlNFcnJvciogdW5kZXJseWluZ0Vy
cm9yID0gW2Vycm9yLnVzZXJJbmZvIHZhbHVlRm9yS2V5Ok5TVW5kZXJseWluZ0Vycm9yS2V5XTsK
KyAgICBpZiAoIXVuZGVybHlpbmdFcnJvciB8fCAhW3VuZGVybHlpbmdFcnJvciBpc0tpbmRPZkNs
YXNzOltOU0Vycm9yIGNsYXNzXV0pCisgICAgICAgIHJldHVybiBjb2RlOworCisgICAgcmV0dXJu
IFt1bmRlcmx5aW5nRXJyb3IgY29kZV07Cit9CisKIFN0cmluZyBDRE1TZXNzaW9uTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzdG9yYWdlUGF0aCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fY2xpZW50ID8g
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fY2xpZW50LT5tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5KCksICJTZWN1cmVTdG9wLnBsaXN0IikgOiBlbXB0eVN0cmluZygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0NETS5jcHAKaW5kZXggYzRiODhkM2IyNTdiOGFlMDEwMGUwMDVkNDExMjRmMzc2MmEx
NTlhZS4uYjczNGZmZGE1NGVlMTYwMGM2ZTk2OWRmYzRiOWZmNDE1ZWEzYzQ5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tDRE0uY3BwCkBAIC00NCw5ICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRDbGllbnQoQ0RNU2Vzc2lvbkNsaWVudCogY2xpZW50KSBvdmVycmlkZSB7
IG1fY2xpZW50ID0gY2xpZW50OyB9CiAgICAgdmlydHVhbCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9Ci0gICAgdmlydHVhbCBS
ZWZQdHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25l
ZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCBSZWZQdHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJM
LCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZUtleXMoKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIGJvb2wgdXBkYXRlKFVpbnQ4QXJyYXkqLCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRN
ZXNzYWdlLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYgc3lzdGVtQ29kZSkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHVwZGF0ZShVaW50OEFycmF5KiwgUmVmUHRyPFVp
bnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWdu
ZWQgbG9uZyYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKICAgICBDRE1TZXNz
aW9uQ2xpZW50KiBtX2NsaWVudDsKQEAgLTExMiw3ICsxMTIsNyBAQCBNb2NrQ0RNU2Vzc2lvbjo6
TW9ja0NETVNlc3Npb24oQ0RNU2Vzc2lvbkNsaWVudCogY2xpZW50KQogewogfQogCi1SZWZQdHI8
VWludDhBcnJheT4gTW9ja0NETVNlc3Npb246OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmLCBVaW50OEFycmF5KiBpbml0RGF0YSwgU3RyaW5nJiwgdW5zaWduZWQgc2hvcnQmIGVycm9y
Q29kZSwgdWludDMyX3QmKQorUmVmUHRyPFVpbnQ4QXJyYXk+IE1vY2tDRE1TZXNzaW9uOjpnZW5l
cmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiwgVWludDhBcnJheSogaW5pdERhdGEsIFN0cmlu
ZyYsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcmKQogewogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbml0RGF0YVByZWZpeCgpLT5sZW5ndGgoKTsgKytpKSB7
CiAgICAgICAgIGlmICghaW5pdERhdGEgfHwgaSA+PSBpbml0RGF0YS0+bGVuZ3RoKCkgfHwgaW5p
dERhdGEtPml0ZW0oaSkgIT0gaW5pdERhdGFQcmVmaXgoKS0+aXRlbShpKSkgewpAQCAtMTI4LDcg
KzEyOCw3IEBAIHZvaWQgTW9ja0NETVNlc3Npb246OnJlbGVhc2VLZXlzKCkKICAgICAvLyBuby1v
cAogfQogCi1ib29sIE1vY2tDRE1TZXNzaW9uOjp1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQ
dHI8VWludDhBcnJheT4mLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1aW50MzJfdCYpCiti
b29sIE1vY2tDRE1TZXNzaW9uOjp1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQdHI8VWludDhB
cnJheT4mLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJikKIHsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwga2V5UHJlZml4KCktPmxlbmd0aCgpOyArK2kpIHsK
ICAgICAgICAgaWYgKGkgPj0ga2V5LT5sZW5ndGgoKSB8fCBrZXktPml0ZW0oaSkgIT0ga2V5UHJl
Zml4KCktPml0ZW0oaSkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>