<?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>131181</bug_id>
          
          <creation_ts>2014-04-03 13:53:37 -0700</creation_ts>
          <short_desc>[WebKit2] Promote user script SPI to API</short_desc>
          <delta_ts>2014-04-03 14:36:55 -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>997290</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-04-03 13:53:37 -0700</bug_when>
    <thetext>[WebKit2] Promote user script SPI to API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997292</commentid>
    <comment_count>1</comment_count>
      <attachid>228541</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-04-03 13:54:07 -0700</bug_when>
    <thetext>Created attachment 228541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997311</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-04-03 14:36:55 -0700</bug_when>
    <thetext>Committed r166744: &lt;http://trac.webkit.org/changeset/166744&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228541</attachid>
            <date>2014-04-03 13:54:07 -0700</date>
            <delta_ts>2014-04-03 13:56:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131181-20140403135346.patch</filename>
            <type>text/plain</type>
            <size>64396</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjczOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE0LTA0LTAzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYktpdDJdIFByb21vdGUgdXNlciBz
Y3JpcHQgU1BJIHRvIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMxMTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdE1lc3NhZ2Uu
aC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5tbTogQ29w
aWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNz
YWdlLm1tLgorICAgICAgICAoLVtXS1NjcmlwdE1lc3NhZ2Ugc2NyaXB0V29ybGRdKToKKyAgICAg
ICAgKC1bX1dLU2NyaXB0TWVzc2FnZSBzY3JpcHRXb3JsZF0pOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdE1lc3NhZ2VIYW5k
bGVyLmguCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdFdvcmxkLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2NyaXB0V29y
bGQuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0V29ybGQubW06IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2NyaXB0V29y
bGQubW0uCisgICAgICAgICgrW1dLU2NyaXB0V29ybGQgZGVmYXVsdFdvcmxkXSk6CisgICAgICAg
ICgrW19XS1NjcmlwdFdvcmxkIGRlZmF1bHRXb3JsZF0pOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudENvbnRyb2xs
ZXIuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9s
bGVyLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1VzZXJDb250ZW50Q29udHJvbGxlci5tbS4KKyAgICAgICAgKC1bV0tVc2VyQ29udGVudENvbnRy
b2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bmFtZTp3b3JsZDpdKToKKyAgICAgICAgKC1b
V0tVc2VyQ29udGVudENvbnRyb2xsZXIgcmVtb3ZlU2NyaXB0TWVzc2FnZUhhbmRsZXJGb3JOYW1l
OndvcmxkOl0pOgorICAgICAgICAoLVtfV0tVc2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0
TWVzc2FnZUhhbmRsZXI6bmFtZTp3b3JsZDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bX1dLVXNl
ckNvbnRlbnRDb250cm9sbGVyIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTp3b3Js
ZDpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGluaXRXaXRoRnJhbWU6Y29uZmlndXJhdGlvbjpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06
CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVzZXJDb250ZW50Q29udHJvbGxl
cjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdXNlckNvbnRlbnRDb250
cm9sbGVyXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Nl
dFVzZXJDb250ZW50Q29udHJvbGxlcjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNzYWdlLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNzYWdlLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdFdvcmxkLmg6IFJlbW92ZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRXb3JsZC5tbTogUmVtb3ZlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50Q29udHJvbGxlci5o
OiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRD
b250cm9sbGVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKwogMjAxNC0wNC0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChBc3luYyB0ZXh0IGlucHV0KTogQ29udHJvbHMg
YmVjb21lIHVucmVzcG9uc2l2ZSB0byBtb3VzZSBldmVudHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2UuaAkocmV2aXNp
b24gMTY2Njc0KQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Nj
cmlwdE1lc3NhZ2UuaDoxNjY2NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLU2NyaXB0TWVzc2FnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdl
YktpdDIvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxFRAorCitAY2xhc3MgV0tX
ZWJWaWV3OworQGNsYXNzIF9XS1NjcmlwdFdvcmxkOworCitXS19BUElfQ0xBU1MKK0BpbnRlcmZh
Y2UgX1dLU2NyaXB0TWVzc2FnZSA6IE5TT2JqZWN0CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgaWQgYm9keTsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCB3ZWFr
KSBXS1dlYlZpZXcgKndlYlZpZXc7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5T
U3RyaW5nICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tTY3JpcHRX
b3JsZCAqc2NyaXB0V29ybGQ7CisKKy8vIEZJWE1FOiBDb25zaWRlciBhZGRpbmcgdGhlIG5hdmln
YXRpb24gYXMgd2VsbC4KKworQGVuZAorCisjZW5kaWYKKwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5oCSh3b3JraW5n
IGNvcHkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVz
c2FnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNiArMjksMTYgQEAKICNpZiBXS19BUElfRU5B
QkxFRAogCiBAY2xhc3MgV0tXZWJWaWV3OwotQGNsYXNzIF9XS1NjcmlwdFdvcmxkOworQGNsYXNz
IFdLU2NyaXB0V29ybGQ7CiAKIFdLX0FQSV9DTEFTUwotQGludGVyZmFjZSBfV0tTY3JpcHRNZXNz
YWdlIDogTlNPYmplY3QKK0BpbnRlcmZhY2UgV0tTY3JpcHRNZXNzYWdlIDogTlNPYmplY3QKIAog
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBpZCBib2R5OwogCiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIHdlYWspIFdLV2ViVmlldyAqd2ViVmlldzsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKm5hbWU7Ci1AcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIF9XS1NjcmlwdFdvcmxkICpzY3JpcHRXb3JsZDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgV0tTY3JpcHRXb3JsZCAqc2NyaXB0V29ybGQ7CiAKIC8vIEZJWE1F
OiBDb25zaWRlciBhZGRpbmcgdGhlIG5hdmlnYXRpb24gYXMgd2VsbC4KIApJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2UubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2Uu
bW0JKHJldmlzaW9uIDE2NjY3NCkJKGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tTY3JpcHRNZXNzYWdlLm1tOjE2NjY3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIl9XS1Nj
cmlwdE1lc3NhZ2UuaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKK0BpbXBsZW1lbnRhdGlvbiBf
V0tTY3JpcHRNZXNzYWdlCisKKy0gKGlkKWJvZHkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
LgorICAgIHJldHVybiBuaWw7Cit9CisKKy0gKFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBuaWw7Cit9CisKKy0gKE5TU3RyaW5nICop
bmFtZQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIG5pbDsKK30KKwor
LSAoX1dLU2NyaXB0V29ybGQgKilzY3JpcHRXb3JsZAoreworICAgIHJldHVybiBuaWw7Cit9CisK
K0BlbmQKKworI2VuZGlmCisKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tTY3JpcHRNZXNzYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlLm1tCSh3b3JraW5nIGNvcHkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsMTEgKzI0LDExIEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0j
aW1wb3J0ICJfV0tTY3JpcHRNZXNzYWdlLmgiCisjaW1wb3J0ICJXS1NjcmlwdE1lc3NhZ2UuaCIK
IAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLUBpbXBsZW1lbnRhdGlvbiBfV0tTY3JpcHRNZXNzYWdl
CitAaW1wbGVtZW50YXRpb24gV0tTY3JpcHRNZXNzYWdlCiAKIC0gKGlkKWJvZHkKIHsKQEAgLTQ4
LDcgKzQ4LDcgQEAgLSAoTlNTdHJpbmcgKiluYW1lCiAgICAgcmV0dXJuIG5pbDsKIH0KIAotLSAo
X1dLU2NyaXB0V29ybGQgKilzY3JpcHRXb3JsZAorLSAoV0tTY3JpcHRXb3JsZCAqKXNjcmlwdFdv
cmxkCiB7CiAgICAgcmV0dXJuIG5pbDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oCShy
ZXZpc2lvbiAxNjY2NzQpCShmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaDoxNjY2NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0Mi9XS0ZvdW5kYXRp
b24uaD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCitAY2xhc3MgX1dLU2NyaXB0TWVzc2FnZTsKK0BjbGFzcyBfV0tVc2VyQ29udGVu
dENvbnRyb2xsZXI7CisKK0Bwcm90b2NvbCBfV0tTY3JpcHRNZXNzYWdlSGFuZGxlciA8TlNPYmpl
Y3Q+CisKK0ByZXF1aXJlZAorCistICh2b2lkKV91c2VyQ29udGVudENvbnRyb2xsZXI6KF9XS1Vz
ZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlciBkaWRSZWNlaXZlU2Ny
aXB0TWVzc2FnZTooX1dLU2NyaXB0TWVzc2FnZSAqKW1lc3NhZ2U7CisKK0BlbmQKKworI2VuZGlm
CisKKworCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0
TWVzc2FnZUhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaAkod29ya2luZyBjb3B5KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDE0ICsyOSwxNCBAQAogCiAjaW1wb3J0IDxGb3VuZGF0aW9u
L0ZvdW5kYXRpb24uaD4KIAotQGNsYXNzIF9XS1NjcmlwdE1lc3NhZ2U7Ci1AY2xhc3MgX1dLVXNl
ckNvbnRlbnRDb250cm9sbGVyOworQGNsYXNzIFdLU2NyaXB0TWVzc2FnZTsKK0BjbGFzcyBXS1Vz
ZXJDb250ZW50Q29udHJvbGxlcjsKIAotQHByb3RvY29sIF9XS1NjcmlwdE1lc3NhZ2VIYW5kbGVy
IDxOU09iamVjdD4KK0Bwcm90b2NvbCBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyIDxOU09iamVjdD4K
IAogQHJlcXVpcmVkCiAKLS0gKHZvaWQpX3VzZXJDb250ZW50Q29udHJvbGxlcjooX1dLVXNlckNv
bnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJlY2VpdmVTY3JpcHRN
ZXNzYWdlOihfV0tTY3JpcHRNZXNzYWdlICopbWVzc2FnZTsKKy0gKHZvaWQpdXNlckNvbnRlbnRD
b250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxl
ciBkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTooV0tTY3JpcHRNZXNzYWdlICopbWVzc2FnZTsKIAog
QGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0
V29ybGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLU2NyaXB0V29ybGQuaAkocmV2aXNpb24gMTY2Njc0KQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdFdvcmxkLmg6MTY2Njc0KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdFdvcmxkLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0Mi9XS0ZvdW5kYXRpb24uaD4KKworI2lmIFdLX0FQSV9F
TkFCTEVECisKK1dLX0FQSV9DTEFTUworQGludGVyZmFjZSBfV0tTY3JpcHRXb3JsZCA6IE5TT2Jq
ZWN0CisKKysgKGluc3RhbmNldHlwZSlkZWZhdWx0V29ybGQ7CisKK0BlbmQKKworI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0V29ybGQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0
V29ybGQuaAkod29ya2luZyBjb3B5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1NjcmlwdFdvcmxkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNp
ZiBXS19BUElfRU5BQkxFRAogCiBXS19BUElfQ0xBU1MKLUBpbnRlcmZhY2UgX1dLU2NyaXB0V29y
bGQgOiBOU09iamVjdAorQGludGVyZmFjZSBXS1NjcmlwdFdvcmxkIDogTlNPYmplY3QKIAogKyAo
aW5zdGFuY2V0eXBlKWRlZmF1bHRXb3JsZDsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1NjcmlwdFdvcmxkLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRXb3JsZC5tbQkocmV2aXNpb24gMTY2Njc0
KQkoZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdFdvcmxk
Lm1tOjE2NjY3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3Jp
cHRXb3JsZC5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tTY3JpcHRXb3JsZC5oIgorCisjaWYgV0tf
QVBJX0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIF9XS1NjcmlwdFdvcmxkIHsKKyAgICB1aW50
NjRfdCBfd29ybGRJRDsKK30KKworc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlV29ybGRJRCgpCit7
CisgICAgc3RkOjphdG9taWM8dWludDY0X3Q+IHdvcmxkSUQ7CisKKyAgICByZXR1cm4gKyt3b3Js
ZElEOworfQorCisrIChpbnN0YW5jZXR5cGUpZGVmYXVsdFdvcmxkCit7CisgICAgc3RhdGljIGRp
c3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CisgICAgc3RhdGljIF9XS1NjcmlwdFdvcmxkICpkZWZh
dWx0V29ybGQ7CisKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGRl
ZmF1bHRXb3JsZCA9IFtbX1dLU2NyaXB0V29ybGQgYWxsb2NdIF9pbml0V2l0aFdvcmxkSUQ6MF07
CisgICAgfSk7CisKKyAgICByZXR1cm4gZGVmYXVsdFdvcmxkOworfQorCistIChpbnN0YW5jZXR5
cGUpaW5pdAoreworICAgIHJldHVybiBbc2VsZiBfaW5pdFdpdGhXb3JsZElEOmdlbmVyYXRlV29y
bGRJRCgpXTsKK30KKworLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFdvcmxkSUQ6KHVpbnQ2NF90
KXdvcmxkSUQKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0
dXJuIG5pbDsKKworICAgIF93b3JsZElEID0gd29ybGRJRDsKKyAgICByZXR1cm4gc2VsZjsKK30K
KworQGVuZAorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tTY3JpcHRXb3JsZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLU2NyaXB0V29ybGQubW0JKHdvcmtpbmcgY29weSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRXb3JsZC5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjQsMTEgKzI0LDExIEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0
ICJfV0tTY3JpcHRXb3JsZC5oIgorI2ltcG9ydCAiV0tTY3JpcHRXb3JsZC5oIgogCiAjaWYgV0tf
QVBJX0VOQUJMRUQKIAotQGltcGxlbWVudGF0aW9uIF9XS1NjcmlwdFdvcmxkIHsKK0BpbXBsZW1l
bnRhdGlvbiBXS1NjcmlwdFdvcmxkIHsKICAgICB1aW50NjRfdCBfd29ybGRJRDsKIH0KIApAQCAt
NDIsMTAgKzQyLDEwIEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVdvcmxkSUQoKQogKyAoaW5z
dGFuY2V0eXBlKWRlZmF1bHRXb3JsZAogewogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25j
ZVRva2VuOwotICAgIHN0YXRpYyBfV0tTY3JpcHRXb3JsZCAqZGVmYXVsdFdvcmxkOworICAgIHN0
YXRpYyBXS1NjcmlwdFdvcmxkICpkZWZhdWx0V29ybGQ7CiAKICAgICBkaXNwYXRjaF9vbmNlKCZv
bmNlVG9rZW4sIF57Ci0gICAgICAgIGRlZmF1bHRXb3JsZCA9IFtbX1dLU2NyaXB0V29ybGQgYWxs
b2NdIF9pbml0V2l0aFdvcmxkSUQ6MF07CisgICAgICAgIGRlZmF1bHRXb3JsZCA9IFtbV0tTY3Jp
cHRXb3JsZCBhbGxvY10gX2luaXRXaXRoV29ybGRJRDowXTsKICAgICB9KTsKIAogICAgIHJldHVy
biBkZWZhdWx0V29ybGQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVXNlckNvbnRlbnRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oCShyZXZpc2lvbiAx
NjY2NzQpCShmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNv
bnRlbnRDb250cm9sbGVyLmg6MTY2Njc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxFRAor
CitAY2xhc3MgX1dLU2NyaXB0V29ybGQ7CitAcHJvdG9jb2wgX1dLU2NyaXB0TWVzc2FnZUhhbmRs
ZXI7CisKK1dLX0FQSV9DTEFTUworQGludGVyZmFjZSBfV0tVc2VyQ29udGVudENvbnRyb2xsZXIg
OiBOU09iamVjdAorCistICh2b2lkKWFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOihpZCA8X1dLU2Ny
aXB0TWVzc2FnZUhhbmRsZXI+KXNjcmlwdE1lc3NhZ2VIYW5kbGVyIG5hbWU6KE5TU3RyaW5nICop
bmFtZSB3b3JsZDooX1dLU2NyaXB0V29ybGQgKil3b3JsZDsKKy0gKHZvaWQpcmVtb3ZlU2NyaXB0
TWVzc2FnZUhhbmRsZXJGb3JOYW1lOihOU1N0cmluZyAqKW5hbWUgd29ybGQ6KF9XS1NjcmlwdFdv
cmxkICopd29ybGQ7CisKK0BlbmQKKworI2VuZGlmCisKKwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRy
b2xsZXIuaAkod29ya2luZyBjb3B5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNCAr
MjgsMTQgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLUBjbGFzcyBfV0tTY3JpcHRXb3JsZDsK
LUBwcm90b2NvbCBfV0tTY3JpcHRNZXNzYWdlSGFuZGxlcjsKK0BjbGFzcyBXS1NjcmlwdFdvcmxk
OworQHByb3RvY29sIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI7CiAKIFdLX0FQSV9DTEFTUwotQGlu
dGVyZmFjZSBfV0tVc2VyQ29udGVudENvbnRyb2xsZXIgOiBOU09iamVjdAorQGludGVyZmFjZSBX
S1VzZXJDb250ZW50Q29udHJvbGxlciA6IE5TT2JqZWN0CiAKLS0gKHZvaWQpYWRkU2NyaXB0TWVz
c2FnZUhhbmRsZXI6KGlkIDxfV0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4pc2NyaXB0TWVzc2FnZUhh
bmRsZXIgbmFtZTooTlNTdHJpbmcgKiluYW1lIHdvcmxkOihfV0tTY3JpcHRXb3JsZCAqKXdvcmxk
OwotLSAodm9pZClyZW1vdmVTY3JpcHRNZXNzYWdlSGFuZGxlckZvck5hbWU6KE5TU3RyaW5nICop
bmFtZSB3b3JsZDooX1dLU2NyaXB0V29ybGQgKil3b3JsZDsKKy0gKHZvaWQpYWRkU2NyaXB0TWVz
c2FnZUhhbmRsZXI6KGlkIDxXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyPilzY3JpcHRNZXNzYWdlSGFu
ZGxlciBuYW1lOihOU1N0cmluZyAqKW5hbWUgd29ybGQ6KFdLU2NyaXB0V29ybGQgKil3b3JsZDsK
Ky0gKHZvaWQpcmVtb3ZlU2NyaXB0TWVzc2FnZUhhbmRsZXJGb3JOYW1lOihOU1N0cmluZyAqKW5h
bWUgd29ybGQ6KFdLU2NyaXB0V29ybGQgKil3b3JsZDsKIAogQGVuZAogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29u
dGVudENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDE2NjY3NCkJKGZyb20gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW06MTY2Njc0KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJv
bGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIl9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oIgor
CisjaWYgV0tfQVBJX0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIF9XS1VzZXJDb250ZW50Q29u
dHJvbGxlcgorCistICh2b2lkKWFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOihpZCA8X1dLU2NyaXB0
TWVzc2FnZUhhbmRsZXI+KXNjcmlwdE1lc3NhZ2VIYW5kbGVyIG5hbWU6KE5TU3RyaW5nICopbmFt
ZSB3b3JsZDooX1dLU2NyaXB0V29ybGQgKil3b3JsZAoreworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQuCit9CisKKy0gKHZvaWQpcmVtb3ZlU2NyaXB0TWVzc2FnZUhhbmRsZXJGb3JOYW1lOihOU1N0
cmluZyAqKW5hbWUgd29ybGQ6KF9XS1NjcmlwdFdvcmxkICopd29ybGQKK3sKKyAgICAvLyBGSVhN
RTogSW1wbGVtZW50LgorfQorCitAZW5kCisKKyNlbmRpZgorCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENv
bnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0
LDE4ICsyNCwxOCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJfV0tV
c2VyQ29udGVudENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJXS1VzZXJDb250ZW50Q29udHJvbGxl
ci5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAotQGltcGxlbWVudGF0aW9uIF9XS1VzZXJDb250
ZW50Q29udHJvbGxlcgorQGltcGxlbWVudGF0aW9uIFdLVXNlckNvbnRlbnRDb250cm9sbGVyCiAK
LS0gKHZvaWQpYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6KGlkIDxfV0tTY3JpcHRNZXNzYWdlSGFu
ZGxlcj4pc2NyaXB0TWVzc2FnZUhhbmRsZXIgbmFtZTooTlNTdHJpbmcgKiluYW1lIHdvcmxkOihf
V0tTY3JpcHRXb3JsZCAqKXdvcmxkCistICh2b2lkKWFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOihp
ZCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4pc2NyaXB0TWVzc2FnZUhhbmRsZXIgbmFtZTooTlNT
dHJpbmcgKiluYW1lIHdvcmxkOihXS1NjcmlwdFdvcmxkICopd29ybGQKIHsKICAgICAvLyBGSVhN
RTogSW1wbGVtZW50LgogfQogCi0tICh2b2lkKXJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9y
TmFtZTooTlNTdHJpbmcgKiluYW1lIHdvcmxkOihfV0tTY3JpcHRXb3JsZCAqKXdvcmxkCistICh2
b2lkKXJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTooTlNTdHJpbmcgKiluYW1lIHdv
cmxkOihXS1NjcmlwdFdvcmxkICopd29ybGQKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50Lgog
fQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0JKHJldmlzaW9uIDE2NjczOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBACiAjaW1w
b3J0ICJXS1ByZWZlcmVuY2VzSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLUHJvY2Vzc1Bvb2xJbnRl
cm5hbC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlLmgiCisjaW1wb3J0ICJXS1VzZXJDb250ZW50
Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmgi
CiAjaW1wb3J0ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCIKICNpbXBvcnQgIldlYkJhY2tG
b3J3YXJkTGlzdC5oIgpAQCAtNTYsNyArNTcsNiBAQAogI2ltcG9ydCAiV2ViUHJvY2Vzc1Byb3h5
LmgiCiAjaW1wb3J0ICJfV0tGaW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5SW50ZXJuYWwuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50Q29udHJvbGxlci5o
IgogI2ltcG9ydCAiX1dLVmlzaXRlZExpbmtQcm92aWRlckludGVybmFsLmgiCiAjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CiAKQEAgLTEzNyw4ICsxMzcsOCBAQCAtIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhGcmFtZTooQ0dSZWN0KWZyCiAgICAgaWYgKCFbX2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5j
ZXNdKQogICAgICAgICBbX2NvbmZpZ3VyYXRpb24gc2V0UHJlZmVyZW5jZXM6YWRvcHROUyhbW1dL
UHJlZmVyZW5jZXMgYWxsb2NdIGluaXRdKS5nZXQoKV07CiAKLSAgICBpZiAoIVtfY29uZmlndXJh
dGlvbiBfdXNlckNvbnRlbnRDb250cm9sbGVyXSkKLSAgICAgICAgW19jb25maWd1cmF0aW9uIF9z
ZXRVc2VyQ29udGVudENvbnRyb2xsZXI6YWRvcHROUyhbW19XS1VzZXJDb250ZW50Q29udHJvbGxl
ciBhbGxvY10gaW5pdF0pLmdldCgpXTsKKyAgICBpZiAoIVtfY29uZmlndXJhdGlvbiB1c2VyQ29u
dGVudENvbnRyb2xsZXJdKQorICAgICAgICBbX2NvbmZpZ3VyYXRpb24gc2V0VXNlckNvbnRlbnRD
b250cm9sbGVyOmFkb3B0TlMoW1tXS1VzZXJDb250ZW50Q29udHJvbGxlciBhbGxvY10gaW5pdF0p
LmdldCgpXTsKIAogICAgIGlmICghW19jb25maWd1cmF0aW9uIF92aXNpdGVkTGlua1Byb3ZpZGVy
XSkKICAgICAgICAgW19jb25maWd1cmF0aW9uIF9zZXRWaXNpdGVkTGlua1Byb3ZpZGVyOmFkb3B0
TlMoW1tfV0tWaXNpdGVkTGlua1Byb3ZpZGVyIGFsbG9jXSBpbml0XSkuZ2V0KCldOwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDE2NjczOSkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw2ICszMCw3IEBACiAKIEBjbGFzcyBXS1ByZWZlcmVuY2VzOwogQGNsYXNzIFdL
UHJvY2Vzc1Bvb2w7CitAY2xhc3MgV0tVc2VyQ29udGVudENvbnRyb2xsZXI7CiAKIC8qISBBIEBs
aW5rIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gQC9saW5rIGlzIGEgY29sbGVjdGlvbiBvZiBwcm9w
ZXJ0aWVzIHVzZWQgdG8gaW5pdGlhbGl6ZSBhIHdlYgogIHZpZXcuCkBAIC01Myw2ICs1NCwxMyBA
QCBXS19BUElfQ0xBU1MKICovCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBXS1ByZWZl
cmVuY2VzICpwcmVmZXJlbmNlczsKIAorCisvKiEgQGFic3RyYWN0IFRoZSB1c2VyIGNvbnRlbnQg
Y29udHJvbGxlciB0aGF0IHNob3VsZCBiZSB1c2VkIGJ5IHdlYiB2aWV3cyBjcmVhdGVkIHdpdGgg
dGhpcyBjb25maWd1cmF0aW9uLgorIEBkaXNjdXNzaW9uIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBz
ZXQgdG8gbmlsLCBhIHVuaXF1ZSB1c2VyIGNvbnRlbnQgY29udHJvbGxlciBvYmplY3Qgd2lsbCBi
ZSBjcmVhdGVkIGZvciBlYWNoCisgQGxpbmsgV0tXZWJWaWV3IEAvbGluayBpbml0aWFsaXplZCB3
aXRoIHRoZSBjb25maWd1cmF0aW9uLgorKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcp
IFdLVXNlckNvbnRlbnRDb250cm9sbGVyICp1c2VyQ29udGVudENvbnRyb2xsZXI7CisKIEBlbmQK
IAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCShyZXZpc2lvbiAxNjY3Mzkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFdLX0FQSV9F
TkFCTEVECiAKKyNpbXBvcnQgIldLVXNlckNvbnRlbnRDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJX
S1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oIgogI2ltcG9ydCAiV2Vha09iakNQdHIu
aCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTM1LDcgKzM2LDcgQEAKIEBpbXBsZW1l
bnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsKICAgICBSZXRhaW5QdHI8V0tQcm9jZXNz
UG9vbD4gX3Byb2Nlc3NQb29sOwogICAgIFJldGFpblB0cjxXS1ByZWZlcmVuY2VzPiBfcHJlZmVy
ZW5jZXM7Ci0gICAgUmV0YWluUHRyPF9XS1VzZXJDb250ZW50Q29udHJvbGxlcj4gX3VzZXJDb250
ZW50Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8V0tVc2VyQ29udGVudENvbnRyb2xsZXI+IF91
c2VyQ29udGVudENvbnRyb2xsZXI7CiAgICAgUmV0YWluUHRyPF9XS1Zpc2l0ZWRMaW5rUHJvdmlk
ZXI+IF92aXNpdGVkTGlua1Byb3ZpZGVyOwogICAgIFdlYktpdDo6V2Vha09iakNQdHI8V0tXZWJW
aWV3PiBfcmVsYXRlZFdlYlZpZXc7CiAgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBfZ3JvdXBJZGVu
dGlmaWVyOwpAQCAtNTUsNyArNTYsNyBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpv
bmUKIAogICAgIGNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wgPSBfcHJvY2Vzc1Bvb2wuZ2V0KCk7
CiAgICAgY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyA9IF9wcmVmZXJlbmNlcy5nZXQoKTsKLSAg
ICBjb25maWd1cmF0aW9uLl91c2VyQ29udGVudENvbnRyb2xsZXIgPSBfdXNlckNvbnRlbnRDb250
cm9sbGVyLmdldCgpOworICAgIGNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyID0g
X3VzZXJDb250ZW50Q29udHJvbGxlci5nZXQoKTsKICAgICBjb25maWd1cmF0aW9uLl92aXNpdGVk
TGlua1Byb3ZpZGVyID0gX3Zpc2l0ZWRMaW5rUHJvdmlkZXIuZ2V0KCk7CiAgICAgY29uZmlndXJh
dGlvbi5fcmVsYXRlZFdlYlZpZXcgPSBfcmVsYXRlZFdlYlZpZXcuZ2V0KCkuZ2V0KCk7CiAjaWYg
UExBVEZPUk0oSU9TKQpAQCAtODUsMTIgKzg2LDEyIEBAIC0gKHZvaWQpc2V0UHJlZmVyZW5jZXM6
KFdLUHJlZmVyZW5jZXMgKikKICAgICBfcHJlZmVyZW5jZXMgPSBwcmVmZXJlbmNlczsKIH0KIAot
LSAoX1dLVXNlckNvbnRlbnRDb250cm9sbGVyICopX3VzZXJDb250ZW50Q29udHJvbGxlcgorLSAo
V0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xsZXIKIHsKICAgICBy
ZXR1cm4gX3VzZXJDb250ZW50Q29udHJvbGxlci5nZXQoKTsKIH0KIAotLSAodm9pZClfc2V0VXNl
ckNvbnRlbnRDb250cm9sbGVyOihfV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVu
dENvbnRyb2xsZXIKKy0gKHZvaWQpc2V0VXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250
ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlcgogewogICAgIF91c2VyQ29udGVu
dENvbnRyb2xsZXIgPSB1c2VyQ29udGVudENvbnRyb2xsZXI7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCShyZXZpc2lvbiAxNjY3MzkpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDE1ICsyOSwxMiBAQAogCiBAY2xhc3MgV0tXZWJWaWV3Owog
QGNsYXNzIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXI7Ci1AY2xhc3MgX1dLVXNlckNvbnRlbnRDb250
cm9sbGVyOwogCiBAaW50ZXJmYWNlIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKFdLUHJpdmF0ZSkK
IAogQHByb3BlcnR5IChub25hdG9taWMsIHdlYWssIHNldHRlcj1fc2V0UmVsYXRlZFdlYlZpZXc6
KSBXS1dlYlZpZXcgKl9yZWxhdGVkV2ViVmlldzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
LCBzZXR0ZXI9X3NldEdyb3VwSWRlbnRpZmllcjopIE5TU3RyaW5nICpfZ3JvdXBJZGVudGlmaWVy
OwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nLCBzZXR0ZXI9X3NldFVzZXJDb250ZW50
Q29udHJvbGxlcjopIF9XS1VzZXJDb250ZW50Q29udHJvbGxlciAqX3VzZXJDb250ZW50Q29udHJv
bGxlcjsKLQogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywgc2V0dGVyPV9zZXRWaXNpdGVk
TGlua1Byb3ZpZGVyOikgX1dLVmlzaXRlZExpbmtQcm92aWRlciAqX3Zpc2l0ZWRMaW5rUHJvdmlk
ZXI7CiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAxNjY3MzkpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNyArNTYsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dL
RmluZE9wCiAKIEBwcm90b2NvbCBXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU7CiBAcHJvdG9jb2wg
X1dLRmluZERlbGVnYXRlOwotQHByb3RvY29sIF9XS1NjcmlwdE1lc3NhZ2VIYW5kbGVyOwogCiBA
aW50ZXJmYWNlIFdLV2ViVmlldyAoV0tQcml2YXRlKQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdE1lc3NhZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdE1lc3NhZ2UuaAkocmV2aXNp
b24gMTY2NzM5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3Jp
cHRNZXNzYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8V2ViS2l0Mi9XS0Zv
dW5kYXRpb24uaD4KLQotI2lmIFdLX0FQSV9FTkFCTEVECi0KLUBjbGFzcyBXS1dlYlZpZXc7Ci1A
Y2xhc3MgX1dLU2NyaXB0V29ybGQ7Ci0KLVdLX0FQSV9DTEFTUwotQGludGVyZmFjZSBfV0tTY3Jp
cHRNZXNzYWdlIDogTlNPYmplY3QKLQotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBp
ZCBib2R5OwotCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHdlYWspIFdLV2ViVmll
dyAqd2ViVmlldzsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKm5h
bWU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS1NjcmlwdFdvcmxkICpzY3Jp
cHRXb3JsZDsKLQotLy8gRklYTUU6IENvbnNpZGVyIGFkZGluZyB0aGUgbmF2aWdhdGlvbiBhcyB3
ZWxsLgotCi1AZW5kCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1NjcmlwdE1lc3NhZ2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNzYWdlLm1tCShyZXZpc2lvbiAxNjY3
MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NjcmlwdE1lc3Nh
Z2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiX1dLU2NyaXB0TWVzc2FnZS5oIgotCi0jaWYgV0tfQVBJ
X0VOQUJMRUQKLQotQGltcGxlbWVudGF0aW9uIF9XS1NjcmlwdE1lc3NhZ2UKLQotLSAoaWQpYm9k
eQotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0dXJuIG5pbDsKLX0KLQotLSAo
V0tXZWJWaWV3ICopd2ViVmlldwotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0
dXJuIG5pbDsKLX0KLQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgLy8gRklYTUU6IEltcGxl
bWVudC4KLSAgICByZXR1cm4gbmlsOwotfQotCi0tIChfV0tTY3JpcHRXb3JsZCAqKXNjcmlwdFdv
cmxkCi17Ci0gICAgcmV0dXJuIG5pbDsKLX0KLQotQGVuZAotCi0jZW5kaWYKLQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Ny
aXB0TWVzc2FnZUhhbmRsZXIuaAkocmV2aXNpb24gMTY2NzM5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxXZWJLaXQyL1dLRm91
bmRhdGlvbi5oPgotCi0jaWYgV0tfQVBJX0VOQUJMRUQKLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+Ci0KLUBjbGFzcyBfV0tTY3JpcHRNZXNzYWdlOwotQGNsYXNzIF9XS1VzZXJD
b250ZW50Q29udHJvbGxlcjsKLQotQHByb3RvY29sIF9XS1NjcmlwdE1lc3NhZ2VIYW5kbGVyIDxO
U09iamVjdD4KLQotQHJlcXVpcmVkCi0KLS0gKHZvaWQpX3VzZXJDb250ZW50Q29udHJvbGxlcjoo
X1dLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJlY2Vp
dmVTY3JpcHRNZXNzYWdlOihfV0tTY3JpcHRNZXNzYWdlICopbWVzc2FnZTsKLQotQGVuZAotCi0j
ZW5kaWYKLQotCi0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
U2NyaXB0V29ybGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1NjcmlwdFdvcmxkLmgJKHJldmlzaW9uIDE2NjczOSkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2NyaXB0V29ybGQuaAkod29ya2luZyBjb3B5KQpA
QCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+Ci0jaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgotCi0jaWYgV0tfQVBJX0VO
QUJMRUQKLQotV0tfQVBJX0NMQVNTCi1AaW50ZXJmYWNlIF9XS1NjcmlwdFdvcmxkIDogTlNPYmpl
Y3QKLQotKyAoaW5zdGFuY2V0eXBlKWRlZmF1bHRXb3JsZDsKLQotQGVuZAotCi0jZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2NyaXB0V29ybGQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTY3Jp
cHRXb3JsZC5tbQkocmV2aXNpb24gMTY2NzM5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tTY3JpcHRXb3JsZC5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw3MCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJfV0tTY3JpcHRX
b3JsZC5oIgotCi0jaWYgV0tfQVBJX0VOQUJMRUQKLQotQGltcGxlbWVudGF0aW9uIF9XS1Njcmlw
dFdvcmxkIHsKLSAgICB1aW50NjRfdCBfd29ybGRJRDsKLX0KLQotc3RhdGljIHVpbnQ2NF90IGdl
bmVyYXRlV29ybGRJRCgpCi17Ci0gICAgc3RkOjphdG9taWM8dWludDY0X3Q+IHdvcmxkSUQ7Ci0K
LSAgICByZXR1cm4gKyt3b3JsZElEOwotfQotCi0rIChpbnN0YW5jZXR5cGUpZGVmYXVsdFdvcmxk
Ci17Ci0gICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47Ci0gICAgc3RhdGljIF9X
S1NjcmlwdFdvcmxkICpkZWZhdWx0V29ybGQ7Ci0KLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9r
ZW4sIF57Ci0gICAgICAgIGRlZmF1bHRXb3JsZCA9IFtbX1dLU2NyaXB0V29ybGQgYWxsb2NdIF9p
bml0V2l0aFdvcmxkSUQ6MF07Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gZGVmYXVsdFdvcmxkOwot
fQotCi0tIChpbnN0YW5jZXR5cGUpaW5pdAotewotICAgIHJldHVybiBbc2VsZiBfaW5pdFdpdGhX
b3JsZElEOmdlbmVyYXRlV29ybGRJRCgpXTsKLX0KLQotLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0
aFdvcmxkSUQ6KHVpbnQ2NF90KXdvcmxkSUQKLXsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGlu
aXRdKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIF93b3JsZElEID0gd29ybGRJRDsKLSAg
ICByZXR1cm4gc2VsZjsKLX0KLQotQGVuZAotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudENv
bnRyb2xsZXIuaAkocmV2aXNpb24gMTY2NzM5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9u
Lmg+Ci0jaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgotCi0jaWYgV0tfQVBJX0VOQUJM
RUQKLQotQGNsYXNzIF9XS1NjcmlwdFdvcmxkOwotQHByb3RvY29sIF9XS1NjcmlwdE1lc3NhZ2VI
YW5kbGVyOwotCi1XS19BUElfQ0xBU1MKLUBpbnRlcmZhY2UgX1dLVXNlckNvbnRlbnRDb250cm9s
bGVyIDogTlNPYmplY3QKLQotLSAodm9pZClhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjooaWQgPF9X
S1NjcmlwdE1lc3NhZ2VIYW5kbGVyPilzY3JpcHRNZXNzYWdlSGFuZGxlciBuYW1lOihOU1N0cmlu
ZyAqKW5hbWUgd29ybGQ6KF9XS1NjcmlwdFdvcmxkICopd29ybGQ7Ci0tICh2b2lkKXJlbW92ZVNj
cmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTooTlNTdHJpbmcgKiluYW1lIHdvcmxkOihfV0tTY3Jp
cHRXb3JsZCAqKXdvcmxkOwotCi1AZW5kCi0KLSNlbmRpZgotCi0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRl
bnRDb250cm9sbGVyLm1tCShyZXZpc2lvbiAxNjY3MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbQkod29ya2luZyBjb3B5
KQpAQCAtMSw0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIl9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oIgotCi0jaWYgV0tfQVBJX0VOQUJMRUQK
LQotQGltcGxlbWVudGF0aW9uIF9XS1VzZXJDb250ZW50Q29udHJvbGxlcgotCi0tICh2b2lkKWFk
ZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOihpZCA8X1dLU2NyaXB0TWVzc2FnZUhhbmRsZXI+KXNjcmlw
dE1lc3NhZ2VIYW5kbGVyIG5hbWU6KE5TU3RyaW5nICopbmFtZSB3b3JsZDooX1dLU2NyaXB0V29y
bGQgKil3b3JsZAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi19Ci0KLS0gKHZvaWQpcmVt
b3ZlU2NyaXB0TWVzc2FnZUhhbmRsZXJGb3JOYW1lOihOU1N0cmluZyAqKW5hbWUgd29ybGQ6KF9X
S1NjcmlwdFdvcmxkICopd29ybGQKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCi1A
ZW5kCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjY3MzkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI1
OCwxMSArMjU4LDExIEBACiAJCTFBNzlEOUYyMThFQjVFRjEwMDkxNENDNSAvKiBXS0JhY2tGb3J3
YXJkTGlzdFByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNzlEOUYxMThFQjVFRjEwMDkxNENDNSAvKiBXS0JhY2tGb3J3YXJkTGlzdFByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkx
QTdDNkNEQTEzNzg5NTA4MDBCOUMwNEQgLyogRW52aXJvbm1lbnRWYXJpYWJsZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3QzZDRDgxMzc4OTUw
ODAwQjlDMDREIC8qIEVudmlyb25tZW50VmFyaWFibGVzLmNwcCAqLzsgfTsKIAkJMUE3QzZDREIx
Mzc4OTUwODAwQjlDMDREIC8qIEVudmlyb25tZW50VmFyaWFibGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDNkNEOTEzNzg5NTA4MDBCOUMwNEQg
LyogRW52aXJvbm1lbnRWYXJpYWJsZXMuaCAqLzsgfTsKLQkJMUE3RTM3NkQxOEUzQ0E1NzAwM0Qw
RkZGIC8qIF9XS1NjcmlwdFdvcmxkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE3RTM3NkIxOEUzQ0E1NzAwM0QwRkZGIC8qIF9XS1NjcmlwdFdvcmxk
Lm1tICovOyB9OwotCQkxQTdFMzc2RTE4RTNDQTU3MDAzRDBGRkYgLyogX1dLU2NyaXB0V29ybGQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0UzNzZD
MThFM0NBNTcwMDNEMEZGRiAvKiBfV0tTY3JpcHRXb3JsZC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBN0UzNzc1MThFNEEzM0EwMDNEMEZGRiAv
KiBfV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE3RTM3NzQxOEU0QTMzQTAwM0QwRkZGIC8qIF9XS1NjcmlwdE1l
c3NhZ2VIYW5kbGVyLmggKi87IH07Ci0JCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBfV0tT
Y3JpcHRNZXNzYWdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE3RTM3NzYxOEU0QTRGRTAwM0QwRkZGIC8qIF9XS1NjcmlwdE1lc3NhZ2UubW0gKi87
IH07Ci0JCTFBN0UzNzc5MThFNEE0RkUwMDNEMEZGRiAvKiBfV0tTY3JpcHRNZXNzYWdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NzE4RTRB
NEZFMDAzRDBGRkYgLyogX1dLU2NyaXB0TWVzc2FnZS5oICovOyB9OworCQkxQTdFMzc2RDE4RTND
QTU3MDAzRDBGRkYgLyogV0tTY3JpcHRXb3JsZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0UzNzZCMThFM0NBNTcwMDNEMEZGRiAvKiBXS1Njcmlw
dFdvcmxkLm1tICovOyB9OworCQkxQTdFMzc2RTE4RTNDQTU3MDAzRDBGRkYgLyogV0tTY3JpcHRX
b3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3
RTM3NkMxOEUzQ0E1NzAwM0QwRkZGIC8qIFdLU2NyaXB0V29ybGQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCTFBN0UzNzc1MThFNEEzM0EwMDNEMEZG
RiAvKiBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NDE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRN
ZXNzYWdlSGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKKwkJMUE3RTM3NzgxOEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0UzNzc2MThF
NEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gKi87IH07CisJCTFBN0UzNzc5MThF
NEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0UzNzc3MThFNEE0RkUwMDNEMEZGRiAvKiBXS1Nj
cmlwdE1lc3NhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07
IH07CiAJCTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1Byb3ZpZGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE4MUIz
N0UxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXIubW0gKi87IH07CiAJ
CTFBODFCMzgxMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1Byb3ZpZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM3RjE4QkQ2
NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBODFCMzg1MThCRDY3M0EwMDA3RkRB
QyAvKiBfV0tWaXNpdGVkTGlua1Byb3ZpZGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAvKiBf
V0tWaXNpdGVkTGlua1Byb3ZpZGVySW50ZXJuYWwuaCAqLzsgfTsKQEAgLTQzMCw4ICs0MzAsOCBA
QAogCQkxQUY0MTI5QjE4QjQwRkNEMDA1NDZGREMgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNDEy
OUExOEI0MEZDRDAwNTQ2RkRDIC8qIFdLTmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUY0Q0VFRjE4QkM0
ODE4MDBCQzJEMzQgLyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNENFRUQxOEJDNDgxODAwQkMy
RDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMUFGNENFRjAx
OEJDNDgxODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY0Q0VFRTE4QkM0ODE4MDBC
QzJEMzQgLyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuaCAqLzsgfTsKLQkJMUFGQTNBQzgx
OEU2MUM2MTAwM0NDQkFFIC8qIF9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkEzQUM2MThFNjFDNjEwMDND
Q0JBRSAvKiBfV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0gKi87IH07Ci0JCTFBRkEzQUM5MThF
NjFDNjEwMDNDQ0JBRSAvKiBfV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkEzQUM3MThFNjFDNjEwMDNDQ0JB
RSAvKiBfV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCAqLzsgfTsKKwkJMUFGQTNBQzgxOEU2MUM2
MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGQTNBQzYxOEU2MUM2MTAwM0NDQkFFIC8q
IFdLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tICovOyB9OworCQkxQUZBM0FDOTE4RTYxQzYxMDAz
Q0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkEzQUM3MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1Vz
ZXJDb250ZW50Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKIAkJMUFGREQzMTUxODkxQjU0MDAwMTUzOTcwIC8qIEFQSVBvbGljeUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGREQz
MTQxODkxQjU0MDAwMTUzOTcwIC8qIEFQSVBvbGljeUNsaWVudC5oICovOyB9OwogCQkxQUZERDMx
NzE4OTFDOTQ3MDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGREQzMTYxODkxQzk0NzAwMTUzOTcwIC8qIFdL
UHJlZmVyZW5jZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07
IH07CiAJCTFBRkREMzE5MTg5MUNBMTIwMDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2VzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGREQzMTgxODkxQ0Ex
MjAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMubW0gKi87IH07CkBAIC0yMDI3LDExICsyMDI3LDEx
IEBACiAJCTFBNzlEOUYxMThFQjVFRjEwMDkxNENDNSAvKiBXS0JhY2tGb3J3YXJkTGlzdFByaXZh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2FyZExpc3RQ
cml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBN0M2Q0Q4MTM3ODk1MDgw
MEI5QzA0RCAvKiBFbnZpcm9ubWVudFZhcmlhYmxlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFbnZpcm9ubWVudFZhcmlhYmxlcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBN0M2Q0Q5MTM3ODk1MDgwMEI5QzA0RCAvKiBFbnZpcm9ubWVudFZh
cmlhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbnZpcm9ubWVudFZh
cmlhYmxlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTdFMzc2QjE4RTNDQTU3
MDAzRDBGRkYgLyogX1dLU2NyaXB0V29ybGQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBfV0tTY3JpcHRXb3JsZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMUE3RTM3NkMxOEUzQ0E1NzAwM0QwRkZGIC8qIF9XS1NjcmlwdFdvcmxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1NjcmlwdFdvcmxkLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBN0UzNzc0MThFNEEzM0EwMDNEMEZGRiAvKiBfV0tTY3JpcHRN
ZXNzYWdlSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tTY3Jp
cHRNZXNzYWdlSGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTdFMzc3
NjE4RTRBNEZFMDAzRDBGRkYgLyogX1dLU2NyaXB0TWVzc2FnZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1NjcmlwdE1lc3NhZ2UubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBN0UzNzc3MThFNEE0RkUwMDNEMEZGRiAvKiBfV0tTY3JpcHRN
ZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1NjcmlwdE1lc3Nh
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUE3RTM3NkIxOEUzQ0E1NzAwM0Qw
RkZGIC8qIFdLU2NyaXB0V29ybGQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS1NjcmlwdFdvcmxkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QTdFMzc2QzE4RTNDQTU3MDAzRDBGRkYgLyogV0tTY3JpcHRXb3JsZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS1NjcmlwdFdvcmxkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFBN0UzNzc0MThFNEEzM0EwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2VIYW5k
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2NyaXB0TWVzc2FnZUhh
bmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUE3RTM3NzYxOEU0QTRGRTAw
M0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLU2NyaXB0TWVzc2FnZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUE3RTM3NzcxOEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1NjcmlwdE1lc3NhZ2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4MUIzN0UxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0
ZWRMaW5rUHJvdmlkZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBfV0tWaXNpdGVkTGlua1Byb3ZpZGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTgxQjM3RjE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtQcm92aWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tWaXNpdGVkTGlua1Byb3ZpZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAv
KiBfV0tWaXNpdGVkTGlua1Byb3ZpZGVySW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gX1dLVmlzaXRlZExpbmtQcm92aWRlckludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMjE1LDggKzIyMTUsOCBAQAogCQkxQUY0MTI5QTE4QjQwRkNE
MDA1NDZGREMgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS05hdmlnYXRpb25BY3Rpb25Qcml2YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBRjRDRUVEMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVkTGlu
a1RhYmxlQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBRjRDRUVFMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaXNpdGVkTGlua1RhYmxl
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUZBM0FDNjE4RTYx
QzYxMDAzQ0NCQUUgLyogX1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUZBM0FDNzE4RTYxQzYxMDAzQ0NCQUUgLyog
X1dLVXNlckNvbnRlbnRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQUZBM0FDNjE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1VzZXJDb250ZW50
Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFGQTNBQzcxOEU2
MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNvbnRlbnRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBRkREMzE0MTg5MUI1NDAwMDE1Mzk3MCAvKiBBUElQb2xpY3lD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJUG9saWN5Q2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRkREMzE2MTg5MUM5NDcwMDE1Mzk3
MCAvKiBXS1ByZWZlcmVuY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdL
UHJlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFGREQzMTgxODkx
Q0ExMjAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXS1ByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNDYzMiw0MSArNDYzMiwzNCBAQAogCQkzN0M0QzA4MzE4MTQ5QzJBMDAzNjg4Qjkg
LyogQ29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJ
CTFBMUI3NDg5MThEQTU1RkQwMDA0N0UwMiAvKiBUbyBCZSBSZW1vdmVkICovLAogCQkJCTFBNDNF
ODI2MTg4RjM4RTIwMDlFNEQzMCAvKiBEZXByZWNhdGVkICovLAorCQkJCTFBMUI3NDg5MThEQTU1
RkQwMDA0N0UwMiAvKiBUbyBCZSBSZW1vdmVkICovLAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBB
MDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5
MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODcz
NTE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICov
LAogCQkJCUExQTRGRTU3MThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZC5oICovLAogCQkJ
CUExQTRGRTU4MThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZC5tbSAqLywKIAkJCQlBMUE0
RkU2MDE4REQ1NEE0MDBCNUVBOEEgLyogX1dLRG93bmxvYWREZWxlZ2F0ZS5oICovLAotCQkJCTAw
NUQxNThFMThFNEM0RUIwMDczNDYxOSAvKiBfV0tGaW5kRGVsZWdhdGUuaCAqLywKIAkJCQlBMUE0
RkU1OTE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWRJbnRlcm5hbC5oICovLAogCQkJCTM3
OUE4NzM4MThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLmggKi8sCiAJCQkJMzc5
QTg3MzcxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb24ubW0gKi8sCiAJCQkJMzc5
QTg3M0IxOEJCRkYwNzAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb25JbnRlcm5hbC5oICovLAor
CQkJCTAwNUQxNThFMThFNEM0RUIwMDczNDYxOSAvKiBfV0tGaW5kRGVsZWdhdGUuaCAqLywKIAkJ
CQkxQTQzRTgyODE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmggKi8sCiAJCQkJMUE0M0U4MjcxODhGM0NEQzAwOUU0RDMwIC8qIF9XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5tbSAqLywKLQkJCQkxQTdFMzc3NzE4RTRBNEZFMDAzRDBGRkYgLyogX1dLU2Ny
aXB0TWVzc2FnZS5oICovLAotCQkJCTFBN0UzNzc2MThFNEE0RkUwMDNEMEZGRiAvKiBfV0tTY3Jp
cHRNZXNzYWdlLm1tICovLAotCQkJCTFBN0UzNzc0MThFNEEzM0EwMDNEMEZGRiAvKiBfV0tTY3Jp
cHRNZXNzYWdlSGFuZGxlci5oICovLAotCQkJCTFBN0UzNzZDMThFM0NBNTcwMDNEMEZGRiAvKiBf
V0tTY3JpcHRXb3JsZC5oICovLAotCQkJCTFBN0UzNzZCMThFM0NBNTcwMDNEMEZGRiAvKiBfV0tT
Y3JpcHRXb3JsZC5tbSAqLywKIAkJCQkyRDZCMzcxOTE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1
bWJuYWlsVmlldy5oICovLAotCQkJCTJEQUNFNjREMThBREJGRjAwMEU0Q0E3NiAvKiBfV0tUaHVt
Ym5haWxWaWV3SW50ZXJuYWwuaCAqLywKIAkJCQkyRDZCMzcxQTE4QTk2N0FEMDA0MkFFODAgLyog
X1dLVGh1bWJuYWlsVmlldy5tbSAqLywKLQkJCQkxQUZBM0FDNzE4RTYxQzYxMDAzQ0NCQUUgLyog
X1dLVXNlckNvbnRlbnRDb250cm9sbGVyLmggKi8sCi0JCQkJMUFGQTNBQzYxOEU2MUM2MTAwM0ND
QkFFIC8qIF9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSAqLywKKwkJCQkyREFDRTY0RDE4QURC
RkYwMDBFNENBNzYgLyogX1dLVGh1bWJuYWlsVmlld0ludGVybmFsLmggKi8sCiAJCQkJMUE4MUIz
N0YxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCAqLywKIAkJCQkx
QTgxQjM3RTE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtQcm92aWRlci5tbSAqLywK
IAkJCQkxQTgxQjM4NDE4QkQ2NzNBMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtQcm92aWRlcklu
dGVybmFsLmggKi8sCiAJCQkJMzdDNEMwOEIxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0Zvcndh
cmRMaXN0LmggKi8sCiAJCQkJMzdDNEMwOEExODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0Zvcndh
cmRMaXN0Lm1tICovLAogCQkJCTM3QzRDMDhFMTgxNEFGM0EwMDM2ODhCOSAvKiBXS0JhY2tGb3J3
YXJkTGlzdEludGVybmFsLmggKi8sCi0JCQkJMUE3OUQ5RjExOEVCNUVGMTAwOTE0Q0M1IC8qIFdL
QmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oICovLAogCQkJCTM3QzRDMDg1MTgxNDlDNUIwMDM2ODhC
OSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLywKIAkJCQkzN0M0QzA4NDE4MTQ5QzVCMDAz
Njg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tICovLAogCQkJCTM3QzRDMDg4MTgxNDlG
MjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovLAorCQkJCTFB
NzlEOUYxMThFQjVFRjEwMDkxNENDNSAvKiBXS0JhY2tGb3J3YXJkTGlzdFByaXZhdGUuaCAqLywK
IAkJCQkxQTRENjY0QTE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8uaCAqLywKIAkJCQkx
QTRENjY0OTE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8ubW0gKi8sCiAJCQkJMUE0RDY2
NEQxOEEzMDMxQjAwRDgyRTIxIC8qIFdLRnJhbWVJbmZvSW50ZXJuYWwuaCAqLywKQEAgLTQ2ODUs
MjAgKzQ2NzgsMjcgQEAKIAkJCQkxQTFCMEVCNzE4QTQyNENEMDAzODQ4MUEgLyogV0tOYXZpZ2F0
aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovLAogCQkJCTFBRkREMzE2MTg5MUM5NDcwMDE1Mzk3MCAv
KiBXS1ByZWZlcmVuY2VzLmggKi8sCiAJCQkJMUFGREQzMTgxODkxQ0ExMjAwMTUzOTcwIC8qIFdL
UHJlZmVyZW5jZXMubW0gKi8sCi0JCQkJN0M4RUIxMTYxOERCNkExOTAwNzkxN0MyIC8qIFdLUHJl
ZmVyZW5jZXNQcml2YXRlLmggKi8sCiAJCQkJMUEzQzg4N0YxOEE1QUJBRTAwQzRDOTYyIC8qIFdL
UHJlZmVyZW5jZXNJbnRlcm5hbC5oICovLAorCQkJCTdDOEVCMTE2MThEQjZBMTkwMDc5MTdDMiAv
KiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovLAogCQkJCTFBMTU4NDE4MTg5MDQ0RjUwMDE3NjE2
QyAvKiBXS1Byb2Nlc3NQb29sLmggKi8sCiAJCQkJMUExNTg0MTcxODkwNDRGNTAwMTc2MTZDIC8q
IFdLUHJvY2Vzc1Bvb2wubW0gKi8sCi0JCQkJMUE2NTA5Q0QxOEI0MTQ2MjAwNjE0MzMyIC8qIFdL
UHJvY2Vzc1Bvb2xQcml2YXRlLmggKi8sCiAJCQkJMUEzQ0MxNjgxODkwN0VCMDAwMUU2RUQ4IC8q
IFdLUHJvY2Vzc1Bvb2xJbnRlcm5hbC5oICovLAorCQkJCTFBNjUwOUNEMThCNDE0NjIwMDYxNDMz
MiAvKiBXS1Byb2Nlc3NQb29sUHJpdmF0ZS5oICovLAorCQkJCTFBN0UzNzc3MThFNEE0RkUwMDNE
MEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UuaCAqLywKKwkJCQkxQTdFMzc3NjE4RTRBNEZFMDAzRDBG
RkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tICovLAorCQkJCTFBN0UzNzc0MThFNEEzM0EwMDNEMEZG
RiAvKiBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLmggKi8sCisJCQkJMUE3RTM3NkMxOEUzQ0E1NzAw
M0QwRkZGIC8qIFdLU2NyaXB0V29ybGQuaCAqLywKKwkJCQkxQTdFMzc2QjE4RTNDQTU3MDAzRDBG
RkYgLyogV0tTY3JpcHRXb3JsZC5tbSAqLywKIAkJCQkxQUQ4NzkwOTE4QjZDMzhBMDA2Q0FGRDcg
LyogV0tVSURlbGVnYXRlLmggKi8sCiAJCQkJMzc0MzkyNTcxOEJDNEM2MDAwMUM4Njc1IC8qIFdL
VUlEZWxlZ2F0ZVByaXZhdGUuaCAqLywKKwkJCQkxQUZBM0FDNzE4RTYxQzYxMDAzQ0NCQUUgLyog
V0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCAqLywKKwkJCQkxQUZBM0FDNjE4RTYxQzYxMDAzQ0NC
QUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0gKi8sCiAJCQkJMUEzQ0MxNjUxODkwNkFD
RjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5oICovLAogCQkJCTFBM0NDMTY0MTg5MDZBQ0YwMDFFNkVE
OCAvKiBXS1dlYlZpZXcubW0gKi8sCiAJCQkJMUFERjU5MTkxODkwNTI4RTAwNDNDMTQ1IC8qIFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQkxQURGNTkxODE4OTA1MjhFMDA0M0MxNDUg
LyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSAqLywKLQkJCQkxQUMxNDE1MDE4QUM0N0VFMDA2
QzYwMkMgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCAqLywKIAkJCQkyRDdBQUZE
NTE4Qzk1NkFGMDBBN0FDRDQgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmggKi8s
CisJCQkJMUFDMTQxNTAxOEFDNDdFRTAwNkM2MDJDIC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb25Q
cml2YXRlLmggKi8sCiAJCQkJMUE2NkJGOEUxOEEwNTJFRDAwMjA3MUI0IC8qIFdLV2ViVmlld0lu
dGVybmFsLmggKi8sCiAJCQkJMjZGOUE4M0ExOEEzNDYzRjAwQUVCODhBIC8qIFdLV2ViVmlld1By
aXZhdGUuaCAqLywKIAkJCQkxQUQ2MEY1QzE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0
dXJlcy5oICovLApAQCAtNjY0MSw3ICs2NjQxLDcgQEAKIAkJCQkwRkNCNEU2MjE4QkJFM0Q5MDAw
RkNGQzkgLyogUGFnZUNsaWVudEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDE3RDBEMTYy
NjBGRjQwMDcwNTRGNSAvKiBXS0RPTU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzlDNDM2
MTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQTdF
Mzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogX1dLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFBN0UzNzc1MThFNEEzM0EwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2VI
YW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTNFQkVBQjE2MjdEOUM5MDA1Rjg5RjEgLyog
V0tET01UZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAxN0QyMTE2MjYzMzA4MDA3MDU0RjUg
LyogV0tET01UZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUI3NDhCMThEQTU3
NkQwMDA0N0UwMiAvKiBXS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CkBAIC02NjY5LDcgKzY2NjksNyBAQAogCQkJCTM3MUIzMkRFMTg0RDY3NDkwMDEzRTJCMiAvKiBX
S05TVVJMUHJvdGVjdGlvblNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTg0RjU4OTE2NEJB
MDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUM1RkExRUQzMThFMTA2MjIwMEIzRjQwMiAvKiBXS0FpclBsYXlSb3V0ZVBpY2tl
ci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUE3RTM3NkUxOEUzQ0E1NzAwM0QwRkZGIC8qIF9XS1Nj
cmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQTdFMzc2RTE4RTNDQTU3MDAzRDBGRkYg
LyogV0tTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBRDMwOTMxNjRCNEM1RDAw
NzJERUE5IC8qIEN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyOTg0RjU3RDE2NEI5MTVGMDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MzUzREYxODg3MTI4QjAwRDlGRTQ0IC8q
IEtleWVkRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCkBAIC02OTA2LDcgKzY5MDYsNyBAQAogCQkJ
CTFBQ0VDRDI1MTcxNjJEQjEwMDFGQzlFRiAvKiBTdG9yYWdlQXJlYU1hcC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEzMzRERUUxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEU3RDNEMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNp
dGVkTGlua1RhYmxlQ29udHJvbGxlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQTdF
Mzc3OTE4RTRBNEZFMDAzRDBGRkYgLyogX1dLU2NyaXB0TWVzc2FnZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMUE3RTM3NzkxOEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE0NEI5NUMxNkI3M0Y5RjAwQjdCQkQ4IC8qIFN0b3JhZ2VNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFNjE4NEQ0NEI0MDA1MUI2MjIgLyogV0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMzFBOTcxNkJD
Njg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApA
QCAtNzAyNiw3ICs3MDI2LDcgQEAKIAkJCQlCQzlCMzhBMTEwRjUzOEJFMDA0NDNBMTUgLyogV2Vi
RnJhbWVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQkUxRTAxMkQ1NEE0MTAwMDRBMjI4
IC8qIFdlYkdlb2xvY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNUZFNTEy
RDY5NzE2MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywK
LQkJCQkxQUZBM0FDOTE4RTYxQzYxMDAzQ0NCQUUgLyogX1dLVXNlckNvbnRlbnRDb250cm9sbGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUZBM0FDOTE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2Vy
Q29udGVudENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEU2MDYyMTJENkJBOTEw
MDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1NENBQ0IxMkQ2NDI5MTAwNUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclBy
b3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxRjdEMzZDMTE4REE1MTNGMDBEOUQ2NTkgLyogQVBJ
RG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODI5MSw3ICs4MjkxLDcgQEAKIAkJ
CQkxQTJCQjZEMDE0MTE3QjREMDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDkwRDMxMjgxQzk2NjAwMUVC
OTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUFBNDc5MjMxMkE1OUZEOTAwODIzNkMzIC8qIFBsdWdpblByb2Nlc3NNYWMubW0gaW4g
U291cmNlcyAqLywKLQkJCQkxQTdFMzc3ODE4RTRBNEZFMDAzRDBGRkYgLyogX1dLU2NyaXB0TWVz
c2FnZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBX
S1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzgyODM4QzE2QjQ1RjA3MDBB
Mjc4RkUgLyogUGx1Z2luUHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREE5NDQ5
RTE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBMEVDNjA0MTI0QTlGMkMwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzTWFu
YWdlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTg0NDMsNyArODQ0Myw3IEBACiAJCQkJQzUyMzdG
NjAxMjQ0MUNBMzAwNzgwNDcyIC8qIFdlYkVkaXRvckNsaWVudE1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUJDNTc1NjEzMTI2RTAxMzgwMDZGMEYxMiAvKiBBUElFcnJvci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzExMUFFMDExMkY1QkMyMDAzMzdCQUIgLyogV2ViRXJyb3JzTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJMUFGQTNBQzgxOEU2MUM2MTAwM0NDQkFFIC8qIF9XS1VzZXJDb250
ZW50Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFBRkEzQUM4MThFNjFDNjEwMDND
Q0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMw
MzM3REFFMTI3QTI0RkUwMDhGRjRGNCAvKiBXZWJFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzAzMkRCQTEwRjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDMTExQjVFMTEyRjYyOTgwMDMzN0JBQiAvKiBXZWJFdmVudEZhY3Rv
cnkubW0gaW4gU291cmNlcyAqLywKQEAgLTg2MzcsNyArODYzNyw3IEBACiAJCQkJQkM0MDc2Mjgx
MjRGRjA0MDAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTE1RTc3MjcxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0EyODRENjE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJMUE3RTM3NkQxOEUzQ0E1NzAwM0QwRkZGIC8qIF9XS1Njcmlw
dFdvcmxkLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMUE3RTM3NkQxOEUzQ0E1NzAwM0QwRkZGIC8q
IFdLU2NyaXB0V29ybGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjBDMzY1ODE4QzA1MUJBMDBG
NjA3RDcgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBG
MEMzNjVDMThDMDVDQTEwMEY2MDdENyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0QTYyOTYxNDczMTNBMDAwNkM2ODFBIC8qIFdL
Q29ubmVjdGlvblJlZi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NjczOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE0LTA0LTAzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgW1dlYktpdDJdIFByb21vdGUgdXNlciBzY3JpcHQgU1BJIHRvIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMTgx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaWdy
YXRlSGVhZGVycy5tYWtlOgorCiAyMDE0LTA0LTAyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxh
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJlbW92ZSB0aGUgbGVnYWN5IHN0cmluZyBk
cmF3aW5nIGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQkocmV2
aXNpb24gMTY2NzM4KQorKysgU291cmNlL1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjc0LDggKzI3NCwxMiBAQCBXRUJLSVQyX0hFQURFUlMgPSBcCiAg
ICAgV0tQcmVmZXJlbmNlcy5oIFwKICAgICBXS1Byb2Nlc3NQb29sLmggXAogICAgIFdLUHJvY2Vz
c1Bvb2xQcml2YXRlLmggXAorICAgIFdLU2NyaXB0TWVzc2FnZS5oIFwKKyAgICBXS1NjcmlwdE1l
c3NhZ2VIYW5kbGVyLmggXAorICAgIFdLU2NyaXB0V29ybGQuaCBcCiAgICAgV0tVSURlbGVnYXRl
LmggXAogICAgIFdLVUlEZWxlZ2F0ZVByaXZhdGUuaCBcCisgICAgV0tVc2VyQ29udGVudENvbnRy
b2xsZXIuaCBcCiAgICAgV0tXZWJWaWV3LmggXAogICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24u
aCBcCiAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBcCg==
</data>
<flag name="review"
          id="252840"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>