<?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>219041</bug_id>
          
          <creation_ts>2020-11-17 11:25:31 -0800</creation_ts>
          <short_desc>[macOS] Issue sandbox extension to Web Inspector service</short_desc>
          <delta_ts>2020-11-19 09:32:47 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1708305</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-17 11:25:31 -0800</bug_when>
    <thetext>In preparation of blocking this service in the WebContent process, a sandbox extension should be issued if Safari&apos;s Develop menu is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708306</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-17 11:25:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/71495287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708318</commentid>
    <comment_count>2</comment_count>
      <attachid>414359</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-17 11:39:02 -0800</bug_when>
    <thetext>Created attachment 414359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708889</commentid>
    <comment_count>3</comment_count>
      <attachid>414359</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-11-18 16:52:28 -0800</bug_when>
    <thetext>Comment on attachment 414359
Patch

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

r=me

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:209
&gt; +    if (!CFPreferencesGetAppIntegerValue(CFSTR(&quot;ShowDevelopMenu&quot;), CFSTR(&quot;com.apple.Safari.SandboxBroker&quot;), nullptr))

It&apos;s a shame we couldn&apos;t reuse WIRRemoteInspectorEnabledKey here (i.e., define this differently on non-IOS_FAMILY).

&gt; Tools/MiniBrowser/MiniBrowser.entitlements:29
&gt; +		&lt;string&gt;com.apple.Safari.SandboxBroker&lt;/string&gt;

Do we need this for WebKitTestRunner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709132</commentid>
    <comment_count>4</comment_count>
      <attachid>414589</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-19 09:03:21 -0800</bug_when>
    <thetext>Created attachment 414589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709133</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-11-19 09:04:17 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 414359 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414359&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:209
&gt; &gt; +    if (!CFPreferencesGetAppIntegerValue(CFSTR(&quot;ShowDevelopMenu&quot;), CFSTR(&quot;com.apple.Safari.SandboxBroker&quot;), nullptr))
&gt; 
&gt; It&apos;s a shame we couldn&apos;t reuse WIRRemoteInspectorEnabledKey here (i.e.,
&gt; define this differently on non-IOS_FAMILY).
&gt; 
&gt; &gt; Tools/MiniBrowser/MiniBrowser.entitlements:29
&gt; &gt; +		&lt;string&gt;com.apple.Safari.SandboxBroker&lt;/string&gt;
&gt; 
&gt; Do we need this for WebKitTestRunner?

I don&apos;t believe so, since WebKitTestRunner is not sandboxed, AFAIK.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709146</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-19 09:32:47 -0800</bug_when>
    <thetext>Committed r270035: &lt;https://trac.webkit.org/changeset/270035&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414589.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414359</attachid>
            <date>2020-11-17 11:39:02 -0800</date>
            <delta_ts>2020-11-18 16:52:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219041-20201117113901.patch</filename>
            <type>text/plain</type>
            <size>14534</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjk5MDIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTExLTE3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIElzc3VlIHNhbmRi
b3ggZXh0ZW5zaW9uIHRvIFdlYiBJbnNwZWN0b3Igc2VydmljZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDQxCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83MTQ5NTI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiBwcmVwYXJhdGlvbiBvZiBibG9ja2luZyB0aGlzIHNlcnZpY2UgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcywgYSBzYW5kYm94IGV4dGVuc2lvbiBzaG91bGQgYmUgaXNzdWVkIGlm
IFNhZmFyaSdzIERldmVsb3AgbWVudSBpcyBlbmFibGVkLgorICAgICAgICBUaGlzIGV4dGVuc2lv
biB3aWxsIGFsc28gYmUgZHluYW1pY2FsbHkgaXNzdWVkIHRvIGFsbCBXZWJDb250ZW50IHByb2Nl
c3NlcywgaWYgdGhlIERldmVsb3AgbWVudSBwcmVmZXJlbmNlIGNoYW5nZXMsIGJ5IG9ic2Vydmlu
ZyB0aGlzCisgICAgICAgIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9XZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW06IEFkZGVkLgorICAg
ICAgICAoK1tXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlciBzaGFyZWRJbnN0YW5jZV0p
OgorICAgICAgICAoLVtXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlciBpbml0XSk6Cisg
ICAgICAgICgtW1dLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyIG9ic2VydmVWYWx1ZUZv
cktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5
OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisKIDIwMjAtMTEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUHJlZW1wdGl2ZSBidWlsZCBmaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwMjQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjY5OTAyKQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsOSBAQCBP
QkpDX0NMQVNTIE5TT2JqZWN0OwogT0JKQ19DTEFTUyBOU1NldDsKIE9CSkNfQ0xBU1MgTlNTdHJp
bmc7CiBPQkpDX0NMQVNTIFdLUHJlZmVyZW5jZU9ic2VydmVyOworI2lmIFBMQVRGT1JNKE1BQykK
K09CSkNfQ0xBU1MgV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXI7CisjZW5kaWYKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJW
RVJfQkxPQ0tJTkcpCkBAIC02NDcsNiArNjUwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8
TlNPYmplY3Q+IG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyOwogI2VuZGlmCiAg
ICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX2RlYWN0aXZhdGlvbk9ic2VydmVyOworICAgIFJldGFp
blB0cjxXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlcj4gbV93ZWJJbnNwZWN0b3JQcmVm
ZXJlbmNlT2JzZXJ2ZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGlnaFBlcmZvcm1hbmNlR3Jh
cGhpY3NVc2FnZVNhbXBsZXI+IG1faGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI+IG1f
cGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYkluc3BlY3RvclByZWZlcmVuY2VP
YnNlcnZlci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjkgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
QGludGVyZmFjZSBXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlciA6IE5TT2JqZWN0Cisr
IChpZClzaGFyZWRJbnN0YW5jZTsKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNT
dHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihOU0RpY3Rpb25hcnk8
TlNLZXlWYWx1ZUNoYW5nZUtleSwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZvaWQgKiljb250ZXh0
OworQGVuZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViSW5zcGVjdG9y
UHJlZmVyZW5jZU9ic2VydmVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbQkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJJbnNwZWN0b3JQcmVmZXJlbmNl
T2JzZXJ2ZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3OCBAQAorLyoKKyogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5oIgorCisjaW1wb3J0ICJXZWJQ
cm9jZXNzUG9vbC5oIgorCisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbnRlcmZhY2Ug
V0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIgKCkKK3sKK0Bwcml2YXRlCisgICAgUmV0
YWluUHRyPE5TVXNlckRlZmF1bHRzPiBtX3VzZXJEZWZhdWx0czsKK30KK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIFdLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyCisKKysgKGlkKXNoYXJl
ZEluc3RhbmNlCit7CisgICAgc3RhdGljIFdLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVy
ICppbnN0YW5jZSA9IG5pbDsKKworICAgIGlmICghaW5zdGFuY2UpCisgICAgICAgIGluc3RhbmNl
ID0gW1tbc2VsZiBjbGFzc10gYWxsb2NdIGluaXRdOworCisgICAgcmV0dXJuIGluc3RhbmNlOwor
fQorCistIChpbnN0YW5jZXR5cGUpaW5pdAoreworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5p
dF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgbV91c2VyRGVmYXVsdHMgPSBhZG9wdE5T
KFtbTlNVc2VyRGVmYXVsdHMgYWxsb2NdIGluaXRXaXRoU3VpdGVOYW1lOkAiY29tLmFwcGxlLlNh
ZmFyaS5TYW5kYm94QnJva2VyIl0pOworICAgIGlmICghbV91c2VyRGVmYXVsdHMpIHsKKyAgICAg
ICAgV1RGTG9nQWx3YXlzKCJDb3VsZCBub3QgaW5pdCB1c2VyIGRlZmF1bHRzIGluc3RhbmNlIGZv
ciBkb21haW4gY29tLmFwcGxlLlNhZmFyaSIpOworICAgICAgICByZXR1cm4gc2VsZjsKKyAgICB9
CisgICAgW21fdXNlckRlZmF1bHRzLmdldCgpIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpA
IlNob3dEZXZlbG9wTWVudSIgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IGNv
bnRleHQ6bmlsXTsKKworICAgIAorICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKW9ic2Vy
dmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5nICopa2V5UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0
IGNoYW5nZTooTlNEaWN0aW9uYXJ5PE5TS2V5VmFsdWVDaGFuZ2VLZXksIGlkPiAqKWNoYW5nZSBj
b250ZXh0Oih2b2lkICopY29udGV4dAoreworICAgIGZvciAoYXV0byogcG9vbCA6IFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKSB7CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgcG9vbC0+cHJvY2Vzc2VzKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAg
IGF1dG8gcHJvY2VzcyA9IHBvb2wtPnByb2Nlc3NlcygpW2ldOworICAgICAgICAgICAgcHJvY2Vz
cy0+ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQoKTsKKyAgICAgICAgfQorICAgIH0KK30K
KworQGVuZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNjk5MDIpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC03OSw2ICs3OSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKKyNpbXBvcnQgIldl
Ykluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVJl
bW90ZUxheWVyU2VydmVyLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJ
Lmg+CiAjZWxzZQpAQCAtMTc4LDYgKzE3OSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0
Zm9ybUluaXRpYWxpemUoCiAgICAgICAgIH0pOwogICAgIH0KICNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKQorICAgIFtXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlciBzaGFyZWRJbnN0
YW5jZV07CisjZW5kaWYKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbQkocmV2aXNpb24gMjY5OTAyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMiw4ICsyMDIsMTMg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9ybQogI2lmIEVOQUJMRShS
RU1PVEVfSU5TUEVDVE9SKQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCkKIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghQ0ZQ
cmVmZXJlbmNlc0dldEFwcEludGVnZXJWYWx1ZShXSVJSZW1vdGVJbnNwZWN0b3JFbmFibGVkS2V5
LCBXSVJSZW1vdGVJbnNwZWN0b3JEb21haW5OYW1lLCBudWxscHRyKSkKICAgICAgICAgcmV0dXJu
OworI2Vsc2UKKyAgICBpZiAoIUNGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFsdWUoQ0ZTVFIo
IlNob3dEZXZlbG9wTWVudSIpLCBDRlNUUigiY29tLmFwcGxlLlNhZmFyaS5TYW5kYm94QnJva2Vy
IiksIG51bGxwdHIpKQorICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgaGFuZGxlOwogICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNvbm5lY3Rpb24oKSA/
IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpIDogV1RGOjpudWxsb3B0OwogICAgIGlmIChT
YW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUud2Vi
aW5zcGVjdG9yIl9zLCBhdWRpdFRva2VuLCBoYW5kbGUpKQpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjk5MDIpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzM0LDYgKzE3MzQsNyBAQAogCQlDMTY2M0U1QjI0QUVBQTJGMDBDNkEzQjIg
LyogTGF1bmNoU2VydmljZXNEYXRhYmFzZVhQQ0NvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2NjNFNUEyNEFFQTc0MjAwQzZBM0IyIC8q
IExhdW5jaFNlcnZpY2VzRGF0YWJhc2VYUENDb25zdGFudHMuaCAqLzsgfTsKIAkJQzE3MTBDRjcy
NEFBNjQzMjAwRDdDMTEyIC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VPYnNlcnZlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNzEwQ0Y2MjRBQTY0
MzIwMEQ3QzExMiAvKiBMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIubW0gKi87IH07CiAJ
CUMxODE3MzYxMjA1ODQyNDcwMERGREE2NSAvKiBEaXNwbGF5TGluay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE4MTczNjAyMDU4NDI0NzAwREZEQTY1
IC8qIERpc3BsYXlMaW5rLmggKi87IH07CisJCUMxOEYzQTE1MjU2MzMzNDMwMDc5N0U2NiAvKiBX
ZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMThGM0ExNDI1NjMzMzQzMDA3OTdFNjYgLyogV2ViSW5z
cGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tICovOyB9OwogCQlDMUExNTJENzI0RTVBMjlBMDA5
NzhDOEIgLyogSGFuZGxlWFBDRW5kcG9pbnRNZXNzYWdlcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxQTE1MkQ2MjRFNUEyOUEwMDk3OEM4QiAvKiBI
YW5kbGVYUENFbmRwb2ludE1lc3NhZ2VzLm1tICovOyB9OwogCQlDMUUxMjNCQTIwQTExNTczMDAy
NjQ2RjQgLyogUERGQ29udGV4dE1lbnUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMxRTEyM0I5MjBBMTE1NzIwMDI2NDZGNCAvKiBQREZDb250ZXh0TWVu
dS5oICovOyB9OwogCQlDNTE3Mzg4MTEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1
MTczODgwMTJERjhGNEYwMEVFM0Y0NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oICovOyB9OwpA
QCAtNTE0Nyw2ICs1MTQ4LDggQEAKIAkJQzE4MTczNUUyMDU4MzlGNjAwREZEQTY1IC8qIERyYXdp
bmdBcmVhTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERyYXdpbmdBcmVhTWFjLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE4MTczNjAyMDU4NDI0NzAwREZEQTY1IC8qIERp
c3BsYXlMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlMaW5rLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUMxODE3MzYyMjA1ODQ0QTkwMERGREE2NSAvKiBEaXNwbGF5TGluay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGluay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMxOEYzQTEzMjU2MzMyQTYwMDc5N0U2NiAvKiBXZWJJbnNwZWN0b3JQcmVm
ZXJlbmNlT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9i
c2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxOEYzQTE0MjU2MzMzNDMw
MDc5N0U2NiAvKiBXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMxOEZCNTFEMjQyRjlGNzYwMDdFOTg3NSAvKiBXZWJTbGVlcERp
c2FibGVyQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YlNsZWVwRGlzYWJsZXJDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MThGQjUxRTI0MkY5Rjc3MDA3RTk4NzUgLyogV2ViU2xlZXBEaXNhYmxlckNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTbGVlcERpc2FibGVyQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxQTE1MkQ1MjRFNUExRDIwMDk3OEM4QiAvKiBI
YW5kbGVYUENFbmRwb2ludE1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhbmRsZVhQQ0VuZHBv
aW50TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY0ODgsNiArNjQ5
MSw4IEBACiAJCQkJNTJENUExQUExQzU3NDk0RTAwREUzNEEzIC8qIFZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oICovLAogCQkJCTUyRDVBMUFCMUM1NzQ5NEUwMERFMzRBMyAvKiBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJNTJENUExQUMxQzU3NDk0
RTAwREUzNEEzIC8qIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSAqLywKKwkJCQlDMThG
M0ExMzI1NjMzMkE2MDA3OTdFNjYgLyogV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLmgg
Ki8sCisJCQkJQzE4RjNBMTQyNTYzMzM0MzAwNzk3RTY2IC8qIFdlYkluc3BlY3RvclByZWZlcmVu
Y2VPYnNlcnZlci5tbSAqLywKIAkJCQkxQUMwMjczRTE5NjYyMkQ2MDBDMTJCNzUgLyogV2ViUGFn
ZVByb3h5Q29jb2EubW0gKi8sCiAJCQkJN0M0Njk0Q0IxQTRCNTEwQTAwQUQ1ODQ1IC8qIFdlYlBh
c3RlYm9hcmRQcm94eUNvY29hLm1tICovLAogCQkJCUEzOTM3QjYxMjNDRDFCOUIwMDVCMkEyRSAv
KiBXZWJQcmVmZXJlbmNlc0NvY29hLm1tICovLApAQCAtMTMzNzEsNiArMTMzNzYsNyBAQAogCQkJ
CTkzM0U4MzVCMjNBMUI3NTAwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkVEQkRDRDYxRTY4RDIwMDAwQTU5RjhGIC8qIFdlYklu
c3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUM4RTJBMzUxMjc3ODUyNDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMThGM0ExNTI1NjMzMzQzMDA3OTdFNjYg
LyogV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUNBOEI5NDUxMjdDODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk5Nzk2NTlGMjUzMTBBNDkwMEIzMUFFMyAvKiBX
ZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUNCQkU0QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFdlYkluc3BlY3RvclVJ
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5OTE0KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMTcg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10g
SXNzdWUgc2FuZGJveCBleHRlbnNpb24gdG8gV2ViIEluc3BlY3RvciBzZXJ2aWNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzcxNDk1Mjg3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFsbG93IE1pbmlCcm93c2VyIHRvIHJlYWQgcHJlZmVyZW5jZXMg
ZnJvbSB0aGUgZG9tYWluIGNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tlci4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLmVudGl0bGVtZW50czoKKwogMjAyMC0xMS0xNyAg
QWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2J1aWxkLndl
YmtpdC5vcmddIFVwZGF0ZSBFeHRyYWN0VGVzdFJlc3VsdHMgc3RlcCBmb3IgbmV3IGJ1aWxkYm90
IChmb2xsb3ctdXAgZml4KQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIuZW50
aXRsZW1lbnRzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLmVu
dGl0bGVtZW50cwkocmV2aXNpb24gMjY5OTAyKQorKysgVG9vbHMvTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIuZW50aXRsZW1lbnRzCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCwxMCBAQAogCTwv
YXJyYXk+CiAJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuZGV2aWNlLmNhbWVyYTwva2V5PgogCTx0
cnVlLz4KKwk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS50ZW1wb3JhcnktZXhjZXB0aW9uLnNoYXJl
ZC1wcmVmZXJlbmNlLnJlYWQtb25seTwva2V5PgorCTxhcnJheT4KKwkJPHN0cmluZz5jb20uYXBw
bGUuU2FmYXJpLlNhbmRib3hCcm9rZXI8L3N0cmluZz4KKwk8L2FycmF5PgogCTxrZXk+Y29tLmFw
cGxlLnNlY3VyaXR5LmRldmljZS5taWNyb3Bob25lPC9rZXk+CiAJPHRydWUvPgogPC9kaWN0Pgo=
</data>
<flag name="review"
          id="431220"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414589</attachid>
            <date>2020-11-19 09:03:21 -0800</date>
            <delta_ts>2020-11-19 09:32:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219041-20201119090320.patch</filename>
            <type>text/plain</type>
            <size>14605</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzAwMzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTExLTE5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIElzc3VlIHNhbmRi
b3ggZXh0ZW5zaW9uIHRvIFdlYiBJbnNwZWN0b3Igc2VydmljZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDQxCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83MTQ5NTI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisg
ICAgICAgIEluIHByZXBhcmF0aW9uIG9mIGJsb2NraW5nIHRoaXMgc2VydmljZSBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLCBhIHNhbmRib3ggZXh0ZW5zaW9uIHNob3VsZCBiZSBpc3N1ZWQgaWYg
U2FmYXJpJ3MgRGV2ZWxvcCBtZW51IGlzIGVuYWJsZWQuCisgICAgICAgIFRoaXMgZXh0ZW5zaW9u
IHdpbGwgYWxzbyBiZSBkeW5hbWljYWxseSBpc3N1ZWQgdG8gYWxsIFdlYkNvbnRlbnQgcHJvY2Vz
c2VzLCBpZiB0aGUgRGV2ZWxvcCBtZW51IHByZWZlcmVuY2UgY2hhbmdlcywgYnkgb2JzZXJ2aW5n
IHRoaXMKKyAgICAgICAgcHJlZmVyZW5jZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbTogQWRkZWQuCisgICAg
ICAgICgrW1dLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyIHNoYXJlZEluc3RhbmNlXSk6
CisgICAgICAgICgtW1dLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyIGluaXRdKToKKyAg
ICAgICAgKC1bV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9y
S2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6
OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKwogMjAyMC0xMS0xOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW21hY09TXSBJc3N1ZSBzYW5kYm94IGV4dGVuc2lvbiB0byBhdWRpbyBzZXJ2aWNl
IGlmIE1lZGlhIGluIHRoZSBHUFUgcHJvY2VzcyBpcyBub3QgZW5hYmxlZApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNzAwMzIpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02NCw2ICs2NCw5IEBAIE9CSkNfQ0xBU1MgTlNPYmplY3Q7CiBPQkpDX0NMQVNTIE5TU2V0Owog
T0JKQ19DTEFTUyBOU1N0cmluZzsKIE9CSkNfQ0xBU1MgV0tQcmVmZXJlbmNlT2JzZXJ2ZXI7Cisj
aWYgUExBVEZPUk0oTUFDKQorT0JKQ19DTEFTUyBXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNl
cnZlcjsKKyNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQ
Uk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKQEAgLTY0Nyw2ICs2NTAsNyBAQCBwcml2YXRl
OgogICAgIFJldGFpblB0cjxOU09iamVjdD4gbV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXI7CiAjZW5kaWYKICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fZGVhY3RpdmF0aW9uT2Jz
ZXJ2ZXI7CisgICAgUmV0YWluUHRyPFdLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyPiBt
X3dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxI
aWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlcj4gbV9oaWdoUGVyZm9ybWFuY2VHcmFw
aGljc1VzYWdlU2FtcGxlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVyQWN0aXZpdHlTdGF0ZUNQ
VVVzYWdlU2FtcGxlcj4gbV9wZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOwpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2Vy
dmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViSW5z
cGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisqLworCitAaW50ZXJmYWNlIFdLV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2Vy
dmVyIDogTlNPYmplY3QKKysgKGlkKXNoYXJlZEluc3RhbmNlOworLSAodm9pZClvYnNlcnZlVmFs
dWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFu
Z2U6KE5TRGljdGlvbmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4gKiljaGFuZ2UgY29udGV4
dDoodm9pZCAqKWNvbnRleHQ7CitAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVy
Lm1tCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYklu
c3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgw
IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLmgi
CisKKyNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCisKKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KKworQGludGVyZmFjZSBXS1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlciAoKQorewor
QHByaXZhdGUKKyAgICBSZXRhaW5QdHI8TlNVc2VyRGVmYXVsdHM+IG1fdXNlckRlZmF1bHRzOwor
fQorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2
ZXIKKworKyAoaWQpc2hhcmVkSW5zdGFuY2UKK3sKKyAgICBzdGF0aWMgV0tXZWJJbnNwZWN0b3JQ
cmVmZXJlbmNlT2JzZXJ2ZXIgKmluc3RhbmNlID0gbmlsOworCisgICAgaWYgKCFpbnN0YW5jZSkK
KyAgICAgICAgaW5zdGFuY2UgPSBbW1tzZWxmIGNsYXNzXSBhbGxvY10gaW5pdF07CisKKyAgICBy
ZXR1cm4gaW5zdGFuY2U7Cit9CisKKy0gKGluc3RhbmNldHlwZSlpbml0Cit7CisgICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBtX3VzZXJE
ZWZhdWx0cyA9IGFkb3B0TlMoW1tOU1VzZXJEZWZhdWx0cyBhbGxvY10gaW5pdFdpdGhTdWl0ZU5h
bWU6QCJjb20uYXBwbGUuU2FmYXJpLlNhbmRib3hCcm9rZXIiXSk7CisgICAgaWYgKCFtX3VzZXJE
ZWZhdWx0cykgeworICAgICAgICBXVEZMb2dBbHdheXMoIkNvdWxkIG5vdCBpbml0IHVzZXIgZGVm
YXVsdHMgaW5zdGFuY2UgZm9yIGRvbWFpbiBjb20uYXBwbGUuU2FmYXJpLlNhbmRib3hCcm9rZXIu
Iik7CisgICAgICAgIHJldHVybiBzZWxmOworICAgIH0KKyAgICBbbV91c2VyRGVmYXVsdHMuZ2V0
KCkgYWRkT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAiU2hvd0RldmVsb3BNZW51IiBvcHRpb25z
Ok5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDpuaWxdOworCisgICAgCisgICAg
cmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJp
bmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihOU0RpY3Rpb25hcnk8TlNL
ZXlWYWx1ZUNoYW5nZUtleSwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZvaWQgKiljb250ZXh0Cit7
CisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKKyAgICAg
ICAgZm9yIChhdXRvKiBwb29sIDogV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bv
b2xzKCkpIHsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9vbC0+cHJvY2Vz
c2VzKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHByb2Nlc3MgPSBwb29s
LT5wcm9jZXNzZXMoKVtpXTsKKyAgICAgICAgICAgICAgICBwcm9jZXNzLT5lbmFibGVSZW1vdGVJ
bnNwZWN0b3JJZk5lZWRlZCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7Cit9
CisKK0BlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjcwMDMyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNzksNiArNzksNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0ICJX
ZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FS
ZW1vdGVMYXllclNlcnZlci5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNhdGlvblNQ
SS5oPgogI2Vsc2UKQEAgLTE3OCw2ICsxNzksMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxh
dGZvcm1Jbml0aWFsaXplKAogICAgICAgICB9KTsKICAgICB9CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBbV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIgc2hhcmVkSW5z
dGFuY2VdOworI2VuZGlmCiB9CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0JKHJldmlzaW9uIDI3MDAzMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsOCArMjEwLDEz
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZvcm0KICNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNw
ZWN0b3JJZk5lZWRlZCgpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoIUNG
UHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFsdWUoV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxlZEtl
eSwgV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSwgbnVsbHB0cikpCiAgICAgICAgIHJldHVy
bjsKKyNlbHNlCisgICAgaWYgKCFDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKENGU1RS
KCJTaG93RGV2ZWxvcE1lbnUiKSwgQ0ZTVFIoImNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tl
ciIpLCBudWxscHRyKSkKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlIGhhbmRsZTsKICAgICBhdXRvIGF1ZGl0VG9rZW4gPSBjb25uZWN0aW9uKCkg
PyBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSA6IFdURjo6bnVsbG9wdDsKICAgICBpZiAo
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLndl
Ymluc3BlY3RvciJfcywgYXVkaXRUb2tlbiwgaGFuZGxlKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjcwMDMyKQor
KysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTc0MSw2ICsxNzQxLDcgQEAKIAkJQzE2NjNFNUIyNEFFQUEyRjAwQzZBM0Iy
IC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VYUENDb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNjYzRTVBMjRBRUE3NDIwMEM2QTNCMiAv
KiBMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlWFBDQ29uc3RhbnRzLmggKi87IH07CiAJCUMxNzEwQ0Y3
MjRBQTY0MzIwMEQ3QzExMiAvKiBMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTcxMENGNjI0QUE2
NDMyMDBEN0MxMTIgLyogTGF1bmNoU2VydmljZXNEYXRhYmFzZU9ic2VydmVyLm1tICovOyB9Owog
CQlDMTgxNzM2MTIwNTg0MjQ3MDBERkRBNjUgLyogRGlzcGxheUxpbmsuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxODE3MzYwMjA1ODQyNDcwMERGREE2
NSAvKiBEaXNwbGF5TGluay5oICovOyB9OworCQlDMThGM0ExNTI1NjMzMzQzMDA3OTdFNjYgLyog
V2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE4RjNBMTQyNTYzMzM0MzAwNzk3RTY2IC8qIFdlYklu
c3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbSAqLzsgfTsKIAkJQzFBMTUyRDcyNEU1QTI5QTAw
OTc4QzhCIC8qIEhhbmRsZVhQQ0VuZHBvaW50TWVzc2FnZXMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMUExNTJENjI0RTVBMjlBMDA5NzhDOEIgLyog
SGFuZGxlWFBDRW5kcG9pbnRNZXNzYWdlcy5tbSAqLzsgfTsKIAkJQzFFMTIzQkEyMEExMTU3MzAw
MjY0NkY0IC8qIFBERkNvbnRleHRNZW51LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMUUxMjNCOTIwQTExNTcyMDAyNjQ2RjQgLyogUERGQ29udGV4dE1l
bnUuaCAqLzsgfTsKIAkJQzUxNzM4ODExMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVy
QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLzsgfTsK
QEAgLTUxNzUsNiArNTE3Niw4IEBACiAJCUMxODE3MzVFMjA1ODM5RjYwMERGREE2NSAvKiBEcmF3
aW5nQXJlYU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEcmF3aW5nQXJlYU1hYy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxODE3MzYwMjA1ODQyNDcwMERGREE2NSAvKiBE
aXNwbGF5TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMTgxNzM2MjIwNTg0NEE5MDBERkRBNjUgLyogRGlzcGxheUxpbmsu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGlzcGxheUxpbmsuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDMThGM0ExMzI1NjMzMkE2MDA3OTdFNjYgLyogV2ViSW5zcGVjdG9yUHJl
ZmVyZW5jZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclByZWZlcmVuY2VP
YnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMThGM0ExNDI1NjMzMzQz
MDA3OTdFNjYgLyogV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMThGQjUxRDI0MkY5Rjc2MDA3RTk4NzUgLyogV2ViU2xlZXBE
aXNhYmxlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJTbGVlcERpc2FibGVyQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzE4RkI1MUUyNDJGOUY3NzAwN0U5ODc1IC8qIFdlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU2xlZXBEaXNhYmxlckNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMUExNTJENTI0RTVBMUQyMDA5NzhDOEIgLyog
SGFuZGxlWFBDRW5kcG9pbnRNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYW5kbGVYUENFbmRw
b2ludE1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTI4LDYgKzY1
MzEsOCBAQAogCQkJCTUyRDVBMUFBMUM1NzQ5NEUwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHkuaCAqLywKIAkJCQk1MkQ1QTFBQjFDNTc0OTRFMDBERTM0QTMgLyogVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCTUyRDVBMUFDMUM1NzQ5
NEUwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gKi8sCisJCQkJQzE4
RjNBMTMyNTYzMzJBNjAwNzk3RTY2IC8qIFdlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5o
ICovLAorCQkJCUMxOEYzQTE0MjU2MzMzNDMwMDc5N0U2NiAvKiBXZWJJbnNwZWN0b3JQcmVmZXJl
bmNlT2JzZXJ2ZXIubW0gKi8sCiAJCQkJMUFDMDI3M0UxOTY2MjJENjAwQzEyQjc1IC8qIFdlYlBh
Z2VQcm94eUNvY29hLm1tICovLAogCQkJCTdDNDY5NENCMUE0QjUxMEEwMEFENTg0NSAvKiBXZWJQ
YXN0ZWJvYXJkUHJveHlDb2NvYS5tbSAqLywKIAkJCQlBMzkzN0I2MTIzQ0QxQjlCMDA1QjJBMkUg
LyogV2ViUHJlZmVyZW5jZXNDb2NvYS5tbSAqLywKQEAgLTEzNDI3LDYgKzEzNDMyLDcgQEAKIAkJ
CQk5MzNFODM1QjIzQTFCNzUwMDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFREJEQ0Q2MUU2OEQyMDAwMEE1OUY4RiAvKiBXZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFDOEUyQTM1MTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzE4RjNBMTUyNTYzMzM0MzAwNzk3RTY2
IC8qIFdlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFDQThCOTQ1MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5OTc5NjU5RjI1MzEwQTQ5MDBCMzFBRTMgLyog
V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFDQkJFNEEwMTlCNjZDNTMwMDZCN0Q4MSAvKiBXZWJJbnNwZWN0b3JV
SU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDAzMikKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTExLTE5
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1Nd
IElzc3VlIHNhbmRib3ggZXh0ZW5zaW9uIHRvIFdlYiBJbnNwZWN0b3Igc2VydmljZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDQxCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83MTQ5NTI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBG
dWxnaGFtLgorCisgICAgICAgIEFsbG93IE1pbmlCcm93c2VyIHRvIHJlYWQgcHJlZmVyZW5jZXMg
ZnJvbSB0aGUgZG9tYWluIGNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tlci4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLmVudGl0bGVtZW50czoKKwogMjAyMC0xMS0xOSAg
QWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGJsb2Nr
LXNwYW1tZXJzIGF1dG9pbnN0YWxsIHJlcXVlc3RzCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci5lbnRpdGxlbWVudHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIv
TWluaUJyb3dzZXIuZW50aXRsZW1lbnRzCShyZXZpc2lvbiAyNzAwMzIpCisrKyBUb29scy9NaW5p
QnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYg
KzI0LDEwIEBACiAJPC9hcnJheT4KIAk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5kZXZpY2UuY2Ft
ZXJhPC9rZXk+CiAJPHRydWUvPgorCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LnRlbXBvcmFyeS1l
eGNlcHRpb24uc2hhcmVkLXByZWZlcmVuY2UucmVhZC1vbmx5PC9rZXk+CisJPGFycmF5PgorCQk8
c3RyaW5nPmNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tlcjwvc3RyaW5nPgorCTwvYXJyYXk+
CiAJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuZGV2aWNlLm1pY3JvcGhvbmU8L2tleT4KIAk8dHJ1
ZS8+CiA8L2RpY3Q+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>