<?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>190487</bug_id>
          
          <creation_ts>2018-10-11 14:26:34 -0700</creation_ts>
          <short_desc>[iOS] WebKit should dispatch DOM events when a modifier key is pressed</short_desc>
          <delta_ts>2018-11-26 09:46:33 -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>WebKit2</component>
          <version>WebKit Local 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>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>190571</blocked>
    
    <blocked>191120</blocked>
    
    <blocked>191967</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468164</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-10-11 14:26:34 -0700</bug_when>
    <thetext>Part of &lt;rdar://problem/44930119&gt;.

Add support for recognizing WebEvents that represent changes to modifier flags (e.g. the Command key).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468254</commentid>
    <comment_count>1</comment_count>
      <attachid>352104</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-10-11 16:54:39 -0700</bug_when>
    <thetext>Created attachment 352104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473489</commentid>
    <comment_count>2</comment_count>
      <attachid>353432</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-10-30 16:40:16 -0700</bug_when>
    <thetext>Created attachment 353432
Patch and test

Updated patch a similar change to -[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:] as I did for -[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474323</commentid>
    <comment_count>3</comment_count>
      <attachid>353432</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-11-01 16:32:17 -0700</bug_when>
    <thetext>Comment on attachment 353432
Patch and test

View in context: https://bugs.webkit.org/attachment.cgi?id=353432&amp;action=review

&gt; Source/WebCore/platform/ios/WebEvent.h:59
&gt; +// These enum values are copied directly from GSEvent for compatibility.

Really?

&gt; Source/WebCore/platform/ios/WebEvent.h:87
&gt; +// These enum values are copied directly from GSEvent for compatibility.

Don&apos;t look &quot;copied directly&quot; to me.

&gt; Tools/ChangeLog:8
&gt; +        Update the code for renamed enumerators. For WebKitTestRunner, removed comment that does not

Is this &quot;enumerations&quot; not &quot;enumerators&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474533</commentid>
    <comment_count>4</comment_count>
      <attachid>353432</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-02 10:09:24 -0700</bug_when>
    <thetext>Comment on attachment 353432
Patch and test

View in context: https://bugs.webkit.org/attachment.cgi?id=353432&amp;action=review

&gt;&gt; Source/WebCore/platform/ios/WebEvent.h:59
&gt;&gt; +// These enum values are copied directly from GSEvent for compatibility.
&gt; 
&gt; Really?

Copied and renamed just like all the other enums in this file that have the same comment above them. I take it you would like the comment to be more precise. Before landing I will change this comment and all added comments to read: &quot;These enum values correspond to the kGSEvent* enumerators for compatibility.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474537</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-02 10:13:40 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #4)
&gt; Comment on attachment 353432 [details]
&gt; Patch and test
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=353432&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/ios/WebEvent.h:59
&gt; &gt;&gt; +// These enum values are copied directly from GSEvent for compatibility.
&gt; &gt; 
&gt; &gt; Really?
&gt; 
&gt; Copied and renamed just like all the other enums in this file that have the
&gt; same comment above them. I take it you would like the comment to be more
&gt; precise. Before landing I will change this comment and all added comments to
&gt; read: &quot;These enum values correspond to the kGSEvent* enumerators for
&gt; compatibility.&quot;

Will be even more precise and reference the framework that has these enumerators:

These enum values correspond to the GraphicsServices kGSEventFlagMask* enumerators for compatibility.

Will also change the comment &quot;These enum values are copied directly from GSEvent for compatibility.&quot; above the WebEventCharacterSet enum to read &quot;These enum values correspond to the GraphicsServices kGSCharacterSet* constants for compatibility.&quot; before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474539</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-02 10:17:18 -0700</bug_when>
    <thetext>Committed r237738: &lt;https://trac.webkit.org/changeset/237738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474542</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-02 10:18:06 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #3)
&gt; &gt; Tools/ChangeLog:8
&gt; &gt; +        Update the code for renamed enumerators. For WebKitTestRunner, removed comment that does not
&gt; 
&gt; Is this &quot;enumerations&quot; not &quot;enumerators&quot;?

For completeness, I fixed this in this ChangeLog and all other ChangeLogs in this patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352104</attachid>
            <date>2018-10-11 16:54:39 -0700</date>
            <delta_ts>2018-10-30 16:40:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190487-20181011165439.patch</filename>
            <type>text/plain</type>
            <size>33118</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVkYWY4MmExMjcwMDJj
NjY2NzhkNzBmZTY1NzJlOGU4NzgwMTIwZC4uOTkzMmVjZTIyZTU4MTViYTdiYjljNDc2M2NiODMy
N2JlMjlhZGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE4LTEwLTExICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJLaXQgc2hv
dWxkIGRpc3BhdGNoIERPTSBldmVudHMgd2hlbiBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgbW9kaWZpZXIgZmxhZ3MgY2hhbmdlIGV2ZW50cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1vZGlm
aWVyc0ZvckV2ZW50KTogTW9kaWZpZXIga2V5cyBkbyBub3QgaGF2ZSBhbiBhc3NvY2lhdGVkIGNo
YXJhY3RlciBhbmQgZG8gbm90CisgICAgICAgIHBhcnRpY2lwYXRlIGluIGtleSByZXBlYXQuCisg
ICAgICAgIChXZWJDb3JlOjprZXlJZGVudGlmaWVyRm9yS2V5RXZlbnQpOiBJZGVudGlmeSBtb2Rp
ZmllciBrZXlzLCByZXR1cm5pbmcgIlVuaWRlbnRpZmllZCIgaWYKKyAgICAgICAgdGhlIG1vZGlm
aWVyIGtleSBpcyB1bmlkZW50aWZpZWQuIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3Igb24gTWFj
LgorICAgICAgICAoV2ViQ29yZTo6a2V5Rm9yS2V5RXZlbnQpOiBJZGVudGlmeSBtb2RpZmllciBr
ZXlzLCByZXR1cm5pbmcgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgbW9kaWZpZXIKKyAgICAgICAg
a2V5IGlzIHVuaWRlbnRpZmllZC4gVGhpcyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvbiBNYWMuCisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybUtl
eWJvYXJkRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW06CisgICAgICAgICgtW1dlYkV2ZW50
IGluaXRXaXRoS2V5RXZlbnRUeXBlOnRpbWVTdGFtcDpjaGFyYWN0ZXJzOmNoYXJhY3RlcnNJZ25v
cmluZ01vZGlmaWVyczptb2RpZmllcnM6aXNSZXBlYXRpbmc6d2l0aEZsYWdzOmtleUNvZGU6aXNU
YWJLZXk6Y2hhcmFjdGVyU2V0Ol0pOgorICAgICAgICBNb2RpZmllciBrZXlzIGRvIG5vdCBoYXZl
IGFuIGFzc29jaWF0ZWQgY2hhcmFjdGVyIGFuZCBkbyBub3QgcGFydGljaXBhdGUgaW4ga2V5IHJl
cGVhdC4KKyAgICAgICAgKC1bV2ViRXZlbnQgX2V2ZW50RGVzY3JpcHRpb25dKTogTW9kaWZpZWQg
dG8gcHJpbnQgYSBkZXNjcmlwdGlvbiBmb3IgYSBrZXlkb3duIG9yIGtleXVwIGV2ZW50CisgICAg
ICAgIHRoYXQgcmVwcmVzZW50cyBhIG1vZGlmaWVyIGZsYWdzIGNoYW5nZS4KKyAgICAgICAgKC1b
V2ViRXZlbnQgY2hhcmFjdGVyc10pOiBNb2RpZmllciBrZXlzIGRvIG5vdCBoYXZlIGFuIGFzc29j
aWF0ZWQgY2hhcmFjdGVyLiBBc3NlcnQgdGhpcworICAgICAgICBpbnZhcmlhbnQgYXMgaXQgaXMg
YSBwcm9ncmFtbWluZyBlcnJvci4gT24gTWFjLCB0aGUgc2FtZSBvcGVyYXRpb24gd291bGQgcmVz
dWx0IGluIGEKKyAgICAgICAgTlNJbnRlcm5hbEluY29uc2lzdGVuY3lFeGNlcHRpb24gZXhjZXB0
aW9uIGJlaW5nIHJhaXNlZC4KKyAgICAgICAgKC1bV2ViRXZlbnQgY2hhcmFjdGVyc0lnbm9yaW5n
TW9kaWZpZXJzXSk6IERpdHRvLgorCiAyMDE4LTEwLTEwICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBZGQgdHlwZWRlZiBmb3IgV2ViRXZlbnQga2V5
Ym9hcmQgZmxhZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjVmY2I4NGY1NmViNDc1OGM5NzdkYjExY2VhOTI5OTY3
YzM0MTczNC4uZGRlYzRhNmExOTU5M2RjZjVkM2FmN2U1YTYwNTQwNzUyY2IyNjAxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOC0xMC0xMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2ViS2l0IHNob3VsZCBkaXNwYXRjaCBET00gZXZl
bnRzIHdoZW4gYSBtb2RpZmllciBrZXkgaXMgcHJlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGZsYWdz
IGNoYW5nZSBldmVudHMgZGlzcGF0Y2hlZCBieSBVSUtpdC4KKworICAgICAgICAqIFNoYXJlZC9p
b3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tOgorICAgICAgICAobW9kaWZpZXJzRm9yRXZlbnQpOiBV
cGRhdGUgZm9yIHJlbmFtZWQgZW51bWVyYXRvcnMuCisgICAgICAgIChXZWJJT1NFdmVudEZhY3Rv
cnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQpOiBNb2RpZmllciBrZXlzIGRvIG5vdCBoYXZlIGFu
IGFzc29jaWF0ZWQKKyAgICAgICAgY2hhcmFjdGVyIGFuZCBkbyBub3QgcGFydGljaXBhdGUgaW4g
a2V5IHJlcGVhdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9pb3MvV2ViQXV0b21h
dGlvblNlc3Npb25JT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
OjpwbGF0Zm9ybVNpbXVsYXRlS2V5Ym9hcmRJbnRlcmFjdGlvbik6IFVwZGF0ZSBmb3IgcmVuYW1l
ZCBlbnVtZXJhdG9ycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaW50ZXJwcmV0S2V5RXZlbnQ6
aXNDaGFyRXZlbnQ6XSk6IFJldHVybiBOTyBpZiB0aGUgZXZlbnQgcmVwcmVzZW50cyBhCisgICAg
ICAgIG1vZGlmaWVyIGZsYWdzIGNoYW5nZSB0byBhbGxvdyB0aGUgZGVmYXVsdCBoYW5kbGluZy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbToK
KyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtleWJvYXJkU2Nyb2xsRm9y
RXZlbnQ6XSk6IFVwZGF0ZSBmb3IgcmVuYW1lZCBlbnVtZXJhdG9ycy4KKwogMjAxOC0xMC0xMCAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRkIHR5
cGVkZWYgZm9yIFdlYkV2ZW50IGtleWJvYXJkIGZsYWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKaW5kZXggZDU0YTI3YzZmZGJiMGRjZDdlMTA1MDZlNTk3ZjVmZWQxMDM1YjVlNC4uYTRiNzAx
MWU1ODAzYWM2N2I3MjJmNzEzZGMzMzcxNjc4MDAzMTI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTEwLTExICBEYW5pZWwgQmF0ZXMgIDxkYWJh
dGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJLaXQgc2hvdWxkIGRpc3BhdGNoIERP
TSBldmVudHMgd2hlbiBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZpbmcgTGVnYWN5IFdlYktpdCByZXR1
cm4gTk8gaWYgdGhlIGVkaXRpbmcgZXZlbnQgcmVwcmVzZW50cyBhIG1vZGlmaWVyIGZsYWdzIGNo
YW5nZSB0bworICAgICAgICBhbGxvdyB0aGUgZGVmYXVsdCBoYW5kbGluZy4KKworICAgICAgICAq
IFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9oYW5kbGVF
ZGl0aW5nS2V5RXZlbnQ6XSk6CisKIDIwMTgtMTAtMDggIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlw
ZSB0byBXZWJNZXRhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCmluZGV4IGI4NjBhMzVmYmQ1ZTdlZWVhYTZjZjA1YWFm
OGM5ZTMyOWI3MGNhNmUuLjIyNjM2MWRiMzU5YjdhNmMzNzIwNjExYjc2M2QxYzk5NjUyYzQ1ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFj
dG9yeUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVu
dEZhY3RvcnlJT1MubW0KQEAgLTQ0LDE1ICs0NCwxNSBAQCBzdGF0aWMgT3B0aW9uU2V0PFBsYXRm
b3JtRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnNGb3JFdmVudChXZWJFdmVudCAqZXZlbnQpCiB7
CiAgICAgT3B0aW9uU2V0PFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnM7CiAKLSAg
ICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tTaGlmdCkKKyAgICBp
ZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tTaGlmdEtleSkKICAgICAg
ICAgbW9kaWZpZXJzLmFkZChQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcjo6U2hpZnRLZXkpOwotICAg
IGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0NvbnRyb2wpCisgICAg
aWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQ29udHJvbEtleSkKICAg
ICAgICAgbW9kaWZpZXJzLmFkZChQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcjo6Q3RybEtleSk7Ci0g
ICAgaWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQWx0ZXJuYXRlKQor
ICAgIGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza09wdGlvbktleSkK
ICAgICAgICAgbW9kaWZpZXJzLmFkZChQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcjo6QWx0S2V5KTsK
LSAgICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kKQor
ICAgIGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0NvbW1hbmRLZXkp
CiAgICAgICAgIG1vZGlmaWVycy5hZGQoUGxhdGZvcm1FdmVudDo6TW9kaWZpZXI6Ok1ldGFLZXkp
OwotICAgIGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0FscGhhU2hp
ZnQpCisgICAgaWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrTGVmdENh
cHNMb2NrS2V5KQogICAgICAgICBtb2RpZmllcnMuYWRkKFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVy
OjpDYXBzTG9ja0tleSk7CiAKICAgICByZXR1cm4gbW9kaWZpZXJzOwpAQCAtMTI3LDYgKzEyNywz
MiBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQgUGxhdGZvcm1FdmVudEZhY3Rvcnk6OmNyZWF0ZVBsYXRm
b3JtV2hlZWxFdmVudChXZWJFdmVudCAqZXZlbgogCiBTdHJpbmcga2V5SWRlbnRpZmllckZvcktl
eUV2ZW50KFdlYkV2ZW50ICpldmVudCkKIHsKKyAgICBpZiAoZXZlbnQua2V5Ym9hcmRGbGFncyAm
IFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkKSB7CisgICAgICAgIHN3
aXRjaCAoZXZlbnQua2V5Q29kZSkgeworICAgICAgICBjYXNlIFZLX0xXSU46IC8vIExlZnQgQ29t
bWFuZAorICAgICAgICBjYXNlIFZLX0FQUFM6IC8vIFJpZ2h0IENvbW1hbmQKKyAgICAgICAgICAg
IHJldHVybiAiTWV0YSJfczsKKworICAgICAgICBjYXNlIFZLX0NBUElUQUw6IC8vIENhcHMgTG9j
aworICAgICAgICAgICAgcmV0dXJuICJDYXBzTG9jayJfczsKKworICAgICAgICBjYXNlIFZLX0xT
SElGVDogLy8gTGVmdCBTaGlmdAorICAgICAgICBjYXNlIFZLX1JTSElGVDogLy8gUmlnaHQgU2hp
ZnQKKyAgICAgICAgICAgIHJldHVybiAiU2hpZnQiX3M7CisKKyAgICAgICAgY2FzZSBWS19MTUVO
VTogLy8gTGVmdCBBbHQKKyAgICAgICAgY2FzZSBWS19STUVOVTogLy8gUmlnaHQgQWx0CisgICAg
ICAgICAgICByZXR1cm4gIkFsdCJfczsKKworICAgICAgICBjYXNlIFZLX0xDT05UUk9MOiAvLyBM
ZWZ0IEN0cmwKKyAgICAgICAgY2FzZSBWS19SQ09OVFJPTDogLy8gUmlnaHQgQ3RybAorICAgICAg
ICAgICAgcmV0dXJuICJDb250cm9sIl9zOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OworICAgICAgICB9CisgICAgfQogICAgIE5TU3RyaW5nICpjaGFyYWN0ZXJzID0gZXZlbnQuY2hh
cmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOwogICAgIGlmIChbY2hhcmFjdGVycyBsZW5ndGhdICE9
IDEpIHsKICAgICAgICAgTE9HKEV2ZW50cywgInJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgbnVtYmVy
IG9mIGNoYXJhY3RlcnMgaW4ga2V5IGV2ZW50OiAldSIsIFtjaGFyYWN0ZXJzIGxlbmd0aF0pOwpA
QCAtMTM3LDYgKzE2MywzMyBAQCBTdHJpbmcga2V5SWRlbnRpZmllckZvcktleUV2ZW50KFdlYkV2
ZW50ICpldmVudCkKIAogU3RyaW5nIGtleUZvcktleUV2ZW50KFdlYkV2ZW50ICpldmVudCkKIHsK
KyAgICBpZiAoZXZlbnQua2V5Ym9hcmRGbGFncyAmIFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlm
aWVyRmxhZ3NDaGFuZ2VkKSB7CisgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkgeworICAg
ICAgICBjYXNlIFZLX0xXSU46IC8vIExlZnQgQ29tbWFuZAorICAgICAgICBjYXNlIFZLX0FQUFM6
IC8vIFJpZ2h0IENvbW1hbmQKKyAgICAgICAgICAgIHJldHVybiAiTWV0YSJfczsKKworICAgICAg
ICBjYXNlIFZLX0NBUElUQUw6IC8vIENhcHMgTG9jaworICAgICAgICAgICAgcmV0dXJuICJDYXBz
TG9jayJfczsKKworICAgICAgICBjYXNlIFZLX0xTSElGVDogLy8gTGVmdCBTaGlmdAorICAgICAg
ICBjYXNlIFZLX1JTSElGVDogLy8gUmlnaHQgU2hpZnQKKyAgICAgICAgICAgIHJldHVybiAiU2hp
ZnQiX3M7CisKKyAgICAgICAgY2FzZSBWS19MTUVOVTogLy8gTGVmdCBBbHQKKyAgICAgICAgY2Fz
ZSBWS19STUVOVTogLy8gUmlnaHQgQWx0CisgICAgICAgICAgICByZXR1cm4gIkFsdCJfczsKKwor
ICAgICAgICBjYXNlIFZLX0xDT05UUk9MOiAvLyBMZWZ0IEN0cmwKKyAgICAgICAgY2FzZSBWS19S
Q09OVFJPTDogLy8gUmlnaHQgQ3RybAorICAgICAgICAgICAgcmV0dXJuICJDb250cm9sIl9zOwor
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgICAgIHJldHVybiAiVW5pZGVudGlmaWVkIl9zOworICAgICAgICB9CisgICAgfQorCiAg
ICAgTlNTdHJpbmcgKmNoYXJhY3RlcnMgPSBldmVudC5jaGFyYWN0ZXJzOwogICAgIGF1dG8gbGVu
Z3RoID0gW2NoYXJhY3RlcnMgbGVuZ3RoXTsKICAgICAvLyBjaGFyYWN0ZXJzIHJldHVybiBhbiBl
bXB0eSBzdHJpbmcgZm9yIGRlYWQga2V5cy4KQEAgLTM3MSwxMyArNDI0LDE5IEBAIHB1YmxpYzoK
ICAgICAgICAgbV9tb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7CiAgICAgICAg
IG1fdGltZXN0YW1wID0gV2FsbFRpbWU6Om5vdygpOwogCi0gICAgICAgIG1fdGV4dCA9IGV2ZW50
LmNoYXJhY3RlcnM7Ci0gICAgICAgIG1fdW5tb2RpZmllZFRleHQgPSBldmVudC5jaGFyYWN0ZXJz
SWdub3JpbmdNb2RpZmllcnM7CisgICAgICAgIGlmIChldmVudC5rZXlib2FyZEZsYWdzICYgV2Vi
RXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0NoYW5nZWQpIHsKKyAgICAgICAgICAgIG1f
dGV4dCA9IGVtcHR5U3RyaW5nKCk7CisgICAgICAgICAgICBtX3VubW9kaWZpZWRUZXh0ID0gZW1w
dHlTdHJpbmcoKTsKKyAgICAgICAgICAgIG1fYXV0b1JlcGVhdCA9IGZhbHNlOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgbV90ZXh0ID0gZXZlbnQuY2hhcmFjdGVyczsKKyAgICAgICAg
ICAgIG1fdW5tb2RpZmllZFRleHQgPSBldmVudC5jaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM7
CisgICAgICAgICAgICBtX2F1dG9SZXBlYXQgPSBldmVudC5pc0tleVJlcGVhdGluZzsKKyAgICAg
ICAgfQogICAgICAgICBtX2tleSA9IGtleUZvcktleUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV9j
b2RlID0gY29kZUZvcktleUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV9rZXlJZGVudGlmaWVyID0g
a2V5SWRlbnRpZmllckZvcktleUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV93aW5kb3dzVmlydHVh
bEtleUNvZGUgPSBldmVudC5rZXlDb2RlOwotICAgICAgICBtX2F1dG9SZXBlYXQgPSBldmVudC5p
c0tleVJlcGVhdGluZzsKICAgICAgICAgbV9pc0tleXBhZCA9IGZhbHNlOyAvLyBpT1MgZG9lcyBu
b3QgZGlzdGluZ3Vpc2ggdGhlIG51bXBhZC4gU2VlIDxyZGFyOi8vcHJvYmxlbS83MTkwODM1Pi4K
ICAgICAgICAgbV9pc1N5c3RlbUtleSA9IGZhbHNlOwogICAgICAgICBtX0V2ZW50ID0gZXZlbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5oCmluZGV4IGUwZTJhMTA5Y2NmYWUy
YzFjMWYzZDdkYTRmZDE1ZWRjM2IyMjJlMTMuLjg5MDU5ODEwMzM2ZDc3ZjMzMzZhYWJhOWEwNjRm
NDZkOTNiY2MxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJF
dmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5oCkBAIC01
NiwxNiArNTYsNDIgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJFdmVudFRvdWNoUGhhc2VDYW5j
ZWxsZWQKIH0gV2ViRXZlbnRUb3VjaFBoYXNlVHlwZTsKIAorLy8gVGhlc2UgZW51bSB2YWx1ZXMg
YXJlIGNvcGllZCBkaXJlY3RseSBmcm9tIEdTRXZlbnQgZm9yIGNvbXBhdGliaWxpdHkuCitlbnVt
IHsKKyAgICBXZWJFdmVudExlZnRDb21tYW5kS2V5LAorICAgIFdlYkV2ZW50TGVmdFNoaWZ0S2V5
LAorICAgIFdlYkV2ZW50TGVmdENhcHNMb2NrS2V5LAorICAgIFdlYkV2ZW50TGVmdE9wdGlvbktl
eSwKKyAgICBXZWJFdmVudExlZnRDb250cm9sS2V5LAorICAgIFdlYkV2ZW50UmlnaHRTaGlmdEtl
eSwKKyAgICBXZWJFdmVudFJpZ2h0T3B0aW9uS2V5LAorICAgIFdlYkV2ZW50UmlnaHRDb250cm9s
S2V5LAorICAgIFdlYkV2ZW50UmlnaHRDb21tYW5kS2V5LAorICAgIFdlYkV2ZW50RGVhZEtleSwK
K307CisKIC8vIFRoZXNlIGVudW0gdmFsdWVzIGFyZSBjb3BpZWQgZGlyZWN0bHkgZnJvbSBHU0V2
ZW50IGZvciBjb21wYXRpYmlsaXR5LgogdHlwZWRlZiBlbnVtIHsKLSAgICBXZWJFdmVudEZsYWdN
YXNrQWxwaGFTaGlmdCA9IDB4MDAwMTAwMDAsCi0gICAgV2ViRXZlbnRGbGFnTWFza1NoaWZ0ICAg
ICAgPSAweDAwMDIwMDAwLAotICAgIFdlYkV2ZW50RmxhZ01hc2tDb250cm9sICAgID0gMHgwMDA0
MDAwMCwKLSAgICBXZWJFdmVudEZsYWdNYXNrQWx0ZXJuYXRlICA9IDB4MDAwODAwMDAsCi0gICAg
V2ViRXZlbnRGbGFnTWFza0NvbW1hbmQgICAgPSAweDAwMTAwMDAwLAorICAgIFdlYkV2ZW50Rmxh
Z01hc2tMZWZ0Q29tbWFuZEtleSA9IDEgPDwgKFdlYkV2ZW50TGVmdENvbW1hbmRLZXkgKyAxNiks
CisgICAgV2ViRXZlbnRGbGFnTWFza0xlZnRTaGlmdEtleSA9IDEgPDwgKFdlYkV2ZW50TGVmdFNo
aWZ0S2V5ICsgMTYpLAorICAgIFdlYkV2ZW50RmxhZ01hc2tMZWZ0Q2Fwc0xvY2tLZXkgPSAxIDw8
IChXZWJFdmVudExlZnRDYXBzTG9ja0tleSArIDE2KSwKKyAgICBXZWJFdmVudEZsYWdNYXNrTGVm
dE9wdGlvbktleSA9IDEgPDwgKFdlYkV2ZW50TGVmdE9wdGlvbktleSArIDE2KSwKKyAgICBXZWJF
dmVudEZsYWdNYXNrTGVmdENvbnRyb2xLZXkgPSAxIDw8IChXZWJFdmVudExlZnRDb250cm9sS2V5
ICsgMTYpLAorICAgIFdlYkV2ZW50RmxhZ01hc2tSaWdodENvbnRyb2xLZXkgPSAxIDw8IChXZWJF
dmVudFJpZ2h0Q29udHJvbEtleSArIDE2KSwKKyAgICBXZWJFdmVudEZsYWdNYXNrUmlnaHRTaGlm
dEtleSA9IDEgPDwgKFdlYkV2ZW50UmlnaHRTaGlmdEtleSArIDE2KSwKKyAgICBXZWJFdmVudEZs
YWdNYXNrUmlnaHRPcHRpb25LZXkgPSAxIDw8IChXZWJFdmVudFJpZ2h0T3B0aW9uS2V5ICsgMTYp
LAorICAgIFdlYkV2ZW50RmxhZ01hc2tSaWdodENvbW1hbmRLZXkgPSAxIDw8IChXZWJFdmVudFJp
Z2h0Q29tbWFuZEtleSArIDE2KSwKIH0gV2ViRXZlbnRGbGFnVmFsdWVzOwogdHlwZWRlZiB1bnNp
Z25lZCBXZWJFdmVudEZsYWdzOwogCisvLyBUaGVzZSBlbnVtIHZhbHVlcyBhcmUgY29waWVkIGRp
cmVjdGx5IGZyb20gR1NFdmVudCBmb3IgY29tcGF0aWJpbGl0eS4KK2VudW0geworICAgIFdlYkV2
ZW50RmxhZ01hc2tDb21tYW5kS2V5ID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb21tYW5kS2V5IHwg
V2ViRXZlbnRGbGFnTWFza1JpZ2h0Q29tbWFuZEtleSwKKyAgICBXZWJFdmVudEZsYWdNYXNrT3B0
aW9uS2V5ID0gV2ViRXZlbnRGbGFnTWFza0xlZnRPcHRpb25LZXkgfCBXZWJFdmVudEZsYWdNYXNr
UmlnaHRPcHRpb25LZXksCisgICAgV2ViRXZlbnRGbGFnTWFza0NvbnRyb2xLZXkgPSBXZWJFdmVu
dEZsYWdNYXNrTGVmdENvbnRyb2xLZXkgfCBXZWJFdmVudEZsYWdNYXNrUmlnaHRDb250cm9sS2V5
LAorICAgIFdlYkV2ZW50RmxhZ01hc2tTaGlmdEtleSA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0U2hp
ZnRLZXkgfCBXZWJFdmVudEZsYWdNYXNrUmlnaHRTaGlmdEtleSwKK307CisKIC8vIFRoZXNlIGVu
dW0gdmFsdWVzIGFyZSBjb3BpZWQgZGlyZWN0bHkgZnJvbSBHU0V2ZW50IGZvciBjb21wYXRpYmls
aXR5LgogdHlwZWRlZiBlbnVtIHsKICAgICBXZWJFdmVudENoYXJhY3RlclNldEFTQ0lJICAgICAg
ICAgICA9IDAsCkBAIC03OCw2ICsxMDQsNyBAQCB0eXBlZGVmIGVudW0gewogLy8gVGhlc2UgZW51
bSB2YWx1ZXMgYXJlIGNvcGllZCBkaXJlY3RseSBmcm9tIFVJS2l0IGZvciBjb21wYXRpYmlsaXR5
LgogdHlwZWRlZiBlbnVtIHsKICAgICBXZWJFdmVudEtleWJvYXJkSW5wdXRSZXBlYXQgPSAxIDw8
IDAsCisgICAgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0NoYW5nZWQgPSAxIDw8
IDUsCiB9IFdlYktleWJvYXJkSW5wdXRGbGFnVmFsdWVzOwogdHlwZWRlZiBOU1VJbnRlZ2VyIFdl
YktleWJvYXJkSW5wdXRGbGFnczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkV2ZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50
Lm1tCmluZGV4IGJkNmQwNTBjZDI5MzU0NWU2NjM3Nzc3ZWZhYWU0NTQ0OWRiZGUwYjguLmUwMWQy
ODY4NmNmOTRkYmFjMjYwNGIyNGIyYmJkZjk2ZjljMjVkYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViRXZlbnQubW0KQEAgLTE4NCwxNCArMTg0LDggQEAgLSAoV2ViRXZlbnQgKilp
bml0V2l0aEtleUV2ZW50VHlwZTooV2ViRXZlbnRUeXBlKXR5cGUKICAgICAKICAgICBfdHlwZSA9
IHR5cGU7CiAgICAgX3RpbWVzdGFtcCA9IHRpbWVTdGFtcDsKLQotICAgIF9jaGFyYWN0ZXJzID0g
W25vcm1hbGl6ZWRTdHJpbmdXaXRoQXBwS2l0Q29tcGF0aWJpbGl0eU1hcHBpbmcoY2hhcmFjdGVy
cykgcmV0YWluXTsKLSAgICBfY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzID0gW25vcm1hbGl6
ZWRTdHJpbmdXaXRoQXBwS2l0Q29tcGF0aWJpbGl0eU1hcHBpbmcoY2hhcmFjdGVyc0lnbm9yaW5n
TW9kaWZpZXJzKSByZXRhaW5dOwotICAgIF9tb2RpZmllckZsYWdzID0gbW9kaWZpZXJzOwotICAg
IF9rZXlSZXBlYXRpbmcgPSByZXBlYXRpbmc7CiAgICAgX2tleWJvYXJkRmxhZ3MgPSBmbGFnczsK
LSAgICBfdGFiS2V5ID0gdGFiS2V5OwotICAgIAorICAgIF9tb2RpZmllckZsYWdzID0gbW9kaWZp
ZXJzOwogICAgIGlmIChrZXlDb2RlKQogICAgICAgICBfa2V5Q29kZSA9IHdpbmRvd3NLZXlDb2Rl
Rm9yS2V5Q29kZShrZXlDb2RlKTsKICAgICBlbHNlIGlmIChbY2hhcmFjdGVyc0lnbm9yaW5nTW9k
aWZpZXJzIGxlbmd0aF0gPT0gMSkgewpAQCAtMTk5LDYgKzE5MywxMyBAQCAtIChXZWJFdmVudCAq
KWluaXRXaXRoS2V5RXZlbnRUeXBlOihXZWJFdmVudFR5cGUpdHlwZQogICAgICAgICBfa2V5Q29k
ZSA9IHdpbmRvd3NLZXlDb2RlRm9yQ2hhckNvZGVJT1MoW2NoYXJhY3RlcnNJZ25vcmluZ01vZGlm
aWVycyBjaGFyYWN0ZXJBdEluZGV4OjBdKTsKICAgICB9CiAKKyAgICBpZiAoIShfa2V5Ym9hcmRG
bGFncyAmIFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkKSkgeworICAg
ICAgICBfY2hhcmFjdGVycyA9IFtub3JtYWxpemVkU3RyaW5nV2l0aEFwcEtpdENvbXBhdGliaWxp
dHlNYXBwaW5nKGNoYXJhY3RlcnMpIHJldGFpbl07CisgICAgICAgIF9jaGFyYWN0ZXJzSWdub3Jp
bmdNb2RpZmllcnMgPSBbbm9ybWFsaXplZFN0cmluZ1dpdGhBcHBLaXRDb21wYXRpYmlsaXR5TWFw
cGluZyhjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMpIHJldGFpbl07CisgICAgICAgIF90YWJL
ZXkgPSB0YWJLZXk7CisgICAgICAgIF9rZXlSZXBlYXRpbmcgPSByZXBlYXRpbmc7CisgICAgfQor
CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKQEAgLTM3Myw2ICszNzQsOCBAQCAtIChOU1N0cmluZyAq
KV9ldmVudERlc2NyaXB0aW9uCiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAImxvY2F0aW9uOiAoJWYsICVmKSBkZWx0YVg6ICVmIGRlbHRhWTogJWYiLCBfbG9jYXRp
b25JbldpbmRvdy54LCBfbG9jYXRpb25JbldpbmRvdy55LCBfZGVsdGFYLCBfZGVsdGFZXTsKICAg
ICBjYXNlIFdlYkV2ZW50S2V5RG93bjoKICAgICBjYXNlIFdlYkV2ZW50S2V5VXA6CisgICAgICAg
IGlmIChfa2V5Ym9hcmRGbGFncyAmIFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3ND
aGFuZ2VkKQorICAgICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAi
ZmxhZ3M6ICVkIGtleWJvYXJkRmxhZ3M6ICVsdSBrZXlDb2RlICVkIiwgX21vZGlmaWVyRmxhZ3Ms
IHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KF9rZXlib2FyZEZsYWdzKSwgX2tleUNvZGVdOwog
ICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJjaGFyczogJUAgY2hh
cnNOb01vZGlmaWVyczogJUAgZmxhZ3M6ICVkIHJlcGVhdGluZzogJWQga2V5Ym9hcmRGbGFnczog
JWx1IGtleUNvZGUgJWQsIGlzVGFiOiAlZCIsIF9jaGFyYWN0ZXJzLCBfY2hhcmFjdGVyc0lnbm9y
aW5nTW9kaWZpZXJzLCBfbW9kaWZpZXJGbGFncywgX2tleVJlcGVhdGluZywgc3RhdGljX2Nhc3Q8
dW5zaWduZWQgbG9uZz4oX2tleWJvYXJkRmxhZ3MpLCBfa2V5Q29kZSwgX3RhYktleV07CiAgICAg
Y2FzZSBXZWJFdmVudFRvdWNoQmVnaW46CiAgICAgY2FzZSBXZWJFdmVudFRvdWNoQ2hhbmdlOgpA
QCAtNDAyLDEyICs0MDUsMTQgQEAgLSAoQ0dQb2ludClsb2NhdGlvbkluV2luZG93CiAtIChOU1N0
cmluZyAqKWNoYXJhY3RlcnMKIHsKICAgICBBU1NFUlQoX3R5cGUgPT0gV2ViRXZlbnRLZXlEb3du
IHx8IF90eXBlID09IFdlYkV2ZW50S2V5VXApOworICAgIEFTU0VSVCghKF9rZXlib2FyZEZsYWdz
ICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0NoYW5nZWQpKTsKICAgICByZXR1
cm4gW1tfY2hhcmFjdGVycyByZXRhaW5dIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoTlNTdHJpbmcg
KiljaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMKIHsKICAgICBBU1NFUlQoX3R5cGUgPT0gV2Vi
RXZlbnRLZXlEb3duIHx8IF90eXBlID09IFdlYkV2ZW50S2V5VXApOworICAgIEFTU0VSVCghKF9r
ZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0NoYW5nZWQp
KTsKICAgICByZXR1cm4gW1tfY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzIHJldGFpbl0gYXV0
b3JlbGVhc2VdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2Vi
SU9TRXZlbnRGYWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50
RmFjdG9yeS5tbQppbmRleCBkNDE0NTU3NTRlOTVmYzhhNzMyZmYxYzI3ZGFlZDU0NjdjM2I4NDBm
Li45MTIyZjc3NzdlOGY2MDkxM2E3ZjZmZGI2NTI1NWM3OWQzNmUwNGU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KQEAgLTM2LDE1ICszNiwx
NSBAQCBzdGF0aWMgV2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVyc0ZvckV2ZW50
KDo6V2ViRXZlbnQgKmV2ZW50KQogICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9IDA7CiAgICAgV2Vi
RXZlbnRGbGFncyBldmVudE1vZGlmaWVyRmxhZ3MgPSBldmVudC5tb2RpZmllckZsYWdzOwogCi0g
ICAgaWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tTaGlmdCkKKyAgICBp
ZiAoZXZlbnRNb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza1NoaWZ0S2V5KQogICAgICAg
ICBtb2RpZmllcnMgfD0gV2ViS2l0OjpXZWJFdmVudDo6U2hpZnRLZXk7Ci0gICAgaWYgKGV2ZW50
TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb250cm9sKQorICAgIGlmIChldmVudE1v
ZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQ29udHJvbEtleSkKICAgICAgICAgbW9kaWZp
ZXJzIHw9IFdlYktpdDo6V2ViRXZlbnQ6OkNvbnRyb2xLZXk7Ci0gICAgaWYgKGV2ZW50TW9kaWZp
ZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tBbHRlcm5hdGUpCisgICAgaWYgKGV2ZW50TW9kaWZp
ZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tPcHRpb25LZXkpCiAgICAgICAgIG1vZGlmaWVycyB8
PSBXZWJLaXQ6OldlYkV2ZW50OjpBbHRLZXk7Ci0gICAgaWYgKGV2ZW50TW9kaWZpZXJGbGFncyAm
IFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kKQorICAgIGlmIChldmVudE1vZGlmaWVyRmxhZ3MgJiBX
ZWJFdmVudEZsYWdNYXNrQ29tbWFuZEtleSkKICAgICAgICAgbW9kaWZpZXJzIHw9IFdlYktpdDo6
V2ViRXZlbnQ6Ok1ldGFLZXk7Ci0gICAgaWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50
RmxhZ01hc2tBbHBoYVNoaWZ0KQorICAgIGlmIChldmVudE1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVu
dEZsYWdNYXNrTGVmdENhcHNMb2NrS2V5KQogICAgICAgICBtb2RpZmllcnMgfD0gV2ViS2l0OjpX
ZWJFdmVudDo6Q2Fwc0xvY2tLZXk7CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViS2l0OjpX
ZWJFdmVudDo6TW9kaWZpZXJzPihtb2RpZmllcnMpOwpAQCAtNTMsOCArNTMsMTggQEAgc3RhdGlj
IFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnNGb3JFdmVudCg6OldlYkV2ZW50
ICpldmVudCkKIFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNy
ZWF0ZVdlYktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAqZXZlbnQpCiB7CiAgICAgV2ViS2l0OjpX
ZWJFdmVudDo6VHlwZSB0eXBlID0gKGV2ZW50LnR5cGUgPT0gV2ViRXZlbnRLZXlVcCkgPyBXZWJL
aXQ6OldlYkV2ZW50OjpLZXlVcCA6IFdlYktpdDo6V2ViRXZlbnQ6OktleURvd247Ci0gICAgU3Ry
aW5nIHRleHQgPSBldmVudC5jaGFyYWN0ZXJzOwotICAgIFN0cmluZyB1bm1vZGlmaWVkVGV4dCA9
IGV2ZW50LmNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczsKKyAgICBTdHJpbmcgdGV4dDsKKyAg
ICBTdHJpbmcgdW5tb2RpZmllZFRleHQ7CisgICAgYm9vbCBhdXRvUmVwZWF0OworICAgIGlmIChl
dmVudC5rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0No
YW5nZWQpIHsKKyAgICAgICAgdGV4dCA9IGVtcHR5U3RyaW5nKCk7CisgICAgICAgIHVubW9kaWZp
ZWRUZXh0ID0gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgYXV0b1JlcGVhdCA9IGZhbHNlOworICAg
IH0gZWxzZSB7CisgICAgICAgIHRleHQgPSBldmVudC5jaGFyYWN0ZXJzOworICAgICAgICB1bm1v
ZGlmaWVkVGV4dCA9IGV2ZW50LmNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczsKKyAgICAgICAg
YXV0b1JlcGVhdCA9IGV2ZW50LmlzS2V5UmVwZWF0aW5nOworICAgIH0KICAgICBTdHJpbmcga2V5
ID0gV2ViQ29yZTo6a2V5Rm9yS2V5RXZlbnQoZXZlbnQpOwogICAgIFN0cmluZyBjb2RlID0gV2Vi
Q29yZTo6Y29kZUZvcktleUV2ZW50KGV2ZW50KTsKICAgICBTdHJpbmcga2V5SWRlbnRpZmllciA9
IFdlYkNvcmU6OmtleUlkZW50aWZpZXJGb3JLZXlFdmVudChldmVudCk7CkBAIC02Miw3ICs3Miw2
IEBAIFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0ZVdl
YktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAqCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IGNv
cnJlY3QuIFdlYkV2ZW50LmtleUNvZGUgcmVwcmVzZW50cyB0aGUgV2luZG93cyBuYXRpdmUgdmly
dHVhbCBrZXkgY29kZS4KICAgICBpbnQgbmF0aXZlVmlydHVhbEtleUNvZGUgPSBldmVudC5rZXlD
b2RlOwogICAgIGludCBtYWNDaGFyQ29kZSA9IDA7Ci0gICAgYm9vbCBhdXRvUmVwZWF0ID0gZXZl
bnQuaXNLZXlSZXBlYXRpbmc7CiAgICAgYm9vbCBpc0tleXBhZCA9IGZhbHNlOwogICAgIGJvb2wg
aXNTeXN0ZW1LZXkgPSBmYWxzZTsKICAgICBXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmllcnMgbW9k
aWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9pb3MvV2ViQXV0b21hdGlvblNlc3Npb25JT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2lvcy9XZWJBdXRvbWF0aW9uU2Vz
c2lvbklPUy5tbQppbmRleCBkZTNhMTZmN2FjZTQzNTJkZmVlNmM5MGE2MTNiZjQxMjhmMmNmYjg3
Li5hYmYzZjY0ZDI5ODNmYmUzNzgwN2YyMTRkZTBhYWY2MTcwMTM0OGQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2lvcy9XZWJBdXRvbWF0aW9uU2Vzc2lv
bklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2lvcy9XZWJB
dXRvbWF0aW9uU2Vzc2lvbklPUy5tbQpAQCAtODMsMTkgKzgzLDE5IEBAIHZvaWQgV2ViQXV0b21h
dGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVLZXlib2FyZEludGVyYWN0aW9uKFdlYlBhZ2VQ
cm94eSYgcGFnCiAKICAgICAgICAgICAgIHN3aXRjaCAodmlydHVhbEtleSkgewogICAgICAgICAg
ICAgY2FzZSBWaXJ0dWFsS2V5OjpTaGlmdDoKLSAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZp
ZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tTaGlmdDsKKyAgICAgICAgICAgICAgICBjaGFuZ2VkTW9k
aWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tTaGlmdEtleTsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGNhc2UgVmlydHVhbEtleTo6Q29udHJvbDoKLSAgICAgICAgICAgICAg
ICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tDb250cm9sOworICAgICAgICAg
ICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gV2ViRXZlbnRGbGFnTWFza0NvbnRyb2xLZXk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFZpcnR1YWxLZXk6OkFsdGVy
bmF0ZToKLSAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01h
c2tBbHRlcm5hdGU7CisgICAgICAgICAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBXZWJFdmVu
dEZsYWdNYXNrT3B0aW9uS2V5OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
Y2FzZSBWaXJ0dWFsS2V5OjpNZXRhOgogICAgICAgICAgICAgICAgIC8vIFRoZSAnbWV0YScga2V5
IGRvZXMgbm90IGV4aXN0IG9uIEFwcGxlIGtleWJvYXJkcyBhbmQgaXMgdXN1YWxseQogICAgICAg
ICAgICAgICAgIC8vIG1hcHBlZCB0byB0aGUgQ29tbWFuZCBrZXkgd2hlbiB1c2luZyB0aGlyZC1w
YXJ0eSBrZXlib2FyZHMuCiAgICAgICAgICAgICBjYXNlIFZpcnR1YWxLZXk6OkNvbW1hbmQ6Ci0g
ICAgICAgICAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBXZWJFdmVudEZsYWdNYXNrQ29tbWFu
ZDsKKyAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tD
b21tYW5kS2V5OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoK
ICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDIzYmJhOTQ4MmI0NGNh
MTRhZGI1ODNlYmNmOTA2ZjhmOTM2NzFmZmMuLmM5MDExNmI2NGEzMGViNGUwOTE3OTU3N2M3OTM2
MjlmOGY5OWRmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMzgzNyw3ICszODM3LDcgQEAgLSAodm9p
ZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZlbnQgKilldmVudCBldmVudFdhc0hhbmRsZWQ6
KEJPT0wpZXZlbnRXYXNIYW4KICAgICAgICAgaGFuZGxlcihldmVudCwgZXZlbnRXYXNIYW5kbGVk
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAgICAgCisKICAgICAvLyBJZiB3ZSBhcmVu
J3QgaW50ZXJhY3Rpbmcgd2l0aCBlZGl0YWJsZSBjb250ZW50LCB3ZSBzdGlsbCBuZWVkIHRvIGNh
bGwgW3N1cGVyIF9oYW5kbGVLZXlVSUV2ZW50Ol0KICAgICAvLyBzbyB0aGF0IGtleWJvYXJkIHJl
cGVhdCB3aWxsIHdvcmsgY29ycmVjdGx5LiBJZiB3ZSBhcmUgaW50ZXJhY3Rpbmcgd2l0aCBlZGl0
YWJsZSBjb250ZW50LAogICAgIC8vIHdlIGFscmVhZHkgZGlkIHNvIGluIF9oYW5kbGVLZXlVSUV2
ZW50LgpAQCAtMzkxMCw2ICszOTEwLDkgQEAgLSAoQk9PTClfaW50ZXJwcmV0S2V5RXZlbnQ6KDo6
V2ViRXZlbnQgKilldmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJFdmVudAogICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBrV2ViRGVsZXRlS2V5ID0gMHgwMDdGOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBrV2ViU3BhY2VLZXkgPSAweDIwOwogCisgICAgaWYgKGV2ZW50LmtleWJvYXJk
RmxhZ3MgJiBXZWJFdmVudEtleWJvYXJkSW5wdXRNb2RpZmllckZsYWdzQ2hhbmdlZCkKKyAgICAg
ICAgcmV0dXJuIE5POworCiAgICAgQk9PTCBjb250ZW50RWRpdGFibGUgPSBfcGFnZS0+ZWRpdG9y
U3RhdGUoKS5pc0NvbnRlbnRFZGl0YWJsZTsKIAogICAgIGlmICghY29udGVudEVkaXRhYmxlICYm
IGV2ZW50LmlzVGFiS2V5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KaW5kZXggZGQ1ZDQwODM4OTFmMjcz
ZmVmZWRjZTE5MmIxNzliMzFhZGUyODlmZS4uMjFmMmJjZjkxODU5ODQ3ZWRkMTA2YjA1MDk2MjYw
ZTI4YWY0NmE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5
Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1tCkBAIC0yMTAsOSArMjEwLDkgQEAgLSAo
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OktleWJvYXJkU2Nyb2xsPilrZXlib2FyZFNjcm9sbEZvckV2
ZW50Oig6OldlYkV2ZW50ICopZXYKICAgICBpZiAoa2V5ID09IEtleTo6T3RoZXIpCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCi0gICAgQk9PTCBzaGlmdFByZXNzZWQgPSBldmVu
dC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza1NoaWZ0OwotICAgIEJPT0wgYWx0UHJl
c3NlZCA9IGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQWx0ZXJuYXRlOwot
ICAgIEJPT0wgY21kUHJlc3NlZCA9IGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdN
YXNrQ29tbWFuZDsKKyAgICBCT09MIHNoaWZ0UHJlc3NlZCA9IGV2ZW50Lm1vZGlmaWVyRmxhZ3Mg
JiBXZWJFdmVudEZsYWdNYXNrU2hpZnRLZXk7CisgICAgQk9PTCBhbHRQcmVzc2VkID0gZXZlbnQu
bW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tPcHRpb25LZXk7CisgICAgQk9PTCBjbWRQ
cmVzc2VkID0gZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kS2V5
OwogCiAgICAgYXV0byBpbmNyZW1lbnQgPSBeewogICAgICAgICBzd2l0Y2ggKGtleSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggNzA2
YzFkMDU5YjJiNmY3NDZhMzM2MGVhNmU0NjY5NDVhYTEwOWQ4YS4uYWRmYzg5OTY1ZWRmZmU2YWE0
NzlmYzE4Y2M1Nzg3ZjFiZGFlOTQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC02MDY3LDYgKzYwNjcsOCBAQCAtIChCT09MKV9oYW5k
bGVFZGl0aW5nS2V5RXZlbnQ6KEtleWJvYXJkRXZlbnQgKil3Y0V2ZW50CiAgICAgCiAgICAgaWYg
KGF1dG8qIHBsYXRmb3JtRXZlbnQgPSB3Y0V2ZW50LT51bmRlcmx5aW5nUGxhdGZvcm1FdmVudCgp
KSB7CiAgICAgICAgIFdlYkV2ZW50ICpldmVudCA9IHBsYXRmb3JtRXZlbnQtPmV2ZW50KCk7Cisg
ICAgICAgIGlmIChldmVudC5rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9k
aWZpZXJGbGFnc0NoYW5nZWQpCisgICAgICAgICAgICByZXR1cm4gTk87CiAgICAgICAgIGlmICgh
W1tzZWxmIF93ZWJWaWV3XSBpc0VkaXRhYmxlXSAmJiBldmVudC5pc1RhYktleSkgCiAgICAgICAg
ICAgICByZXR1cm4gTk87CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU4YTZkOTI0ZTlhM2FjZjQ1Yzc3MTA5MTU3ZWVkNTdmODc4
MDliM2MuLmU2ODUyODZkMjI5YmZkZTA2Y2MzMWFmNDA4ZWZjNDZlMmNlODM3ODAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAxOC0xMC0xMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW2lPU10gV2ViS2l0IHNob3VsZCBkaXNwYXRjaCBET00gZXZlbnRzIHdoZW4gYSBtb2RpZmll
ciBrZXkgaXMgcHJlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkwNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIHRoZSBjb2RlIGZvciByZW5hbWVkIGVudW1lcmF0b3JzLiBGb3IgV2Vi
S2l0VGVzdFJ1bm5lciwgcmVtb3ZlZCBjb21tZW50IHRoYXQgZG9lcyBub3QKKyAgICAgICAgbWF0
Y2ggbXkgb2JzZXJ2YXRpb25zIHdoZW4gdXNpbmcgdGhlIHNpbXVsYXRvciB0byBzaW11bGF0ZSBp
T1MgMTIgYW5kIGFkZCBzdXBwb3J0IGZvciB0ZXN0aW5nCisgICAgICAgIHJpZ2h0LWhhbmQgc2lk
ZSBtb2RpZmllcnMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5tbToKKyAgICAgICAgKG1vZGlmaWVyRmxhZ3MpOgorICAgICAgICAoLVtFdmVu
dFNlbmRpbmdDb250cm9sbGVyIGtleURvd246d2l0aE1vZGlmaWVyczp3aXRoTG9jYXRpb246XSk6
CisgICAgICAgICgtW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgc2V0VG91Y2hNb2RpZmllcjp2YWx1
ZTpdKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5t
bToKKyAgICAgICAgKGhpZFVzYWdlQ29kZUZvckNoYXJhY3Rlcik6CisKIDIwMTgtMTAtMDggIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBb
V0syXSBBZGQgc3VwcG9ydCBmb3IgdGV4dCBhbGlnbm1lbnQgYW5kIHRleHQgbGlzdHMgaW4gZm9u
dCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRp
bmdDb250cm9sbGVyLm1tCmluZGV4IGM2Y2UzNWIwYTZjMTk4MTRlYzNiYTEzZmEwODVlYTRkN2Ux
MDY3ZGMuLjljM2U0YTI2Yzg4NTcxMGRkM2Q0Mzg5Y2E3NWVkZTJhNzZkNThmNjEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCkBA
IC01MjUsMTEgKzUyNSwxMSBAQCBzdGF0aWMgaW50IG1vZGlmaWVyRmxhZ3MoY29uc3QgTlNTdHJp
bmcqIG1vZGlmaWVyTmFtZSkKICAgICBjb25zdCBpbnQgY29tbWFuZEtleU1hc2sgPSBOU0V2ZW50
TW9kaWZpZXJGbGFnQ29tbWFuZDsKICAgICBjb25zdCBpbnQgY2Fwc0xvY2tLZXlNYXNrID0gTlNF
dmVudE1vZGlmaWVyRmxhZ0NhcHNMb2NrOwogI2Vsc2UKLSAgICBjb25zdCBpbnQgY29udHJvbEtl
eU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrQ29udHJvbDsKLSAgICBjb25zdCBpbnQgc2hpZnRLZXlN
YXNrID0gV2ViRXZlbnRGbGFnTWFza1NoaWZ0OwotICAgIGNvbnN0IGludCBhbHRlcm5hdGVLZXlN
YXNrID0gV2ViRXZlbnRGbGFnTWFza0FsdGVybmF0ZTsKLSAgICBjb25zdCBpbnQgY29tbWFuZEtl
eU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrQ29tbWFuZDsKLSAgICBjb25zdCBpbnQgY2Fwc0xvY2tL
ZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0FscGhhU2hpZnQ7CisgICAgY29uc3QgaW50IGNvbnRy
b2xLZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb250cm9sS2V5OworICAgIGNvbnN0IGlu
dCBzaGlmdEtleU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrTGVmdFNoaWZ0S2V5OworICAgIGNvbnN0
IGludCBhbHRlcm5hdGVLZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRPcHRpb25LZXk7Cisg
ICAgY29uc3QgaW50IGNvbW1hbmRLZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb21tYW5k
S2V5OworICAgIGNvbnN0IGludCBjYXBzTG9ja0tleU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrTGVm
dENhcHNMb2NrS2V5OwogI2VuZGlmCiAKICAgICBpbnQgZmxhZ3MgPSAwOwpAQCAtMTExMCw3ICsx
MTEwLDcgQEAgLSAodm9pZClrZXlEb3duOihOU1N0cmluZyAqKWNoYXJhY3RlciB3aXRoTW9kaWZp
ZXJzOihXZWJTY3JpcHRPYmplY3QgKiltb2RpZmllcnMKICNpZiAhUExBVEZPUk0oSU9TKQogICAg
ICAgICBtb2RpZmllckZsYWdzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdTaGlmdDsKICNlbHNlCi0g
ICAgICAgIG1vZGlmaWVyRmxhZ3MgfD0gV2ViRXZlbnRGbGFnTWFza0FscGhhU2hpZnQ7CisgICAg
ICAgIG1vZGlmaWVyRmxhZ3MgfD0gV2ViRXZlbnRGbGFnTWFza0xlZnRTaGlmdEtleTsKICNlbmRp
ZgogICAgICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMgPSBbY2hhcmFjdGVyIGxvd2Vy
Y2FzZVN0cmluZ107CiAgICAgfQpAQCAtMTQzNiwxMyArMTQzNiwxMyBAQCAtICh2b2lkKXNldFRv
dWNoTW9kaWZpZXI6KE5TU3RyaW5nKiltb2RpZmllck5hbWUgdmFsdWU6KEJPT0wpZmxhZwogICAg
IHVuc2lnbmVkIG1vZGlmaWVyID0gMDsKICAgICAKICAgICBpZiAoW21vZGlmaWVyTmFtZSBpc0Vx
dWFsVG9TdHJpbmc6QCJhbHQiXSkKLSAgICAgICAgbW9kaWZpZXIgPSBXZWJFdmVudEZsYWdNYXNr
QWx0ZXJuYXRlOworICAgICAgICBtb2RpZmllciA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0T3B0aW9u
S2V5OwogICAgIGVsc2UgaWYgKFttb2RpZmllck5hbWUgaXNFcXVhbFRvU3RyaW5nOkAic2hpZnQi
XSkKLSAgICAgICAgbW9kaWZpZXIgPSBXZWJFdmVudEZsYWdNYXNrU2hpZnQ7CisgICAgICAgIG1v
ZGlmaWVyID0gV2ViRXZlbnRGbGFnTWFza0xlZnRTaGlmdEtleTsKICAgICBlbHNlIGlmIChbbW9k
aWZpZXJOYW1lIGlzRXF1YWxUb1N0cmluZzpAIm1ldGEiXSkKLSAgICAgICAgbW9kaWZpZXIgPSBX
ZWJFdmVudEZsYWdNYXNrQ29tbWFuZDsKKyAgICAgICAgbW9kaWZpZXIgPSBXZWJFdmVudEZsYWdN
YXNrTGVmdENvbW1hbmRLZXk7CiAgICAgZWxzZSBpZiAoW21vZGlmaWVyTmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJjdHJsIl0pCi0gICAgICAgIG1vZGlmaWVyID0gV2ViRXZlbnRGbGFnTWFza0NvbnRy
b2w7CisgICAgICAgIG1vZGlmaWVyID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb250cm9sS2V5Owog
CiAgICAgaWYgKCFtb2RpZmllcikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQppbmRleCA5MzU2MTVmY2RjMGJlOTEx
ZTcwYTY3YTU3ZDZhM2ZkZTQ5ZDM2NDcxLi42OGVjODU2MGZkYjllOGNjNmY2MThhMzVhMzEwZDc1
OTM5MmEzNGRlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVu
dEdlbmVyYXRvci5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdl
bmVyYXRvci5tbQpAQCAtOTYwLDEzICs5NjAsMTggQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCBo
aWRVc2FnZUNvZGVGb3JDaGFyYWN0ZXIoTlNTdHJpbmcgKmtleSkKICAgICAgICAgcmV0dXJuIGtI
SURVc2FnZV9LZXlib2FyZFJpZ2h0R1VJOwogICAgIGlmIChba2V5IGlzRXF1YWxUb1N0cmluZzpA
ImNsZWFyIl0pIC8vIE51bSBMb2NrIC8gQ2xlYXIKICAgICAgICAgcmV0dXJuIGtISURVc2FnZV9L
ZXlwYWROdW1Mb2NrOwotICAgIC8vIFRoZSBzaW11bGF0b3Iga2V5Ym9hcmQgaW50ZXJwcmV0cyBi
b3RoIGxlZnQgYW5kIHJpZ2h0IG1vZGlmaWVyIGtleXMgdXNpbmcgdGhlIGxlZnQgdmVyc2lvbiBv
ZiB0aGUgdXNhZ2UgY29kZS4KLSAgICBpZiAoW2tleSBpc0VxdWFsVG9TdHJpbmc6QCJsZWZ0Q29u
dHJvbCJdIHx8IFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAicmlnaHRDb250cm9sIl0pCisgICAgaWYg
KFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAibGVmdENvbnRyb2wiXSkKICAgICAgICAgcmV0dXJuIGtI
SURVc2FnZV9LZXlib2FyZExlZnRDb250cm9sOwotICAgIGlmIChba2V5IGlzRXF1YWxUb1N0cmlu
ZzpAImxlZnRTaGlmdCJdIHx8IFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAicmlnaHRTaGlmdCJdKQor
ICAgIGlmIChba2V5IGlzRXF1YWxUb1N0cmluZzpAInJpZ2h0Q29udHJvbCJdKQorICAgICAgICBy
ZXR1cm4ga0hJRFVzYWdlX0tleWJvYXJkUmlnaHRDb250cm9sOworICAgIGlmIChba2V5IGlzRXF1
YWxUb1N0cmluZzpAImxlZnRTaGlmdCJdKQogICAgICAgICByZXR1cm4ga0hJRFVzYWdlX0tleWJv
YXJkTGVmdFNoaWZ0OwotICAgIGlmIChba2V5IGlzRXF1YWxUb1N0cmluZzpAImxlZnRBbHQiXSB8
fCBba2V5IGlzRXF1YWxUb1N0cmluZzpAInJpZ2h0QWx0Il0pCisgICAgaWYgKFtrZXkgaXNFcXVh
bFRvU3RyaW5nOkAicmlnaHRTaGlmdCJdKQorICAgICAgICByZXR1cm4ga0hJRFVzYWdlX0tleWJv
YXJkUmlnaHRTaGlmdDsKKyAgICBpZiAoW2tleSBpc0VxdWFsVG9TdHJpbmc6QCJsZWZ0QWx0Il0p
CiAgICAgICAgIHJldHVybiBrSElEVXNhZ2VfS2V5Ym9hcmRMZWZ0QWx0OworICAgIGlmIChba2V5
IGlzRXF1YWxUb1N0cmluZzpAInJpZ2h0QWx0Il0pCisgICAgICAgIHJldHVybiBrSElEVXNhZ2Vf
S2V5Ym9hcmRSaWdodEFsdDsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcxYTQ5OTg3NzNk
OTc3NzM0ZDkzOWNkNjAxOWJlMmFkYTk3NTBkOWIuLmNiM2UyZmVlMDRiY2NkN2U4ZmMyNjAyNmQy
MTkzMjFiOTg2ZGRmMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0xMC0xMSAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2ViS2l0IHNob3Vs
ZCBkaXNwYXRjaCBET00gZXZlbnRzIHdoZW4gYSBtb2RpZmllciBrZXkgaXMgcHJlc3NlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDg3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVj
dGVkIHJlc3VsdHMgb2YgYW4gZXhpc3RpbmcgdGVzdCBub3cgdGhhdCB3ZSBpZGVudGlmeSBtb2Rp
ZmllciBrZXlzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2tleWRvd24ta2V5dXAtc3Bl
Y2lhbC1rZXlzLWluLW5vbi1lZGl0YWJsZS1lbGVtZW50LWV4cGVjdGVkLnR4dDoKKwogMjAxOC0x
MC0xMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjIzMDUyMyk6IENhcHMgbG9jayBpbmRpY2F0b3Igbm90IHNob3duIGluIHBhc3N3
b3JkIGZpZWxkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5ZG93
bi1rZXl1cC1zcGVjaWFsLWtleXMtaW4tbm9uLWVkaXRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2tleWRvd24ta2V5dXAtc3BlY2lhbC1rZXlz
LWluLW5vbi1lZGl0YWJsZS1lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCA0M2EyN2FiYmZmYzcz
ZmU4YTlhZTQ2M2FiYWE3ODRhMmU3MzcxNTJmLi4wZDBjODQ3YzlkM2YyNmY4YmQ2MTMxODg4ZWI0
NjI1NGNkODIxNmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5
ZG93bi1rZXl1cC1zcGVjaWFsLWtleXMtaW4tbm9uLWVkaXRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXlkb3duLWtleXVwLXNwZWNp
YWwta2V5cy1pbi1ub24tZWRpdGFibGUtZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTIwLDI4ICsy
MCwyOCBAQCB0eXBlOiBrZXlkb3duLCBrZXk6IAEsIGNvZGU6IEhvbWUsIGtleUlkZW50aWZpZXI6
IFUrMDAwMSwga2V5Q29kZTogMzYsIGNoYXJDb2RlOgogdHlwZToga2V5dXAsIGtleTogRGVhZCwg
Y29kZTogSG9tZSwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAzNiwgY2hh
ckNvZGU6IDAsIGtleUNvZGU6IDM2LCB3aGljaDogMzYKIHR5cGU6IGtleWRvd24sIGtleTogRGVh
ZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNv
ZGU6IDQ1LCBjaGFyQ29kZTogMCwga2V5Q29kZTogNDUsIHdoaWNoOiA0NQogdHlwZToga2V5dXAs
IGtleTogRGVhZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZp
ZWQsIGtleUNvZGU6IDQ1LCBjaGFyQ29kZTogMCwga2V5Q29kZTogNDUsIHdoaWNoOiA0NQotdHlw
ZToga2V5ZG93biwga2V5OiBEZWFkLCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6
IFVuaWRlbnRpZmllZCwga2V5Q29kZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hp
Y2g6IDE4Ci10eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlk
ZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2Rl
OiAxOCwgd2hpY2g6IDE4Ci10eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNvZGU6IE1ldGFMZWZ0
LCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDkxLCBjaGFyQ29kZTogMCwg
a2V5Q29kZTogOTEsIHdoaWNoOiA5MQotdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogTWV0
YUxlZnQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogOTEsIGNoYXJDb2Rl
OiAwLCBrZXlDb2RlOiA5MSwgd2hpY2g6IDkxCi10eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNv
ZGU6IENvbnRyb2xMZWZ0LCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE3
LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTcsIHdoaWNoOiAxNwotdHlwZToga2V5dXAsIGtleTog
RGVhZCwgY29kZTogQ29udHJvbExlZnQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5
Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Ci10eXBlOiBrZXlk
b3duLCBrZXk6IERlYWQsIGNvZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRpZmllcjogVW5pZGVudGlm
aWVkLCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKLXR5
cGU6IGtleXVwLCBrZXk6IERlYWQsIGNvZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRpZmllcjogVW5p
ZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDog
MTYKK3R5cGU6IGtleWRvd24sIGtleTogQWx0LCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50
aWZpZXI6IEFsdCwga2V5Q29kZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hpY2g6
IDE4Cit0eXBlOiBrZXl1cCwga2V5OiBBbHQsIGNvZGU6IFVuaWRlbnRpZmllZCwga2V5SWRlbnRp
ZmllcjogQWx0LCBrZXlDb2RlOiAxOCwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE4LCB3aGljaDog
MTgKK3R5cGU6IGtleWRvd24sIGtleTogTWV0YSwgY29kZTogTWV0YUxlZnQsIGtleUlkZW50aWZp
ZXI6IE1ldGEsIGtleUNvZGU6IDkxLCBjaGFyQ29kZTogMCwga2V5Q29kZTogOTEsIHdoaWNoOiA5
MQordHlwZToga2V5dXAsIGtleTogTWV0YSwgY29kZTogTWV0YUxlZnQsIGtleUlkZW50aWZpZXI6
IE1ldGEsIGtleUNvZGU6IDkxLCBjaGFyQ29kZTogMCwga2V5Q29kZTogOTEsIHdoaWNoOiA5MQor
dHlwZToga2V5ZG93biwga2V5OiBDb250cm9sLCBjb2RlOiBDb250cm9sTGVmdCwga2V5SWRlbnRp
ZmllcjogQ29udHJvbCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hp
Y2g6IDE3Cit0eXBlOiBrZXl1cCwga2V5OiBDb250cm9sLCBjb2RlOiBDb250cm9sTGVmdCwga2V5
SWRlbnRpZmllcjogQ29udHJvbCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAx
Nywgd2hpY2g6IDE3Cit0eXBlOiBrZXlkb3duLCBrZXk6IFNoaWZ0LCBjb2RlOiBTaGlmdExlZnQs
IGtleUlkZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6
IDE2LCB3aGljaDogMTYKK3R5cGU6IGtleXVwLCBrZXk6IFNoaWZ0LCBjb2RlOiBTaGlmdExlZnQs
IGtleUlkZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6
IDE2LCB3aGljaDogMTYKIHR5cGU6IGtleWRvd24sIGtleTogUGFnZURvd24sIGNvZGU6IFBhZ2VE
b3duLCBrZXlJZGVudGlmaWVyOiBQYWdlRG93biwga2V5Q29kZTogMzQsIGNoYXJDb2RlOiAwLCBr
ZXlDb2RlOiAzNCwgd2hpY2g6IDM0CiB0eXBlOiBrZXl1cCwga2V5OiBQYWdlRG93biwgY29kZTog
UGFnZURvd24sIGtleUlkZW50aWZpZXI6IFBhZ2VEb3duLCBrZXlDb2RlOiAzNCwgY2hhckNvZGU6
IDAsIGtleUNvZGU6IDM0LCB3aGljaDogMzQKIHR5cGU6IGtleWRvd24sIGtleTogUGFnZVVwLCBj
b2RlOiBQYWdlVXAsIGtleUlkZW50aWZpZXI6IFBhZ2VVcCwga2V5Q29kZTogMzMsIGNoYXJDb2Rl
OiAwLCBrZXlDb2RlOiAzMywgd2hpY2g6IDMzCiB0eXBlOiBrZXl1cCwga2V5OiBQYWdlVXAsIGNv
ZGU6IFBhZ2VVcCwga2V5SWRlbnRpZmllcjogUGFnZVVwLCBrZXlDb2RlOiAzMywgY2hhckNvZGU6
IDAsIGtleUNvZGU6IDMzLCB3aGljaDogMzMKIHR5cGU6IGtleWRvd24sIGtleTogRW50ZXIsIGNv
ZGU6IEVudGVyLCBrZXlJZGVudGlmaWVyOiBFbnRlciwga2V5Q29kZTogMTMsIGNoYXJDb2RlOiAw
LCBrZXlDb2RlOiAxMywgd2hpY2g6IDEzCiB0eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBjb2RlOiBF
bnRlciwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxMywgY2hhckNvZGU6
IDAsIGtleUNvZGU6IDEzLCB3aGljaDogMTMKLXR5cGU6IGtleWRvd24sIGtleTogRGVhZCwgY29k
ZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE4
LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTgsIHdoaWNoOiAxOAotdHlwZToga2V5dXAsIGtleTog
RGVhZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtl
eUNvZGU6IDE4LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTgsIHdoaWNoOiAxOAotdHlwZToga2V5
ZG93biwga2V5OiBEZWFkLCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IFVuaWRl
bnRpZmllZCwga2V5Q29kZTogOTMsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiA5Mywgd2hpY2g6IDkz
Ci10eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZp
ZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogOTMsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiA5Mywg
d2hpY2g6IDkzCi10eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNvZGU6IENvbnRyb2xMZWZ0LCBr
ZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE3LCBjaGFyQ29kZTogMCwga2V5
Q29kZTogMTcsIHdoaWNoOiAxNwotdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogQ29udHJv
bExlZnQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogMTcsIGNoYXJDb2Rl
OiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Ci10eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNv
ZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwg
Y2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKLXR5cGU6IGtleXVwLCBrZXk6IERl
YWQsIGNvZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2Rl
OiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKK3R5cGU6IGtleWRvd24s
IGtleTogQWx0LCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IEFsdCwga2V5Q29k
ZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hpY2g6IDE4Cit0eXBlOiBrZXl1cCwg
a2V5OiBBbHQsIGNvZGU6IFVuaWRlbnRpZmllZCwga2V5SWRlbnRpZmllcjogQWx0LCBrZXlDb2Rl
OiAxOCwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE4LCB3aGljaDogMTgKK3R5cGU6IGtleWRvd24s
IGtleTogTWV0YSwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVyOiBNZXRhLCBrZXlD
b2RlOiA5MywgY2hhckNvZGU6IDAsIGtleUNvZGU6IDkzLCB3aGljaDogOTMKK3R5cGU6IGtleXVw
LCBrZXk6IE1ldGEsIGNvZGU6IFVuaWRlbnRpZmllZCwga2V5SWRlbnRpZmllcjogTWV0YSwga2V5
Q29kZTogOTMsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiA5Mywgd2hpY2g6IDkzCit0eXBlOiBrZXlk
b3duLCBrZXk6IENvbnRyb2wsIGNvZGU6IENvbnRyb2xSaWdodCwga2V5SWRlbnRpZmllcjogQ29u
dHJvbCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Cit0
eXBlOiBrZXl1cCwga2V5OiBDb250cm9sLCBjb2RlOiBDb250cm9sUmlnaHQsIGtleUlkZW50aWZp
ZXI6IENvbnRyb2wsIGtleUNvZGU6IDE3LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTcsIHdoaWNo
OiAxNwordHlwZToga2V5ZG93biwga2V5OiBTaGlmdCwgY29kZTogU2hpZnRSaWdodCwga2V5SWRl
bnRpZmllcjogU2hpZnQsIGtleUNvZGU6IDE2LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTYsIHdo
aWNoOiAxNgordHlwZToga2V5dXAsIGtleTogU2hpZnQsIGNvZGU6IFNoaWZ0UmlnaHQsIGtleUlk
ZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3
aGljaDogMTYKIHR5cGU6IGtleWRvd24sIGtleTogECwgY29kZTogRjEsIGtleUlkZW50aWZpZXI6
IFUrMDAxMCwga2V5Q29kZTogMTEyLCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTEyLCB3aGljaDog
MTEyCiB0eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBjb2RlOiBGMSwga2V5SWRlbnRpZmllcjogVW5p
ZGVudGlmaWVkLCBrZXlDb2RlOiAxMTIsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxMTIsIHdoaWNo
OiAxMTIKIHR5cGU6IGtleWRvd24sIGtleTogECwgY29kZTogRjIsIGtleUlkZW50aWZpZXI6IFUr
MDAxMCwga2V5Q29kZTogMTEzLCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTEzLCB3aGljaDogMTEz
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353432</attachid>
            <date>2018-10-30 16:40:16 -0700</date>
            <delta_ts>2018-11-01 16:32:17 -0700</delta_ts>
            <desc>Patch and test</desc>
            <filename>bug-190487-20181030164016.patch</filename>
            <type>text/plain</type>
            <size>34627</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVmNjU5N2JkMDg4YmFk
YzNlNTFiNjBiYmFkODVlYzEwNGZhZGY2Yi4uMGIwMzE4ZTkzYTFkZTUyMWY4OTU5YmU5NjAyZjc5
N2I5MzVmNjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTEwLTMwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJLaXQgc2hv
dWxkIGRpc3BhdGNoIERPTSBldmVudHMgd2hlbiBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgbW9kaWZpZXIgZmxhZ3MgY2hhbmdlIGV2ZW50cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1vZGlm
aWVyc0ZvckV2ZW50KTogTW9kaWZpZXIga2V5cyBkbyBub3QgaGF2ZSBhbiBhc3NvY2lhdGVkIGNo
YXJhY3RlciBhbmQgZG8gbm90CisgICAgICAgIHBhcnRpY2lwYXRlIGluIGtleSByZXBlYXQuCisg
ICAgICAgIChXZWJDb3JlOjprZXlJZGVudGlmaWVyRm9yS2V5RXZlbnQpOiBJZGVudGlmeSBtb2Rp
ZmllciBrZXlzLCByZXR1cm5pbmcgIlVuaWRlbnRpZmllZCIgaWYKKyAgICAgICAgdGhlIG1vZGlm
aWVyIGtleSBpcyB1bmlkZW50aWZpZWQuIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3Igb24gTWFj
LgorICAgICAgICAoV2ViQ29yZTo6a2V5Rm9yS2V5RXZlbnQpOiBJZGVudGlmeSBtb2RpZmllciBr
ZXlzLCByZXR1cm5pbmcgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgbW9kaWZpZXIKKyAgICAgICAg
a2V5IGlzIHVuaWRlbnRpZmllZC4gVGhpcyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvbiBNYWMuCisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybUtl
eWJvYXJkRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaDoK
KworICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJFdmVudC5tbToKKyAgICAgICAgKC1bV2ViRXZl
bnQgaW5pdFdpdGhLZXlFdmVudFR5cGU6dGltZVN0YW1wOmNoYXJhY3RlcnM6Y2hhcmFjdGVyc0ln
bm9yaW5nTW9kaWZpZXJzOm1vZGlmaWVyczppc1JlcGVhdGluZzp3aXRoRmxhZ3M6a2V5Q29kZTpp
c1RhYktleTpjaGFyYWN0ZXJTZXQ6XSk6CisgICAgICAgICgtW1dlYkV2ZW50IGluaXRXaXRoS2V5
RXZlbnRUeXBlOnRpbWVTdGFtcDpjaGFyYWN0ZXJzOmNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVy
czptb2RpZmllcnM6aXNSZXBlYXRpbmc6d2l0aEZsYWdzOndpdGhJbnB1dE1hbmFnZXJIaW50Omtl
eUNvZGU6aXNUYWJLZXk6XSk6CisgICAgICAgIE1vZGlmaWVyIGtleXMgZG8gbm90IGhhdmUgYW4g
YXNzb2NpYXRlZCBjaGFyYWN0ZXIgYW5kIGRvIG5vdCBwYXJ0aWNpcGF0ZSBpbiBrZXkgcmVwZWF0
LgorCisgICAgICAgICgtW1dlYkV2ZW50IF9ldmVudERlc2NyaXB0aW9uXSk6IE1vZGlmaWVkIHRv
IHByaW50IGEgZGVzY3JpcHRpb24gZm9yIGEga2V5ZG93biBvciBrZXl1cCBldmVudAorICAgICAg
ICB0aGF0IHJlcHJlc2VudHMgYSBtb2RpZmllciBmbGFncyBjaGFuZ2UuCisgICAgICAgICgtW1dl
YkV2ZW50IGNoYXJhY3RlcnNdKTogTW9kaWZpZXIga2V5cyBkbyBub3QgaGF2ZSBhbiBhc3NvY2lh
dGVkIGNoYXJhY3Rlci4gQXNzZXJ0IHRoaXMKKyAgICAgICAgaW52YXJpYW50IGFzIGl0IGlzIGEg
cHJvZ3JhbW1pbmcgZXJyb3IuIE9uIE1hYywgdGhlIHNhbWUgb3BlcmF0aW9uIHdvdWxkIHJlc3Vs
dCBpbiBhCisgICAgICAgIE5TSW50ZXJuYWxJbmNvbnNpc3RlbmN5RXhjZXB0aW9uIGV4Y2VwdGlv
biBiZWluZyByYWlzZWQuCisgICAgICAgICgtW1dlYkV2ZW50IGNoYXJhY3RlcnNJZ25vcmluZ01v
ZGlmaWVyc10pOiBEaXR0by4KKwogMjAxOC0xMC0zMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW0FwcGxlIFBheV0gUGF5bWVudFJlcXVlc3QuY2FuTWFrZVBheW1l
bnQoKSBzaG91bGQgcmVzb2x2ZSB0byB0cnVlIHdoZW5ldmVyIEFwcGxlIFBheSBpcyBhdmFpbGFi
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggOTYwNGQ0MTEwNzg4OTk3ZGVkOGE1NDQ1NDlkNTY0MTNlYjBkZjNiOS4u
ZDlmYzQyMDJkNmM4N2YzYWYwOWZhYmVhYTY3NTVhMjc1MzZkNWEyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOC0xMC0zMCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW2lPU10gV2ViS2l0IHNob3VsZCBkaXNwYXRjaCBET00gZXZlbnRzIHdoZW4g
YSBtb2RpZmllciBrZXkgaXMgcHJlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGZsYWdzIGNoYW5nZSBl
dmVudHMgZGlzcGF0Y2hlZCBieSBVSUtpdC4KKworICAgICAgICAqIFNoYXJlZC9pb3MvV2ViSU9T
RXZlbnRGYWN0b3J5Lm1tOgorICAgICAgICAobW9kaWZpZXJzRm9yRXZlbnQpOiBVcGRhdGUgZm9y
IHJlbmFtZWQgZW51bWVyYXRvcnMuCisgICAgICAgIChXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0
ZVdlYktleWJvYXJkRXZlbnQpOiBNb2RpZmllciBrZXlzIGRvIG5vdCBoYXZlIGFuIGFzc29jaWF0
ZWQKKyAgICAgICAgY2hhcmFjdGVyIGFuZCBkbyBub3QgcGFydGljaXBhdGUgaW4ga2V5IHJlcGVh
dC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9pb3MvV2ViQXV0b21hdGlvblNlc3Np
b25JT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9y
bVNpbXVsYXRlS2V5Ym9hcmRJbnRlcmFjdGlvbik6IFVwZGF0ZSBmb3IgcmVuYW1lZCBlbnVtZXJh
dG9ycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaW50ZXJwcmV0S2V5RXZlbnQ6aXNDaGFyRXZl
bnQ6XSk6IFJldHVybiBOTyBpZiB0aGUgZXZlbnQgcmVwcmVzZW50cyBhCisgICAgICAgIG1vZGlm
aWVyIGZsYWdzIGNoYW5nZSB0byBhbGxvdyB0aGUgZGVmYXVsdCBoYW5kbGluZy4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbToKKyAgICAgICAg
KC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtleWJvYXJkU2Nyb2xsRm9yRXZlbnQ6XSk6
IFVwZGF0ZSBmb3IgcmVuYW1lZCBlbnVtZXJhdG9ycy4KKwogMjAxOC0xMC0zMCAgWmFuIERvYmVy
c2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3JkR3JhcGhpY3NdIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Zmx1c2hMYXllcnNBbmRGb3JjZVJlcGFpbnQoKSBzaG91
bGQgc2NoZWR1bGUgdGhlIGZsdXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggOGY2
ZDZlZjBkYWRlZWJhMGQwYmVkN2UwODMxNjU2NGY5ZWIzOWUzMy4uNmQyYzIyMTA5NjBkOGUzMTAw
NDgzODYzMmRjNjE2NDkzZGVkNGM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE4LTEwLTMwICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KKworICAgICAgICBbaU9TXSBXZWJLaXQgc2hvdWxkIGRpc3BhdGNoIERPTSBldmVudHMgd2hl
biBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBIYXZpbmcgTGVnYWN5IFdlYktpdCByZXR1cm4gTk8gaWYgdGhl
IGVkaXRpbmcgZXZlbnQgcmVwcmVzZW50cyBhIG1vZGlmaWVyIGZsYWdzIGNoYW5nZSB0bworICAg
ICAgICBhbGxvdyB0aGUgZGVmYXVsdCBoYW5kbGluZy4KKworICAgICAgICAqIFdlYlZpZXcvV2Vi
SFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9oYW5kbGVFZGl0aW5nS2V5RXZl
bnQ6XSk6CisKIDIwMTgtMTAtMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTW9kZXJuaXplIFdlYktpdCBuaWJzIGFuZCBscHJvanMgZm9yIGxvY2Fs
aXphdGlvbidzIHNha2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQppbmRleCAzN2JlODJlOGQwOTg0MTIyNGE1NGUxODNj
NGUyODY4OTgwNzAyNGVjLi5hNjc2NDhmMjJlOTRlZTE5MjhjMzc3NDViYWIxOWMyNGIzYjg0ZDk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZh
Y3RvcnlJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZl
bnRGYWN0b3J5SU9TLm1tCkBAIC00NCwxNSArNDQsMTUgQEAgc3RhdGljIE9wdGlvblNldDxQbGF0
Zm9ybUV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzRm9yRXZlbnQoV2ViRXZlbnQgKmV2ZW50KQog
ewogICAgIE9wdGlvblNldDxQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzOwogCi0g
ICAgaWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrU2hpZnQpCisgICAg
aWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrU2hpZnRLZXkpCiAgICAg
ICAgIG1vZGlmaWVycy5hZGQoUGxhdGZvcm1FdmVudDo6TW9kaWZpZXI6OlNoaWZ0S2V5KTsKLSAg
ICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb250cm9sKQorICAg
IGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0NvbnRyb2xLZXkpCiAg
ICAgICAgIG1vZGlmaWVycy5hZGQoUGxhdGZvcm1FdmVudDo6TW9kaWZpZXI6OkN0cmxLZXkpOwot
ICAgIGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0FsdGVybmF0ZSkK
KyAgICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tPcHRpb25LZXkp
CiAgICAgICAgIG1vZGlmaWVycy5hZGQoUGxhdGZvcm1FdmVudDo6TW9kaWZpZXI6OkFsdEtleSk7
Ci0gICAgaWYgKGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQ29tbWFuZCkK
KyAgICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kS2V5
KQogICAgICAgICBtb2RpZmllcnMuYWRkKFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVyOjpNZXRhS2V5
KTsKLSAgICBpZiAoZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tBbHBoYVNo
aWZ0KQorICAgIGlmIChldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0xlZnRD
YXBzTG9ja0tleSkKICAgICAgICAgbW9kaWZpZXJzLmFkZChQbGF0Zm9ybUV2ZW50OjpNb2RpZmll
cjo6Q2Fwc0xvY2tLZXkpOwogCiAgICAgcmV0dXJuIG1vZGlmaWVyczsKQEAgLTEyNyw2ICsxMjcs
MzIgQEAgUGxhdGZvcm1XaGVlbEV2ZW50IFBsYXRmb3JtRXZlbnRGYWN0b3J5OjpjcmVhdGVQbGF0
Zm9ybVdoZWVsRXZlbnQoV2ViRXZlbnQgKmV2ZW4KIAogU3RyaW5nIGtleUlkZW50aWZpZXJGb3JL
ZXlFdmVudChXZWJFdmVudCAqZXZlbnQpCiB7CisgICAgaWYgKGV2ZW50LmtleWJvYXJkRmxhZ3Mg
JiBXZWJFdmVudEtleWJvYXJkSW5wdXRNb2RpZmllckZsYWdzQ2hhbmdlZCkgeworICAgICAgICBz
d2l0Y2ggKGV2ZW50LmtleUNvZGUpIHsKKyAgICAgICAgY2FzZSBWS19MV0lOOiAvLyBMZWZ0IENv
bW1hbmQKKyAgICAgICAgY2FzZSBWS19BUFBTOiAvLyBSaWdodCBDb21tYW5kCisgICAgICAgICAg
ICByZXR1cm4gIk1ldGEiX3M7CisKKyAgICAgICAgY2FzZSBWS19DQVBJVEFMOiAvLyBDYXBzIExv
Y2sKKyAgICAgICAgICAgIHJldHVybiAiQ2Fwc0xvY2siX3M7CisKKyAgICAgICAgY2FzZSBWS19M
U0hJRlQ6IC8vIExlZnQgU2hpZnQKKyAgICAgICAgY2FzZSBWS19SU0hJRlQ6IC8vIFJpZ2h0IFNo
aWZ0CisgICAgICAgICAgICByZXR1cm4gIlNoaWZ0Il9zOworCisgICAgICAgIGNhc2UgVktfTE1F
TlU6IC8vIExlZnQgQWx0CisgICAgICAgIGNhc2UgVktfUk1FTlU6IC8vIFJpZ2h0IEFsdAorICAg
ICAgICAgICAgcmV0dXJuICJBbHQiX3M7CisKKyAgICAgICAgY2FzZSBWS19MQ09OVFJPTDogLy8g
TGVmdCBDdHJsCisgICAgICAgIGNhc2UgVktfUkNPTlRST0w6IC8vIFJpZ2h0IEN0cmwKKyAgICAg
ICAgICAgIHJldHVybiAiQ29udHJvbCJfczsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmco
KTsKKyAgICAgICAgfQorICAgIH0KICAgICBOU1N0cmluZyAqY2hhcmFjdGVycyA9IGV2ZW50LmNo
YXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczsKICAgICBpZiAoW2NoYXJhY3RlcnMgbGVuZ3RoXSAh
PSAxKSB7CiAgICAgICAgIExPRyhFdmVudHMsICJyZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG51bWJl
ciBvZiBjaGFyYWN0ZXJzIGluIGtleSBldmVudDogJXUiLCBbY2hhcmFjdGVycyBsZW5ndGhdKTsK
QEAgLTEzNyw2ICsxNjMsMzMgQEAgU3RyaW5nIGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChXZWJF
dmVudCAqZXZlbnQpCiAKIFN0cmluZyBrZXlGb3JLZXlFdmVudChXZWJFdmVudCAqZXZlbnQpCiB7
CisgICAgaWYgKGV2ZW50LmtleWJvYXJkRmxhZ3MgJiBXZWJFdmVudEtleWJvYXJkSW5wdXRNb2Rp
ZmllckZsYWdzQ2hhbmdlZCkgeworICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHsKKyAg
ICAgICAgY2FzZSBWS19MV0lOOiAvLyBMZWZ0IENvbW1hbmQKKyAgICAgICAgY2FzZSBWS19BUFBT
OiAvLyBSaWdodCBDb21tYW5kCisgICAgICAgICAgICByZXR1cm4gIk1ldGEiX3M7CisKKyAgICAg
ICAgY2FzZSBWS19DQVBJVEFMOiAvLyBDYXBzIExvY2sKKyAgICAgICAgICAgIHJldHVybiAiQ2Fw
c0xvY2siX3M7CisKKyAgICAgICAgY2FzZSBWS19MU0hJRlQ6IC8vIExlZnQgU2hpZnQKKyAgICAg
ICAgY2FzZSBWS19SU0hJRlQ6IC8vIFJpZ2h0IFNoaWZ0CisgICAgICAgICAgICByZXR1cm4gIlNo
aWZ0Il9zOworCisgICAgICAgIGNhc2UgVktfTE1FTlU6IC8vIExlZnQgQWx0CisgICAgICAgIGNh
c2UgVktfUk1FTlU6IC8vIFJpZ2h0IEFsdAorICAgICAgICAgICAgcmV0dXJuICJBbHQiX3M7CisK
KyAgICAgICAgY2FzZSBWS19MQ09OVFJPTDogLy8gTGVmdCBDdHJsCisgICAgICAgIGNhc2UgVktf
UkNPTlRST0w6IC8vIFJpZ2h0IEN0cmwKKyAgICAgICAgICAgIHJldHVybiAiQ29udHJvbCJfczsK
KworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICByZXR1cm4gIlVuaWRlbnRpZmllZCJfczsKKyAgICAgICAgfQorICAgIH0KKwog
ICAgIE5TU3RyaW5nICpjaGFyYWN0ZXJzID0gZXZlbnQuY2hhcmFjdGVyczsKICAgICBhdXRvIGxl
bmd0aCA9IFtjaGFyYWN0ZXJzIGxlbmd0aF07CiAgICAgLy8gY2hhcmFjdGVycyByZXR1cm4gYW4g
ZW1wdHkgc3RyaW5nIGZvciBkZWFkIGtleXMuCkBAIC0zNzEsMTMgKzQyNCwxOSBAQCBwdWJsaWM6
CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwogICAgICAg
ICBtX3RpbWVzdGFtcCA9IFdhbGxUaW1lOjpub3coKTsKIAotICAgICAgICBtX3RleHQgPSBldmVu
dC5jaGFyYWN0ZXJzOwotICAgICAgICBtX3VubW9kaWZpZWRUZXh0ID0gZXZlbnQuY2hhcmFjdGVy
c0lnbm9yaW5nTW9kaWZpZXJzOworICAgICAgICBpZiAoZXZlbnQua2V5Ym9hcmRGbGFncyAmIFdl
YkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkKSB7CisgICAgICAgICAgICBt
X3RleHQgPSBlbXB0eVN0cmluZygpOworICAgICAgICAgICAgbV91bm1vZGlmaWVkVGV4dCA9IGVt
cHR5U3RyaW5nKCk7CisgICAgICAgICAgICBtX2F1dG9SZXBlYXQgPSBmYWxzZTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIG1fdGV4dCA9IGV2ZW50LmNoYXJhY3RlcnM7CisgICAgICAg
ICAgICBtX3VubW9kaWZpZWRUZXh0ID0gZXZlbnQuY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJz
OworICAgICAgICAgICAgbV9hdXRvUmVwZWF0ID0gZXZlbnQuaXNLZXlSZXBlYXRpbmc7CisgICAg
ICAgIH0KICAgICAgICAgbV9rZXkgPSBrZXlGb3JLZXlFdmVudChldmVudCk7CiAgICAgICAgIG1f
Y29kZSA9IGNvZGVGb3JLZXlFdmVudChldmVudCk7CiAgICAgICAgIG1fa2V5SWRlbnRpZmllciA9
IGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChldmVudCk7CiAgICAgICAgIG1fd2luZG93c1ZpcnR1
YWxLZXlDb2RlID0gZXZlbnQua2V5Q29kZTsKLSAgICAgICAgbV9hdXRvUmVwZWF0ID0gZXZlbnQu
aXNLZXlSZXBlYXRpbmc7CiAgICAgICAgIG1faXNLZXlwYWQgPSBmYWxzZTsgLy8gaU9TIGRvZXMg
bm90IGRpc3Rpbmd1aXNoIHRoZSBudW1wYWQuIFNlZSA8cmRhcjovL3Byb2JsZW0vNzE5MDgzNT4u
CiAgICAgICAgIG1faXNTeXN0ZW1LZXkgPSBmYWxzZTsKICAgICAgICAgbV9FdmVudCA9IGV2ZW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaAppbmRleCBhNDBiZjYwZmZhNjFm
YmI5ZTdkZDE3YWUzNWQ3NTIyZWE1ZDAzNDBiLi41YTliNDc0ODI3MzQ5NDhiMmZlNmRiYjc3NWEw
ODgzYTBhOGM4ZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaApAQCAt
NTYsMTYgKzU2LDQyIEBAIHR5cGVkZWYgZW51bSB7CiAgICAgV2ViRXZlbnRUb3VjaFBoYXNlQ2Fu
Y2VsbGVkCiB9IFdlYkV2ZW50VG91Y2hQaGFzZVR5cGU7CiAKKy8vIFRoZXNlIGVudW0gdmFsdWVz
IGFyZSBjb3BpZWQgZGlyZWN0bHkgZnJvbSBHU0V2ZW50IGZvciBjb21wYXRpYmlsaXR5LgorZW51
bSB7CisgICAgV2ViRXZlbnRMZWZ0Q29tbWFuZEtleSwKKyAgICBXZWJFdmVudExlZnRTaGlmdEtl
eSwKKyAgICBXZWJFdmVudExlZnRDYXBzTG9ja0tleSwKKyAgICBXZWJFdmVudExlZnRPcHRpb25L
ZXksCisgICAgV2ViRXZlbnRMZWZ0Q29udHJvbEtleSwKKyAgICBXZWJFdmVudFJpZ2h0U2hpZnRL
ZXksCisgICAgV2ViRXZlbnRSaWdodE9wdGlvbktleSwKKyAgICBXZWJFdmVudFJpZ2h0Q29udHJv
bEtleSwKKyAgICBXZWJFdmVudFJpZ2h0Q29tbWFuZEtleSwKKyAgICBXZWJFdmVudERlYWRLZXks
Cit9OworCiAvLyBUaGVzZSBlbnVtIHZhbHVlcyBhcmUgY29waWVkIGRpcmVjdGx5IGZyb20gR1NF
dmVudCBmb3IgY29tcGF0aWJpbGl0eS4KIHR5cGVkZWYgZW51bSB7Ci0gICAgV2ViRXZlbnRGbGFn
TWFza0FscGhhU2hpZnQgPSAweDAwMDEwMDAwLAotICAgIFdlYkV2ZW50RmxhZ01hc2tTaGlmdCAg
ICAgID0gMHgwMDAyMDAwMCwKLSAgICBXZWJFdmVudEZsYWdNYXNrQ29udHJvbCAgICA9IDB4MDAw
NDAwMDAsCi0gICAgV2ViRXZlbnRGbGFnTWFza0FsdGVybmF0ZSAgPSAweDAwMDgwMDAwLAotICAg
IFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kICAgID0gMHgwMDEwMDAwMCwKKyAgICBXZWJFdmVudEZs
YWdNYXNrTGVmdENvbW1hbmRLZXkgPSAxIDw8IChXZWJFdmVudExlZnRDb21tYW5kS2V5ICsgMTYp
LAorICAgIFdlYkV2ZW50RmxhZ01hc2tMZWZ0U2hpZnRLZXkgPSAxIDw8IChXZWJFdmVudExlZnRT
aGlmdEtleSArIDE2KSwKKyAgICBXZWJFdmVudEZsYWdNYXNrTGVmdENhcHNMb2NrS2V5ID0gMSA8
PCAoV2ViRXZlbnRMZWZ0Q2Fwc0xvY2tLZXkgKyAxNiksCisgICAgV2ViRXZlbnRGbGFnTWFza0xl
ZnRPcHRpb25LZXkgPSAxIDw8IChXZWJFdmVudExlZnRPcHRpb25LZXkgKyAxNiksCisgICAgV2Vi
RXZlbnRGbGFnTWFza0xlZnRDb250cm9sS2V5ID0gMSA8PCAoV2ViRXZlbnRMZWZ0Q29udHJvbEtl
eSArIDE2KSwKKyAgICBXZWJFdmVudEZsYWdNYXNrUmlnaHRDb250cm9sS2V5ID0gMSA8PCAoV2Vi
RXZlbnRSaWdodENvbnRyb2xLZXkgKyAxNiksCisgICAgV2ViRXZlbnRGbGFnTWFza1JpZ2h0U2hp
ZnRLZXkgPSAxIDw8IChXZWJFdmVudFJpZ2h0U2hpZnRLZXkgKyAxNiksCisgICAgV2ViRXZlbnRG
bGFnTWFza1JpZ2h0T3B0aW9uS2V5ID0gMSA8PCAoV2ViRXZlbnRSaWdodE9wdGlvbktleSArIDE2
KSwKKyAgICBXZWJFdmVudEZsYWdNYXNrUmlnaHRDb21tYW5kS2V5ID0gMSA8PCAoV2ViRXZlbnRS
aWdodENvbW1hbmRLZXkgKyAxNiksCiB9IFdlYkV2ZW50RmxhZ1ZhbHVlczsKIHR5cGVkZWYgdW5z
aWduZWQgV2ViRXZlbnRGbGFnczsKIAorLy8gVGhlc2UgZW51bSB2YWx1ZXMgYXJlIGNvcGllZCBk
aXJlY3RseSBmcm9tIEdTRXZlbnQgZm9yIGNvbXBhdGliaWxpdHkuCitlbnVtIHsKKyAgICBXZWJF
dmVudEZsYWdNYXNrQ29tbWFuZEtleSA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0Q29tbWFuZEtleSB8
IFdlYkV2ZW50RmxhZ01hc2tSaWdodENvbW1hbmRLZXksCisgICAgV2ViRXZlbnRGbGFnTWFza09w
dGlvbktleSA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0T3B0aW9uS2V5IHwgV2ViRXZlbnRGbGFnTWFz
a1JpZ2h0T3B0aW9uS2V5LAorICAgIFdlYkV2ZW50RmxhZ01hc2tDb250cm9sS2V5ID0gV2ViRXZl
bnRGbGFnTWFza0xlZnRDb250cm9sS2V5IHwgV2ViRXZlbnRGbGFnTWFza1JpZ2h0Q29udHJvbEtl
eSwKKyAgICBXZWJFdmVudEZsYWdNYXNrU2hpZnRLZXkgPSBXZWJFdmVudEZsYWdNYXNrTGVmdFNo
aWZ0S2V5IHwgV2ViRXZlbnRGbGFnTWFza1JpZ2h0U2hpZnRLZXksCit9OworCiAvLyBUaGVzZSBl
bnVtIHZhbHVlcyBhcmUgY29waWVkIGRpcmVjdGx5IGZyb20gR1NFdmVudCBmb3IgY29tcGF0aWJp
bGl0eS4KIHR5cGVkZWYgZW51bSB7CiAgICAgV2ViRXZlbnRDaGFyYWN0ZXJTZXRBU0NJSSAgICAg
ICAgICAgPSAwLApAQCAtNzgsNiArMTA0LDcgQEAgdHlwZWRlZiBlbnVtIHsKIC8vIFRoZXNlIGVu
dW0gdmFsdWVzIGFyZSBjb3BpZWQgZGlyZWN0bHkgZnJvbSBVSUtpdCBmb3IgY29tcGF0aWJpbGl0
eS4KIHR5cGVkZWYgZW51bSB7CiAgICAgV2ViRXZlbnRLZXlib2FyZElucHV0UmVwZWF0ID0gMSA8
PCAwLAorICAgIFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkID0gMSA8
PCA1LAogfSBXZWJLZXlib2FyZElucHV0RmxhZ1ZhbHVlczsKIHR5cGVkZWYgTlNVSW50ZWdlciBX
ZWJLZXlib2FyZElucHV0RmxhZ3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJFdmVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVu
dC5tbQppbmRleCAwNzMyMjNiZmUzODRmYTg3Y2MwMGI4YzFhZjdmMWMzMDg1ODQyYzg5Li4wYmFi
MmM5NjA3NDEyMjM0ZGQ5MTRlNDVhMmRiN2E1MzYyZjVlN2JlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkV2ZW50Lm1tCkBAIC0xODQsMTQgKzE4NCw4IEBAIC0gKFdlYkV2ZW50ICop
aW5pdFdpdGhLZXlFdmVudFR5cGU6KFdlYkV2ZW50VHlwZSl0eXBlCiAgICAgCiAgICAgX3R5cGUg
PSB0eXBlOwogICAgIF90aW1lc3RhbXAgPSB0aW1lU3RhbXA7Ci0KLSAgICBfY2hhcmFjdGVycyA9
IFtub3JtYWxpemVkU3RyaW5nV2l0aEFwcEtpdENvbXBhdGliaWxpdHlNYXBwaW5nKGNoYXJhY3Rl
cnMpIHJldGFpbl07Ci0gICAgX2NoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVycyA9IFtub3JtYWxp
emVkU3RyaW5nV2l0aEFwcEtpdENvbXBhdGliaWxpdHlNYXBwaW5nKGNoYXJhY3RlcnNJZ25vcmlu
Z01vZGlmaWVycykgcmV0YWluXTsKLSAgICBfbW9kaWZpZXJGbGFncyA9IG1vZGlmaWVyczsKLSAg
ICBfa2V5UmVwZWF0aW5nID0gcmVwZWF0aW5nOwogICAgIF9rZXlib2FyZEZsYWdzID0gZmxhZ3M7
Ci0gICAgX3RhYktleSA9IHRhYktleTsKLSAgICAKKyAgICBfbW9kaWZpZXJGbGFncyA9IG1vZGlm
aWVyczsKICAgICBpZiAoa2V5Q29kZSkKICAgICAgICAgX2tleUNvZGUgPSB3aW5kb3dzS2V5Q29k
ZUZvcktleUNvZGUoa2V5Q29kZSk7CiAgICAgZWxzZSBpZiAoW2NoYXJhY3RlcnNJZ25vcmluZ01v
ZGlmaWVycyBsZW5ndGhdID09IDEpIHsKQEAgLTE5OSw2ICsxOTMsMTMgQEAgLSAoV2ViRXZlbnQg
Kilpbml0V2l0aEtleUV2ZW50VHlwZTooV2ViRXZlbnRUeXBlKXR5cGUKICAgICAgICAgX2tleUNv
ZGUgPSB3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlSU9TKFtjaGFyYWN0ZXJzSWdub3JpbmdNb2Rp
ZmllcnMgY2hhcmFjdGVyQXRJbmRleDowXSk7CiAgICAgfQogCisgICAgaWYgKCEoX2tleWJvYXJk
RmxhZ3MgJiBXZWJFdmVudEtleWJvYXJkSW5wdXRNb2RpZmllckZsYWdzQ2hhbmdlZCkpIHsKKyAg
ICAgICAgX2NoYXJhY3RlcnMgPSBbbm9ybWFsaXplZFN0cmluZ1dpdGhBcHBLaXRDb21wYXRpYmls
aXR5TWFwcGluZyhjaGFyYWN0ZXJzKSByZXRhaW5dOworICAgICAgICBfY2hhcmFjdGVyc0lnbm9y
aW5nTW9kaWZpZXJzID0gW25vcm1hbGl6ZWRTdHJpbmdXaXRoQXBwS2l0Q29tcGF0aWJpbGl0eU1h
cHBpbmcoY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzKSByZXRhaW5dOworICAgICAgICBfdGFi
S2V5ID0gdGFiS2V5OworICAgICAgICBfa2V5UmVwZWF0aW5nID0gcmVwZWF0aW5nOworICAgIH0K
KwogICAgIHJldHVybiBzZWxmOwogfQogCkBAIC0yMTksMTUgKzIyMCw5IEBAIC0gKFdlYkV2ZW50
ICopaW5pdFdpdGhLZXlFdmVudFR5cGU6KFdlYkV2ZW50VHlwZSl0eXBlCiAgICAgCiAgICAgX3R5
cGUgPSB0eXBlOwogICAgIF90aW1lc3RhbXAgPSB0aW1lU3RhbXA7Ci0gICAgCi0gICAgX2NoYXJh
Y3RlcnMgPSBbbm9ybWFsaXplZFN0cmluZ1dpdGhBcHBLaXRDb21wYXRpYmlsaXR5TWFwcGluZyhj
aGFyYWN0ZXJzKSByZXRhaW5dOwotICAgIF9jaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMgPSBb
bm9ybWFsaXplZFN0cmluZ1dpdGhBcHBLaXRDb21wYXRpYmlsaXR5TWFwcGluZyhjaGFyYWN0ZXJz
SWdub3JpbmdNb2RpZmllcnMpIHJldGFpbl07CiAgICAgX21vZGlmaWVyRmxhZ3MgPSBtb2RpZmll
cnM7Ci0gICAgX2tleVJlcGVhdGluZyA9IHJlcGVhdGluZzsKICAgICBfa2V5Ym9hcmRGbGFncyA9
IGZsYWdzOwogICAgIF9pbnB1dE1hbmFnZXJIaW50ID0gW2hpbnQgcmV0YWluXTsKLSAgICBfdGFi
S2V5ID0gdGFiS2V5OwotICAgIAogICAgIGlmIChrZXlDb2RlKQogICAgICAgICBfa2V5Q29kZSA9
IHdpbmRvd3NLZXlDb2RlRm9yS2V5Q29kZShrZXlDb2RlKTsKICAgICBlbHNlIGlmIChbY2hhcmFj
dGVyc0lnbm9yaW5nTW9kaWZpZXJzIGxlbmd0aF0gPT0gMSkgewpAQCAtMjM1LDYgKzIzMCwxMyBA
QCAtIChXZWJFdmVudCAqKWluaXRXaXRoS2V5RXZlbnRUeXBlOihXZWJFdmVudFR5cGUpdHlwZQog
ICAgICAgICBfa2V5Q29kZSA9IHdpbmRvd3NLZXlDb2RlRm9yQ2hhckNvZGVJT1MoW2NoYXJhY3Rl
cnNJZ25vcmluZ01vZGlmaWVycyBjaGFyYWN0ZXJBdEluZGV4OjBdKTsKICAgICB9CiAKKyAgICBp
ZiAoIShfa2V5Ym9hcmRGbGFncyAmIFdlYkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3ND
aGFuZ2VkKSkgeworICAgICAgICBfY2hhcmFjdGVycyA9IFtub3JtYWxpemVkU3RyaW5nV2l0aEFw
cEtpdENvbXBhdGliaWxpdHlNYXBwaW5nKGNoYXJhY3RlcnMpIHJldGFpbl07CisgICAgICAgIF9j
aGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMgPSBbbm9ybWFsaXplZFN0cmluZ1dpdGhBcHBLaXRD
b21wYXRpYmlsaXR5TWFwcGluZyhjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMpIHJldGFpbl07
CisgICAgICAgIF90YWJLZXkgPSB0YWJLZXk7CisgICAgICAgIF9rZXlSZXBlYXRpbmcgPSByZXBl
YXRpbmc7CisgICAgfQorCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKQEAgLTM3Myw2ICszNzUsOCBA
QCAtIChOU1N0cmluZyAqKV9ldmVudERlc2NyaXB0aW9uCiAgICAgICAgIHJldHVybiBbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAImxvY2F0aW9uOiAoJWYsICVmKSBkZWx0YVg6ICVmIGRlbHRh
WTogJWYiLCBfbG9jYXRpb25JbldpbmRvdy54LCBfbG9jYXRpb25JbldpbmRvdy55LCBfZGVsdGFY
LCBfZGVsdGFZXTsKICAgICBjYXNlIFdlYkV2ZW50S2V5RG93bjoKICAgICBjYXNlIFdlYkV2ZW50
S2V5VXA6CisgICAgICAgIGlmIChfa2V5Ym9hcmRGbGFncyAmIFdlYkV2ZW50S2V5Ym9hcmRJbnB1
dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkKQorICAgICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJp
bmdXaXRoRm9ybWF0OkAiZmxhZ3M6ICVkIGtleWJvYXJkRmxhZ3M6ICVsdSBrZXlDb2RlICVkIiwg
X21vZGlmaWVyRmxhZ3MsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KF9rZXlib2FyZEZsYWdz
KSwgX2tleUNvZGVdOwogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6
QCJjaGFyczogJUAgY2hhcnNOb01vZGlmaWVyczogJUAgZmxhZ3M6ICVkIHJlcGVhdGluZzogJWQg
a2V5Ym9hcmRGbGFnczogJWx1IGtleUNvZGUgJWQsIGlzVGFiOiAlZCIsIF9jaGFyYWN0ZXJzLCBf
Y2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzLCBfbW9kaWZpZXJGbGFncywgX2tleVJlcGVhdGlu
Zywgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oX2tleWJvYXJkRmxhZ3MpLCBfa2V5Q29kZSwg
X3RhYktleV07CiAgICAgY2FzZSBXZWJFdmVudFRvdWNoQmVnaW46CiAgICAgY2FzZSBXZWJFdmVu
dFRvdWNoQ2hhbmdlOgpAQCAtNDAyLDEyICs0MDYsMTQgQEAgLSAoQ0dQb2ludClsb2NhdGlvbklu
V2luZG93CiAtIChOU1N0cmluZyAqKWNoYXJhY3RlcnMKIHsKICAgICBBU1NFUlQoX3R5cGUgPT0g
V2ViRXZlbnRLZXlEb3duIHx8IF90eXBlID09IFdlYkV2ZW50S2V5VXApOworICAgIEFTU0VSVCgh
KF9rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZpZXJGbGFnc0NoYW5n
ZWQpKTsKICAgICByZXR1cm4gW1tfY2hhcmFjdGVycyByZXRhaW5dIGF1dG9yZWxlYXNlXTsKIH0K
IAogLSAoTlNTdHJpbmcgKiljaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnMKIHsKICAgICBBU1NF
UlQoX3R5cGUgPT0gV2ViRXZlbnRLZXlEb3duIHx8IF90eXBlID09IFdlYkV2ZW50S2V5VXApOwor
ICAgIEFTU0VSVCghKF9rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZp
ZXJGbGFnc0NoYW5nZWQpKTsKICAgICByZXR1cm4gW1tfY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZp
ZXJzIHJldGFpbl0gYXV0b3JlbGVhc2VdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
aW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQppbmRleCBmOWJhNzQ1OGU4MGI2OWJlNDUzNjViMDY0
MzRhYTUzN2Y2Nzc4MDg5Li5lZjNlYWMzMTYyOGU4ZWJiOTBlZjNlYjk0ZmE2M2FkMjhjZDE0OTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0K
QEAgLTM2LDE1ICszNiwxNSBAQCBzdGF0aWMgV2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXJzIG1v
ZGlmaWVyc0ZvckV2ZW50KDo6V2ViRXZlbnQgKmV2ZW50KQogICAgIHVuc2lnbmVkIG1vZGlmaWVy
cyA9IDA7CiAgICAgV2ViRXZlbnRGbGFncyBldmVudE1vZGlmaWVyRmxhZ3MgPSBldmVudC5tb2Rp
ZmllckZsYWdzOwogCi0gICAgaWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01h
c2tTaGlmdCkKKyAgICBpZiAoZXZlbnRNb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza1No
aWZ0S2V5KQogICAgICAgICBtb2RpZmllcnMgfD0gV2ViS2l0OjpXZWJFdmVudDo6U2hpZnRLZXk7
Ci0gICAgaWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb250cm9sKQor
ICAgIGlmIChldmVudE1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQ29udHJvbEtleSkK
ICAgICAgICAgbW9kaWZpZXJzIHw9IFdlYktpdDo6V2ViRXZlbnQ6OkNvbnRyb2xLZXk7Ci0gICAg
aWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tBbHRlcm5hdGUpCisgICAg
aWYgKGV2ZW50TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tPcHRpb25LZXkpCiAgICAg
ICAgIG1vZGlmaWVycyB8PSBXZWJLaXQ6OldlYkV2ZW50OjpBbHRLZXk7Ci0gICAgaWYgKGV2ZW50
TW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tDb21tYW5kKQorICAgIGlmIChldmVudE1v
ZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrQ29tbWFuZEtleSkKICAgICAgICAgbW9kaWZp
ZXJzIHw9IFdlYktpdDo6V2ViRXZlbnQ6Ok1ldGFLZXk7Ci0gICAgaWYgKGV2ZW50TW9kaWZpZXJG
bGFncyAmIFdlYkV2ZW50RmxhZ01hc2tBbHBoYVNoaWZ0KQorICAgIGlmIChldmVudE1vZGlmaWVy
RmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrTGVmdENhcHNMb2NrS2V5KQogICAgICAgICBtb2RpZmll
cnMgfD0gV2ViS2l0OjpXZWJFdmVudDo6Q2Fwc0xvY2tLZXk7CiAKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXJzPihtb2RpZmllcnMpOwpAQCAtNTMsOCAr
NTMsMTggQEAgc3RhdGljIFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnNGb3JF
dmVudCg6OldlYkV2ZW50ICpldmVudCkKIFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCBXZWJJT1NF
dmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAqZXZlbnQpCiB7
CiAgICAgV2ViS2l0OjpXZWJFdmVudDo6VHlwZSB0eXBlID0gKGV2ZW50LnR5cGUgPT0gV2ViRXZl
bnRLZXlVcCkgPyBXZWJLaXQ6OldlYkV2ZW50OjpLZXlVcCA6IFdlYktpdDo6V2ViRXZlbnQ6Oktl
eURvd247Ci0gICAgU3RyaW5nIHRleHQgPSBldmVudC5jaGFyYWN0ZXJzOwotICAgIFN0cmluZyB1
bm1vZGlmaWVkVGV4dCA9IGV2ZW50LmNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczsKKyAgICBT
dHJpbmcgdGV4dDsKKyAgICBTdHJpbmcgdW5tb2RpZmllZFRleHQ7CisgICAgYm9vbCBhdXRvUmVw
ZWF0OworICAgIGlmIChldmVudC5rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0
TW9kaWZpZXJGbGFnc0NoYW5nZWQpIHsKKyAgICAgICAgdGV4dCA9IGVtcHR5U3RyaW5nKCk7Cisg
ICAgICAgIHVubW9kaWZpZWRUZXh0ID0gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgYXV0b1JlcGVh
dCA9IGZhbHNlOworICAgIH0gZWxzZSB7CisgICAgICAgIHRleHQgPSBldmVudC5jaGFyYWN0ZXJz
OworICAgICAgICB1bm1vZGlmaWVkVGV4dCA9IGV2ZW50LmNoYXJhY3RlcnNJZ25vcmluZ01vZGlm
aWVyczsKKyAgICAgICAgYXV0b1JlcGVhdCA9IGV2ZW50LmlzS2V5UmVwZWF0aW5nOworICAgIH0K
ICAgICBTdHJpbmcga2V5ID0gV2ViQ29yZTo6a2V5Rm9yS2V5RXZlbnQoZXZlbnQpOwogICAgIFN0
cmluZyBjb2RlID0gV2ViQ29yZTo6Y29kZUZvcktleUV2ZW50KGV2ZW50KTsKICAgICBTdHJpbmcg
a2V5SWRlbnRpZmllciA9IFdlYkNvcmU6OmtleUlkZW50aWZpZXJGb3JLZXlFdmVudChldmVudCk7
CkBAIC02Miw3ICs3Miw2IEBAIFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCBXZWJJT1NFdmVudEZh
Y3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAqCiAgICAgLy8gRklYTUU6
IFRoaXMgaXMgbm90IGNvcnJlY3QuIFdlYkV2ZW50LmtleUNvZGUgcmVwcmVzZW50cyB0aGUgV2lu
ZG93cyBuYXRpdmUgdmlydHVhbCBrZXkgY29kZS4KICAgICBpbnQgbmF0aXZlVmlydHVhbEtleUNv
ZGUgPSBldmVudC5rZXlDb2RlOwogICAgIGludCBtYWNDaGFyQ29kZSA9IDA7Ci0gICAgYm9vbCBh
dXRvUmVwZWF0ID0gZXZlbnQuaXNLZXlSZXBlYXRpbmc7CiAgICAgYm9vbCBpc0tleXBhZCA9IGZh
bHNlOwogICAgIGJvb2wgaXNTeXN0ZW1LZXkgPSBmYWxzZTsKICAgICBXZWJLaXQ6OldlYkV2ZW50
OjpNb2RpZmllcnMgbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9pb3MvV2ViQXV0b21hdGlv
blNlc3Npb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2lvcy9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbklPUy5tbQppbmRleCA1N2JiMjAyYzY4OGNkZGQ1YzhjMjM5YzYy
YzAxYjY5YTVjNzgxMzE4Li5hZDAwYzFmNzQ1MzFkYjVkODAzNWMyMDc1MDQzNjI5NGQ5MzNlYzhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2lvcy9XZWJB
dXRvbWF0aW9uU2Vzc2lvbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRv
bWF0aW9uL2lvcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbklPUy5tbQpAQCAtODMsMTkgKzgzLDE5IEBA
IHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVLZXlib2FyZEludGVy
YWN0aW9uKFdlYlBhZ2VQcm94eSYgcGFnCiAKICAgICAgICAgICAgIHN3aXRjaCAodmlydHVhbEtl
eSkgewogICAgICAgICAgICAgY2FzZSBWaXJ0dWFsS2V5OjpTaGlmdDoKLSAgICAgICAgICAgICAg
ICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tTaGlmdDsKKyAgICAgICAgICAg
ICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tTaGlmdEtleTsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgVmlydHVhbEtleTo6Q29udHJvbDoK
LSAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdlYkV2ZW50RmxhZ01hc2tDb250
cm9sOworICAgICAgICAgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gV2ViRXZlbnRGbGFnTWFz
a0NvbnRyb2xLZXk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFZp
cnR1YWxLZXk6OkFsdGVybmF0ZToKLSAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9
IFdlYkV2ZW50RmxhZ01hc2tBbHRlcm5hdGU7CisgICAgICAgICAgICAgICAgY2hhbmdlZE1vZGlm
aWVycyB8PSBXZWJFdmVudEZsYWdNYXNrT3B0aW9uS2V5OwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgY2FzZSBWaXJ0dWFsS2V5OjpNZXRhOgogICAgICAgICAgICAgICAgIC8v
IFRoZSAnbWV0YScga2V5IGRvZXMgbm90IGV4aXN0IG9uIEFwcGxlIGtleWJvYXJkcyBhbmQgaXMg
dXN1YWxseQogICAgICAgICAgICAgICAgIC8vIG1hcHBlZCB0byB0aGUgQ29tbWFuZCBrZXkgd2hl
biB1c2luZyB0aGlyZC1wYXJ0eSBrZXlib2FyZHMuCiAgICAgICAgICAgICBjYXNlIFZpcnR1YWxL
ZXk6OkNvbW1hbmQ6Ci0gICAgICAgICAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBXZWJFdmVu
dEZsYWdNYXNrQ29tbWFuZDsKKyAgICAgICAgICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IFdl
YkV2ZW50RmxhZ01hc2tDb21tYW5kS2V5OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4
IDczZjcyNzYxYWQwYWY5ZjNmMjZlZjQyYjE5Yzk3MTFkNDhmZmUyZDAuLjgxY2RhYTQzNmQyZDhi
NTFiM2U1Y2M0MjY5NjU4ZjVlOTBhNTAwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMzc5MSw3ICsz
NzkxLDcgQEAgLSAodm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZlbnQgKilldmVudCBl
dmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW4KICAgICAgICAgaGFuZGxlcihldmVudCwg
ZXZlbnRXYXNIYW5kbGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAgICAgCisKICAg
ICAvLyBJZiB3ZSBhcmVuJ3QgaW50ZXJhY3Rpbmcgd2l0aCBlZGl0YWJsZSBjb250ZW50LCB3ZSBz
dGlsbCBuZWVkIHRvIGNhbGwgW3N1cGVyIF9oYW5kbGVLZXlVSUV2ZW50Ol0KICAgICAvLyBzbyB0
aGF0IGtleWJvYXJkIHJlcGVhdCB3aWxsIHdvcmsgY29ycmVjdGx5LiBJZiB3ZSBhcmUgaW50ZXJh
Y3Rpbmcgd2l0aCBlZGl0YWJsZSBjb250ZW50LAogICAgIC8vIHdlIGFscmVhZHkgZGlkIHNvIGlu
IF9oYW5kbGVLZXlVSUV2ZW50LgpAQCAtMzgyMSw2ICszODIxLDkgQEAgLSAoQk9PTClfaW50ZXJw
cmV0S2V5RXZlbnQ6KDo6V2ViRXZlbnQgKilldmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJF
dmVudAogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBrV2ViRGVsZXRlRm9yd2FyZEtleSA9IDB4
RjcyODsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQga1dlYlNwYWNlS2V5ID0gMHgyMDsKIAor
ICAgIGlmIChldmVudC5rZXlib2FyZEZsYWdzICYgV2ViRXZlbnRLZXlib2FyZElucHV0TW9kaWZp
ZXJGbGFnc0NoYW5nZWQpCisgICAgICAgIHJldHVybiBOTzsKKwogICAgIEJPT0wgY29udGVudEVk
aXRhYmxlID0gX3BhZ2UtPmVkaXRvclN0YXRlKCkuaXNDb250ZW50RWRpdGFibGU7CiAKICAgICBp
ZiAoIWNvbnRlbnRFZGl0YWJsZSAmJiBldmVudC5pc1RhYktleSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1t
CmluZGV4IDAzODA2NDFiYzY0MDI2ZDA3MzFhYjg1NDc2MjkyMTQ3NTY1MzdlZDQuLjMyNTcxOTA3
MzA0ZGQ5MDMzNWJlOWZiZTBhOGIxMTgzYzZlN2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbQpA
QCAtMjE2LDkgKzIxNiw5IEBAIC0gKHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpLZXlib2FyZFNjcm9s
bD4pa2V5Ym9hcmRTY3JvbGxGb3JFdmVudDooOjpXZWJFdmVudCAqKWV2CiAgICAgaWYgKGtleSA9
PSBLZXk6Ok90aGVyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIAotICAgIEJP
T0wgc2hpZnRQcmVzc2VkID0gZXZlbnQubW9kaWZpZXJGbGFncyAmIFdlYkV2ZW50RmxhZ01hc2tT
aGlmdDsKLSAgICBCT09MIGFsdFByZXNzZWQgPSBldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZl
bnRGbGFnTWFza0FsdGVybmF0ZTsKLSAgICBCT09MIGNtZFByZXNzZWQgPSBldmVudC5tb2RpZmll
ckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza0NvbW1hbmQ7CisgICAgQk9PTCBzaGlmdFByZXNzZWQg
PSBldmVudC5tb2RpZmllckZsYWdzICYgV2ViRXZlbnRGbGFnTWFza1NoaWZ0S2V5OworICAgIEJP
T0wgYWx0UHJlc3NlZCA9IGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJFdmVudEZsYWdNYXNrT3B0
aW9uS2V5OworICAgIEJPT0wgY21kUHJlc3NlZCA9IGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBXZWJF
dmVudEZsYWdNYXNrQ29tbWFuZEtleTsKIAogICAgIGF1dG8gaW5jcmVtZW50ID0gXnsKICAgICAg
ICAgc3dpdGNoIChrZXkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCmluZGV4IGFjNjAyMjczNjY0ZWE5MjFhMzY0YjM1ZWVkZjJkYzI5NTFhOWVm
YjUuLjc3NjE4ZTJkODlkZWRjMDFkZjdmNmIzZDI1MTdmZGZkMGQ3OTBjMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjA2Nyw2ICs2
MDY3LDggQEAgLSAoQk9PTClfaGFuZGxlRWRpdGluZ0tleUV2ZW50OihLZXlib2FyZEV2ZW50ICop
d2NFdmVudAogICAgIAogICAgIGlmIChhdXRvKiBwbGF0Zm9ybUV2ZW50ID0gd2NFdmVudC0+dW5k
ZXJseWluZ1BsYXRmb3JtRXZlbnQoKSkgewogICAgICAgICBXZWJFdmVudCAqZXZlbnQgPSBwbGF0
Zm9ybUV2ZW50LT5ldmVudCgpOworICAgICAgICBpZiAoZXZlbnQua2V5Ym9hcmRGbGFncyAmIFdl
YkV2ZW50S2V5Ym9hcmRJbnB1dE1vZGlmaWVyRmxhZ3NDaGFuZ2VkKQorICAgICAgICAgICAgcmV0
dXJuIE5POwogICAgICAgICBpZiAoIVtbc2VsZiBfd2ViVmlld10gaXNFZGl0YWJsZV0gJiYgZXZl
bnQuaXNUYWJLZXkpIAogICAgICAgICAgICAgcmV0dXJuIE5POwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ODkwYzc2MDQ2ZjM0
MGQ1ZmI1YzRlMWQ1NTI3ZThlNjJmZGY5ZjBhLi5hNjZjZDY0NmY4YzJjNzNlYWQzM2M5NmVhMjY3
YWU5NWM4YTZhMTM5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTAtMzAgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdlYktpdCBzaG91bGQgZGlzcGF0Y2ggRE9N
IGV2ZW50cyB3aGVuIGEgbW9kaWZpZXIga2V5IGlzIHByZXNzZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0aGUgY29kZSBmb3IgcmVuYW1l
ZCBlbnVtZXJhdG9ycy4gRm9yIFdlYktpdFRlc3RSdW5uZXIsIHJlbW92ZWQgY29tbWVudCB0aGF0
IGRvZXMgbm90CisgICAgICAgIG1hdGNoIG15IG9ic2VydmF0aW9ucyB3aGVuIHVzaW5nIHRoZSBz
aW11bGF0b3IgdG8gc2ltdWxhdGUgaU9TIDEyIGFuZCBhZGQgc3VwcG9ydCBmb3IgdGVzdGluZwor
ICAgICAgICByaWdodC1oYW5kIHNpZGUgbW9kaWZpZXJzLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW06CisgICAgICAgIChtb2RpZmllckZs
YWdzKToKKyAgICAgICAgKC1bRXZlbnRTZW5kaW5nQ29udHJvbGxlciBrZXlEb3duOndpdGhNb2Rp
ZmllcnM6d2l0aExvY2F0aW9uOl0pOgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVy
IHNldFRvdWNoTW9kaWZpZXI6dmFsdWU6XSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9p
b3MvSElERXZlbnRHZW5lcmF0b3IubW06CisgICAgICAgIChoaWRVc2FnZUNvZGVGb3JDaGFyYWN0
ZXIpOgorCiAyMDE4LTEwLTMwICBDbGF1ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS11bV1BFXSBGaXhlcyB0byB0aGUgUHVibGljU3VmZml4IGltcGxl
bWVudGF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLm1tCmluZGV4IDZiMzQzOTVlZjAxNjk1MzVjZjA0YzY2OGZiZjllYmNkNzk0OWE0
ZTIuLmI1YTkzZTc3YjI0NTgzOTc5YmNhNDM4ZjMxNGNiMDE5MWIyY2RlM2EgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCkBAIC01
MjUsMTEgKzUyNSwxMSBAQCBzdGF0aWMgaW50IG1vZGlmaWVyRmxhZ3MoY29uc3QgTlNTdHJpbmcq
IG1vZGlmaWVyTmFtZSkKICAgICBjb25zdCBpbnQgY29tbWFuZEtleU1hc2sgPSBOU0V2ZW50TW9k
aWZpZXJGbGFnQ29tbWFuZDsKICAgICBjb25zdCBpbnQgY2Fwc0xvY2tLZXlNYXNrID0gTlNFdmVu
dE1vZGlmaWVyRmxhZ0NhcHNMb2NrOwogI2Vsc2UKLSAgICBjb25zdCBpbnQgY29udHJvbEtleU1h
c2sgPSBXZWJFdmVudEZsYWdNYXNrQ29udHJvbDsKLSAgICBjb25zdCBpbnQgc2hpZnRLZXlNYXNr
ID0gV2ViRXZlbnRGbGFnTWFza1NoaWZ0OwotICAgIGNvbnN0IGludCBhbHRlcm5hdGVLZXlNYXNr
ID0gV2ViRXZlbnRGbGFnTWFza0FsdGVybmF0ZTsKLSAgICBjb25zdCBpbnQgY29tbWFuZEtleU1h
c2sgPSBXZWJFdmVudEZsYWdNYXNrQ29tbWFuZDsKLSAgICBjb25zdCBpbnQgY2Fwc0xvY2tLZXlN
YXNrID0gV2ViRXZlbnRGbGFnTWFza0FscGhhU2hpZnQ7CisgICAgY29uc3QgaW50IGNvbnRyb2xL
ZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb250cm9sS2V5OworICAgIGNvbnN0IGludCBz
aGlmdEtleU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrTGVmdFNoaWZ0S2V5OworICAgIGNvbnN0IGlu
dCBhbHRlcm5hdGVLZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRPcHRpb25LZXk7CisgICAg
Y29uc3QgaW50IGNvbW1hbmRLZXlNYXNrID0gV2ViRXZlbnRGbGFnTWFza0xlZnRDb21tYW5kS2V5
OworICAgIGNvbnN0IGludCBjYXBzTG9ja0tleU1hc2sgPSBXZWJFdmVudEZsYWdNYXNrTGVmdENh
cHNMb2NrS2V5OwogI2VuZGlmCiAKICAgICBpbnQgZmxhZ3MgPSAwOwpAQCAtMTExMCw3ICsxMTEw
LDcgQEAgLSAodm9pZClrZXlEb3duOihOU1N0cmluZyAqKWNoYXJhY3RlciB3aXRoTW9kaWZpZXJz
OihXZWJTY3JpcHRPYmplY3QgKiltb2RpZmllcnMKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICAgICAgbW9kaWZpZXJGbGFncyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnU2hpZnQ7CiAjZWxz
ZQotICAgICAgICBtb2RpZmllckZsYWdzIHw9IFdlYkV2ZW50RmxhZ01hc2tBbHBoYVNoaWZ0Owor
ICAgICAgICBtb2RpZmllckZsYWdzIHw9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0U2hpZnRLZXk7CiAj
ZW5kaWYKICAgICAgICAgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzID0gW2NoYXJhY3RlciBs
b3dlcmNhc2VTdHJpbmddOwogICAgIH0KQEAgLTE0MzYsMTMgKzE0MzYsMTMgQEAgLSAodm9pZClz
ZXRUb3VjaE1vZGlmaWVyOihOU1N0cmluZyopbW9kaWZpZXJOYW1lIHZhbHVlOihCT09MKWZsYWcK
ICAgICB1bnNpZ25lZCBtb2RpZmllciA9IDA7CiAgICAgCiAgICAgaWYgKFttb2RpZmllck5hbWUg
aXNFcXVhbFRvU3RyaW5nOkAiYWx0Il0pCi0gICAgICAgIG1vZGlmaWVyID0gV2ViRXZlbnRGbGFn
TWFza0FsdGVybmF0ZTsKKyAgICAgICAgbW9kaWZpZXIgPSBXZWJFdmVudEZsYWdNYXNrTGVmdE9w
dGlvbktleTsKICAgICBlbHNlIGlmIChbbW9kaWZpZXJOYW1lIGlzRXF1YWxUb1N0cmluZzpAInNo
aWZ0Il0pCi0gICAgICAgIG1vZGlmaWVyID0gV2ViRXZlbnRGbGFnTWFza1NoaWZ0OworICAgICAg
ICBtb2RpZmllciA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0U2hpZnRLZXk7CiAgICAgZWxzZSBpZiAo
W21vZGlmaWVyTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJtZXRhIl0pCi0gICAgICAgIG1vZGlmaWVy
ID0gV2ViRXZlbnRGbGFnTWFza0NvbW1hbmQ7CisgICAgICAgIG1vZGlmaWVyID0gV2ViRXZlbnRG
bGFnTWFza0xlZnRDb21tYW5kS2V5OwogICAgIGVsc2UgaWYgKFttb2RpZmllck5hbWUgaXNFcXVh
bFRvU3RyaW5nOkAiY3RybCJdKQotICAgICAgICBtb2RpZmllciA9IFdlYkV2ZW50RmxhZ01hc2tD
b250cm9sOworICAgICAgICBtb2RpZmllciA9IFdlYkV2ZW50RmxhZ01hc2tMZWZ0Q29udHJvbEtl
eTsKIAogICAgIGlmICghbW9kaWZpZXIpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0KaW5kZXggOTM1NjE1ZmNkYzBi
ZTkxMWU3MGE2N2E1N2Q2YTNmZGU0OWQzNjQ3MS4uNjhlYzg1NjBmZGI5ZThjYzZmNjE4YTM1YTMx
MGQ3NTkzOTJhMzRkZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElE
RXZlbnRHZW5lcmF0b3IubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZl
bnRHZW5lcmF0b3IubW0KQEAgLTk2MCwxMyArOTYwLDE4IEBAIHN0YXRpYyBpbmxpbmUgdWludDMy
X3QgaGlkVXNhZ2VDb2RlRm9yQ2hhcmFjdGVyKE5TU3RyaW5nICprZXkpCiAgICAgICAgIHJldHVy
biBrSElEVXNhZ2VfS2V5Ym9hcmRSaWdodEdVSTsKICAgICBpZiAoW2tleSBpc0VxdWFsVG9TdHJp
bmc6QCJjbGVhciJdKSAvLyBOdW0gTG9jayAvIENsZWFyCiAgICAgICAgIHJldHVybiBrSElEVXNh
Z2VfS2V5cGFkTnVtTG9jazsKLSAgICAvLyBUaGUgc2ltdWxhdG9yIGtleWJvYXJkIGludGVycHJl
dHMgYm90aCBsZWZ0IGFuZCByaWdodCBtb2RpZmllciBrZXlzIHVzaW5nIHRoZSBsZWZ0IHZlcnNp
b24gb2YgdGhlIHVzYWdlIGNvZGUuCi0gICAgaWYgKFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAibGVm
dENvbnRyb2wiXSB8fCBba2V5IGlzRXF1YWxUb1N0cmluZzpAInJpZ2h0Q29udHJvbCJdKQorICAg
IGlmIChba2V5IGlzRXF1YWxUb1N0cmluZzpAImxlZnRDb250cm9sIl0pCiAgICAgICAgIHJldHVy
biBrSElEVXNhZ2VfS2V5Ym9hcmRMZWZ0Q29udHJvbDsKLSAgICBpZiAoW2tleSBpc0VxdWFsVG9T
dHJpbmc6QCJsZWZ0U2hpZnQiXSB8fCBba2V5IGlzRXF1YWxUb1N0cmluZzpAInJpZ2h0U2hpZnQi
XSkKKyAgICBpZiAoW2tleSBpc0VxdWFsVG9TdHJpbmc6QCJyaWdodENvbnRyb2wiXSkKKyAgICAg
ICAgcmV0dXJuIGtISURVc2FnZV9LZXlib2FyZFJpZ2h0Q29udHJvbDsKKyAgICBpZiAoW2tleSBp
c0VxdWFsVG9TdHJpbmc6QCJsZWZ0U2hpZnQiXSkKICAgICAgICAgcmV0dXJuIGtISURVc2FnZV9L
ZXlib2FyZExlZnRTaGlmdDsKLSAgICBpZiAoW2tleSBpc0VxdWFsVG9TdHJpbmc6QCJsZWZ0QWx0
Il0gfHwgW2tleSBpc0VxdWFsVG9TdHJpbmc6QCJyaWdodEFsdCJdKQorICAgIGlmIChba2V5IGlz
RXF1YWxUb1N0cmluZzpAInJpZ2h0U2hpZnQiXSkKKyAgICAgICAgcmV0dXJuIGtISURVc2FnZV9L
ZXlib2FyZFJpZ2h0U2hpZnQ7CisgICAgaWYgKFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAibGVmdEFs
dCJdKQogICAgICAgICByZXR1cm4ga0hJRFVzYWdlX0tleWJvYXJkTGVmdEFsdDsKKyAgICBpZiAo
W2tleSBpc0VxdWFsVG9TdHJpbmc6QCJyaWdodEFsdCJdKQorICAgICAgICByZXR1cm4ga0hJRFVz
YWdlX0tleWJvYXJkUmlnaHRBbHQ7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNDgyYzg5
ZmFmMGZlOThlNjFhYTk2OWU5N2JjNWRmYjMwYzdlODFiLi44NmE4M2QyYTMwMDg2YTVlNjA1NTYw
ZDU2MjAyYjE2OWM2NmMyZjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTAtMzAgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdlYktpdCBz
aG91bGQgZGlzcGF0Y2ggRE9NIGV2ZW50cyB3aGVuIGEgbW9kaWZpZXIga2V5IGlzIHByZXNzZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBl
eHBlY3RlZCByZXN1bHRzIG9mIGFuIGV4aXN0aW5nIHRlc3Qgbm93IHRoYXQgd2UgaWRlbnRpZnkg
bW9kaWZpZXIga2V5cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9rZXlkb3duLWtleXVw
LXNwZWNpYWwta2V5cy1pbi1ub24tZWRpdGFibGUtZWxlbWVudC1leHBlY3RlZC50eHQ6CisKIDIw
MTgtMTAtMzAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBs
ZSBQYXldIFBheW1lbnRSZXF1ZXN0LmNhbk1ha2VQYXltZW50KCkgc2hvdWxkIHJlc29sdmUgdG8g
dHJ1ZSB3aGVuZXZlciBBcHBsZSBQYXkgaXMgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5ZG93bi1rZXl1cC1zcGVjaWFsLWtleXMtaW4tbm9uLWVk
aXRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9z
L2tleWRvd24ta2V5dXAtc3BlY2lhbC1rZXlzLWluLW5vbi1lZGl0YWJsZS1lbGVtZW50LWV4cGVj
dGVkLnR4dAppbmRleCA0M2EyN2FiYmZmYzczZmU4YTlhZTQ2M2FiYWE3ODRhMmU3MzcxNTJmLi4w
ZDBjODQ3YzlkM2YyNmY4YmQ2MTMxODg4ZWI0NjI1NGNkODIxNmMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5ZG93bi1rZXl1cC1zcGVjaWFsLWtleXMtaW4tbm9u
LWVkaXRhYmxlLWVsZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2lvcy9rZXlkb3duLWtleXVwLXNwZWNpYWwta2V5cy1pbi1ub24tZWRpdGFibGUtZWxlbWVu
dC1leHBlY3RlZC50eHQKQEAgLTIwLDI4ICsyMCwyOCBAQCB0eXBlOiBrZXlkb3duLCBrZXk6IAEs
IGNvZGU6IEhvbWUsIGtleUlkZW50aWZpZXI6IFUrMDAwMSwga2V5Q29kZTogMzYsIGNoYXJDb2Rl
OgogdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogSG9tZSwga2V5SWRlbnRpZmllcjogVW5p
ZGVudGlmaWVkLCBrZXlDb2RlOiAzNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDM2LCB3aGljaDog
MzYKIHR5cGU6IGtleWRvd24sIGtleTogRGVhZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVu
dGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDQ1LCBjaGFyQ29kZTogMCwga2V5Q29kZTog
NDUsIHdoaWNoOiA0NQogdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogVW5pZGVudGlmaWVk
LCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDQ1LCBjaGFyQ29kZTogMCwg
a2V5Q29kZTogNDUsIHdoaWNoOiA0NQotdHlwZToga2V5ZG93biwga2V5OiBEZWFkLCBjb2RlOiBV
bmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogMTgsIGNo
YXJDb2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hpY2g6IDE4Ci10eXBlOiBrZXl1cCwga2V5OiBEZWFk
LCBjb2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29k
ZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hpY2g6IDE4Ci10eXBlOiBrZXlkb3du
LCBrZXk6IERlYWQsIGNvZGU6IE1ldGFMZWZ0LCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQs
IGtleUNvZGU6IDkxLCBjaGFyQ29kZTogMCwga2V5Q29kZTogOTEsIHdoaWNoOiA5MQotdHlwZTog
a2V5dXAsIGtleTogRGVhZCwgY29kZTogTWV0YUxlZnQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRp
ZmllZCwga2V5Q29kZTogOTEsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiA5MSwgd2hpY2g6IDkxCi10
eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNvZGU6IENvbnRyb2xMZWZ0LCBrZXlJZGVudGlmaWVy
OiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE3LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTcsIHdo
aWNoOiAxNwotdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogQ29udHJvbExlZnQsIGtleUlk
ZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2Rl
OiAxNywgd2hpY2g6IDE3Ci10eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNvZGU6IFNoaWZ0TGVm
dCwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAs
IGtleUNvZGU6IDE2LCB3aGljaDogMTYKLXR5cGU6IGtleXVwLCBrZXk6IERlYWQsIGNvZGU6IFNo
aWZ0TGVmdCwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwgY2hhckNv
ZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKK3R5cGU6IGtleWRvd24sIGtleTogQWx0LCBj
b2RlOiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IEFsdCwga2V5Q29kZTogMTgsIGNoYXJD
b2RlOiAwLCBrZXlDb2RlOiAxOCwgd2hpY2g6IDE4Cit0eXBlOiBrZXl1cCwga2V5OiBBbHQsIGNv
ZGU6IFVuaWRlbnRpZmllZCwga2V5SWRlbnRpZmllcjogQWx0LCBrZXlDb2RlOiAxOCwgY2hhckNv
ZGU6IDAsIGtleUNvZGU6IDE4LCB3aGljaDogMTgKK3R5cGU6IGtleWRvd24sIGtleTogTWV0YSwg
Y29kZTogTWV0YUxlZnQsIGtleUlkZW50aWZpZXI6IE1ldGEsIGtleUNvZGU6IDkxLCBjaGFyQ29k
ZTogMCwga2V5Q29kZTogOTEsIHdoaWNoOiA5MQordHlwZToga2V5dXAsIGtleTogTWV0YSwgY29k
ZTogTWV0YUxlZnQsIGtleUlkZW50aWZpZXI6IE1ldGEsIGtleUNvZGU6IDkxLCBjaGFyQ29kZTog
MCwga2V5Q29kZTogOTEsIHdoaWNoOiA5MQordHlwZToga2V5ZG93biwga2V5OiBDb250cm9sLCBj
b2RlOiBDb250cm9sTGVmdCwga2V5SWRlbnRpZmllcjogQ29udHJvbCwga2V5Q29kZTogMTcsIGNo
YXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Cit0eXBlOiBrZXl1cCwga2V5OiBDb250
cm9sLCBjb2RlOiBDb250cm9sTGVmdCwga2V5SWRlbnRpZmllcjogQ29udHJvbCwga2V5Q29kZTog
MTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Cit0eXBlOiBrZXlkb3duLCBr
ZXk6IFNoaWZ0LCBjb2RlOiBTaGlmdExlZnQsIGtleUlkZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2Rl
OiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKK3R5cGU6IGtleXVwLCBr
ZXk6IFNoaWZ0LCBjb2RlOiBTaGlmdExlZnQsIGtleUlkZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2Rl
OiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKIHR5cGU6IGtleWRvd24s
IGtleTogUGFnZURvd24sIGNvZGU6IFBhZ2VEb3duLCBrZXlJZGVudGlmaWVyOiBQYWdlRG93biwg
a2V5Q29kZTogMzQsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAzNCwgd2hpY2g6IDM0CiB0eXBlOiBr
ZXl1cCwga2V5OiBQYWdlRG93biwgY29kZTogUGFnZURvd24sIGtleUlkZW50aWZpZXI6IFBhZ2VE
b3duLCBrZXlDb2RlOiAzNCwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDM0LCB3aGljaDogMzQKIHR5
cGU6IGtleWRvd24sIGtleTogUGFnZVVwLCBjb2RlOiBQYWdlVXAsIGtleUlkZW50aWZpZXI6IFBh
Z2VVcCwga2V5Q29kZTogMzMsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAzMywgd2hpY2g6IDMzCiB0
eXBlOiBrZXl1cCwga2V5OiBQYWdlVXAsIGNvZGU6IFBhZ2VVcCwga2V5SWRlbnRpZmllcjogUGFn
ZVVwLCBrZXlDb2RlOiAzMywgY2hhckNvZGU6IDAsIGtleUNvZGU6IDMzLCB3aGljaDogMzMKIHR5
cGU6IGtleWRvd24sIGtleTogRW50ZXIsIGNvZGU6IEVudGVyLCBrZXlJZGVudGlmaWVyOiBFbnRl
ciwga2V5Q29kZTogMTMsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxMywgd2hpY2g6IDEzCiB0eXBl
OiBrZXl1cCwga2V5OiBEZWFkLCBjb2RlOiBFbnRlciwga2V5SWRlbnRpZmllcjogVW5pZGVudGlm
aWVkLCBrZXlDb2RlOiAxMywgY2hhckNvZGU6IDAsIGtleUNvZGU6IDEzLCB3aGljaDogMTMKLXR5
cGU6IGtleWRvd24sIGtleTogRGVhZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJZGVudGlmaWVy
OiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE4LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTgsIHdo
aWNoOiAxOAotdHlwZToga2V5dXAsIGtleTogRGVhZCwgY29kZTogVW5pZGVudGlmaWVkLCBrZXlJ
ZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtleUNvZGU6IDE4LCBjaGFyQ29kZTogMCwga2V5Q29k
ZTogMTgsIHdoaWNoOiAxOAotdHlwZToga2V5ZG93biwga2V5OiBEZWFkLCBjb2RlOiBVbmlkZW50
aWZpZWQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogOTMsIGNoYXJDb2Rl
OiAwLCBrZXlDb2RlOiA5Mywgd2hpY2g6IDkzCi10eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBjb2Rl
OiBVbmlkZW50aWZpZWQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRpZmllZCwga2V5Q29kZTogOTMs
IGNoYXJDb2RlOiAwLCBrZXlDb2RlOiA5Mywgd2hpY2g6IDkzCi10eXBlOiBrZXlkb3duLCBrZXk6
IERlYWQsIGNvZGU6IENvbnRyb2xMZWZ0LCBrZXlJZGVudGlmaWVyOiBVbmlkZW50aWZpZWQsIGtl
eUNvZGU6IDE3LCBjaGFyQ29kZTogMCwga2V5Q29kZTogMTcsIHdoaWNoOiAxNwotdHlwZToga2V5
dXAsIGtleTogRGVhZCwgY29kZTogQ29udHJvbExlZnQsIGtleUlkZW50aWZpZXI6IFVuaWRlbnRp
ZmllZCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Ci10
eXBlOiBrZXlkb3duLCBrZXk6IERlYWQsIGNvZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRpZmllcjog
VW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGlj
aDogMTYKLXR5cGU6IGtleXVwLCBrZXk6IERlYWQsIGNvZGU6IFNoaWZ0TGVmdCwga2V5SWRlbnRp
ZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxNiwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE2
LCB3aGljaDogMTYKK3R5cGU6IGtleWRvd24sIGtleTogQWx0LCBjb2RlOiBVbmlkZW50aWZpZWQs
IGtleUlkZW50aWZpZXI6IEFsdCwga2V5Q29kZTogMTgsIGNoYXJDb2RlOiAwLCBrZXlDb2RlOiAx
OCwgd2hpY2g6IDE4Cit0eXBlOiBrZXl1cCwga2V5OiBBbHQsIGNvZGU6IFVuaWRlbnRpZmllZCwg
a2V5SWRlbnRpZmllcjogQWx0LCBrZXlDb2RlOiAxOCwgY2hhckNvZGU6IDAsIGtleUNvZGU6IDE4
LCB3aGljaDogMTgKK3R5cGU6IGtleWRvd24sIGtleTogTWV0YSwgY29kZTogVW5pZGVudGlmaWVk
LCBrZXlJZGVudGlmaWVyOiBNZXRhLCBrZXlDb2RlOiA5MywgY2hhckNvZGU6IDAsIGtleUNvZGU6
IDkzLCB3aGljaDogOTMKK3R5cGU6IGtleXVwLCBrZXk6IE1ldGEsIGNvZGU6IFVuaWRlbnRpZmll
ZCwga2V5SWRlbnRpZmllcjogTWV0YSwga2V5Q29kZTogOTMsIGNoYXJDb2RlOiAwLCBrZXlDb2Rl
OiA5Mywgd2hpY2g6IDkzCit0eXBlOiBrZXlkb3duLCBrZXk6IENvbnRyb2wsIGNvZGU6IENvbnRy
b2xSaWdodCwga2V5SWRlbnRpZmllcjogQ29udHJvbCwga2V5Q29kZTogMTcsIGNoYXJDb2RlOiAw
LCBrZXlDb2RlOiAxNywgd2hpY2g6IDE3Cit0eXBlOiBrZXl1cCwga2V5OiBDb250cm9sLCBjb2Rl
OiBDb250cm9sUmlnaHQsIGtleUlkZW50aWZpZXI6IENvbnRyb2wsIGtleUNvZGU6IDE3LCBjaGFy
Q29kZTogMCwga2V5Q29kZTogMTcsIHdoaWNoOiAxNwordHlwZToga2V5ZG93biwga2V5OiBTaGlm
dCwgY29kZTogU2hpZnRSaWdodCwga2V5SWRlbnRpZmllcjogU2hpZnQsIGtleUNvZGU6IDE2LCBj
aGFyQ29kZTogMCwga2V5Q29kZTogMTYsIHdoaWNoOiAxNgordHlwZToga2V5dXAsIGtleTogU2hp
ZnQsIGNvZGU6IFNoaWZ0UmlnaHQsIGtleUlkZW50aWZpZXI6IFNoaWZ0LCBrZXlDb2RlOiAxNiwg
Y2hhckNvZGU6IDAsIGtleUNvZGU6IDE2LCB3aGljaDogMTYKIHR5cGU6IGtleWRvd24sIGtleTog
ECwgY29kZTogRjEsIGtleUlkZW50aWZpZXI6IFUrMDAxMCwga2V5Q29kZTogMTEyLCBjaGFyQ29k
ZTogMCwga2V5Q29kZTogMTEyLCB3aGljaDogMTEyCiB0eXBlOiBrZXl1cCwga2V5OiBEZWFkLCBj
b2RlOiBGMSwga2V5SWRlbnRpZmllcjogVW5pZGVudGlmaWVkLCBrZXlDb2RlOiAxMTIsIGNoYXJD
b2RlOiAwLCBrZXlDb2RlOiAxMTIsIHdoaWNoOiAxMTIKIHR5cGU6IGtleWRvd24sIGtleTogECwg
Y29kZTogRjIsIGtleUlkZW50aWZpZXI6IFUrMDAxMCwga2V5Q29kZTogMTEzLCBjaGFyQ29kZTog
MCwga2V5Q29kZTogMTEzLCB3aGljaDogMTEzCg==
</data>
<flag name="review"
          id="370649"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>