<?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>132526</bug_id>
          
          <creation_ts>2014-05-03 12:08:39 -0700</creation_ts>
          <short_desc>[Cocoa WebKit2] Add basic _WKWebsiteDataStore implementation</short_desc>
          <delta_ts>2014-05-03 13:47:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006357</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-03 12:08:39 -0700</bug_when>
    <thetext>[Cocoa WebKit2] Add basic _WKWebsiteDataStore implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006361</commentid>
    <comment_count>1</comment_count>
      <attachid>230758</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-03 12:16:07 -0700</bug_when>
    <thetext>Created attachment 230758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006379</commentid>
    <comment_count>2</comment_count>
      <attachid>230758</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-05-03 13:44:06 -0700</bug_when>
    <thetext>Comment on attachment 230758
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h:41
&gt; +@property (readonly) BOOL isNonPersistentDataStore;

I think this should be

@property (readonly, getter=isNonPersistentDataStore) BOOL nonPersistentDataStore;

Or maybe just nonPersistent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006380</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-03 13:47:14 -0700</bug_when>
    <thetext>Committed r168229: &lt;http://trac.webkit.org/changeset/168229&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230758</attachid>
            <date>2014-05-03 12:16:07 -0700</date>
            <delta_ts>2014-05-03 13:44:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132526-20140503121545.patch</filename>
            <type>text/plain</type>
            <size>30716</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODIyNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE0LTA1LTAzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NvY29hIFdlYktpdDJdIEFkZCBiYXNp
YyBfV0tXZWJzaXRlRGF0YVN0b3JlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFJlbmFtZXMgV0tTZXNzaW9uIHRvIF9XS1dl
YnNpdGVEYXRhU3RvcmUgdG8gYmV0dGVyIHJlZmxlY3QgaXRzIGludGVuZGVkIHVzZSAocmVuYW1p
bmcKKyAgICAgICAgICB0aGUgaW1wbGVtZW50YXRpb24gb2JqZWN0IHdpbGwgY29tZSBsYXRlciku
CisgICAgICAgIC0gTWFrZXMgX1dLV2Vic2l0ZURhdGFTdG9yZSB3b3JrIGFzIGEgd3JhcHBlZCBP
YmplY3RpdmUtQyBvYmplY3QuCisgICAgICAgIC0gQWRkcyB0aGUgYWJpbGl0eSB0byBzZXQgYSBf
V0tXZWJzaXRlRGF0YVN0b3JlIG9uIHRoZSBXS1dlYlZpZXdDb25maWd1cmF0aW9uLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0Ojpu
ZXdPYmplY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb24ubW06CisgICAgICAgICgtW1dL
U2Vzc2lvbiBkZWFsbG9jXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLU2Vzc2lvbiBlcGhlbWVy
YWxdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tTZXNzaW9uIEFQSTo6XSk6IERlbGV0ZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25JbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViS2l0Ojp3cmFwcGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGluaXRXaXRoRnJhbWU6Y29u
ZmlndXJhdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdp
dGhab25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF93ZWJzaXRlRGF0
YVN0b3JlXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFdlYnNpdGVE
YXRhU3RvcmU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
c2l0ZURhdGFTdG9yZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLU2Vzc2lvbi5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
c2l0ZURhdGFTdG9yZS5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Nlc3Npb24ubW0uCisgICAgICAgICgrW19XS1dlYnNpdGVEYXRhU3RvcmUgbm9u
UGVyc2lzdGVudERhdGFTdG9yZV0pOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlIGlz
Tm9uUGVyc2lzdGVudERhdGFTdG9yZV0pOgorICAgICAgICAoLVtXS1Nlc3Npb24gZXBoZW1lcmFs
XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0
YVN0b3JlSW50ZXJuYWwuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Nlc3Npb25JbnRlcm5hbC5oLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAxNC0wNS0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gUmVtb3ZlIHVudXNlZCBXS0Vycm9yUmVjb3ZlcnlB
dHRlbXB0aW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0J
KHJldmlzaW9uIDE2ODIyMikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9BUElPYmpl
Y3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDEzICsyOCwxMSBAQAogCiAjaWYgV0tfQVBJX0VO
QUJMRUQKIAotI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tCYWNr
Rm9yd2FyZExpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50
ZXJuYWwuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgi
CiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCIKICNpbXBvcnQgIldL
Q29ubmVjdGlvbkludGVybmFsLmgiCi0jaW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVybmFsLmgi
CiAjaW1wb3J0ICJXS05TQXJyYXkuaCIKICNpbXBvcnQgIldLTlNEYXRhLmgiCiAjaW1wb3J0ICJX
S05TRGljdGlvbmFyeS5oIgpAQCAtNTIsNiArNTAsOSBAQAogI2ltcG9ydCAiV0tXZWJQcm9jZXNz
UGx1Z0luTm9kZUhhbmRsZUludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Q
YWdlR3JvdXBJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29y
bGRJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgorI2ltcG9ydCAi
X1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLV2Vic2l0ZURhdGFTdG9yZUlu
dGVybmFsLmgiCiAKIG5hbWVzcGFjZSBBUEkgewogCkBAIC0xMzgsNiArMTM5LDEwIEBAIHZvaWQq
IE9iamVjdDo6bmV3T2JqZWN0KHNpemVfdCBzaXplLCBUeXAKICAgICAgICAgd3JhcHBlciA9IE5T
QWxsb2NhdGVPYmplY3QoW1dLTlNVUkxQcm90ZWN0aW9uU3BhY2UgY2xhc3NdLCBzaXplLCBudWxs
cHRyKTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFR5cGU6OlNlc3Npb246CisgICAgICAg
IHdyYXBwZXIgPSBbX1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxvY107CisgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgCiAgICAgY2FzZSBUeXBlOjpTdHJpbmc6CiAgICAgICAgIHdyYXBwZXIgPSBO
U0FsbG9jYXRlT2JqZWN0KFtXS05TU3RyaW5nIGNsYXNzXSwgc2l6ZSwgbnVsbHB0cik7CiAgICAg
ICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nl
c3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLU2Vzc2lvbi5oCShyZXZpc2lvbiAxNjgyMjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgotCi0jaWYgV0tf
QVBJX0VOQUJMRUQKLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Ci0KLVdLX0FQ
SV9DTEFTUwotQGludGVyZmFjZSBXS1Nlc3Npb24gOiBOU09iamVjdAotCi1AcHJvcGVydHkgKHJl
YWRvbmx5KSBib29sIGVwaGVtZXJhbDsKLQotQGVuZAotCi0jZW5kaWYgLy8gV0tfQVBJX0VOQUJM
RUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNz
aW9uLm1tCShyZXZpc2lvbiAxNjgyMjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLU2Vzc2lvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1OCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS1Nlc3Npb25JbnRlcm5hbC5o
IgotCi0jaWYgV0tfQVBJX0VOQUJMRUQKLQotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotQGlt
cGxlbWVudGF0aW9uIFdLU2Vzc2lvbiB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPEFQSTo6U2Vz
c2lvbj4gX3Nlc3Npb247Ci19Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIF9zZXNzaW9uLT5B
UEk6OlNlc3Npb246On5TZXNzaW9uKCk7Ci0KLSAgICBbc3VwZXIgZGVhbGxvY107Ci19Ci0KLS0g
KGJvb2wpZXBoZW1lcmFsCi17Ci0gICAgcmV0dXJuIF9zZXNzaW9uLT5pc0VwaGVtZXJhbCgpOwot
fQotCi0jcHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KLQotLSAo
QVBJOjpPYmplY3QmKV9hcGlPYmplY3QKLXsKLSAgICByZXR1cm4gKl9zZXNzaW9uOwotfQotCi1A
ZW5kCi0KLSNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25JbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uSW50ZXJuYWwuaAkocmV2aXNp
b24gMTY4MjIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Np
b25JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW1wb3J0ICJXS1Nlc3Npb24uaCIKLQotI2lmIFdLX0FQSV9FTkFCTEVECi0KLSNpbXBvcnQg
IldLT2JqZWN0LmgiCi0jaW1wb3J0ICJBUElTZXNzaW9uLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotCi1pbmxpbmUgV0tTZXNzaW9uICp3cmFwcGVyKEFQSTo6U2Vzc2lvbiYgc2Vzc2lvbikKLXsK
LSAgICBBU1NFUlQoW3Nlc3Npb24ud3JhcHBlcigpIGlzS2luZE9mQ2xhc3M6W1dLU2Vzc2lvbiBj
bGFzc11dKTsKLSAgICByZXR1cm4gKFdLU2Vzc2lvbiAqKXNlc3Npb24ud3JhcHBlcigpOwotfQot
Ci19Ci0KLUBpbnRlcmZhY2UgV0tTZXNzaW9uICgpIDxXS09iamVjdD4KLUBlbmQKLQotI2VuZGlm
IC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMTY4MjIyKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTYx
LDYgKzYxLDcgQEAKICNpbXBvcnQgIl9XS0Zvcm1EZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLUmVt
b3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLVmlzaXRlZExpbmtQcm92
aWRlckludGVybmFsLmgiCisjaW1wb3J0ICJfV0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaCIK
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTE1Nyw3
ICsxNTgsMTAgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcgogCiAg
ICAgaWYgKCFbX2NvbmZpZ3VyYXRpb24gX3Zpc2l0ZWRMaW5rUHJvdmlkZXJdKQogICAgICAgICBb
X2NvbmZpZ3VyYXRpb24gX3NldFZpc2l0ZWRMaW5rUHJvdmlkZXI6YWRvcHROUyhbW19XS1Zpc2l0
ZWRMaW5rUHJvdmlkZXIgYWxsb2NdIGluaXRdKS5nZXQoKV07Ci0KKyAgICAKKyAgICBpZiAoIVtf
Y29uZmlndXJhdGlvbiBfd2Vic2l0ZURhdGFTdG9yZV0pCisgICAgICAgIFtfY29uZmlndXJhdGlv
biBfc2V0V2Vic2l0ZURhdGFTdG9yZTpbX1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0
b3JlXV07CisgICAgCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghW19jb25maWd1cmF0aW9u
IF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeV0pCiAgICAgICAgIFtfY29uZmlndXJhdGlvbiBfc2V0
Q29udGVudFByb3ZpZGVyUmVnaXN0cnk6YWRvcHROUyhbW1dLV2ViVmlld0NvbnRlbnRQcm92aWRl
clJlZ2lzdHJ5IGFsbG9jXSBpbml0XSkuZ2V0KCldOwpAQCAtMTczLDcgKzE3Nyw4IEBAIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnIKICAgICAgICAgd2ViUGFnZUNvbmZp
Z3VyYXRpb24ucmVsYXRlZFBhZ2UgPSByZWxhdGVkV2ViVmlldy0+X3BhZ2UuZ2V0KCk7CiAKICAg
ICB3ZWJQYWdlQ29uZmlndXJhdGlvbi52aXNpdGVkTGlua1Byb3ZpZGVyID0gW19jb25maWd1cmF0
aW9uIF92aXNpdGVkTGlua1Byb3ZpZGVyXS0+X3Zpc2l0ZWRMaW5rUHJvdmlkZXIuZ2V0KCk7Ci0K
KyAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5zZXNzaW9uID0gW19jb25maWd1cmF0aW9uIF93ZWJz
aXRlRGF0YVN0b3JlXS0+X3Nlc3Npb24uZ2V0KCk7CisgICAgCiAgICAgUmVmUHRyPFdlYktpdDo6
V2ViUGFnZUdyb3VwPiBwYWdlR3JvdXA7CiAgICAgTlNTdHJpbmcgKmdyb3VwSWRlbnRpZmllciA9
IGNvbmZpZ3VyYXRpb24uX2dyb3VwSWRlbnRpZmllcjsKICAgICBpZiAoZ3JvdXBJZGVudGlmaWVy
Lmxlbmd0aCkgewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQkocmV2aXNpb24gMTY4MjIy
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJXS1Vz
ZXJDb250ZW50Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVy
UmVnaXN0cnkuaCIKICNpbXBvcnQgIldlYWtPYmpDUHRyLmgiCisjaW1wb3J0ICJfV0tXZWJzaXRl
RGF0YVN0b3JlLmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIEBpbXBsZW1lbnRhdGlv
biBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsKQEAgLTM4LDYgKzM5LDcgQEAKICAgICBSZXRhaW5Q
dHI8V0tQcmVmZXJlbmNlcz4gX3ByZWZlcmVuY2VzOwogICAgIFJldGFpblB0cjxXS1VzZXJDb250
ZW50Q29udHJvbGxlcj4gX3VzZXJDb250ZW50Q29udHJvbGxlcjsKICAgICBSZXRhaW5QdHI8X1dL
VmlzaXRlZExpbmtQcm92aWRlcj4gX3Zpc2l0ZWRMaW5rUHJvdmlkZXI7CisgICAgUmV0YWluUHRy
PF9XS1dlYnNpdGVEYXRhU3RvcmU+IF93ZWJzaXRlRGF0YVN0b3JlOwogICAgIFdlYktpdDo6V2Vh
a09iakNQdHI8V0tXZWJWaWV3PiBfcmVsYXRlZFdlYlZpZXc7CiAgICAgUmV0YWluUHRyPE5TU3Ry
aW5nPiBfZ3JvdXBJZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPUykKQEAgLTU4LDYgKzYwLDcg
QEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6b25lCiAgICAgY29uZmlndXJhdGlvbi5w
cmVmZXJlbmNlcyA9IF9wcmVmZXJlbmNlcy5nZXQoKTsKICAgICBjb25maWd1cmF0aW9uLnVzZXJD
b250ZW50Q29udHJvbGxlciA9IF91c2VyQ29udGVudENvbnRyb2xsZXIuZ2V0KCk7CiAgICAgY29u
ZmlndXJhdGlvbi5fdmlzaXRlZExpbmtQcm92aWRlciA9IF92aXNpdGVkTGlua1Byb3ZpZGVyLmdl
dCgpOworICAgIGNvbmZpZ3VyYXRpb24uX3dlYnNpdGVEYXRhU3RvcmUgPSBfd2Vic2l0ZURhdGFT
dG9yZS5nZXQoKTsKICAgICBjb25maWd1cmF0aW9uLl9yZWxhdGVkV2ViVmlldyA9IF9yZWxhdGVk
V2ViVmlldy5nZXQoKS5nZXQoKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgY29uZmlndXJhdGlv
bi5fY29udGVudFByb3ZpZGVyUmVnaXN0cnkgPSBfY29udGVudFByb3ZpZGVyUmVnaXN0cnkuZ2V0
KCk7CkBAIC0xMDYsNiArMTA5LDE2IEBAIC0gKHZvaWQpX3NldFZpc2l0ZWRMaW5rUHJvdmlkZXI6
KF9XS1Zpc2kKICAgICBfdmlzaXRlZExpbmtQcm92aWRlciA9IHZpc2l0ZWRMaW5rUHJvdmlkZXI7
CiB9CiAKKy0gKF9XS1dlYnNpdGVEYXRhU3RvcmUgKilfd2Vic2l0ZURhdGFTdG9yZQoreworICAg
IHJldHVybiBfd2Vic2l0ZURhdGFTdG9yZS5nZXQoKTsKK30KKworLSAodm9pZClfc2V0V2Vic2l0
ZURhdGFTdG9yZTooX1dLV2Vic2l0ZURhdGFTdG9yZSAqKXdlYnNpdGVEYXRhU3RvcmUKK3sKKyAg
ICBfd2Vic2l0ZURhdGFTdG9yZSA9IHdlYnNpdGVEYXRhU3RvcmU7Cit9CisKICNpZiBQTEFURk9S
TShJT1MpCiAtIChXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeSAqKV9jb250ZW50UHJv
dmlkZXJSZWdpc3RyeQogewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aAkocmV2aXNpb24gMTY4MjIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAKIEBjbGFzcyBXS1dlYlZpZXc7CiBAY2xhc3MgX1dLVmlzaXRlZExpbmtQcm92
aWRlcjsKK0BjbGFzcyBfV0tXZWJzaXRlRGF0YVN0b3JlOwogCiBAaW50ZXJmYWNlIFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24gKFdLUHJpdmF0ZSkKIApAQCAtMzcsNiArMzgsOCBAQAogCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc3Ryb25nLCBzZXR0ZXI9X3NldFZpc2l0ZWRMaW5rUHJvdmlkZXI6KSBf
V0tWaXNpdGVkTGlua1Byb3ZpZGVyICpfdmlzaXRlZExpbmtQcm92aWRlcjsKIAorQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZywgc2V0dGVyPV9zZXRXZWJzaXRlRGF0YVN0b3JlOikgX1dLV2Vi
c2l0ZURhdGFTdG9yZSAqX3dlYnNpdGVEYXRhU3RvcmU7CisKIEBlbmQKIAogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dl
YnNpdGVEYXRhU3RvcmUuaAkocmV2aXNpb24gMTY3ODYwKQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvbi5oOjE2Nzg2MCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRh
dGlvbi5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CisKK1dLX0FQSV9DTEFTUworQGludGVyZmFjZSBXS1Nlc3Npb24gOiBOU09iamVj
dAorCitAcHJvcGVydHkgKHJlYWRvbmx5KSBib29sIGVwaGVtZXJhbDsKKworQGVuZAorCisjZW5k
aWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCSh3b3JraW5nIGNvcHkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3Rv
cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTUgQEAKICNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgogCiBXS19BUElfQ0xBU1MKLUBpbnRlcmZhY2UgV0tTZXNzaW9uIDog
TlNPYmplY3QKK0BpbnRlcmZhY2UgX1dLV2Vic2l0ZURhdGFTdG9yZSA6IE5TT2JqZWN0CiAKLUBw
cm9wZXJ0eSAocmVhZG9ubHkpIGJvb2wgZXBoZW1lcmFsOworLy8gUmV0dXJucyB0aGUgc2hhcmVk
IGRlZmF1bHQgZGF0YSBzdG9yZS4KKysgKGluc3RhbmNldHlwZSlkZWZhdWx0RGF0YVN0b3JlOwor
CisvLyBSZXR1cm5zIGEgbmV3IG5vbi1wZXJzaXN0ZW50IGRhdGEgc3RvcmUuCisrIChpbnN0YW5j
ZXR5cGUpbm9uUGVyc2lzdGVudERhdGFTdG9yZTsKKworQHByb3BlcnR5IChyZWFkb25seSkgQk9P
TCBpc05vblBlcnNpc3RlbnREYXRhU3RvcmU7CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9y
ZS5tbQkocmV2aXNpb24gMTY3ODYwKQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLU2Vzc2lvbi5tbToxNjc4NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTZXNz
aW9uSW50ZXJuYWwuaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CisKK0BpbXBsZW1lbnRhdGlvbiBXS1Nlc3Npb24geworICAgIEFQSTo6T2JqZWN0U3Rv
cmFnZTxBUEk6OlNlc3Npb24+IF9zZXNzaW9uOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAg
ICBfc2Vzc2lvbi0+QVBJOjpTZXNzaW9uOjp+U2Vzc2lvbigpOworCisgICAgW3N1cGVyIGRlYWxs
b2NdOworfQorCistIChib29sKWVwaGVtZXJhbAoreworICAgIHJldHVybiBfc2Vzc2lvbi0+aXNF
cGhlbWVyYWwoKTsKK30KKworI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVu
dGF0aW9uCisKKy0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Cit7CisgICAgcmV0dXJuICpfc2Vz
c2lvbjsKK30KKworQGVuZAorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVE
YXRhU3RvcmUubW0JKHdvcmtpbmcgY29weSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjQsMTQg
KzI0LDIzIEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS1Nlc3Npb25J
bnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmgiCiAKICNp
ZiBXS19BUElfRU5BQkxFRAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1AaW1wbGVtZW50
YXRpb24gV0tTZXNzaW9uIHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8QVBJOjpTZXNzaW9uPiBf
c2Vzc2lvbjsKK0BpbXBsZW1lbnRhdGlvbiBfV0tXZWJzaXRlRGF0YVN0b3JlCisKKysgKGluc3Rh
bmNldHlwZSlkZWZhdWx0RGF0YVN0b3JlCit7CisgICAgcmV0dXJuIHdyYXBwZXIoQVBJOjpTZXNz
aW9uOjpkZWZhdWx0U2Vzc2lvbigpKTsKK30KKworKyAoaW5zdGFuY2V0eXBlKW5vblBlcnNpc3Rl
bnREYXRhU3RvcmUKK3sKKyAgICBSZWZQdHI8QVBJOjpTZXNzaW9uPiBzZXNzaW9uID0gQVBJOjpT
ZXNzaW9uOjpjcmVhdGUodHJ1ZSk7CisgICAgcmV0dXJuIFt3cmFwcGVyKCpzZXNzaW9uLnJlbGVh
c2UoKS5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAodm9pZClkZWFsbG9jCkBAIC00
MSw3ICs1MCw3IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAot
LSAoYm9vbCllcGhlbWVyYWwKKy0gKEJPT0wpaXNOb25QZXJzaXN0ZW50RGF0YVN0b3JlCiB7CiAg
ICAgcmV0dXJuIF9zZXNzaW9uLT5pc0VwaGVtZXJhbCgpOwogfQpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVE
YXRhU3RvcmVJbnRlcm5hbC5oCShyZXZpc2lvbiAxNjc4NjApCShmcm9tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uSW50ZXJuYWwuaDoxNjc4NjApCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5h
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0
ICJXS1Nlc3Npb24uaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQgIldLT2JqZWN0
LmgiCisjaW1wb3J0ICJBUElTZXNzaW9uLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitpbmxp
bmUgV0tTZXNzaW9uICp3cmFwcGVyKEFQSTo6U2Vzc2lvbiYgc2Vzc2lvbikKK3sKKyAgICBBU1NF
UlQoW3Nlc3Npb24ud3JhcHBlcigpIGlzS2luZE9mQ2xhc3M6W1dLU2Vzc2lvbiBjbGFzc11dKTsK
KyAgICByZXR1cm4gKFdLU2Vzc2lvbiAqKXNlc3Npb24ud3JhcHBlcigpOworfQorCit9CisKK0Bp
bnRlcmZhY2UgV0tTZXNzaW9uICgpIDxXS09iamVjdD4KK0BlbmQKKworI2VuZGlmIC8vIFdLX0FQ
SV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dl
YnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmgJKHdvcmtpbmcg
Y29weSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURh
dGFTdG9yZUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJXS1Nlc3Npb24u
aCIKKyNpbXBvcnQgIl9XS1dlYnNpdGVEYXRhU3RvcmUuaCIKIAogI2lmIFdLX0FQSV9FTkFCTEVE
CiAKQEAgLTMyLDE1ICszMiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotaW5saW5lIFdL
U2Vzc2lvbiAqd3JhcHBlcihBUEk6OlNlc3Npb24mIHNlc3Npb24pCitpbmxpbmUgX1dLV2Vic2l0
ZURhdGFTdG9yZSAqd3JhcHBlcihBUEk6OlNlc3Npb24mIHNlc3Npb24pCiB7Ci0gICAgQVNTRVJU
KFtzZXNzaW9uLndyYXBwZXIoKSBpc0tpbmRPZkNsYXNzOltXS1Nlc3Npb24gY2xhc3NdXSk7Ci0g
ICAgcmV0dXJuIChXS1Nlc3Npb24gKilzZXNzaW9uLndyYXBwZXIoKTsKKyAgICBBU1NFUlQoW3Nl
c3Npb24ud3JhcHBlcigpIGlzS2luZE9mQ2xhc3M6W19XS1dlYnNpdGVEYXRhU3RvcmUgY2xhc3Nd
XSk7CisgICAgcmV0dXJuIChfV0tXZWJzaXRlRGF0YVN0b3JlICopc2Vzc2lvbi53cmFwcGVyKCk7
CiB9CiAKIH0KIAotQGludGVyZmFjZSBXS1Nlc3Npb24gKCkgPFdLT2JqZWN0PgorQGludGVyZmFj
ZSBfV0tXZWJzaXRlRGF0YVN0b3JlICgpIDxXS09iamVjdD4geworQHBhY2thZ2UKKyAgICBBUEk6
Ok9iamVjdFN0b3JhZ2U8QVBJOjpTZXNzaW9uPiBfc2Vzc2lvbjsKK30KIEBlbmQKIAogI2VuZGlm
IC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjgyMjIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTk0Nyw5ICs5NDcsOSBAQAogCQk3NTlDQ0Q1ODE4MDhGMTY0MDA3OEU4QTggLyogV2ViT3JpZ2lu
RGF0YU1hbmFnZXJQcm94eUNoYW5nZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTlDQ0Q1NDE4MDhGMTYwMDA3OEU4QTggLyogV2ViT3Jp
Z2luRGF0YU1hbmFnZXJQcm94eUNoYW5nZUNsaWVudC5jcHAgKi87IH07CiAJCTc1OUNDRDU5MTgw
OEYxNjkwMDc4RThBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Q2hhbmdlQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTlDQ0Q1NTE4
MDhGMTYwMDA3OEU4QTggLyogV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eUNoYW5nZUNsaWVudC5o
ICovOyB9OwogCQk3NTlDQ0Q1QTE4MDhGNjE2MDA3OEU4QTggLyogV2ViT3JpZ2luRGF0YU1hbmFn
ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzU1NDIyQkYxODA2MkJFNDAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuaCAq
LzsgfTsKLQkJNzVBOEQyQzgxODdDQ0ZBQjAwQzM5QzlFIC8qIFdLU2Vzc2lvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzVBOEQyQzQxODdDQ0Y5RjAw
QzM5QzlFIC8qIFdLU2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTc1QThEMkM5MTg3Q0NGQUYwMEMzOUM5RSAvKiBXS1Nlc3Npb24ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJDNTE4
N0NDRjlGMDBDMzlDOUUgLyogV0tTZXNzaW9uLm1tICovOyB9OwotCQk3NUE4RDJENjE4N0QxQzBF
MDBDMzlDOUUgLyogV0tTZXNzaW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkQ0MTg3RDFDMDEwMEMzOUM5RSAvKiBXS1Nlc3Np
b25JbnRlcm5hbC5oICovOyB9OworCQk3NUE4RDJDODE4N0NDRkFCMDBDMzlDOUUgLyogX1dLV2Vi
c2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzVBOEQyQzQxODdDQ0Y5RjAwQzM5QzlFIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3NUE4RDJD
OTE4N0NDRkFGMDBDMzlDOUUgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkM1MTg3Q0NGOUYwMEMzOUM5
RSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1tICovOyB9OworCQk3NUE4RDJENjE4N0QxQzBFMDBD
MzlDOUUgLyogX1dLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlDOUUgLyog
X1dLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggKi87IH07CiAJCTc1QThEMkQ3MTg3RDMwM0Ew
MEMzOUM5RSAvKiBXS1Nlc3Npb25SZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc1QThEMkQxMTg3RDE3QkYwMEMzOUM5RSAvKiBXS1Nlc3Npb25SZWYu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NUE4
RDJEODE4N0QzMDQwMDBDMzlDOUUgLyogV0tTZXNzaW9uUmVmLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkQwMTg3RDE3QkYwMEMzOUM5RSAv
KiBXS1Nlc3Npb25SZWYuY3BwICovOyB9OwogCQk3NUE4RDJFMTE4N0RFQzFBMDBDMzlDOUUgLyog
QVBJU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzVBOEQyREUxODdERTg3NDAwQzM5QzlFIC8qIEFQSVNlc3Npb24uaCAqLzsgfTsKQEAgLTI4
MjAsMTEgKzI4MjAsMTEgQEAKIAkJNzU1NDIyQzgxODA2NEZGQzAwNDZGNkE4IC8qIFdlYk9yaWdp
bkRhdGFNYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYk9yaWdp
bkRhdGFNYW5hZ2VyLm1lc3NhZ2VzLmluOyBwYXRoID0gT3JpZ2luRGF0YS9XZWJPcmlnaW5EYXRh
TWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzU5Q0NE
NTQxODA4RjE2MDAwNzhFOEE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHlDaGFuZ2VDbGll
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViT3JpZ2luRGF0
YU1hbmFnZXJQcm94eUNoYW5nZUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTc1OUNDRDU1MTgwOEYxNjAwMDc4RThBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5
Q2hhbmdlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk9yaWdp
bkRhdGFNYW5hZ2VyUHJveHlDaGFuZ2VDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNzVBOEQyQzQxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLU2Vzc2lvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Nlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNzVBOEQyQzUxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLU2Vzc2lvbi5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU2Vzc2lvbi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzVBOEQyQzQxODdDQ0Y5RjAwQzM5QzlFIC8qIF9XS1dlYnNp
dGVEYXRhU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2Vic2l0
ZURhdGFTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NUE4RDJDNTE4N0ND
RjlGMDBDMzlDOUUgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1dlYnNpdGVEYXRhU3RvcmUubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc1QThEMkQwMTg3RDE3QkYwMEMzOUM5RSAvKiBXS1Nlc3Npb25S
ZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tTZXNzaW9uUmVm
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzVBOEQyRDExODdEMTdCRjAwQzM5
QzlFIC8qIFdLU2Vzc2lvblJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1Nlc3Npb25SZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzVBOEQyRDQxODdE
MUMwMTAwQzM5QzlFIC8qIFdLU2Vzc2lvbkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdLU2Vzc2lvbkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTc1QThEMkQ0MTg3RDFDMDEwMEMzOUM5RSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2Vic2l0ZURhdGFT
dG9yZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1QThEMkREMTg3
REU4NzQwMEMzOUM5RSAvKiBBUElTZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFQSVNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3NUE4RDJERTE4N0RFODc0MDBDMzlDOUUgLyogQVBJU2Vzc2lvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBUElTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTc1RTc0OUU1MTgwREJCOTgwMDA4OEJBNiAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJPcmlnaW5EYXRhTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zODU5LDkgKzM4NTksNiBAQAogCQkJCUJDQkFBQ0U1MTQ1MjI1QzkwMDUz
RjgyRiAvKiBXS1Byb2Nlc3NHcm91cC5oICovLAogCQkJCUJDQkFBQ0U2MTQ1MjI1Q0EwMDUzRjgy
RiAvKiBXS1Byb2Nlc3NHcm91cC5tbSAqLywKIAkJCQlCQ0JBQUNFNzE0NTIyNUNCMDA1M0Y4MkYg
LyogV0tQcm9jZXNzR3JvdXBQcml2YXRlLmggKi8sCi0JCQkJNzVBOEQyQzQxODdDQ0Y5RjAwQzM5
QzlFIC8qIFdLU2Vzc2lvbi5oICovLAotCQkJCTc1QThEMkM1MTg3Q0NGOUYwMEMzOUM5RSAvKiBX
S1Nlc3Npb24ubW0gKi8sCi0JCQkJNzVBOEQyRDQxODdEMUMwMTAwQzM5QzlFIC8qIFdLU2Vzc2lv
bkludGVybmFsLmggKi8sCiAJCQkJN0NENUVCQkQxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJl
ZldyYXBwZXIuaCAqLywKIAkJCQk3Q0Q1RUJCQzE3NDZCMDRDMDAwQzFDNDUgLyogV0tUeXBlUmVm
V3JhcHBlci5tbSAqLywKIAkJCQlCQzg2OTlCMjExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lmgg
Ki8sCkBAIC00NjgyLDYgKzQ2NzksOSBAQAogCQkJCTFBODFCMzdGMThCRDY2QUQwMDA3RkRBQyAv
KiBfV0tWaXNpdGVkTGlua1Byb3ZpZGVyLmggKi8sCiAJCQkJMUE4MUIzN0UxOEJENjZBRDAwMDdG
REFDIC8qIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXIubW0gKi8sCiAJCQkJMUE4MUIzODQxOEJENjcz
QTAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXJJbnRlcm5hbC5oICovLAorCQkJCTc1
QThEMkM0MTg3Q0NGOUYwMEMzOUM5RSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLmggKi8sCisJCQkJ
NzVBOEQyQzUxODdDQ0Y5RjAwQzM5QzlFIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmUubW0gKi8sCisJ
CQkJNzVBOEQyRDQxODdEMUMwMTAwQzM5QzlFIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5h
bC5oICovLAogCQkJCTM3QzRDMDhCMTgxNEFDNUMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlz
dC5oICovLAogCQkJCTM3QzRDMDhBMTgxNEFDNUMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlz
dC5tbSAqLywKIAkJCQkzN0M0QzA4RTE4MTRBRjNBMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExp
c3RJbnRlcm5hbC5oICovLApAQCAtNzAwMSw3ICs3MDAxLDcgQEAKIAkJCQk1MThEMkNBRTEyRDUx
NTNCMDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM3MkI5RkIxMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzN0ZDMTk0QjE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLywKLQkJCQk3NUE4RDJDODE4N0ND
RkFCMDBDMzlDOUUgLyogV0tTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk3NUE4RDJDODE4
N0NDRkFCMDBDMzlDOUUgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQzU0MjU2QjgxOEJFQzE4QzAwREU0MTc5IC8qIFdLRm9ybVBvcG92ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDc1MTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJDaHJv
bWVDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtNzE3MSw3ICs3MTcxLDcgQEAKIAkJCQkxQUMx
MzM4MDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMzA2NkJGMTI1QTQ0MjEwMEU3MTI3OCAvKiBXZWJQcm9jZXNzTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyREQ1MTBGNDM4OUYwMDU4QzE1QSAvKiBXZWJQcm9j
ZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAotCQkJCTc1QThEMkQ2MTg3RDFDMEUwMEMzOUM5RSAv
KiBXS1Nlc3Npb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzVBOEQyRDYxODdEMUMw
RTAwQzM5QzlFIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEwMzJGMTkxODBGNzNCQjAwOTYxQkI3IC8qIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTdBRDExMjgxNzk4ODAwOTgyN0RBIC8q
IFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0UwRTQyNTE2
OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtODIyNSw3ICs4MjI1LDcgQEAKIAkJCQkzN0M0QzA5MzE4MTRCM0FGMDAzNjg4QjkgLyogV0tO
U0FycmF5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RUVCQTExMjc3NjFDQzAwMzMyMkI4IC8q
IEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkz
NUVFQkEzMTI3NzYxRDMwMDMzMjJCOCAvKiBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdEl0
ZW0uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNzVBOEQyQzkxODdDQ0ZBRjAwQzM5QzlFIC8qIFdL
U2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovLAorCQkJCTc1QThEMkM5MTg3Q0NGQUYwMEMzOUM5RSAv
KiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRTdEQzYxMjhC
NjQ1RDAwOTgyN0RBIC8qIEluamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxRkEyRDc0MTUyMTJERjEwMEMxQkEwQiAvKiBJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4
dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQ5ODYxOTEyNEQxMEUyMDBEODM0RTEg
LyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="255146"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>