<?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>218065</bug_id>
          
          <creation_ts>2020-10-21 18:36:42 -0700</creation_ts>
          <short_desc>Move function definitions in JSIPCBinding.h into cpp file</short_desc>
          <delta_ts>2020-10-21 22:25:19 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1700504</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-10-21 18:36:42 -0700</bug_when>
    <thetext>We should move most of function definitions from JSIPCBinding.h to JSIPCBinding.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700505</commentid>
    <comment_count>1</comment_count>
      <attachid>412056</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-10-21 18:40:49 -0700</bug_when>
    <thetext>Created attachment 412056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700516</commentid>
    <comment_count>2</comment_count>
      <attachid>412059</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-10-21 19:02:31 -0700</bug_when>
    <thetext>Created attachment 412059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700543</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-10-21 22:25:00 -0700</bug_when>
    <thetext>Committed r268854: &lt;https://trac.webkit.org/changeset/268854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700545</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-21 22:25:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/70560496&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412056</attachid>
            <date>2020-10-21 18:40:49 -0700</date>
            <delta_ts>2020-10-21 19:27:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218065-20201021184048.patch</filename>
            <type>text/plain</type>
            <size>24279</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjg4NTApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDIwLTEwLTIxICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgZnVuY3Rpb24gZGVmaW5pdGlv
bnMgaW4gSlNJUENCaW5kaW5nLmggaW50byBjcHAgZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgSlNJUENCaW5kaW5nLmNwcCBhbmQgbW92
ZWQgdGhlIGNvZGUgZnJvbSBKU0lQQ0JpbmRpbmcuaCB0byBKU0lQQ0JpbmRpbmcuY3BwLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcDogQWRkZWQuCisgICAgICAg
IChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkU3RyaW5nQXJndW1lbnRWYWx1ZSk6IE1vdmVkIGZyb20g
LmguCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxTdHJpbmc+
KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxV
Ukw+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1
ZTxSZWdpc3RyYWJsZURvbWFpbj4pOiBEaXR0by4KKyAgICAgICAgKElQQzo6anNWYWx1ZUZvckRl
Y29kZWROdW1lcmljQXJndW1lbnRWYWx1ZSk6IERpdHRvLgorICAgICAgICAoSVBDOjpqc1ZhbHVl
Rm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8ZG91YmxlPik6IERpdHRvLgorICAgICAgICAoSVBDOjpq
c1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8ZmxvYXQ+KTogRGl0dG8uCisgICAgICAgIChJ
UEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxpbnQ4X3Q+KTogRGl0dG8uCisgICAg
ICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxpbnQxNl90Pik6IERpdHRv
LgorICAgICAgICAoSVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8aW50MzJfdD4p
OiBEaXR0by4KKyAgICAgICAgKElQQzo6anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPGlu
dDY0X3Q+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRW
YWx1ZTx1aW50OF90Pik6IERpdHRvLgorICAgICAgICAoSVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFy
Z3VtZW50VmFsdWU8dWludDE2X3Q+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JE
ZWNvZGVkQXJndW1lbnRWYWx1ZTx1aW50MzJfdD4pOiBEaXR0by4KKyAgICAgICAgKElQQzo6anNW
YWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPHVpbnQ2NF90Pik6IERpdHRvLgorICAgICAgICAo
SVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50UmVjdCk6IERpdHRvLgorICAgICAgICAoSVBD
Ojpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8SW50UmVjdD4pOiBEaXR0by4KKyAgICAg
ICAgKElQQzo6anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPEZsb2F0UmVjdD4pOiBEaXR0
by4KKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmg6CisgICAgICAgIChJUEM6
OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZSk6CisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMTAt
MjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSVBDIHRlc3Rp
bmcgQVBJIHNob3VsZCBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG9ic2VydmUgbWVzc2FnZXMgYmVp
bmcgc2VudCBhbmQgcmVjZWl2ZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjY4ODQ2KQor
KysgU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDYgKzEz
Nyw3IEBAIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQ
Qy9EYXRhUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcCBA
bm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcCBAbm8tdW5pZnkKK1BsYXRmb3JtL0lQ
Qy9KU0lQQ0JpbmRpbmcuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZl
ck1hcC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5jcHAgQG5vLXVu
aWZ5CiBQbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5jcHAJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJKU0lQQ0JpbmRpbmcuaCIKKworI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTQ0pTVmFsdWVJbmxpbmVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lzdHJhYmxl
RG9tYWluLmg+CisjaW5jbHVkZSA8d3RmL1VSTC5oPgorCituYW1lc3BhY2UgSVBDIHsKKworc3Rh
dGljIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoSlND
OjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBBU0NJ
SUxpdGVyYWwgdHlwZSkKK3sKKyAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byogb2JqZWN0
ID0gSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6
SlNWYWx1ZSgpKTsKKyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCAidHlwZSJfcyksIEpTQzo6anNOb250cml2aWFsU3RyaW5nKHZtLCB0eXBl
KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAg
IG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2
YWx1ZSJfcyksIHZhbHVlLmlzTnVsbCgpID8gSlNDOjpqc051bGwoKSA6IEpTQzo6anNTdHJpbmco
dm0sIHZhbHVlKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVl
KCkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBq
c1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVj
b2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgIlN0cmluZyJfcyk7
Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBVUkwmIHZhbHVl
KQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoZ2xv
YmFsT2JqZWN0LCB2YWx1ZS5zdHJpbmcoKSwgIlVSTCJfcyk7Cit9CisKK3RlbXBsYXRlPD4KK0pT
Qzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgdmFs
dWUpCit7CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkU3RyaW5nQXJndW1lbnRWYWx1ZShn
bG9iYWxPYmplY3QsIHZhbHVlLnN0cmluZygpLCAiUmVnaXN0cmFibGVEb21haW4iX3MpOworfQor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBOdW1lcmljVHlwZT4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9y
RGVjb2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgTnVtZXJpY1R5cGUgdmFsdWUsIGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRv
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisgICAgYXV0byogb2JqZWN0ID0gSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVj
dChnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICBvYmplY3QtPnB1
dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidHlwZSJfcyksIEpT
Qzo6anNOb250cml2aWFsU3RyaW5nKHZtLCB0eXBlKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6
OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2YWx1ZSJfcyksIEpTQzo6SlNWYWx1ZSh2YWx1
ZSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAg
ICByZXR1cm4gb2JqZWN0OworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZv
ckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Ym9vbCB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byogb2JqZWN0ID0g
SlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2Jq
ZWN0UHJvdG90eXBlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNW
YWx1ZSgpKTsKKyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCAidHlwZSJfcyksIEpTQzo6anNOb250cml2aWFsU3RyaW5nKHZtLCAiYm9vbCIp
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAg
b2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInZh
bHVlIl9zKSwgSlNDOjpqc0Jvb2xlYW4odmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKwordGVtcGxh
dGU8PgorSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGRvdWJsZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4g
anNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVl
LCAiZG91YmxlIik7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVj
b2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBmbG9h
dCB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRW
YWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiZmxvYXQiKTsKK30KKwordGVtcGxhdGU8PgorSlND
OjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGludDhfdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZv
ckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiaW50OF90
Iik7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3Vt
ZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBpbnQxNl90IHZhbHVl
KQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGds
b2JhbE9iamVjdCwgdmFsdWUsICJpbnQxNl90Iik7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNW
YWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBpbnQzMl90IHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVj
b2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUsICJpbnQzMl90Iik7
Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBpbnQ2NF90IHZhbHVlKQor
eworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2Jh
bE9iamVjdCwgdmFsdWUsICJpbnQ2NF90Iik7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1
ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCB1aW50OF90IHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2Rl
ZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUsICJ1aW50OF90Iik7Cit9
CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFs
dWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1aW50MTZfdCB2YWx1ZSkKK3sK
KyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxP
YmplY3QsIHZhbHVlLCAidWludDE2X3QiKTsKK30KKwordGVtcGxhdGU8PgorSlNDOjpKU1ZhbHVl
IGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIHVpbnQzMl90IHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2Rl
ZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUsICJ1aW50MzJfdCIpOwor
fQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZh
bHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgdWludDY0X3QgdmFsdWUpCit7
CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFs
T2JqZWN0LCB2YWx1ZSwgInVpbnQ2NF90Iik7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFJlY3RU
eXBlPgorSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRSZWN0KEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUmVjdFR5cGUmIHZhbHVlLCBjb25zdCBT
dHJpbmcmIHR5cGUpCit7CisgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8qIG9iamVjdCA9
IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9i
amVjdFByb3RvdHlwZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpT
VmFsdWUoKSk7CisgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgdHlwZSkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICBv
YmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAieCJf
cyksIEpTQzo6SlNWYWx1ZSh2YWx1ZS54KCkpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInkiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUueSgpKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIG9i
amVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ3aWR0
aCJfcyksIEpTQzo6SlNWYWx1ZSh2YWx1ZS53aWR0aCgpKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBK
U0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJoZWlnaHQiX3MpLCBKU0M6OkpTVmFsdWUo
dmFsdWUuaGVpZ2h0KCkpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpT
VmFsdWUoKSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKwordGVtcGxhdGU8PgorSlNDOjpKU1Zh
bHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZhbHVlKQoreworICAgIHJldHVy
biBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50UmVjdChnbG9iYWxPYmplY3QsIHZhbHVlLCAiSW50
UmVjdCIpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRB
cmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWRB
cmd1bWVudFJlY3QoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgIkZsb2F0UmVjdCIpOworfQorCit9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaAkocmV2aXNpb24g
MjY4ODQ4KQorKysgU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDUyICszMSwzNSBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PYmplY3RDb25zdHJ1Y3Rvci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvRmxvYXRSZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPHd0Zi9PYmplY3RJ
ZGVudGlmaWVyLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCi1uYW1lc3BhY2UgSVBDIHsKK25hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PCFzdGQ6OmlzX2FyaXRobWV0aWM8VD46OnZh
bHVlICYmICFzdGQ6OmlzX2VudW08VD46OnZhbHVlPiogPSBudWxscHRyPgotSlNDOjpKU1ZhbHVl
IGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29u
c3QgVCYpCi17Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKLX0KK2NsYXNzIFVSTDsK
IAotaW5saW5lIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFs
dWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVl
LCBBU0NJSUxpdGVyYWwgdHlwZSkKLXsKLSAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byog
b2JqZWN0ID0gSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IEpTQzo6SlNWYWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAidHlwZSJfcyksIEpTQzo6anNOb250cml2aWFsU3RyaW5nKHZt
LCB0eXBlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkp
OwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sICJ2YWx1ZSJfcyksIHZhbHVlLmlzTnVsbCgpID8gSlNDOjpqc051bGwoKSA6IEpTQzo6anNT
dHJpbmcodm0sIHZhbHVlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpK
U1ZhbHVlKCkpOwotICAgIHJldHVybiBvYmplY3Q7CiB9CiAKLXRlbXBsYXRlPD4KLUpTQzo6SlNW
YWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIHJldHVybiBqc1ZhbHVl
Rm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgIlN0cmlu
ZyJfcyk7Ci19CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZsb2F0UmVjdDsKK2NsYXNz
IEludFJlY3Q7CitjbGFzcyBSZWdpc3RyYWJsZURvbWFpbjsKIAotdGVtcGxhdGU8PgotSlNDOjpK
U1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIGNvbnN0IFVSTCYgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFsdWVG
b3JEZWNvZGVkU3RyaW5nQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLnN0cmluZygp
LCAiVVJMIl9zKTsKIH0KIAotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNv
ZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiB2YWx1ZSkKK25hbWVzcGFjZSBJUEMgeworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PCFzdGQ6OmlzX2FyaXRobWV0aWM8
VD46OnZhbHVlICYmICFzdGQ6OmlzX2VudW08VD46OnZhbHVlPiogPSBudWxscHRyPgorSlNDOjpK
U1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgY29uc3QgVCYpCiB7Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkU3RyaW5nQXJndW1l
bnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLnN0cmluZygpLCAiUmVnaXN0cmFibGVEb21haW4i
X3MpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKK3RlbXBsYXRlPD4gSlND
OjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgY29uc3QgU3RyaW5nJik7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9y
RGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFVSTCYpOwor
dGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpOwor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYXJpdGhtZXRp
YzxUPjo6dmFsdWU+KiA9IG51bGxwdHI+CiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRB
cmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBUKQogewpAQCAtODgsOTMgKzcxLDE4
IEBAIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmEKICAgICByZXR1cm4g
anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8
c3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxFPj4odmFsdWUpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgTnVtZXJpY1R5cGU+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJn
dW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE51bWVyaWNUeXBl
IHZhbHVlLCBjb25zdCBTdHJpbmcmIHR5cGUpCi17Ci0gICAgYXV0byYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAg
IGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6OmpzTm9udHJpdmlhbFN0
cmluZyh2bSwgdHlwZSkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNW
YWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCAidmFsdWUiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUpKTsKLSAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIG9iamVjdDsK
LX0KLQotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRW
YWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGJvb2wgdmFsdWUpCi17Ci0g
ICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1w
dHlPYmplY3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsK
LSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgb2Jq
ZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUi
X3MpLCBKU0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgImJvb2wiKSk7Ci0gICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0
KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2YWx1ZSJfcyksIEpTQzo6anNC
b29sZWFuKHZhbHVlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1Zh
bHVlKCkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6SlNWYWx1
ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBkb3VibGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVk
TnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImRvdWJsZSIpOwotfQot
Ci10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVl
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgZmxvYXQgdmFsdWUpCi17Ci0gICAg
cmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0
LCB2YWx1ZSwgImZsb2F0Iik7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6SlNWYWx1ZSBqc1ZhbHVl
Rm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBpbnQ4X3QgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0Fy
Z3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImludDhfdCIpOwotfQotCi10ZW1wbGF0
ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50MTZfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4g
anNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVl
LCAiaW50MTZfdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRl
Y29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50
MzJfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1l
bnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiaW50MzJfdCIpOwotfQotCi10ZW1wbGF0ZTw+
Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50NjRfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNW
YWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAi
aW50NjRfdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29k
ZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgdWludDhf
dCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRW
YWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAidWludDhfdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1K
U0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgdWludDE2X3QgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFs
dWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgInVp
bnQxNl90Iik7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2Rl
ZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1aW50MzJf
dCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRW
YWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAidWludDMyX3QiKTsKLX0KLQotdGVtcGxhdGU8Pgot
SlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQotewotICAgIHJldHVybiBqc1Zh
bHVlRm9yRGVjb2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUsICJ1
aW50NjRfdCIpOwotfQordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRB
cmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBib29sKTsKK3RlbXBsYXRlPD4gSlND
OjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgZG91YmxlKTsKK3RlbXBsYXRlPD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVk
QXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgZmxvYXQpOwordGVtcGxhdGU8PiBK
U0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBpbnQ4X3QpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29k
ZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBpbnQxNl90KTsKK3RlbXBsYXRl
PD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgaW50MzJfdCk7CisKK3RlbXBsYXRlPD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVG
b3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgaW50NjRfdCk7Cit0
ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlND
OjpKU0dsb2JhbE9iamVjdCosIHVpbnQ4X3QpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNW
YWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCB1aW50MTZf
dCk7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFs
dWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIHVpbnQzMl90KTsKK3RlbXBsYXRlPD4gSlNDOjpKU1Zh
bHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
dWludDY0X3QpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogSlNDOjpKU1ZhbHVlIGpzVmFsdWVG
b3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IE9iamVjdElkZW50aWZpZXI8VT4mIHZhbHVlKQpAQCAtMTgyLDM3ICs5MCw4IEBAIEpT
Qzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmEKICAgICByZXR1cm4ganNWYWx1
ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUudG9VSW50NjQoKSk7
CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFJlY3RUeXBlPgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVG
b3JEZWNvZGVkQXJndW1lbnRSZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Y29uc3QgUmVjdFR5cGUmIHZhbHVlLCBjb25zdCBTdHJpbmcmIHR5cGUpCi17Ci0gICAgYXV0byYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOwotICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3Qo
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgb2JqZWN0LT5wdXRE
aXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6
OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgdHlwZSkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAieCJfcyksIEpTQzo6SlNWYWx1ZSh2YWx1ZS54KCkp
KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAg
b2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInki
X3MpLCBKU0M6OkpTVmFsdWUodmFsdWUueSgpKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgSlNDOjpKU1ZhbHVlKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6Oklk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ3aWR0aCJfcyksIEpTQzo6SlNWYWx1ZSh2YWx1ZS53
aWR0aCgpKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkp
OwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmco
dm0sICJoZWlnaHQiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUuaGVpZ2h0KCkpKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIG9iamVj
dDsKLX0KLQotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1l
bnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIHZhbHVlKQotewotICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
UmVjdChnbG9iYWxPYmplY3QsIHZhbHVlLCAiSW50UmVjdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1K
U0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2YWx1ZSkKLXsK
LSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFJlY3QoZ2xvYmFsT2JqZWN0LCB2
YWx1ZSwgIkZsb2F0UmVjdCIpOwotfQordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZv
ckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0Jik7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFy
Z3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVj
dCYpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNv
ZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0
IE9wdGlvblNldDxVPiYgdmFsdWUpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2ODg0NikKKysrIFNvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE0
NDcsNiArMTQ0Nyw3IEBACiAJCTlCNTQ5OUIyMjM2MkE3RUMwMERGOEJBNSAvKiBfV0tUZXh0TWFu
aXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUI1NDk5QjAyMzYyQTdFQzAwREY4QkE1IC8qIF9XS1RleHRNYW5pcHVs
YXRpb25FeGNsdXNpb25SdWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJOUI1QkVDMjYyNDAwRjRBOTAwNzBDNkVGIC8qIFdlYk1lZGlhU3RyYXRl
Z3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCNUJF
QzI0MjQwMEY0QTkwMDcwQzZFRiAvKiBXZWJNZWRpYVN0cmF0ZWd5LmggKi87IH07CiAJCTlCNUJF
QzJBMjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCNUJFQzI4MjQwMTAx
NTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCAqLzsgfTsKKwkJOUJG
NUVDNjQyNTQxMTQ1NjAwOTg0RTc3IC8qIEpTSVBDQmluZGluZy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QkY1RUM2MzI1NDEwRTk5MDA5ODRFNzcg
LyogSlNJUENCaW5kaW5nLmNwcCAqLzsgfTsKIAkJOUVDNTMyQTMyNDQ3RkJBRDAwMjE1MjE2IC8q
IEdlb2xvY2F0aW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUVDNTMyQTIyNDQ3RkJBRDAwMjE1MjE2IC8qIEdlb2xvY2F0aW9uSWRl
bnRpZmllci5oICovOyB9OwogCQk5RkI1RjM5NTE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0
UHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUZCNUYzOTMxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTAyQTcwODFF
QzBFRUU5MDBEODFEODIgLyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4u
c2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0E1RTM5NDkxRDVCRDhBNzAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlh
LkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiICovOyB9OwpAQCAtNDU4Myw2ICs0NTg0LDcgQEAK
IAkJOUI1QkVDMkUyNDAxMDE4QzAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94
eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkubWVzc2FnZXMu
aW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCQzU5RDZDMUVGQ0NDQjYwMDFFOEQw
OSAvKiBDYWxsYmFja0lELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxi
YWNrSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUJDNTlENkQxRUZDREM2RDAw
MUU4RDA5IC8qIE9wdGlvbmFsQ2FsbGJhY2tJRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBPcHRpb25hbENhbGxiYWNrSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOUJGNUVDNjMyNTQxMEU5OTAwOTg0RTc3IC8qIEpTSVBDQmluZGluZy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0lQQ0JpbmRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5RUM1MzJBMjI0NDdGQkFEMDAyMTUyMTYgLyogR2VvbG9jYXRpb25JZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdlb2xvY2F0aW9uSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5RjU0Rjg4RTE2NDg4RTg3MDA3REY4MUEgLyogQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF1eGlsaWFyeVBy
b2Nlc3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNTRGODk0MTY0OEFF
MEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjUwNiw2ICs2NTA4LDcgQEAKIAkJCQk0MTUxRTVD
MzFGQkI5MEE5MDBFNDdFMkQgLyogRm9ybURhdGFSZWZlcmVuY2UuaCAqLywKIAkJCQlDMENFNzJB
QzEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2FnZS5oICovLAogCQkJCTFDOUFGMzYxMjQx
MzREMjMwMEQzRUMwMiAvKiBJbWFnZURhdGFSZWZlcmVuY2UuaCAqLywKKwkJCQk5QkY1RUM2MzI1
NDEwRTk5MDA5ODRFNzcgLyogSlNJUENCaW5kaW5nLmNwcCAqLywKIAkJCQk5QjQ3OTA4RTI1MzE1
MUNDMDBFQzExQUIgLyogSlNJUENCaW5kaW5nLmggKi8sCiAJCQkJOUI0NzkwOEMyNTMxNEQ4MzAw
RUMxMUFCIC8qIE1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5oICovLAogCQkJCTFBQzRDODI4
MTZCODc2QTkwMDY5RENDRCAvKiBNZXNzYWdlRmxhZ3MuaCAqLywKQEAgLTEyOTg2LDYgKzEyOTg5
LDcgQEAKIAkJCQlDMUExNTJENzI0RTVBMjlBMDA5NzhDOEIgLyogSGFuZGxlWFBDRW5kcG9pbnRN
ZXNzYWdlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI3NDlGNjQ0MjE0NjU2MUIwMDgzODBCRiAv
KiBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjc0OUY2
NDUyMTQ2NTYxRTAwODM4MEJGIC8qIEluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJOUJGNUVDNjQyNTQxMTQ1NjAwOTg0RTc3IC8qIEpTSVBDQmluZGluZy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0MTIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE1l
dGhvZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0MjIxMkNGOUYwMDAxMjhBRkQgLyog
SlNOUE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMTREMzdGRTI0QUNFMDg2MDA3RkYw
MTQgLyogTGF1bmNoU2VydmljZXNEYXRhYmFzZU1hbmFnZXIubW0gaW4gU291cmNlcyAqLywK
</data>
<flag name="commit-queue"
          id="428427"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412059</attachid>
            <date>2020-10-21 19:02:31 -0700</date>
            <delta_ts>2020-10-21 19:46:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218065-20201021190230.patch</filename>
            <type>text/plain</type>
            <size>24535</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjg4NTApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDIwLTEwLTIxICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgZnVuY3Rpb24gZGVmaW5pdGlv
bnMgaW4gSlNJUENCaW5kaW5nLmggaW50byBjcHAgZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgSlNJUENCaW5kaW5nLmNwcCBhbmQgbW92
ZWQgdGhlIGNvZGUgZnJvbSBKU0lQQ0JpbmRpbmcuaCB0byBKU0lQQ0JpbmRpbmcuY3BwLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcDogQWRkZWQuCisgICAgICAg
IChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkU3RyaW5nQXJndW1lbnRWYWx1ZSk6IE1vdmVkIGZyb20g
LmguCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxTdHJpbmc+
KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxV
Ukw+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1
ZTxSZWdpc3RyYWJsZURvbWFpbj4pOiBEaXR0by4KKyAgICAgICAgKElQQzo6anNWYWx1ZUZvckRl
Y29kZWROdW1lcmljQXJndW1lbnRWYWx1ZSk6IERpdHRvLgorICAgICAgICAoSVBDOjpqc1ZhbHVl
Rm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8ZG91YmxlPik6IERpdHRvLgorICAgICAgICAoSVBDOjpq
c1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8ZmxvYXQ+KTogRGl0dG8uCisgICAgICAgIChJ
UEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxpbnQ4X3Q+KTogRGl0dG8uCisgICAg
ICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZTxpbnQxNl90Pik6IERpdHRv
LgorICAgICAgICAoSVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8aW50MzJfdD4p
OiBEaXR0by4KKyAgICAgICAgKElQQzo6anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPGlu
dDY0X3Q+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRW
YWx1ZTx1aW50OF90Pik6IERpdHRvLgorICAgICAgICAoSVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFy
Z3VtZW50VmFsdWU8dWludDE2X3Q+KTogRGl0dG8uCisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JE
ZWNvZGVkQXJndW1lbnRWYWx1ZTx1aW50MzJfdD4pOiBEaXR0by4KKyAgICAgICAgKElQQzo6anNW
YWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPHVpbnQ2NF90Pik6IERpdHRvLgorICAgICAgICAo
SVBDOjpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50UmVjdCk6IERpdHRvLgorICAgICAgICAoSVBD
Ojpqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWU8SW50UmVjdD4pOiBEaXR0by4KKyAgICAg
ICAgKElQQzo6anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlPEZsb2F0UmVjdD4pOiBEaXR0
by4KKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmg6CisgICAgICAgIChJUEM6
OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZSk6CisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjAtMTAt
MjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSVBDIHRlc3Rp
bmcgQVBJIHNob3VsZCBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG9ic2VydmUgbWVzc2FnZXMgYmVp
bmcgc2VudCBhbmQgcmVjZWl2ZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjY4ODQ2KQor
KysgU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDYgKzEz
Nyw3IEBAIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQ
Qy9EYXRhUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcCBA
bm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcCBAbm8tdW5pZnkKK1BsYXRmb3JtL0lQ
Qy9KU0lQQ0JpbmRpbmcuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZl
ck1hcC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5jcHAgQG5vLXVu
aWZ5CiBQbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHAgQG5vLXVuaWZ5CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5jcHAJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJKU0lQQ0JpbmRpbmcuaCIKKworI2lmIEVOQUJMRShJUENfVEVTVElOR19B
UEkpCisKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlSW5saW5lcy5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgorI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KKworbmFtZXNwYWNlIElQQyB7CisKK3N0YXRpYyBKU0M6OkpTVmFsdWUganNWYWx1ZUZv
ckRlY29kZWRTdHJpbmdBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgQVNDSUlMaXRlcmFsIHR5cGUpCit7CisgICAgYXV0
byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmpl
Y3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgb2JqZWN0LT5w
dXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBK
U0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgdHlwZSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlND
OjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidmFsdWUiX3MpLCB2YWx1ZS5pc051bGwoKSA/
IEpTQzo6anNOdWxsKCkgOiBKU0M6OmpzU3RyaW5nKHZtLCB2YWx1ZSkpOworICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICByZXR1cm4gb2JqZWN0Owor
fQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZh
bHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiB2YWx1
ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWRTdHJpbmdBcmd1bWVudFZhbHVlKGds
b2JhbE9iamVjdCwgdmFsdWUsICJTdHJpbmciX3MpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpT
VmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgY29uc3QgVVJMJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZv
ckRlY29kZWRTdHJpbmdBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUuc3RyaW5nKCks
ICJVUkwiX3MpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29k
ZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3Qg
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVl
Rm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZS5zdHJpbmco
KSwgIlJlZ2lzdHJhYmxlRG9tYWluIl9zKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgTnVtZXJp
Y1R5cGU+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE51bWVyaWNUeXBlIHZhbHVlLCBj
b25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8qIG9i
amVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBK
U0M6OkpTVmFsdWUoKSk7CisgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwg
dHlwZSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsK
KyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCAidmFsdWUiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKwordGVt
cGxhdGU8PgorSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGJvb2wgdmFsdWUpCit7CisgICAgYXV0byYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOworICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3Qo
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgb2JqZWN0LT5wdXRE
aXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6
OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgImJvb2wiKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6
OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2YWx1ZSJfcyksIEpTQzo6anNCb29sZWFuKHZh
bHVlKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOwor
ICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVl
Rm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBkb3VibGUgdmFsdWUpCit7CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0Fy
Z3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImRvdWJsZSIpOworfQorCit0ZW1wbGF0
ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgZmxvYXQgdmFsdWUpCit7CisgICAgcmV0dXJuIGpz
VmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwg
ImZsb2F0Iik7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2Rl
ZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBpbnQ4X3Qg
dmFsdWUpCit7CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFs
dWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImludDhfdCIpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6
OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgaW50MTZfdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZv
ckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiaW50MTZf
dCIpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1
bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50MzJfdCB2YWx1
ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShn
bG9iYWxPYmplY3QsIHZhbHVlLCAiaW50MzJfdCIpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpT
VmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgaW50NjRfdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRl
Y29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiaW50NjRfdCIp
OworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVu
dFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgdWludDhfdCB2YWx1ZSkK
K3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9i
YWxPYmplY3QsIHZhbHVlLCAidWludDhfdCIpOworfQorCit0ZW1wbGF0ZTw+CitKU0M6OkpTVmFs
dWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgdWludDE2X3QgdmFsdWUpCit7CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNv
ZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgInVpbnQxNl90Iik7
Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1aW50MzJfdCB2YWx1ZSkK
K3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9i
YWxPYmplY3QsIHZhbHVlLCAidWludDMyX3QiKTsKK30KKwordGVtcGxhdGU8PgorSlNDOjpKU1Zh
bHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQoreworICAgIHJldHVybiBqc1ZhbHVlRm9yRGVj
b2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUsICJ1aW50NjRfdCIp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBSZWN0VHlwZT4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVl
Rm9yRGVjb2RlZEFyZ3VtZW50UmVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IFJlY3RUeXBlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIGF1dG8m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKKyAgICBhdXRvKiBvYmplY3QgPSBKU0M6OmNvbnN0cnVjdEVtcHR5T2JqZWN0
KGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIG9iamVjdC0+cHV0
RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ0eXBlIl9zKSwgSlND
Ojpqc05vbnRyaXZpYWxTdHJpbmcodm0sIHR5cGUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIngiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUueCgp
KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAg
IG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ5
Il9zKSwgSlNDOjpKU1ZhbHVlKHZhbHVlLnkoKSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAid2lkdGgiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUu
d2lkdGgoKSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgp
KTsKKyAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCAiaGVpZ2h0Il9zKSwgSlNDOjpKU1ZhbHVlKHZhbHVlLmhlaWdodCgpKSk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIHJldHVybiBvYmpl
Y3Q7Cit9CisKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3Vt
ZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiB2YWx1ZSkKK3sKKyAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWRBcmd1bWVu
dFJlY3QoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgIkludFJlY3QiKTsKK30KKwordGVtcGxhdGU8Pgor
SlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmFsdWUpCit7
CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRSZWN0KGdsb2JhbE9iamVjdCwg
dmFsdWUsICJGbG9hdFJlY3QiKTsKK30KKworfQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5oCShyZXZpc2lvbiAyNjg4NDgpCisrKyBTb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNTggKzI1LDQzIEBACiAKICNwcmFnbWEgb25jZQogCisjaWYgRU5BQkxFKElQQ19URVNUSU5H
X0FQSSkKKwogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJIYW5kbGVNZXNzYWdlLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNBcnJheS5oPgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmpl
Y3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PYmplY3RDb25zdHJ1Y3Rvci5oPgotI2lu
Y2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPHd0Zi9P
YmplY3RJZGVudGlmaWVyLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCi1uYW1lc3BhY2UgSVBDIHsKK25hbWVzcGFjZSBXVEYgewogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PCFzdGQ6OmlzX2FyaXRobWV0aWM8
VD46OnZhbHVlICYmICFzdGQ6OmlzX2VudW08VD46OnZhbHVlPiogPSBudWxscHRyPgotSlNDOjpK
U1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgY29uc3QgVCYpCi17Ci0gICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKLX0KK2NsYXNz
IFVSTDsKIAotaW5saW5lIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZFN0cmluZ0FyZ3Vt
ZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcm
IHZhbHVlLCBBU0NJSUxpdGVyYWwgdHlwZSkKLXsKLSAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVj
dC0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAg
YXV0byogb2JqZWN0ID0gSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidHlwZSJfcyksIEpTQzo6anNOb250cml2aWFsU3Ry
aW5nKHZtLCB0eXBlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1Zh
bHVlKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sICJ2YWx1ZSJfcyksIHZhbHVlLmlzTnVsbCgpID8gSlNDOjpqc051bGwoKSA6IEpT
Qzo6anNTdHJpbmcodm0sIHZhbHVlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
SlNDOjpKU1ZhbHVlKCkpOwotICAgIHJldHVybiBvYmplY3Q7CiB9CiAKLXRlbXBsYXRlPD4KLUpT
Qzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIHJldHVybiBq
c1ZhbHVlRm9yRGVjb2RlZFN0cmluZ0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwg
IlN0cmluZyJfcyk7Ci19CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZsb2F0UmVjdDsK
K2NsYXNzIEludFJlY3Q7CitjbGFzcyBSZWdpc3RyYWJsZURvbWFpbjsKIAotdGVtcGxhdGU8Pgot
SlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFVSTCYgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpz
VmFsdWVGb3JEZWNvZGVkU3RyaW5nQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLnN0
cmluZygpLCAiVVJMIl9zKTsKIH0KIAotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVG
b3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiB2YWx1ZSkKK25hbWVzcGFjZSBJUEMg
eworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PCFzdGQ6OmlzX2FyaXRo
bWV0aWM8VD46OnZhbHVlICYmICFzdGQ6OmlzX2VudW08VD46OnZhbHVlPiogPSBudWxscHRyPgor
SlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgVCYpCiB7Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkU3RyaW5n
QXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLnN0cmluZygpLCAiUmVnaXN0cmFibGVE
b21haW4iX3MpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CiB9CiAKK3RlbXBsYXRl
PD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJik7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1Zh
bHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFVS
TCYpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZh
bHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFp
biYpOworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYXJp
dGhtZXRpYzxUPjo6dmFsdWU+KiA9IG51bGxwdHI+CiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRl
Y29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBUKQogewpAQCAtODgsOTMg
KzczLDE4IEBAIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmEKICAgICBy
ZXR1cm4ganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgc3RhdGlj
X2Nhc3Q8c3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxFPj4odmFsdWUpKTsKIH0KIAotdGVtcGxhdGU8
dHlwZW5hbWUgTnVtZXJpY1R5cGU+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWROdW1l
cmljQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE51bWVy
aWNUeXBlIHZhbHVlLCBjb25zdCBTdHJpbmcmIHR5cGUpCi17Ci0gICAgYXV0byYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwotICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKLSAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3Qodm0s
IEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3MpLCBKU0M6OmpzTm9udHJp
dmlhbFN0cmluZyh2bSwgdHlwZSkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpT
Qzo6SlNWYWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSlNDOjpJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCAidmFsdWUiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUpKTsKLSAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIG9i
amVjdDsKLX0KLQotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJn
dW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGJvb2wgdmFsdWUp
Ci17Ci0gICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3Ry
dWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlw
ZSgpKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0g
ICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
InR5cGUiX3MpLCBKU0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgImJvb2wiKSk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOwotICAgIG9iamVjdC0+cHV0
RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2YWx1ZSJfcyksIEpT
Qzo6anNCb29sZWFuKHZhbHVlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlND
OjpKU1ZhbHVlKCkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6
SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBkb3VibGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JE
ZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImRvdWJsZSIp
OwotfQotCi10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVu
dFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgZmxvYXQgdmFsdWUpCi17
Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFs
T2JqZWN0LCB2YWx1ZSwgImZsb2F0Iik7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6SlNWYWx1ZSBq
c1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBpbnQ4X3QgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVt
ZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgImludDhfdCIpOwotfQotCi10
ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50MTZfdCB2YWx1ZSkKLXsKLSAgICBy
ZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3Qs
IHZhbHVlLCAiaW50MTZfdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1
ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgaW50MzJfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmlj
QXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAiaW50MzJfdCIpOwotfQotCi10ZW1w
bGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgaW50NjRfdCB2YWx1ZSkKLXsKLSAgICByZXR1
cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJndW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZh
bHVlLCAiaW50NjRfdCIpOwotfQotCi10ZW1wbGF0ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZv
ckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
dWludDhfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJn
dW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAidWludDhfdCIpOwotfQotCi10ZW1wbGF0
ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgdWludDE2X3QgdmFsdWUpCi17Ci0gICAgcmV0dXJu
IGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1
ZSwgInVpbnQxNl90Iik7Ci19Ci0KLXRlbXBsYXRlPD4KLUpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9y
RGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1
aW50MzJfdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWROdW1lcmljQXJn
dW1lbnRWYWx1ZShnbG9iYWxPYmplY3QsIHZhbHVlLCAidWludDMyX3QiKTsKLX0KLQotdGVtcGxh
dGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQotewotICAgIHJldHVy
biBqc1ZhbHVlRm9yRGVjb2RlZE51bWVyaWNBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFs
dWUsICJ1aW50NjRfdCIpOwotfQordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRl
Y29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBib29sKTsKK3RlbXBsYXRl
PD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgZG91YmxlKTsKK3RlbXBsYXRlPD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JE
ZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgZmxvYXQpOwordGVtcGxh
dGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBpbnQ4X3QpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZv
ckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBpbnQxNl90KTsKK3Rl
bXBsYXRlPD4gSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgaW50MzJfdCk7CisKK3RlbXBsYXRlPD4gSlNDOjpKU1ZhbHVlIGpz
VmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgaW50NjRf
dCk7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFs
dWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIHVpbnQ4X3QpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFs
dWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCB1
aW50MTZfdCk7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3Vt
ZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIHVpbnQzMl90KTsKK3RlbXBsYXRlPD4gSlND
OjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgdWludDY0X3QpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogSlNDOjpKU1ZhbHVlIGpz
VmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIGNvbnN0IE9iamVjdElkZW50aWZpZXI8VT4mIHZhbHVlKQpAQCAtMTgyLDM3ICs5Miw4
IEBAIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmEKICAgICByZXR1cm4g
anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKGdsb2JhbE9iamVjdCwgdmFsdWUudG9VSW50
NjQoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFJlY3RUeXBlPgotSlNDOjpKU1ZhbHVlIGpz
VmFsdWVGb3JEZWNvZGVkQXJndW1lbnRSZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgY29uc3QgUmVjdFR5cGUmIHZhbHVlLCBjb25zdCBTdHJpbmcmIHR5cGUpCi17Ci0gICAg
YXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIG9iamVjdCA9IEpTQzo6Y29uc3RydWN0RW1wdHlP
YmplY3QoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKLSAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgb2JqZWN0
LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInR5cGUiX3Mp
LCBKU0M6OmpzTm9udHJpdmlhbFN0cmluZyh2bSwgdHlwZSkpOwotICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIEpTQzo6SlNWYWx1ZSgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwg
SlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAieCJfcyksIEpTQzo6SlNWYWx1ZSh2YWx1
ZS54KCkpKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7
Ci0gICAgb2JqZWN0LT5wdXREaXJlY3Qodm0sIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgInkiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUueSgpKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgSlNDOjpKU1ZhbHVlKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBK
U0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJ3aWR0aCJfcyksIEpTQzo6SlNWYWx1ZSh2
YWx1ZS53aWR0aCgpKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNDOjpKU1Zh
bHVlKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBKU0M6OklkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sICJoZWlnaHQiX3MpLCBKU0M6OkpTVmFsdWUodmFsdWUuaGVpZ2h0KCkpKTsKLSAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU0M6OkpTVmFsdWUoKSk7Ci0gICAgcmV0dXJu
IG9iamVjdDsKLX0KLQotdGVtcGxhdGU8PgotSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVk
QXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIHZhbHVlKQotewotICAgIHJldHVybiBqc1ZhbHVlRm9yRGVjb2RlZEFy
Z3VtZW50UmVjdChnbG9iYWxPYmplY3QsIHZhbHVlLCAiSW50UmVjdCIpOwotfQotCi10ZW1wbGF0
ZTw+Ci1KU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2YWx1
ZSkKLXsKLSAgICByZXR1cm4ganNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFJlY3QoZ2xvYmFsT2Jq
ZWN0LCB2YWx1ZSwgIkZsb2F0UmVjdCIpOwotfQordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNW
YWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0Jik7Cit0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVj
b2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogSlNDOjpKU1ZhbHVlIGpzVmFsdWVG
b3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IE9wdGlvblNldDxVPiYgdmFsdWUpCkBAIC0yNzQsMyArMTU1LDUgQEAgc3RhdGljIE9w
dGlvbmFsPEpTQzo6SlNWYWx1ZT4ganNWYWx1ZUZvcgogfQogCiB9CisKKyNlbmRpZgpJbmRleDog
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNjg4NDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQ3LDYgKzE0NDcsNyBAQAogCQk5QjU0OTlCMjIz
NjJBN0VDMDBERjhCQTUgLyogX1dLVGV4dE1hbmlwdWxhdGlvbkV4Y2x1c2lvblJ1bGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCNTQ5OUIwMjM2MkE3
RUMwMERGOEJBNSAvKiBfV0tUZXh0TWFuaXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlCNUJFQzI2MjQwMEY0
QTkwMDcwQzZFRiAvKiBXZWJNZWRpYVN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjVCRUMyNDI0MDBGNEE5MDA3MEM2RUYgLyogV2ViTWVk
aWFTdHJhdGVneS5oICovOyB9OwogCQk5QjVCRUMyQTI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjVCRUMyODI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmggKi87IH07CisJCTlCRjVFQzY0MjU0MTE0NTYwMDk4NEU3NyAvKiBKU0lQ
Q0JpbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUJGNUVDNjMyNTQxMEU5OTAwOTg0RTc3IC8qIEpTSVBDQmluZGluZy5jcHAgKi87IH07CiAJ
CTlFQzUzMkEzMjQ0N0ZCQUQwMDIxNTIxNiAvKiBHZW9sb2NhdGlvbklkZW50aWZpZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlFQzUzMkEyMjQ0N0ZC
QUQwMDIxNTIxNiAvKiBHZW9sb2NhdGlvbklkZW50aWZpZXIuaCAqLzsgfTsKIAkJOUZCNUYzOTUx
NjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGQjVGMzkzMTY5RTZBODAwMDJDMjVCRiAv
KiBXS0NvbnRleHRQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTEwMkE3MDgxRUMwRUVFOTAwRDgxRDgyIC8qIGNvbS5tYWNyb21l
ZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFBy
b2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNUUzOTQ5MUQ1QkQ4
QTcwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNSLnBsdWdpbi5zYiAq
LzsgfTsKQEAgLTQ1ODMsNiArNDU4NCw3IEBACiAJCTlCNUJFQzJFMjQwMTAxOEMwMDcwQzZFRiAv
KiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5QkM1OUQ2QzFFRkNDQ0I2MDAxRThEMDkgLyogQ2FsbGJhY2tJRC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsYmFja0lELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTlCQzU5RDZEMUVGQ0RDNkQwMDFFOEQwOSAvKiBPcHRpb25hbENhbGxiYWNrSUQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3B0aW9uYWxDYWxsYmFja0lELmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCRjVFQzYzMjU0MTBFOTkwMDk4NEU3NyAv
KiBKU0lQQ0JpbmRpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJUENCaW5kaW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUVDNTMyQTIyNDQ3RkJBRDAwMjE1MjE2IC8q
IEdlb2xvY2F0aW9uSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9sb2NhdGlvbklkZW50
aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUY1NEY4OEUxNjQ4OEU4NzAw
N0RGODFBIC8qIEF1eGlsaWFyeVByb2Nlc3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBBdXhpbGlhcnlQcm9jZXNzTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01h
bmFnZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbHVn
aW5Qcm9jZXNzTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1
MDYsNiArNjUwOCw3IEBACiAJCQkJNDE1MUU1QzMxRkJCOTBBOTAwRTQ3RTJEIC8qIEZvcm1EYXRh
UmVmZXJlbmNlLmggKi8sCiAJCQkJQzBDRTcyQUMxMjQ3RTc4RDAwQkMwRUM0IC8qIEhhbmRsZU1l
c3NhZ2UuaCAqLywKIAkJCQkxQzlBRjM2MTI0MTM0RDIzMDBEM0VDMDIgLyogSW1hZ2VEYXRhUmVm
ZXJlbmNlLmggKi8sCisJCQkJOUJGNUVDNjMyNTQxMEU5OTAwOTg0RTc3IC8qIEpTSVBDQmluZGlu
Zy5jcHAgKi8sCiAJCQkJOUI0NzkwOEUyNTMxNTFDQzAwRUMxMUFCIC8qIEpTSVBDQmluZGluZy5o
ICovLAogCQkJCTlCNDc5MDhDMjUzMTREODMwMEVDMTFBQiAvKiBNZXNzYWdlQXJndW1lbnREZXNj
cmlwdGlvbnMuaCAqLywKIAkJCQkxQUM0QzgyODE2Qjg3NkE5MDA2OURDQ0QgLyogTWVzc2FnZUZs
YWdzLmggKi8sCkBAIC0xMjk4Niw2ICsxMjk4OSw3IEBACiAJCQkJQzFBMTUyRDcyNEU1QTI5QTAw
OTc4QzhCIC8qIEhhbmRsZVhQQ0VuZHBvaW50TWVzc2FnZXMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkyNzQ5RjY0NDIxNDY1NjFCMDA4MzgwQkYgLyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTI3NDlGNjQ1MjE0NjU2MUUwMDgzODBCRiAvKiBJbmplY3Rl
ZEJ1bmRsZVJhbmdlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTlCRjVFQzY0MjU0MTE0
NTYwMDk4NEU3NyAvKiBKU0lQQ0JpbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0
NDEyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBNZXRob2QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzE0RDM3RkUyNEFDRTA4NjAwN0ZGMDE0IC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VN
YW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="428425"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>