<?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>8505</bug_id>
          
          <creation_ts>2006-04-20 20:52:03 -0700</creation_ts>
          <short_desc>eliminate WebCoreGraphicsBridge, demonstrate new SystemInterface technique</short_desc>
          <delta_ts>2006-04-20 23:52:09 -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>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>hyatt</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>39989</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-20 20:52:03 -0700</bug_when>
    <thetext>Dave asked me to do this to demonstrate the technique to him.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39990</commentid>
    <comment_count>1</comment_count>
      <attachid>7862</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-20 21:09:18 -0700</bug_when>
    <thetext>Created attachment 7862
patch with detailed change log</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7862</attachid>
            <date>2006-04-20 21:09:18 -0700</date>
            <delta_ts>2006-04-20 21:25:47 -0700</delta_ts>
            <desc>patch with detailed change log</desc>
            <filename>GraphicsBridgePatch.txt</filename>
            <type>text/plain</type>
            <size>60504</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVHcmFwaGljc0JyaWRnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVHcmFwaGljc0JyaWRnZS5oCShy
ZXZpc2lvbiAxMzk4NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVHcmFwaGljc0Jy
aWRnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDMsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0KLSNpbXBvcnQgPENvY29hL0NvY29hLmg+Ci0KLUBpbnRlcmZhY2UgV2ViQ29yZUdy
YXBoaWNzQnJpZGdlIDogTlNPYmplY3QKLQotKyAoV2ViQ29yZUdyYXBoaWNzQnJpZGdlICopc2hh
cmVkQnJpZGdlOwotLSAodm9pZClkcmF3Rm9jdXNSaW5nV2l0aFBhdGg6KENHUGF0aFJlZilwYXRo
IHJhZGl1czooZmxvYXQpcmFkaXVzIGNvbG9yOihDR0NvbG9yUmVmKWNvbG9yIGNsaXBSZWN0OihO
U1JlY3QpcmVjdDsKLS0gKHZvaWQpc2V0RHJhZ2dpbmdJbWFnZTooTlNJbWFnZSAqKWRyYWdJbWFn
ZSBhdDooTlNQb2ludClkcmFnTG9jOwotLSAodm9pZClkcmF3QmV6ZWxlZFRleHRGaWVsZENlbGw6
KE5TUmVjdClyZWN0IGVuYWJsZWQ6KEJPT0wpYWN0aXZlOwotCi1AZW5kCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJDb3JlR3JhcGhpY3NCcmlkZ2UubQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlR3JhcGhpY3NCcmlkZ2UubQkocmV2aXNpb24gMTM5ODYp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlR3JhcGhpY3NCcmlkZ2UubQkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxl
IENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0ICJj
b25maWcuaCIKLSNpbXBvcnQgIldlYkNvcmVHcmFwaGljc0JyaWRnZS5oIgotCi0jaW1wb3J0IDxr
eG1sY29yZS9Bc3NlcnRpb25zLmg+Ci0KLUBpbXBsZW1lbnRhdGlvbiBXZWJDb3JlR3JhcGhpY3NC
cmlkZ2UKLQotc3RhdGljIFdlYkNvcmVHcmFwaGljc0JyaWRnZSAqc2hhcmVkQnJpZGdlOwotCi0r
IChXZWJDb3JlR3JhcGhpY3NCcmlkZ2UgKilzaGFyZWRCcmlkZ2UKLXsKLSAgICByZXR1cm4gc2hh
cmVkQnJpZGdlOwotfQotCi0tIChpZClpbml0Ci17Ci0gICAgW3N1cGVyIGluaXRdOwotICAgIAot
ICAgIEFTU0VSVCghc2hhcmVkQnJpZGdlKTsKLSAgICBzaGFyZWRCcmlkZ2UgPSBbc2VsZiByZXRh
aW5dOwotICAgIAotICAgIHJldHVybiBzZWxmOwotfQotCi0tICh2b2lkKWRyYXdGb2N1c1JpbmdX
aXRoUGF0aDooQ0dQYXRoUmVmKXBhdGggcmFkaXVzOihmbG9hdClyYWRpdXMgY29sb3I6KENHQ29s
b3JSZWYpY29sb3IgY2xpcFJlY3Q6KE5TUmVjdClyZWN0Ci17Ci19Ci0KLS0gKHZvaWQpc2V0RHJh
Z2dpbmdJbWFnZTooTlNJbWFnZSAqKWRyYWdJbWFnZSBhdDooTlNQb2ludClkcmFnTG9jCi17Ci19
Ci0KLS0gKHZvaWQpZHJhd0JlemVsZWRUZXh0RmllbGRDZWxsOihOU1JlY3QpcmVjdCBlbmFibGVk
OihCT09MKWFjdGl2ZQotewotfQotCi1AZW5kCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9H
cmFwaGljc0NvbnRleHRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
R3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiAxMzk4NikKKysrIFdlYkNvcmUvcGxhdGZv
cm0vbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYsMTUgKzI2
LDE1IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dC5oIgog
CisjaW1wb3J0ICJCbG9ja0V4Y2VwdGlvbnMuaCIKKyNpbXBvcnQgIkZsb2F0UmVjdC5oIgogI2lt
cG9ydCAiRm9udC5oIgotI2ltcG9ydCAiRmxvYXRSZWN0LmgiCiAjaW1wb3J0ICJGb3VuZGF0aW9u
RXh0cmFzLmgiCiAjaW1wb3J0ICJJbnRQb2ludEFycmF5LmgiCiAjaW1wb3J0ICJJbnRSZWN0Lmgi
CiAjaW1wb3J0ICJLUmVuZGVyaW5nRGV2aWNlUXVhcnR6LmgiCi0jaW1wb3J0ICJCbG9ja0V4Y2Vw
dGlvbnMuaCIKLSNpbXBvcnQgIldlYkNvcmVHcmFwaGljc0JyaWRnZS5oIgogI2ltcG9ydCAiV2Vi
Q29yZUltYWdlUmVuZGVyZXJGYWN0b3J5LmgiCisjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGV4dFJlbmRlcmVyLmgiCiAjaW1wb3J0ICJXZWJDb3Jl
VGV4dFJlbmRlcmVyRmFjdG9yeS5oIgogI2ltcG9ydCAiV2lkZ2V0LmgiCkBAIC01ODIsMTkgKzU4
Miw0MyBAQAogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
KwogICAgIGludCByYWRpdXMgPSAoZm9jdXNSaW5nV2lkdGgoKSAtIDEpIC8gMjsKICAgICBpbnQg
b2Zmc2V0ID0gcmFkaXVzICsgZm9jdXNSaW5nT2Zmc2V0KCk7CiAgICAgQ0dDb2xvclJlZiBjb2xv
clJlZiA9IGNvbG9yLmlzVmFsaWQoKSA/IGNnQ29sb3IoY29sb3IpIDogMDsKLSAgICAKKwogICAg
IENHTXV0YWJsZVBhdGhSZWYgZm9jdXNSaW5nUGF0aCA9IENHUGF0aENyZWF0ZU11dGFibGUoKTsK
ICAgICBjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzID0gZm9jdXNSaW5nUmVjdHMoKTsKICAg
ICB1bnNpZ25lZCByZWN0Q291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgCiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHJlY3RDb3VudDsgaSsrKQogICAgICAgICBDR1BhdGhBZGRSZWN0KGZv
Y3VzUmluZ1BhdGgsIDAsIENHUmVjdEluc2V0KHJlY3RzW2ldLCAtb2Zmc2V0LCAtb2Zmc2V0KSk7
Ci0gICAgCi0gICAgW1tXZWJDb3JlR3JhcGhpY3NCcmlkZ2Ugc2hhcmVkQnJpZGdlXSBkcmF3Rm9j
dXNSaW5nV2l0aFBhdGg6Zm9jdXNSaW5nUGF0aCByYWRpdXM6cmFkaXVzIGNvbG9yOmNvbG9yUmVm
IGNsaXBSZWN0Om1fZGF0YS0+bV9mb2N1c1JpbmdDbGlwXTsKKworICAgIENHQ29udGV4dFJlZiBj
b250ZXh0ID0gcGxhdGZvcm1Db250ZXh0KCk7CisKKyAgICAvLyBGSVhNRTogVGhpcyB3b3JrcyBv
bmx5IGluc2lkZSBhIE5TVmlldydzIGRyYXdSZWN0IG1ldGhvZC4gVGhlIHZpZXcgbXVzdCBiZQor
ICAgIC8vIGZvY3VzZWQgYW5kIHRoaXMgY29udGV4dCBtdXN0IGJlIHRoZSBjdXJyZW50IE5TR3Jh
cGhpY3NDb250ZXh0LgorICAgIEFTU0VSVChjb250ZXh0ID09IFtbTlNHcmFwaGljc0NvbnRleHQg
Y3VycmVudENvbnRleHRdIGdyYXBoaWNzUG9ydF0pOworICAgIE5TVmlldyogdmlldyA9IFtOU1Zp
ZXcgZm9jdXNWaWV3XTsKKyAgICBBU1NFUlQodmlldyk7CisKKyAgICBjb25zdCBOU1JlY3QqIGRy
YXdSZWN0czsKKyAgICBpbnQgY291bnQ7CisgICAgW3ZpZXcgZ2V0UmVjdHNCZWluZ0RyYXduOiZk
cmF3UmVjdHMgY291bnQ6JmNvdW50XTsKKworICAgIC8vIFdlIGhhdmUgdG8gcGFzcyBpbiBvdXIg
b3duIGNsaXAgcmVjdGFuZ2xlcyBoZXJlIGJlY2F1c2UgYSBidWcgaW4gQ0cKKyAgICAvLyBzZWVt
cyB0byBpbmZsYXRlIHRoZSBjbGlwICh0aHVzIGFsbG93aW5nIHRoZSBmb2N1cyByaW5nIHRvIHBh
aW50CisgICAgLy8gc2xpZ2h0bHkgb3V0c2lkZSB0aGUgY2xpcCkuCisgICAgTlNSZWN0IHRyYW5z
Zm9ybWVkQ2xpcFJlY3QgPSBbdmlldyBjb252ZXJ0UmVjdDptX2RhdGEtPm1fZm9jdXNSaW5nQ2xp
cCB0b1ZpZXc6bmlsXTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAg
ICAgICAgTlNSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IFt2aWV3IGNvbnZlcnRSZWN0OmRyYXdSZWN0
c1tpXSB0b1ZpZXc6bmlsXTsKKyAgICAgICAgTlNSZWN0IHJlY3RUb1VzZSA9IE5TSW50ZXJzZWN0
aW9uUmVjdCh0cmFuc2Zvcm1lZFJlY3QsIHRyYW5zZm9ybWVkQ2xpcFJlY3QpOworICAgICAgICBD
R0NvbnRleHRCZWdpblBhdGgoY29udGV4dCk7CisgICAgICAgIENHQ29udGV4dEFkZFBhdGgoY29u
dGV4dCwgZm9jdXNSaW5nUGF0aCk7CisgICAgICAgIHdrRHJhd0ZvY3VzUmluZyhjb250ZXh0LCAq
KENHUmVjdCAqKSZyZWN0VG9Vc2UsIGNvbG9yUmVmLCByYWRpdXMpOworICAgIH0KKwogICAgIENH
Q29sb3JSZWxlYXNlKGNvbG9yUmVmKTsKKwogICAgIENHUGF0aFJlbGVhc2UoZm9jdXNSaW5nUGF0
aCk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUlu
dGVyZmFjZS5tbQkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVT
eXN0ZW1JbnRlcmZhY2UubW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UuaCIKKwordm9pZCAoKndrRHJhd0JlemVsZWRUZXh0RmllbGRDZWxsKShOU1JlY3QsIEJPT0wg
ZW5hYmxlZCk7Cit2b2lkICgqd2tEcmF3Rm9jdXNSaW5nKShDR0NvbnRleHRSZWYsIENHUmVjdCBj
bGlwUmVjdCwgQ0dDb2xvclJlZiwgaW50IHJhZGl1cyk7Cit2b2lkICgqd2tTZXREcmFnSW1hZ2Up
KE5TSW1hZ2UqLCBOU1BvaW50IG9mZnNldCk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTog
c3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9h
cmRNYWMubW0JKHJldmlzaW9uIDEzOTg2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJv
YXJkTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxNyArMjYsMTIgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiQ2xpcGJvYXJkTWFjLmgiCiAKKyNpbXBvcnQgIkNhY2hlZEltYWdl
LmgiCiAjaW1wb3J0ICJGb3VuZGF0aW9uRXh0cmFzLmgiCiAjaW1wb3J0ICJGcmFtZU1hYy5oIgot
I2ltcG9ydCAiV2ViQ29yZUdyYXBoaWNzQnJpZGdlLmgiCiAjaW1wb3J0ICJXZWJDb3JlSW1hZ2VS
ZW5kZXJlci5oIgotI2ltcG9ydCAiQ2FjaGVkSW1hZ2UuaCIKKyNpbXBvcnQgIldlYkNvcmVTeXN0
ZW1JbnRlcmZhY2UuaCIKIAotI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgotCi11c2luZyBXZWJD
b3JlOjpTdHJpbmc7Ci11c2luZyBXZWJDb3JlOjpOb2RlOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIENsaXBib2FyZE1hYzo6Q2xpcGJvYXJkTWFjKGJvb2wgZm9yRHJhZ2dpbmcsIE5TUGFzdGVi
b2FyZCAqcGFzdGVib2FyZCwgQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWVNYWMgKmZyYW1lKQpA
QCAtMzE2LDcgKzMxMSwxNiBAQAogICAgICAgICAgICAgTlNQb2ludCBjb2NvYUxvYzsKICAgICAg
ICAgICAgIE5TSW1hZ2UqIGNvY29hSW1hZ2UgPSBkcmFnTlNJbWFnZSgmY29jb2FMb2MpOwogICAg
ICAgICAgICAgaWYgKGNvY29hSW1hZ2UpIHsKLSAgICAgICAgICAgICAgICBbW1dlYkNvcmVHcmFw
aGljc0JyaWRnZSBzaGFyZWRCcmlkZ2VdIHNldERyYWdnaW5nSW1hZ2U6Y29jb2FJbWFnZSBhdDpj
b2NvYUxvY107CisgICAgICAgICAgICAgICAgLy8gRGFzaGJvYXJkIHdhbnRzIHRvIGJlIGFibGUg
dG8gc2V0IHRoZSBkcmFnIGltYWdlIGR1cmluZyBkcmFnZ2luZywgYnV0IENvY29hIGRvZXMgbm90
IGFsbG93IHRoaXMuCisgICAgICAgICAgICAgICAgLy8gSW5zdGVhZCB3ZSBtdXN0IGRyb3AgZG93
biB0byB0aGUgQ29yZUdyYXBoaWNzIEFQSS4KKyAgICAgICAgICAgICAgICB3a1NldERyYWdJbWFn
ZShjb2NvYUltYWdlLCBjb2NvYUxvYyk7CisKKyAgICAgICAgICAgICAgICAvLyBIYWNrOiBXZSBt
dXN0IHBvc3QgYW4gZXZlbnQgdG8gd2FrZSB1cCB0aGUgTlNEcmFnTWFuYWdlciwgd2hpY2ggaXMg
c2l0dGluZyBpbiBhIG5leHRFdmVudCBjYWxsCisgICAgICAgICAgICAgICAgLy8gdXAgdGhlIHN0
YWNrIGZyb20gdXMgYmVjYXVzZSB0aGUgQ29yZUZvdW5kYXRpb24gZHJhZyBtYW5hZ2VyIGRvZXMg
bm90IHVzZSB0aGUgcnVuIGxvb3AgYnkgaXRzZWxmLgorICAgICAgICAgICAgICAgIC8vIFRoaXMg
aXMgdGhlIG1vc3QgaW5ub2N1b3VzIGV2ZW50IHRvIHVzZSwgcGVyIEtyaXN0ZW4gRm9yc3Rlci4K
KyAgICAgICAgICAgICAgICBOU0V2ZW50KiBldiA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlw
ZTpOU01vdXNlTW92ZWQgbG9jYXRpb246TlNaZXJvUG9pbnQKKyAgICAgICAgICAgICAgICAgICAg
bW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjowIGNvbnRleHQ6bmlsIGV2
ZW50TnVtYmVyOjAgY2xpY2tDb3VudDowIHByZXNzdXJlOjBdOworICAgICAgICAgICAgICAgIFtO
U0FwcCBwb3N0RXZlbnQ6ZXYgYXRTdGFydDpZRVNdOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIC8vIEVsc2UgZWl0aGVyIDEpIHdlIGhhdmVuJ3Qgc3RhcnRlZCBkcmFnZ2luZyB5
ZXQsIHNvIHdlIHJlbHkgb24gdGhlIHBhcnQgdG8gaW5zdGFsbCB0aGlzIGRyYWcgaW1hZ2UKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgJKHJl
dmlzaW9uIDApCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVm
IFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VfaAorI2RlZmluZSBXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
X2gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvLyBJbiBh
bHBoYWJldGljYWwgb3JkZXIuCisKK2V4dGVybiB2b2lkICgqd2tEcmF3QmV6ZWxlZFRleHRGaWVs
ZENlbGwpKE5TUmVjdCwgQk9PTCBlbmFibGVkKTsKK2V4dGVybiB2b2lkICgqd2tEcmF3Rm9jdXNS
aW5nKShDR0NvbnRleHRSZWYsIENHUmVjdCBjbGlwUmVjdCwgQ0dDb2xvclJlZiwgaW50IHJhZGl1
cyk7CitleHRlcm4gdm9pZCAoKndrU2V0RHJhZ0ltYWdlKShOU0ltYWdlKiwgTlNQb2ludCBvZmZz
ZXQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYKClByb3BlcnR5
IGNoYW5nZXMgb246IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uu
aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQkocmV2aXNpb24gMTM5ODYpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjMsMTEgKzIzLDEx
IEBACiAjaW1wb3J0ICJSZW5kZXJUaGVtZU1hYy5oIgogCiAjaW1wb3J0ICJEb2N1bWVudC5oIgor
I2ltcG9ydCAiRm91bmRhdGlvbkV4dHJhcy5oIgogI2ltcG9ydCAiRnJhbWVWaWV3LmgiCi0jaW1w
b3J0ICJGb3VuZGF0aW9uRXh0cmFzLmgiCisjaW1wb3J0ICJSZW5kZXJDYW52YXMuaCIKKyNpbXBv
cnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgImNzc3N0eWxlc2VsZWN0b3Iu
aCIKLSNpbXBvcnQgIlJlbmRlckNhbnZhcy5oIgotI2ltcG9ydCAiV2ViQ29yZUdyYXBoaWNzQnJp
ZGdlLmgiCiAKIC8vIFRoZSBtZXRob2RzIGluIHRoaXMgZmlsZSBhcmUgc3BlY2lmaWMgdG8gdGhl
IE1hYyBPUyBYIHBsYXRmb3JtLgogCkBAIC00OTIsOCArNDkyLDExIEBACiAgICAgdXBkYXRlRm9j
dXNlZFN0YXRlKGJ1dHRvbiwgbyk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50QnV0
dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNv
bnN0IEludFJlY3QmIHIpCitib29sIFJlbmRlclRoZW1lTWFjOjpwYWludEJ1dHRvbihSZW5kZXJP
YmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYg
cikKIHsgICAgCisgICAgLy8gRklYTUU6IElnbm9yZXMgdGhlIEdyYXBoaWNzQ29udGV4dCBpbiB0
aGUgUGFpbnRJbmZvIGFuZCBhbHdheXMgZHJhd3MgaW50byB0aGUgY3VycmVudAorICAgIC8vIE5T
R3JhcGhpY3NDb250ZXh0IGluc3RlYWQuCisKICAgICAvLyBEZXRlcm1pbmUgdGhlIHdpZHRoIGFu
ZCBoZWlnaHQgbmVlZGVkIGZvciB0aGUgY29udHJvbCBhbmQgcHJlcGFyZSB0aGUgY2VsbCBmb3Ig
cGFpbnRpbmcuCiAgICAgc2V0QnV0dG9uQ2VsbFN0YXRlKG8sIHIpOwogICAgIApAQCAtNTE5LDEx
ICs1MjIsMTEgQEAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVNYWM6
OnBhaW50VGV4dEZpZWxkKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWlu
dEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCitib29sIFJlbmRlclRoZW1lTWFjOjpwYWludFRl
eHRGaWVsZChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYgcikKIHsKLSAgICBib29sIGVuYWJsZWQgPSBpc0VuYWJsZWQobykgJiYg
IWlzUmVhZE9ubHlDb250cm9sKG8pOwotICAgIFtbV2ViQ29yZUdyYXBoaWNzQnJpZGdlIHNoYXJl
ZEJyaWRnZV0gZHJhd0JlemVsZWRUZXh0RmllbGRDZWxsOk5TUmVjdChyKSBlbmFibGVkOmVuYWJs
ZWRdOwotICAgIAorICAgIC8vIEZJWE1FOiBJZ25vcmVzIHRoZSBHcmFwaGljc0NvbnRleHQgaW4g
dGhlIFBhaW50SW5mbyBhbmQgYWx3YXlzIGRyYXdzIGludG8gdGhlIGN1cnJlbnQKKyAgICAvLyBO
U0dyYXBoaWNzQ29udGV4dCBpbnN0ZWFkLgorICAgIHdrRHJhd0JlemVsZWRUZXh0RmllbGRDZWxs
KHIsIGlzRW5hYmxlZChvKSAmJiAhaXNSZWFkT25seUNvbnRyb2wobykpOwogICAgIHJldHVybiBm
YWxzZTsKIH0KIApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL1dlYkNvcmUuZXhwCShyZXZpc2lvbiAxMzk4NikKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMiwxNyArMTAyLDE2IEBACiAub2JqY19jbGFzc19uYW1lX0RP
TVRleHQKIC5vYmpjX2NsYXNzX25hbWVfRE9NVHJlZVdhbGtlcgogLm9iamNfY2xhc3NfbmFtZV9E
T01VSUV2ZW50Ci0ub2JqY19jbGFzc19uYW1lX1dlYkNvcmVGcmFtZUJyaWRnZQotLm9iamNfY2xh
c3NfbmFtZV9XZWJDb3JlUGFnZUJyaWRnZQogLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlQ2FjaGUK
IC5vYmpjX2NsYXNzX25hbWVfV2ViQ29yZUNvb2tpZUFkYXB0ZXIKIC5vYmpjX2NsYXNzX25hbWVf
V2ViQ29yZUVuY29kaW5ncworLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlRnJhbWVCcmlkZ2UKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZUZyYW1lTmFtZXNwYWNlcwotLm9iamNfY2xhc3NfbmFtZV9X
ZWJDb3JlR3JhcGhpY3NCcmlkZ2UKIC5vYmpjX2NsYXNzX25hbWVfV2ViQ29yZUhpc3RvcnkKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZUltYWdlUmVuZGVyZXJGYWN0b3J5CiAub2JqY19jbGFzc19u
YW1lX1dlYkNvcmVKYXZhU2NyaXB0CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVLZXlHZW5lcmF0
b3IKKy5vYmpjX2NsYXNzX25hbWVfV2ViQ29yZVBhZ2VCcmlkZ2UKIC5vYmpjX2NsYXNzX25hbWVf
V2ViQ29yZVNjcmlwdERlYnVnZ2VyCiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVTZXR0aW5ncwog
Lm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlVGV4dERlY29kZXIKQEAgLTEyNCwzICsxMjMsNiBAQAog
X1dlYkNvcmVJbml0aWFsaXplRm9udAogX1dlYkNvcmVJbml0aWFsaXplVGV4dFJ1bgogX1dlYkNv
cmVQYWdlQ2FjaGVTdGF0ZUtleQorX3drRHJhd0JlemVsZWRUZXh0RmllbGRDZWxsCitfd2tEcmF3
Rm9jdXNSaW5nCitfd2tTZXREcmFnSW1hZ2UKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzk4NikKKysrIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMzIsNiArMzMyLDgg
QEAKIAkJOTNDRDRGRUMwOTk1RkQyQTAwN0VDQzk3IC8qIFBsYXRmb3JtU3RyaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0NENEZFQjA5OTVGRDJB
MDA3RUNDOTcgLyogUGxhdGZvcm1TdHJpbmcuaCAqLzsgfTsKIAkJOTNFNDdDNUMwOUJFMkJCQjAw
MTlDNUMxIC8qIFBhZ2VNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0U0N0M1QjA5QkUyQkJCMDAxOUM1QzEgLyogUGFnZU1hYy5tbSAqLzsgfTsK
IAkJOTNFNjJEOUIwOTg1RjQxNjAwRTFCNUUzIC8qIFN5c3RlbVRpbWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRTYyRDk5MDk4NUY0MTYwMEUxQjVF
MyAvKiBTeXN0ZW1UaW1lLmggKi87IH07CisJCTkzRUIxNjk1MDlGODgwQjAwMDkxRjhGRiAvKiBX
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNFQjE2OTQwOUY4ODBCMDAwOTFGOEZGIC8qIFdlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UubW0gKi87IH07CisJCTkzRUIxNjk3MDlGODgwQzAwMDkxRjhGRiAvKiBXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0VCMTY5NjA5Rjg4MEMwMDA5MUY4RkYgLyogV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkz
RUIzNTVGMDlFMzdGRDYwMEY0Mzc5OSAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRUIzNTVF
MDlFMzdGRDYwMEY0Mzc5OSAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCAqLzsg
fTsKIAkJOTNFRUMxRkEwOUMyODc3NzAwQzUxNUQxIC8qIERvY1B0ci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFRUMxRTcwOUMyODc3NzAwQzUxNUQx
IC8qIERvY1B0ci5oICovOyB9OwogCQk5M0VFQzFGRjA5QzI4Nzc3MDBDNTE1RDEgLyogQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzRUVDMUVEMDlDMjg3NzcwMEM1MTVEMSAvKiBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwICovOyB9OwpAQCAtNDAyLDcgKzQwNCw2IEBACiAJCTkzRjE5OUJDMDgyNDVF
NTkwMDFFOUFCQyAvKiBXZWJDb3JlQVhPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1OTk4QTVBMDUyQjU5Q0MwMDE3QTZDMSAvKiBXZWJDb3Jl
QVhPYmplY3QuaCAqLzsgfTsKIAkJOTNGMTk5QkQwODI0NUU1OTAwMUU5QUJDIC8qIEFjY2Vzc2li
aWxpdHlPYmplY3RDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTU5OThBNUMwNTJCNTlDQzAwMTdBNkMxIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RD
YWNoZS5oICovOyB9OwogCQk5M0YxOTlCRTA4MjQ1RTU5MDAxRTlBQkMgLyogQmxvY2tFeGNlcHRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUE2
NDBGMDA1MzNCQjFGMDA4NUU3NzcgLyogQmxvY2tFeGNlcHRpb25zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJOTNGMTk5QkYwODI0NUU1OTAwMUU5QUJDIC8qIFdl
YkNvcmVHcmFwaGljc0JyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkUyNkYxNTMwNTUxN0RFMDAwQkZBMEMzIC8qIFdlYkNvcmVHcmFwaGljc0Jy
aWRnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTkzRjE5OUMyMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlS2V5R2VuZXJhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEIyQjFGNzA1NkJFRjNB
MDBEMkI3NzEgLyogV2ViQ29yZUtleUdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzRjE5OUNGMDgyNDVFNTkwMDFFOUFCQyAvKiBB
dG9taWNTdHJpbmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzNCMzY0NzA1QzlENUUyMDBFNDI5MDIgLyogQXRvbWljU3RyaW5nTGlzdC5oICov
OyB9OwogCQk5M0YxOTlENTA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRRWRpdENvbW1hbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFRjdFRUEwMDVGRjhG
MEQwMDk3MTdFRSAvKiBLV1FFZGl0Q29tbWFuZC5oICovOyB9OwpAQCAtNDc3LDcgKzQ3OCw2IEBA
CiAJCTkzRjE5QURGMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlQVhPYmplY3QubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTk5OEE1QjA1MkI1OUND
MDAxN0E2QzEgLyogV2ViQ29yZUFYT2JqZWN0Lm1tICovOyB9OwogCQk5M0YxOUFFMDA4MjQ1RTU5
MDAxRTlBQkMgLyogQWNjZXNzaWJpbGl0eU9iamVjdENhY2hlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTU5OThBNUQwNTJCNTlDQzAwMTdBNkMxIC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RDYWNoZS5tbSAqLzsgfTsKIAkJOTNGMTlBRTEwODI0NUU1OTAw
MUU5QUJDIC8qIEJsb2NrRXhjZXB0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1RjgwNjk3MDU0RDlGODYwMDhCRjc3NiAvKiBCbG9ja0V4Y2Vw
dGlvbnMubW0gKi87IH07Ci0JCTkzRjE5QUUzMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlR3Jh
cGhpY3NCcmlkZ2UubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJFMjZGMTU0MDU1MTdERTAwMEJGQTBDMyAvKiBXZWJDb3JlR3JhcGhpY3NCcmlkZ2UubSAq
LzsgfTsKIAkJOTNGMTlBRTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVLZXlHZW5lcmF0b3Iu
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QjJCMUY4
MDU2QkVGM0EwMEQyQjc3MSAvKiBXZWJDb3JlS2V5R2VuZXJhdG9yLm0gKi87IH07CiAJCTkzRjE5
QUU2MDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FLU1NMS2V5R2VuLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRCMkIyNEYwNTZCRjE1RjAwRDJCNzcxIC8q
IEtXUUtTU0xLZXlHZW4ubW0gKi87IH07CiAJCTkzRjE5QUY3MDgyNDVFNTkwMDFFOUFCQyAvKiBL
V1FFZGl0Q29tbWFuZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJFRjdFRUExMDVGRjhGMEQwMDk3MTdFRSAvKiBLV1FFZGl0Q29tbWFuZC5tbSAqLzsg
fTsKQEAgLTE1NjksNiArMTU2OSw4IEBACiAJCTkzQ0Q0RkVCMDk5NUZEMkEwMDdFQ0M5NyAvKiBQ
bGF0Zm9ybVN0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9y
bVN0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0U0N0M1QjA5QkUyQkJC
MDAxOUM1QzEgLyogUGFnZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBQYWdlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0U2MkQ5
OTA5ODVGNDE2MDBFMUI1RTMgLyogU3lzdGVtVGltZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTeXN0ZW1UaW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
RUIxNjk0MDlGODgwQjAwMDkxRjhGRiAvKiBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNFQjE2OTYwOUY4ODBDMDAwOTFG
OEZGIC8qIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5M0VCMzU1RTA5RTM3RkQ2MDBGNDM3OTkgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb3VzZUV2
ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTNFRUMxRTUwOUMyODc3NzAwQzUxNUQxIC8qIEF0dHIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEF0dHIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0VFQzFFNjA5QzI4
Nzc3MDBDNTE1RDEgLyogQ2hhcmFjdGVyRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Q2hhcmFjdGVyRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzU1LDgg
KzIzNTcsNiBAQAogCQlCQ0ZCMkY0MDA5N0EyNEI1MDBCQTcwM0QgLyogU2VnbWVudGVkU3RyaW5n
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWdtZW50ZWRTdHJpbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGQjJGNzQwOTdBMkUxQTAwQkE3MDNEIC8q
IEFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcmVuYS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRkIyRjc1MDk3QTJFMUEwMEJBNzAz
RCAvKiBBcmVuYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJlbmEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkUyNkYxNTMwNTUxN0RFMDAwQkZBMEMzIC8q
IFdlYkNvcmVHcmFwaGljc0JyaWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlR3JhcGhpY3NCcmlkZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCUJFMjZGMTU0MDU1
MTdERTAwMEJGQTBDMyAvKiBXZWJDb3JlR3JhcGhpY3NCcmlkZ2UubSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2ViQ29yZUdyYXBoaWNzQnJp
ZGdlLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAw
OyB9OwogCQlCRTg1NUY3RjA3MDFFODM1MDAyMzk3NjkgLyogV2ViQ29yZVZpZXcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVZpZXcu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CiAJCUJFODU2MDUxMDcwMUY5MTEwMDIzOTc2OSAvKiBXZWJDb3JlVmlldy5tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBXZWJDb3JlVmlldy5t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJQkU5MUZDOEIwNjEzMzY2NjAwNUUzNzkwIC8qIFBvc2l0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvc2l0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwpAQCAtMjY4Niwx
MCArMjY4Niw2IEBACiAJCQkJNjVGODA2OTcwNTREOUY4NjAwOEJGNzc2IC8qIEJsb2NrRXhjZXB0
aW9ucy5tbSAqLywKIAkJCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFj
LmggKi8sCiAJCQkJMkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5tbSAq
LywKLQkJCQlGNTg3ODUzNTAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVRleHRBcmVhLmggKi8s
Ci0JCQkJRjU4Nzg1MzYwMkRFMzc1OTAxRUE0MTIyIC8qIFdlYkNvcmVUZXh0QXJlYS5tbSAqLywK
LQkJCQlGNTg3ODUxQjAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVRleHRGaWVsZC5oICovLAot
CQkJCUY1ODc4NTFDMDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVGV4dEZpZWxkLm1tICovLAog
CQkJCTY1ODJBMTQ5MDk5OTlENkMwMEJFRUI2RCAvKiBDb2xvck1hYy5tbSAqLywKIAkJCQk5MzUy
MDg3NjA5QkQ0NTM0MDBGMjAzOEQgLyogQ29va2llSmFyLm1tICovLAogCQkJCUY1ODc4NEYwMDJE
RTM3NTkwMUVBNDEyMiAvKiBDdXJzb3JNYWMubW0gKi8sCkBAIC0yNzI2LDggKzI3MjIsNiBAQAog
CQkJCTY1NDVGNjc1MDlCODMwMTgwMDEzMDA2RiAvKiBUcmFuc2ZlckpvYk1hYy5tbSAqLywKIAkJ
CQlGNTg3ODU0OTAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZUNvb2tpZUFkYXB0ZXIuaCAqLywK
IAkJCQlGNTg3ODU0QTAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZUNvb2tpZUFkYXB0ZXIubSAq
LywKLQkJCQlCRTI2RjE1MzA1NTE3REUwMDBCRkEwQzMgLyogV2ViQ29yZUdyYXBoaWNzQnJpZGdl
LmggKi8sCi0JCQkJQkUyNkYxNTQwNTUxN0RFMDAwQkZBMEMzIC8qIFdlYkNvcmVHcmFwaGljc0Jy
aWRnZS5tICovLAogCQkJCUY1NTE3REMyMDMxQUI1NjMwMUE4MDE4MCAvKiBXZWJDb3JlSGlzdG9y
eS5oICovLAogCQkJCUY1NTE3REMzMDMxQUI1NjMwMUE4MDE4MCAvKiBXZWJDb3JlSGlzdG9yeS5t
ICovLAogCQkJCUY1ODc4NTREMDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlSW1hZ2VSZW5kZXJl
ci5oICovLApAQCAtMjczNSw2ICsyNzI5LDEyIEBACiAJCQkJRjU4Nzg1NEYwMkRFMzc1OTAxRUE0
MTIyIC8qIFdlYkNvcmVJbWFnZVJlbmRlcmVyRmFjdG9yeS5tICovLAogCQkJCTg0QjJCMUY3MDU2
QkVGM0EwMEQyQjc3MSAvKiBXZWJDb3JlS2V5R2VuZXJhdG9yLmggKi8sCiAJCQkJODRCMkIxRjgw
NTZCRUYzQTAwRDJCNzcxIC8qIFdlYkNvcmVLZXlHZW5lcmF0b3IubSAqLywKKwkJCQk5M0VCMTY5
NjA5Rjg4MEMwMDA5MUY4RkYgLyogV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oICovLAorCQkJCTkz
RUIxNjk0MDlGODgwQjAwMDkxRjhGRiAvKiBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tICovLAor
CQkJCUY1ODc4NTM1MDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVGV4dEFyZWEuaCAqLywKKwkJ
CQlGNTg3ODUzNjAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVRleHRBcmVhLm1tICovLAorCQkJ
CUY1ODc4NTFCMDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVGV4dEZpZWxkLmggKi8sCisJCQkJ
RjU4Nzg1MUMwMkRFMzc1OTAxRUE0MTIyIC8qIFdlYkNvcmVUZXh0RmllbGQubW0gKi8sCiAJCQkJ
RjU4Nzg1NTEwMkRFMzc1OTAxRUE0MTIyIC8qIFdlYkNvcmVUZXh0UmVuZGVyZXIuaCAqLywKIAkJ
CQlGNTg3ODU1MjAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVRleHRSZW5kZXJlckZhY3Rvcnku
aCAqLywKIAkJCQlGNTg3ODU1MzAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVRleHRSZW5kZXJl
ckZhY3RvcnkubW0gKi8sCkBAIC0yNzg2LDEwICsyNzg2LDEwIEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQlCQ0VBNDk0NTA5N0YwRjc3MDA5NEM5RTQgLyogQnJvd3NlckV4dGVuc2lvbk1hYy5oICov
LAogCQkJCUJDRUE0OTQ2MDk3RjBGNzcwMDk0QzlFNCAvKiBCcm93c2VyRXh0ZW5zaW9uTWFjLm1t
ICovLAorCQkJCTY1QkYwMjNCMDk3NDgxOTAwMEM0MzE5NiAvKiBGcmFtZU1hYy5oICovLAorCQkJ
CTY1QkYwMjNDMDk3NDgxOTAwMEM0MzE5NiAvKiBGcmFtZU1hYy5tbSAqLywKIAkJCQk5MzgwRjY4
NjA5QTE0M0IyMDAxRkRCMzQgLyogRnJhbWVWaWV3TWFjLm1tICovLAogCQkJCTkzNUM0NzVFMDlB
QzRDQUUwMEE2QUFCNCAvKiBIaXN0b3J5TWFjLm1tICovLAotCQkJCTY1QkYwMjNCMDk3NDgxOTAw
MEM0MzE5NiAvKiBGcmFtZU1hYy5oICovLAotCQkJCTY1QkYwMjNDMDk3NDgxOTAwMEM0MzE5NiAv
KiBGcmFtZU1hYy5tbSAqLywKIAkJCQlGNTg3ODRGRjAyREUzNzU5MDFFQTQxMjIgLyogSmF2YUFw
cGxldFdpZGdldC5tbSAqLywKIAkJCQk5M0U0N0M1QjA5QkUyQkJCMDAxOUM1QzEgLyogUGFnZU1h
Yy5tbSAqLywKIAkJCQlGNUIyQTRGQzAyRTIyMjBGMDE4NjM1Q0IgLyogV2ViQ29yZUNhY2hlLmgg
Ki8sCkBAIC00MTkzLDcgKzQxOTMsNiBAQAogCQkJCTkzRjE5OUJDMDgyNDVFNTkwMDFFOUFCQyAv
KiBXZWJDb3JlQVhPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OUJEMDgyNDVFNTkw
MDFFOUFCQyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzRjE5OUJFMDgyNDVFNTkwMDFFOUFCQyAvKiBCbG9ja0V4Y2VwdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTkzRjE5OUJGMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlR3JhcGhpY3NCcmlk
Z2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OUMyMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJD
b3JlS2V5R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlDRjA4MjQ1RTU5MDAx
RTlBQkMgLyogQXRvbWljU3RyaW5nTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5RDUw
ODI0NUU1OTAwMUU5QUJDIC8qIEtXUUVkaXRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTQ2
OTgsNiArNDY5Nyw3IEBACiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRv
dy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwM0JBMEYwOUVCMThGOTAwNzk3QzdGIC8qIEpTRE9N
V2luZG93LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MTE2ODk2MDA5RjJBNEEwMDA3NzJDQTAgLyog
U1ZHVFJlZkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzRUIxNjk3MDlGODgwQzAwMDkx
RjhGRiAvKiBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ5Mjks
NyArNDkyOSw2IEBACiAJCQkJOTNGMTlBREYwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVBWE9i
amVjdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QUUwMDgyNDVFNTkwMDFFOUFCQyAvKiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2FjaGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUFFMTA4
MjQ1RTU5MDAxRTlBQkMgLyogQmxvY2tFeGNlcHRpb25zLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
OTNGMTlBRTMwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVHcmFwaGljc0JyaWRnZS5tIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNGMTlBRTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVLZXlHZW5l
cmF0b3IubSBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QUU2MDgyNDVFNTkwMDFFOUFCQyAvKiBL
V1FLU1NMS2V5R2VuLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBRjcwODI0NUU1OTAwMUU5
QUJDIC8qIEtXUUVkaXRDb21tYW5kLm1tIGluIFNvdXJjZXMgKi8sCkBAIC01Mzg5LDYgKzUzODgs
NyBAQAogCQkJCTE0MDNCOTk4MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTQwM0JBMEMwOUVCMThDNzAwNzk3QzdGIC8qIEpTRE9NV2luZG93LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTgxMTY4OTVGMDlGMkE0QTAwMDc3MkNBMCAvKiBTVkdUUmVm
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5M0VCMTY5NTA5Rjg4MEIwMDA5MUY4RkYg
LyogV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEz
OTg4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNCBA
QAorMjAwNi0wNC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBXZWJDb3JlIHBhcnQgb2Yg
aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04NTA1CisgICAg
ICAgICAgZWxpbWluYXRlIFdlYkNvcmVHcmFwaGljcyBicmlkZ2UsIGRlbW9uc3RyYXRlIG5ldyBT
eXN0ZW1JbnRlcmZhY2UgdGVjaG5pcXVlCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29y
ZUdyYXBoaWNzQnJpZGdlLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNv
cmVHcmFwaGljc0JyaWRnZS5tOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLm1tOiBBZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwOiBB
ZGQgbmV3IFN5c3RlbUludGVyZmFjZSBnbG9iYWxzLCByZW1vdmUgV2ViQ29yZUdyYXBoaWNzQnJp
ZGdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRh
dGVkIGZvciByZW1vdmVkIGFuZCBhZGRlZCBmaWxlcy4KKyAgICAgICAgU29ydGVkIGZpbGVzLgor
CisgICAgICAgICogYnJpZGdlL21hYy9GcmFtZU1hYy5tbTogUmVtb3ZlZCB1bm5lZWRlZCBpbmNs
dWRlIG9mIFdlYkNvcmVHcmFwaGljc0JyaWRnZS5oLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
L0NsaXBib2FyZE1hYy5tbTogKFdlYkNvcmU6OkNsaXBib2FyZE1hYzo6c2V0RHJhZ0ltYWdlKToK
KyAgICAgICAgTW92ZWQgY29kZSBmcm9tIFdlYkdyYXBoaWNzQnJpZGdlIGhlcmUsIHVzaW5nIFdl
YkNvcmVTeXN0ZW1JbnRlcmZhY2Ugc28gd2UgY2FuCisgICAgICAgIGNhbGwgd2tTZXREcmFnSW1h
Z2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tOiAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKToKKyAgICAgICAgTW92ZWQgY29k
ZSBmcm9tIFdlYkdyYXBoaWNzQnJpZGdlIGhlcmUsIHVzaW5nIFdlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2Ugc28gd2UgY2FuCisgICAgICAgIGNhbGwgd2tEcmF3Rm9jdXNSaW5nLgorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOiAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBh
aW50VGV4dEZpZWxkKToKKyAgICAgICAgQ2FsbCB3a0RyYXdCZXplbGVkVGV4dEZpZWxkQ2VsbCBm
cm9tIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UgaW5zdGVhZCBvZiB1c2luZworICAgICAgICBXZWJH
cmFwaGljc0JyaWRnZSB0byBkbyB0aGUgc2FtZSB0aGluZy4KKwogMjAwNi0wNC0yMCAgQWRlbGUg
UGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQu
CkluZGV4OiBXZWJDb3JlL2JyaWRnZS9tYWMvRnJhbWVNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9icmlkZ2UvbWFjL0ZyYW1lTWFjLm1tCShyZXZpc2lvbiAxMzk4NikKKysrIFdlYkNvcmUv
YnJpZGdlL21hYy9GcmFtZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNiBAQAog
I2ltcG9ydCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0ICJUcmFuc2ZlckpvYi5oIgogI2ltcG9y
dCAiV2ViQ29yZUZyYW1lQnJpZGdlLmgiCi0jaW1wb3J0ICJXZWJDb3JlR3JhcGhpY3NCcmlkZ2Uu
aCIKICNpbXBvcnQgIldlYkNvcmVWaWV3RmFjdG9yeS5oIgogI2ltcG9ydCAiV2ViRGFzaGJvYXJk
UmVnaW9uLmgiCiAjaW1wb3J0ICJjc3NoZWxwZXIuaCIKSW5kZXg6IFdlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEzOTg2KQorKysgV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDYg
QEAKIAkJOTM5ODEwN0UwODI0QkYwMTAwOERGMDM4IC8qIFdlYk5TVVJMRXh0cmFzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTZEQzM5OTA0QzYyQzRF
MDA0RDBFRjYgLyogV2ViTlNVUkxFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5Mzk4MTA3RjA4MjRCRjAxMDA4REYwMzggLyogV2ViRG9j
dW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRUQyMUI5ODEwNTI4RjdBQTAwMzI5OUFDIC8qIFdlYkRvY3VtZW50SW50ZXJuYWwuaCAq
LzsgfTsKIAkJOTM5ODEwODAwODI0QkYwMTAwOERGMDM4IC8qIFdlYkRvY3VtZW50UHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMzOTg3ODEw
NTQzMDEyRDAwRUUxNDZFIC8qIFdlYkRvY3VtZW50UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzOTgxMDgxMDgyNEJGMDEwMDhERjAz
OCAvKiBXZWJHcmFwaGljc0JyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkUyNkYxOEQwNTUxN0UwODAwQkZBMEMzIC8qIFdlYkdyYXBoaWNzQnJp
ZGdlLmggKi87IH07CiAJCTkzOTgxMDgyMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJOU0RhdGFFeHRy
YXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFQ0Qx
NDI5MDU2NTgzMEEwMDVCQjA5QyAvKiBXZWJOU0RhdGFFeHRyYXMuaCAqLzsgfTsKIAkJOTM5ODEw
ODMwODI0QkYwMTAwOERGMDM4IC8qIFdlYlVJRGVsZWdhdGVQcml2YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUE3RDQ0QTA1NjhBQjI2MDBFNzBF
RjYgLyogV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5Mzk4MTA4NDA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNF
dmVudEV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkU4ODdCRkYwNTZEM0E2RTAwOUJCM0U3IC8qIFdlYk5TRXZlbnRFeHRyYXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjc0LDcgKzI3Myw2
IEBACiAJCTkzOTgxMTExMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJMUlVGaWxlTGlzdC5tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkUwN0NFQUMwNDc1MzhG
MDAwQ0EyODlDIC8qIFdlYkxSVUZpbGVMaXN0Lm0gKi87IH07CiAJCTkzOTgxMTEyMDgyNEJGMDEw
MDhERjAzOCAvKiBXZWJOU1VSTEV4dHJhcy5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkU2REMzOUEwNEM2MkM0RTAwNEQwRUY2IC8qIFdlYk5TVVJMRXh0
cmFzLm0gKi87IH07CiAJCTkzOTgxMTEzMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJIaXN0b3J5Lm0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NURBMjYwODA1
MkNDMTg3MDBBOTdCMzEgLyogV2ViSGlzdG9yeS5tICovOyB9OwotCQk5Mzk4MTExNDA4MjRCRjAx
MDA4REYwMzggLyogV2ViR3JhcGhpY3NCcmlkZ2UubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFMjZGMThFMDU1MTdFMDgwMEJGQTBDMyAvKiBXZWJHcmFw
aGljc0JyaWRnZS5tICovOyB9OwogCQk5Mzk4MTExNTA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNE
YXRhRXh0cmFzLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCRUNEMTQyQTA1NjU4MzBBMDA1QkIwOUMgLyogV2ViTlNEYXRhRXh0cmFzLm0gKi87IH07CiAJ
CTkzOTgxMTE2MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJOU0V2ZW50RXh0cmFzLm0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTg4N0MwMDA1NkQzQTZFMDA5
QkIzRTcgLyogV2ViTlNFdmVudEV4dHJhcy5tICovOyB9OwogCQk5Mzk4MTExNzA4MjRCRjAxMDA4
REYwMzggLyogV2ViS2V5R2VuZXJhdG9yLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NDcyM0JFNDA1NkQ3MTlFMDA0NEJGRUEgLyogV2ViS2V5R2VuZXJh
dG9yLm0gKi87IH07CkBAIC0yOTgsNiArMjk2LDggQEAKIAkJOTM5ODExMkMwODI0QkYwMTAwOERG
MDM4IC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjczOEM5RUEwM0ZBRDNERjAzMjFGQkUwIC8qIFdlYkNvcmUuZnJh
bWV3b3JrICovOyB9OwogCQk5Mzk4MTEyRTA4MjRCRjAxMDA4REYwMzggLyogbGliaWN1Y29yZS5k
eWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
RDYyM0REMDUxRTc5MUYwMDJGNDdERCAvKiBsaWJpY3Vjb3JlLmR5bGliICovOyB9OwogCQk5Mzk4
MTEyRjA4MjRCRjAxMDA4REYwMzggLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwRTgxRTAwNTg1M0FDMDAwQUQw
ODkxIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKKwkJOTNFQjE3OEQwOUY4OEQ0NjAwOTFG
OEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNFQjE3OEMwOUY4OEQ0NjAwOTFGOEZGIC8qIFdlYlN5c3RlbUlu
dGVyZmFjZS5tICovOyB9OworCQk5M0VCMTc4RjA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVt
SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0VCMTc4RTA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggKi87IH07
CiAJCUFCRERGMjBEMDhFQjBEREMwMDFFMTI0MSAvKiBXZWJEb3dubG9hZEludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQkRERjIwQzA4RUIw
RERDMDAxRTEyNDEgLyogV2ViRG93bmxvYWRJbnRlcm5hbC5oICovOyB9OwogCQlERDg5NjgyMDA5
QUE4NzI0MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEREODk2ODFFMDlBQTg3MjQwMDk3RTdGMCAv
KiBXZWJFbGVtZW50RGljdGlvbmFyeS5oICovOyB9OwogCQlERDg5NjgyMTA5QUE4NzI0MDA5N0U3
RjAgLyogV2ViRWxlbWVudERpY3Rpb25hcnkubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEREODk2ODFGMDlBQTg3MjQwMDk3RTdGMCAvKiBXZWJFbGVtZW50
RGljdGlvbmFyeS5tICovOyB9OwpAQCAtNTMzLDYgKzUzMyw4IEBACiAJCTkzQzZGMTQ1MDc5MjBC
OTMwMDI0NDlDRCAvKiBXZWJGcmFtZVZpZXdQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRnJhbWVWaWV3UHJpdmF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJOTNE
MUZFMTMwNjdFQjEwQjAwOUNFNjhBIC8qIFdlYk5TT2JqZWN0RXh0cmFzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTlNPYmplY3RFeHRyYXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CiAJCTkzRDYyM0REMDUxRTc5MUYwMDJGNDdERCAvKiBsaWJpY3Vjb3JlLmR5bGliICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gt
by5keWxpYiI7IG5hbWUgPSBsaWJpY3Vjb3JlLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGliaWN1
Y29yZS5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJOTNFQjE3OEMwOUY4
OEQ0NjAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLm9iamM7IHBhdGggPSBXZWJTeXN0ZW1JbnRlcmZhY2UubTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNFQjE3OEUwOUY4OEQ1MTAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFj
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1JbnRlcmZhY2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUNBRTlEMDcwMjUyQTQxMzBFQ0ExNkVB
IC8qIFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJOUNFMUY4QTAw
MkE1QzZGMzBFQ0EyQUNEIC8qIFdlYkltYWdlUmVuZGVyZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbWFnZVJlbmRlcmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk5Q0Ux
RjhBMTAyQTVDNkYzMEVDQTJBQ0QgLyogV2ViSW1hZ2VSZW5kZXJlci5tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdlYkltYWdlUmVuZGVyZXIu
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CkBAIC01NDYsOCArNTQ4LDYgQEAKIAkJQkUwN0NFQUEwNDc1MzhGMDAwQ0EyODlDIC8qIFdlYkZp
bGVEYXRhYmFzZS5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9i
amM7IHBhdGggPSBXZWJGaWxlRGF0YWJhc2UubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUJFMDdDRUFCMDQ3NTM4RjAwMENBMjg5QyAv
KiBXZWJMUlVGaWxlTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJMUlVGaWxlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQkUwN0NFQUMwNDc1MzhGMDAwQ0EyODlD
IC8qIFdlYkxSVUZpbGVMaXN0Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMub2JqYzsgcGF0aCA9IFdlYkxSVUZpbGVMaXN0Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlCRTI2RjE4RDA1NTE3RTA4MDBC
RkEwQzMgLyogV2ViR3JhcGhpY3NCcmlkZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR3JhcGhpY3NCcmlkZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCUJFMjZGMThFMDU1
MTdFMDgwMEJGQTBDMyAvKiBXZWJHcmFwaGljc0JyaWRnZS5tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBXZWJHcmFwaGljc0JyaWRnZS5tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJ
QkU0RkJFQ0IwNjUzREY0NzAwNUVERTE1IC8qIFdlYkVkaXRpbmdEZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkVkaXRpbmdEZWxl
Z2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0g
MDsgfTsKIAkJQkU2REMzOTkwNEM2MkM0RTAwNEQwRUY2IC8qIFdlYk5TVVJMRXh0cmFzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5TVVJM
RXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMg
PSAwOyB9OwogCQlCRTZEQzM5QTA0QzYyQzRFMDA0RDBFRjYgLyogV2ViTlNVUkxFeHRyYXMubSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2Vi
TlNVUkxFeHRyYXMubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2Vz
VGFicyA9IDA7IH07CkBAIC0xMDYzLDggKzEwNjMsNiBAQAogCQkJCTkzMDU4OTJBMDcwODY4QjMw
MEU3OUQ5NiAvKiBXZWJEYXNoYm9hcmRSZWdpb24uaCAqLywKIAkJCQk5MzExMDIyODAzNjY3Q0Yx
MDA4NjM1Q0UgLyogV2ViRmlsZUJ1dHRvbi5oICovLAogCQkJCTkzMTEwMjI5MDM2NjdDRjEwMDg2
MzVDRSAvKiBXZWJGaWxlQnV0dG9uLm0gKi8sCi0JCQkJQkUyNkYxOEQwNTUxN0UwODAwQkZBMEMz
IC8qIFdlYkdyYXBoaWNzQnJpZGdlLmggKi8sCi0JCQkJQkUyNkYxOEUwNTUxN0UwODAwQkZBMEMz
IC8qIFdlYkdyYXBoaWNzQnJpZGdlLm0gKi8sCiAJCQkJNTE0QzRDMkEwNzVFN0RFNTAwQjg5Q0FE
IC8qIFdlYkltYWdlRGVjb2RlSXRlbS5oICovLAogCQkJCTUxNEM0QzJCMDc1RTdERTUwMEI4OUNB
RCAvKiBXZWJJbWFnZURlY29kZUl0ZW0ubSAqLywKIAkJCQk1MTRDNEMyQzA3NUU3REU1MDBCODlD
QUQgLyogV2ViSW1hZ2VEZWNvZGVyLmggKi8sCkBAIC0xMDgxLDYgKzEwNzksOCBAQAogCQkJCTg0
NzIzQkU0MDU2RDcxOUUwMDQ0QkZFQSAvKiBXZWJLZXlHZW5lcmF0b3IubSAqLywKIAkJCQlGNUUw
RTEwODAyQkM0NUY4MDE4NjM1Q0EgLyogV2ViU3VicmVzb3VyY2VMb2FkZXIuaCAqLywKIAkJCQlG
NUUwRTEwOTAyQkM0NUY4MDE4NjM1Q0EgLyogV2ViU3VicmVzb3VyY2VMb2FkZXIubSAqLywKKwkJ
CQk5M0VCMTc4RTA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggKi8sCisJ
CQkJOTNFQjE3OEMwOUY4OEQ0NjAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5tICovLAog
CQkJCUY1QjM2QjQxMDI4MURGNTUwMTg2MzVDQiAvKiBXZWJUZXh0UmVuZGVyZXIuaCAqLywKIAkJ
CQlGNUIzNkI0MjAyODFERjU1MDE4NjM1Q0IgLyogV2ViVGV4dFJlbmRlcmVyLm0gKi8sCiAJCQkJ
RjVCMzZCNDUwMjgxREY5QzAxODYzNUNCIC8qIFdlYlRleHRSZW5kZXJlckZhY3RvcnkuaCAqLywK
QEAgLTEyNzYsNyArMTI3Niw2IEBACiAJCQkJOTM5ODEwN0UwODI0QkYwMTAwOERGMDM4IC8qIFdl
Yk5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA3RjA4MjRCRjAxMDA4REYw
MzggLyogV2ViRG9jdW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEwODAw
ODI0QkYwMTAwOERGMDM4IC8qIFdlYkRvY3VtZW50UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJOTM5ODEwODEwODI0QkYwMTAwOERGMDM4IC8qIFdlYkdyYXBoaWNzQnJpZGdlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5Mzk4MTA4MjA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNEYXRhRXh0cmFz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA4MzA4MjRCRjAxMDA4REYwMzggLyogV2ViVUlE
ZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDg0MDgyNEJGMDEwMDhE
RjAzOCAvKiBXZWJOU0V2ZW50RXh0cmFzLmggaW4gSGVhZGVycyAqLywKQEAgLTEzMzMsNiArMTMz
Miw3IEBACiAJCQkJREQ4OTY4MjAwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9u
YXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyMjZFOUU2QTA5RDBBQTgyMDBGM0EyQkMgLyogV2Vi
TmV0c2NhcGVEZXByZWNhdGVkRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTBGNzRF
NDA5RTQ4OEY3MDAyMDExOEEgLyogV2ViVW5hcmNoaXZpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOTNFQjE3OEYwOUY4OEQ1MTAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0xODQ1LDcgKzE4NDUsNiBAQAogCQkJCTkzOTgxMTExMDgyNEJGMDEw
MDhERjAzOCAvKiBXZWJMUlVGaWxlTGlzdC5tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5ODExMTIw
ODI0QkYwMTAwOERGMDM4IC8qIFdlYk5TVVJMRXh0cmFzLm0gaW4gU291cmNlcyAqLywKIAkJCQk5
Mzk4MTExMzA4MjRCRjAxMDA4REYwMzggLyogV2ViSGlzdG9yeS5tIGluIFNvdXJjZXMgKi8sCi0J
CQkJOTM5ODExMTQwODI0QkYwMTAwOERGMDM4IC8qIFdlYkdyYXBoaWNzQnJpZGdlLm0gaW4gU291
cmNlcyAqLywKIAkJCQk5Mzk4MTExNTA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNEYXRhRXh0cmFz
Lm0gaW4gU291cmNlcyAqLywKIAkJCQk5Mzk4MTExNjA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNF
dmVudEV4dHJhcy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5ODExMTcwODI0QkYwMTAwOERGMDM4
IC8qIFdlYktleUdlbmVyYXRvci5tIGluIFNvdXJjZXMgKi8sCkBAIC0xODgxLDYgKzE4ODAsNyBA
QAogCQkJCUREODk2ODIxMDlBQTg3MjQwMDk3RTdGMCAvKiBXZWJFbGVtZW50RGljdGlvbmFyeS5t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMjI2RTlFNkIwOUQwQUE4MjAwRjNBMkJDIC8qIFdlYk5ldHNj
YXBlRGVwcmVjYXRlZEZ1bmN0aW9ucy5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNjUwRjc0RTUwOUU0
ODhGNzAwMjAxMThBIC8qIFdlYlVuYXJjaGl2aW5nU3RhdGUubSBpbiBTb3VyY2VzICovLAorCQkJ
CTkzRUIxNzhEMDlGODhENDYwMDkxRjhGRiAvKiBXZWJTeXN0ZW1JbnRlcmZhY2UubSBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpJbmRleDogV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2Uu
aAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZh
Y2UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordm9pZCBJbml0V2Vi
Q29yZVN5c3RlbUludGVyZmFjZSh2b2lkKTsKClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdC9X
ZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UuaApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpl
b2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViU3lz
dGVtSW50ZXJmYWNlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlN5
c3RlbUludGVyZmFjZS5tCShyZXZpc2lvbiAwKQorKysgV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlN5c3RlbUludGVyZmFjZS5tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACisvKgorICog
Q29weXJpZ2h0IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKKworI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLmg+CisjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4K
KworI2RlZmluZSBJTklUKGZ1bmN0aW9uKSB3ayMjZnVuY3Rpb24gPSBXSyMjZnVuY3Rpb24KKwor
dm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQoreworICAgIElOSVQoRHJhd0Jl
emVsZWRUZXh0RmllbGRDZWxsKTsKKyAgICBJTklUKERyYXdGb2N1c1JpbmcpOworICAgIElOSVQo
U2V0RHJhZ0ltYWdlKTsKK30KClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdC9XZWJDb3JlU3Vw
cG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjplb2wtc3R5bGUK
ICAgKyBuYXRpdmUKCkluZGV4OiBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NCcmlk
Z2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NCcmlk
Z2UuaAkocmV2aXNpb24gMTM5ODYpCisrKyBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhp
Y3NCcmlkZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21w
dXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQK
LSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
Ci0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUdyYXBoaWNzQnJpZGdlLmg+Ci0KLUBpbnRlcmZhY2Ug
V2ViR3JhcGhpY3NCcmlkZ2UgOiBXZWJDb3JlR3JhcGhpY3NCcmlkZ2UKLSsgKHZvaWQpY3JlYXRl
U2hhcmVkQnJpZGdlOwotKyAoV2ViR3JhcGhpY3NCcmlkZ2UgKilzaGFyZWRCcmlkZ2U7Ci1AZW5k
CkluZGV4OiBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VSZW5kZXJlci5tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZVJlbmRlcmVyLm0JKHJldmlzaW9u
IDEzOTg2KQorKysgV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYkltYWdlUmVuZGVyZXIubQkod29y
a2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVJ
bWFnZVJlbmRlcmVyLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViQXNzZXJ0aW9ucy5oPgotI2ltcG9y
dCA8V2ViS2l0L1dlYkdyYXBoaWNzQnJpZGdlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViSFRNTFZp
ZXcuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJJbWFnZURhdGEuaD4KICNpbXBvcnQgPFdlYktpdC9X
ZWJJbWFnZVJlbmRlcmVyRmFjdG9yeS5oPgpJbmRleDogV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlRleHRSZW5kZXJlci5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJU
ZXh0UmVuZGVyZXIubQkocmV2aXNpb24gMTM5ODYpCisrKyBXZWJLaXQvV2ViQ29yZVN1cHBvcnQv
V2ViVGV4dFJlbmRlcmVyLm0JKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDYgQEAKICNpbXBv
cnQgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2ltcG9ydCA8
Q29jb2EvQ29jb2EuaD4KIAotI2ltcG9ydCA8V2ViS2l0L1dlYkdyYXBoaWNzQnJpZGdlLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViS2l0TG9nZ2luZy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYk5TT2Jq
ZWN0RXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViVGV4dFJlbmRlcmVyRmFjdG9yeS5oPgpJ
bmRleDogV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYkltYWdlRGF0YS5tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZURhdGEubQkocmV2aXNpb24gMTM5ODYpCisr
KyBXZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VEYXRhLm0JKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbXBvcnQgIldlYkltYWdlRGF0YS5oIgogCiAjaW1wb3J0ICJXZWJB
c3NlcnRpb25zLmgiCi0jaW1wb3J0ICJXZWJHcmFwaGljc0JyaWRnZS5oIgogI2ltcG9ydCAiV2Vi
SW1hZ2VEZWNvZGVyLmgiCiAjaW1wb3J0ICJXZWJJbWFnZVJlbmRlcmVyLmgiCiAjaW1wb3J0ICJX
ZWJJbWFnZVJlbmRlcmVyRmFjdG9yeS5oIgpJbmRleDogV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YkdyYXBoaWNzQnJpZGdlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YkdyYXBoaWNzQnJpZGdlLm0JKHJldmlzaW9uIDEzOTg2KQorKysgV2ViS2l0L1dlYkNvcmVTdXBw
b3J0L1dlYkdyYXBoaWNzQnJpZGdlLm0JKHdvcmtpbmcgY29weSkKQEAgLTEsOTAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
LSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgot
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJXZWJHcmFwaGljc0JyaWRnZS5oIgotCi0jaW1w
b3J0ICJXZWJBc3NlcnRpb25zLmgiCi0jaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4K
LQotQGltcGxlbWVudGF0aW9uIFdlYkdyYXBoaWNzQnJpZGdlCi0KLSsgKHZvaWQpY3JlYXRlU2hh
cmVkQnJpZGdlCi17Ci0gICAgaWYgKCFbc2VsZiBzaGFyZWRCcmlkZ2VdKSB7Ci0gICAgICAgIFtb
W3NlbGYgYWxsb2NdIGluaXRdIHJlbGVhc2VdOwotICAgIH0KLSAgICBBU1NFUlQoW1tzZWxmIHNo
YXJlZEJyaWRnZV0gaXNLaW5kT2ZDbGFzczpzZWxmXSk7Ci19Ci0KLSsgKFdlYkdyYXBoaWNzQnJp
ZGdlICopc2hhcmVkQnJpZGdlOwotewotICAgIHJldHVybiAoV2ViR3JhcGhpY3NCcmlkZ2UgKilb
c3VwZXIgc2hhcmVkQnJpZGdlXTsKLX0KLQotLSAodm9pZClkcmF3Rm9jdXNSaW5nV2l0aFBhdGg6
KENHUGF0aFJlZilwYXRoIHJhZGl1czooZmxvYXQpcmFkaXVzIGNvbG9yOihDR0NvbG9yUmVmKWNv
bG9yIGNsaXBSZWN0OihOU1JlY3QpcmVjdAotewotICAgIC8vIFdlIGhhdmUgdG8gc2V0IGFuIGFj
Y3VyYXRlIGNsaXAgb3Vyc2VsdmVzLCBzaW5jZSBDRyBpbmZsYXRlcyB0aGUgY2xpcCAodGh1cyBh
bGxvd2luZyB0aGUgZm9jdXMgcmluZyB0bwotICAgIC8vIHBhaW50IHNsaWdodGx5IG91dHNpZGUg
dGhlIGNsaXApLgotICAgIE5TVmlldyogdmlldyA9IFtOU1ZpZXcgZm9jdXNWaWV3XTsKLSAgICAK
LSAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IFtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENv
bnRleHRdIGdyYXBoaWNzUG9ydF07Ci0gICAgTlNSZWN0IHRyID0gW3ZpZXcgY29udmVydFJlY3Q6
cmVjdCB0b1ZpZXc6bmlsXTsKLSAgICAKLSAgICBjb25zdCBOU1JlY3QgKnJlY3RzOwotICAgIGlu
dCBjb3VudDsKLSAgICBbdmlldyBnZXRSZWN0c0JlaW5nRHJhd246JnJlY3RzIGNvdW50OiZjb3Vu
dF07Ci0KLSAgICBpbnQgaTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewotICAg
ICAgICBOU1JlY3QgdHJhbnNmb3JtZWRSZWN0ID0gW3ZpZXcgY29udmVydFJlY3Q6cmVjdHNbaV0g
dG9WaWV3Om5pbF07Ci0gICAgICAgIE5TUmVjdCByZWN0VG9Vc2UgPSBOU0ludGVyc2VjdGlvblJl
Y3QodHJhbnNmb3JtZWRSZWN0LCB0cik7Ci0gICAgICAgIENHQ29udGV4dEJlZ2luUGF0aChjb250
ZXh0KTsKLSAgICAgICAgQ0dDb250ZXh0QWRkUGF0aChjb250ZXh0LCBwYXRoKTsKLSAgICAgICAg
V0tEcmF3Rm9jdXNSaW5nKGNvbnRleHQsICooQ0dSZWN0ICopJnJlY3RUb1VzZSwgY29sb3IsIHJh
ZGl1cyk7Ci0gICAgfQotfQotCi0vLyBEYXNoYm9hcmQgd2FudHMgdG8gc2V0IHRoZSBkcmFnIGlt
YWdlIGR1cmluZyBkcmFnZ2luZywgYnV0IENvY29hIGRvZXMgbm90IGFsbG93IHRoaXMuCi0vLyBJ
bnN0ZWFkIHdlIGRyb3AgZG93biB0byB0aGUgQ0cgQVBJLgotLSAodm9pZClzZXREcmFnZ2luZ0lt
YWdlOihOU0ltYWdlICopaW1hZ2UgYXQ6KE5TUG9pbnQpb2Zmc2V0Ci17Ci0gICAgV0tTZXREcmFn
SW1hZ2UoaW1hZ2UsIG9mZnNldCk7Ci0KLSAgICAvLyBIYWNrOiBXZSBtdXN0IHBvc3QgYW4gZXZl
bnQgdG8gd2FrZSB1cCB0aGUgTlNEcmFnTWFuYWdlciwgd2hpY2ggaXMgc2l0dGluZyBpbiBhIG5l
eHRFdmVudCBjYWxsCi0gICAgLy8gdXAgdGhlIHN0YWNrIGZyb20gdXMgYmVjYXVzZSB0aGUgQ0Yg
ZHJhZyBtYW5hZ2VyIGRvZXMgbm90IHVzZSB0aGUgcnVuIGxvb3AgYnkgaXRzZWxmLgotICAgIC8v
IFRoaXMgaXMgdGhlIG1vc3QgaW5ub2N1b3VzIGV2ZW50IHRvIHVzZSwgcGVyIEtyaXN0ZW4uCi0g
ICAgTlNFdmVudCAqZXYgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNNb3VzZU1vdmVk
IGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dO
dW1iZXI6MCBjb250ZXh0Om5pbCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MCBwcmVzc3VyZTow
XTsKLSAgICBbTlNBcHAgcG9zdEV2ZW50OmV2IGF0U3RhcnQ6WUVTXTsKLX0KLQotLSAodm9pZClk
cmF3QmV6ZWxlZFRleHRGaWVsZENlbGw6KE5TUmVjdClyZWN0IGVuYWJsZWQ6KEJPT0wpYWN0aXZl
Ci17Ci0gICAgV0tEcmF3QmV6ZWxlZFRleHRGaWVsZENlbGwocmVjdCwgYWN0aXZlKTsKLX0KLQot
QGVuZApJbmRleDogV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzk4OCkKKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyOCBAQAorMjAwNi0wNC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBX
ZWJLaXQgcGFydCBvZiBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTg1MDUKKyAgICAgICAgICBlbGltaW5hdGUgV2ViQ29yZUdyYXBoaWNzIGJyaWRnZSwgZGVt
b25zdHJhdGUgbmV3IFN5c3RlbUludGVyZmFjZSB0ZWNobmlxdWUKKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkdyYXBoaWNzQnJpZGdlLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViR3JhcGhpY3NCcmlkZ2UubTogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm06IEFkZGVkLgorCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6IFVwZGF0ZWQgZm9yIHJlbW92ZWQgYW5kIGFkZGVkIGZp
bGVzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VEYXRhLm06IFJlbW92ZWQg
dW5uZWVkZWQgaW5jbHVkZSBvZiBXZWJHcmFwaGljc0JyaWRnZS5oLgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkltYWdlUmVuZGVyZXIubTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViVGV4dFJlbmRlcmVyLm06IERpdHRvLgorCisgICAgICAgICogV2ViVmlldy9XZWJG
cmFtZVZpZXcubTogKC1bV2ViRnJhbWVWaWV3IGluaXRXaXRoRnJhbWU6XSk6IEd1YXJkZWQgYWxs
IHRoZSBvbmUtdGltZQorICAgICAgICBpbml0aWFsaXphdGlvbiBpbnNpZGUgYSBib29sZWFuLCBq
dXN0IGluIGNhc2Ugc29tZSB0aGluZ3MgdGFrZSBhIGxpdHRsZSB0aW1lLiBBZGRlZAorICAgICAg
ICBhIGNhbGwgdG8gSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UgdG8gdGhlIG9uZS10aW1lIGlu
aXRpYWxpemF0aW9uIGhlcmUuIExhdGVyLCB3ZQorICAgICAgICB3aWxsIG5lZWQgdG8gYWRkIGl0
IGluIHNvbWUgb3RoZXIgcGxhY2VzIGlmIHdlIGNhbGwgY29kZSB0aGF0IHJlcXVpcmVzIHRoZSB1
c2Ugb2YKKyAgICAgICAgV2ViQ29yZVN5c3RlbUludGVyZmFjZSBmdW5jdGlvbnMgZnJvbSBhbnl3
aGVyZSB0aGF0IGNhbiBiZSBpbnZva2VkIGJlZm9yZSBjcmVhdGlvbnMKKyAgICAgICAgb2YgdGhl
IGZpcnN0IFdlYkZyYW1lVmlldywgYnV0IGZvciBub3cgdGhlcmUgaXMgbm8gbmVlZC4KKwogMjAw
Ni0wNC0xOSAgSmFtZXMgRy4gU3BldGggIDxzcGV0aEBlbmQuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFRpbW90aHkuCkluZGV4OiBXZWJLaXQvV2ViVmlldy9XZWJGcmFtZVZpZXcubQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvV2ViVmlldy9XZWJGcmFtZVZpZXcubQkocmV2aXNpb24gMTM5ODYp
CisrKyBXZWJLaXQvV2ViVmlldy9XZWJGcmFtZVZpZXcubQkod29ya2luZyBjb3B5KQpAQCAtMjYs
MzUgKzI2LDM1IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPFdlYktpdC9XZWJGcmFt
ZVZpZXcuaD4KKyNpbXBvcnQgIldlYkZyYW1lVmlldy5oIgogCi0jaW1wb3J0IDxXZWJLaXQvV2Vi
RnJhbWVCcmlkZ2UuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJDbGlwVmlldy5oPgotI2ltcG9ydCA8
V2ViS2l0L1dlYkNvb2tpZUFkYXB0ZXIuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJEYXRhU291cmNl
Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViRG9jdW1lbnQuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJE
eW5hbWljU2Nyb2xsQmFyc1ZpZXcuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJGcmFtZS5oPgotI2lt
cG9ydCA8V2ViS2l0L1dlYkZyYW1lVmlld0ludGVybmFsLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2Vi
RnJhbWVWaWV3UHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dlYkhUTUxWaWV3UHJpdmF0ZS5o
PgotI2ltcG9ydCA8V2ViS2l0L1dlYkdyYXBoaWNzQnJpZGdlLmg+Ci0jaW1wb3J0IDxXZWJLaXQv
V2ViSW1hZ2VSZW5kZXJlci5oPgotI2ltcG9ydCA8V2ViS2l0L1dlYkltYWdlUmVuZGVyZXJGYWN0
b3J5Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViSW1hZ2VWaWV3Lmg+Ci0jaW1wb3J0IDxXZWJLaXQv
V2ViS2V5R2VuZXJhdG9yLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViS2l0RXJyb3JzUHJpdmF0ZS5o
PgotI2ltcG9ydCA8V2ViS2l0L1dlYktpdFN0YXRpc3RpY3NQcml2YXRlLmg+Ci0jaW1wb3J0IDxX
ZWJLaXQvV2ViTlNPYmplY3RFeHRyYXMuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJOU1Bhc3RlYm9h
cmRFeHRyYXMuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJOU1ZpZXdFeHRyYXMuaD4KLSNpbXBvcnQg
PFdlYktpdC9XZWJQREZWaWV3Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViVGV4dFJlbmRlcmVyRmFj
dG9yeS5oPgotI2ltcG9ydCA8V2ViS2l0L1dlYlRleHRWaWV3Lmg+Ci0jaW1wb3J0IDxXZWJLaXQv
V2ViVmlld0ZhY3RvcnkuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJWaWV3SW50ZXJuYWwuaD4KLSNp
bXBvcnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dlYkFzc2Vy
dGlvbnMuaD4KKyNpbXBvcnQgIldlYkFzc2VydGlvbnMuaCIKKyNpbXBvcnQgIldlYkNsaXBWaWV3
LmgiCisjaW1wb3J0ICJXZWJDb29raWVBZGFwdGVyLmgiCisjaW1wb3J0ICJXZWJEYXRhU291cmNl
LmgiCisjaW1wb3J0ICJXZWJEb2N1bWVudC5oIgorI2ltcG9ydCAiV2ViRHluYW1pY1Njcm9sbEJh
cnNWaWV3LmgiCisjaW1wb3J0ICJXZWJGcmFtZS5oIgorI2ltcG9ydCAiV2ViRnJhbWVCcmlkZ2Uu
aCIKKyNpbXBvcnQgIldlYkZyYW1lVmlld0ludGVybmFsLmgiCisjaW1wb3J0ICJXZWJGcmFtZVZp
ZXdQcml2YXRlLmgiCisjaW1wb3J0ICJXZWJIVE1MVmlld1ByaXZhdGUuaCIKKyNpbXBvcnQgIldl
YkltYWdlUmVuZGVyZXIuaCIKKyNpbXBvcnQgIldlYkltYWdlUmVuZGVyZXJGYWN0b3J5LmgiCisj
aW1wb3J0ICJXZWJJbWFnZVZpZXcuaCIKKyNpbXBvcnQgIldlYktleUdlbmVyYXRvci5oIgorI2lt
cG9ydCAiV2ViS2l0RXJyb3JzUHJpdmF0ZS5oIgorI2ltcG9ydCAiV2ViS2l0U3RhdGlzdGljc1By
aXZhdGUuaCIKKyNpbXBvcnQgIldlYk5TT2JqZWN0RXh0cmFzLmgiCisjaW1wb3J0ICJXZWJOU1Bh
c3RlYm9hcmRFeHRyYXMuaCIKKyNpbXBvcnQgIldlYk5TVmlld0V4dHJhcy5oIgorI2ltcG9ydCAi
V2ViUERGVmlldy5oIgorI2ltcG9ydCAiV2ViU3lzdGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0ICJX
ZWJUZXh0UmVuZGVyZXJGYWN0b3J5LmgiCisjaW1wb3J0ICJXZWJUZXh0Vmlldy5oIgorI2ltcG9y
dCAiV2ViVmlld0ZhY3RvcnkuaCIKKyNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9y
dCAiV2ViVmlld1ByaXZhdGUuaCIKIAogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRnJhbWVWaWV3
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVWaWV3Lmg+CkBAIC0xMjUsMTQgKzEyNSwxMiBA
QAogICAgICAgICByZXR1cm4gTk87CiAgICAgICAgIAogICAgIC8vIE9ubHkgZHJhdyBhIGJvcmRl
ciBmb3IgZnJhbWVzIHRoYXQgcmVxdWVzdCBhIGJvcmRlciBhbmQgdGhlIGZyYW1lIGRvZXMKLSAg
ICAvLyBub3QgY29udGFpbiBhIGZyYW1lc2V0LiAgQWRkaXRpb25hbGx5IHdlIHNob3VsZCAocG9z
dC1wYW50aGVyKSBub3QgZHJhdworICAgIC8vIG5vdCBjb250YWluIGEgZnJhbWVzZXQuICBBZGRp
dGlvbmFsbHkgd2Ugc2hvdWxkIChzb21lIGRheSkgbm90IGRyYXcKICAgICAvLyBhIGJvcmRlciAo
bGVmdCwgcmlnaHQsIHRvcCBvciBib3R0b20pIGlmIHRoZSBmcmFtZSBlZGdlIGFidXR0cyB0aGUg
d2luZG93IGZyYW1lLgogICAgIE5TVmlldyAqZG9jViA9IFtzZWxmIGRvY3VtZW50Vmlld107Ci0g
ICAgaWYgKFtkb2NWIGlzS2luZE9mQ2xhc3M6W1dlYkhUTUxWaWV3IGNsYXNzXV0pewotICAgICAg
ICBpZiAoW1soV2ViSFRNTFZpZXcgKilkb2NWIF9icmlkZ2VdIGlzRnJhbWVTZXRdKXsKKyAgICBp
ZiAoW2RvY1YgaXNLaW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3NdXSkKKyAgICAgICAgaWYg
KFtbKFdlYkhUTUxWaWV3ICopZG9jViBfYnJpZGdlXSBpc0ZyYW1lU2V0XSkKICAgICAgICAgICAg
IHJldHVybiBOTzsKLSAgICAgICAgfQotICAgIH0KICAgICByZXR1cm4gWUVTOwogfQogCkBAIC0x
NDIsOSArMTQwLDggQEAKICAgICAvLyBUaGUgYm9yZGVyIGRyYXduIGJ5IFdlYkZyYW1lVmlldyBp
cyAxIHBpeGVsIG9uIHRoZSBsZWZ0IGFuZCByaWdodCwKICAgICAvLyB0d28gcGl4ZWxzIG9uIHRv
cCBhbmQgYm90dG9tLiAgU2hyaW5rIHRoZSBzY3JvbGwgdmlldyB0byBhY2NvbW9kYXRlCiAgICAg
Ly8gdGhlIGJvcmRlci4KLSAgICBpZiAoW3NlbGYgX3Nob3VsZERyYXdCb3JkZXJdKSB7CisgICAg
aWYgKFtzZWxmIF9zaG91bGREcmF3Qm9yZGVyXSkKICAgICAgICAgc2Nyb2xsVmlld0ZyYW1lID0g
TlNJbnNldFJlY3QgKHNjcm9sbFZpZXdGcmFtZSwgMSwgMik7Ci0gICAgfQogICAgIFtfcHJpdmF0
ZS0+ZnJhbWVTY3JvbGxWaWV3IHNldEZyYW1lOnNjcm9sbFZpZXdGcmFtZV07CiB9CiAKQEAgLTE2
Myw3ICsxNjAsNyBAQAogICAgIHJldHVybiBbX3ByaXZhdGUtPndlYkZyYW1lIHdlYlZpZXddOwog
fQogCi0tICh2b2lkKV9zZXRNYXJnaW5XaWR0aDogKGludCl3CistICh2b2lkKV9zZXRNYXJnaW5X
aWR0aDooaW50KXcKIHsKICAgICBfcHJpdmF0ZS0+bWFyZ2luV2lkdGggPSB3OwogfQpAQCAtMTcz
LDcgKzE3MCw3IEBACiAgICAgcmV0dXJuIF9wcml2YXRlLT5tYXJnaW5XaWR0aDsKIH0KIAotLSAo
dm9pZClfc2V0TWFyZ2luSGVpZ2h0OiAoaW50KWgKKy0gKHZvaWQpX3NldE1hcmdpbkhlaWdodDoo
aW50KWgKIHsKICAgICBfcHJpdmF0ZS0+bWFyZ2luSGVpZ2h0ID0gaDsKIH0KQEAgLTE4NywxNSAr
MTg0LDE1IEBACiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzdiA9IChXZWJEeW5h
bWljU2Nyb2xsQmFyc1ZpZXcgKilbc2VsZiBfc2Nyb2xsVmlld107CiAgICAgCi0gICAgW3N2IHNl
dFN1cHByZXNzTGF5b3V0OiBZRVNdOworICAgIFtzdiBzZXRTdXBwcmVzc0xheW91dDpZRVNdOwog
ICAgIAogICAgIC8vIEFsd2F5cyBzdGFydCBvdXQgd2l0aCBhcnJvdy4gIE5ldyBkb2NWaWV3IGNh
biB0aGVuIGNoYW5nZSBhcyBuZWVkZWQsIGJ1dCBkb2Vzbid0IGhhdmUgdG8KICAgICAvLyBjbGVh
biB1cCBhZnRlciB0aGUgcHJldmlvdXMgZG9jVmlldy4gIEFsc28gVGV4dFZpZXcgd2lsbCBzZXQg
Y3Vyc29yIHdoZW4gYWRkZWQgdG8gdmlldwogICAgIC8vIHRyZWUsIHNvIG11c3QgZG8gdGhpcyBi
ZWZvcmUgc2V0RG9jdW1lbnRWaWV3Oi4KICAgICBbc3Ygc2V0RG9jdW1lbnRDdXJzb3I6W05TQ3Vy
c29yIGFycm93Q3Vyc29yXV07CiAKLSAgICBbc3Ygc2V0RG9jdW1lbnRWaWV3OiB2aWV3XTsKLSAg
ICBbc3Ygc2V0U3VwcHJlc3NMYXlvdXQ6IE5PXTsKKyAgICBbc3Ygc2V0RG9jdW1lbnRWaWV3OnZp
ZXddOworICAgIFtzdiBzZXRTdXBwcmVzc0xheW91dDpOT107CiB9CiAKIC0oTlNWaWV3IDxXZWJE
b2N1bWVudFZpZXc+ICopX21ha2VEb2N1bWVudFZpZXdGb3JEYXRhU291cmNlOihXZWJEYXRhU291
cmNlICopZGF0YVNvdXJjZQpAQCAtMzAzLDMwICszMDAsMzQgQEAKIAogQGltcGxlbWVudGF0aW9u
IFdlYkZyYW1lVmlldwogCi0tIGluaXRXaXRoRnJhbWU6IChOU1JlY3QpIGZyYW1lCistIGluaXRX
aXRoRnJhbWU6KE5TUmVjdClmcmFtZQogewotICAgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFt
ZTogZnJhbWVdOworICAgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV07CiAgICAg
aWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogIAotICAgIFtXZWJWaWV3RmFjdG9yeSBj
cmVhdGVTaGFyZWRGYWN0b3J5XTsKLSAgICBbV2ViVGV4dFJlbmRlcmVyRmFjdG9yeSBjcmVhdGVT
aGFyZWRGYWN0b3J5XTsKLSAgICBbV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkgY3JlYXRlU2hhcmVk
RmFjdG9yeV07Ci0gICAgW1dlYkNvb2tpZUFkYXB0ZXIgY3JlYXRlU2hhcmVkQWRhcHRlcl07Ci0g
ICAgW1dlYkdyYXBoaWNzQnJpZGdlIGNyZWF0ZVNoYXJlZEJyaWRnZV07Ci0gICAgW1dlYktleUdl
bmVyYXRvciBjcmVhdGVTaGFyZWRHZW5lcmF0b3JdOworICAgIHN0YXRpYyBib29sIGRpZEZpcnN0
VGltZUluaXRpYWxpemF0aW9uOworICAgIGlmICghZGlkRmlyc3RUaW1lSW5pdGlhbGl6YXRpb24p
IHsKKyAgICAgICAgZGlkRmlyc3RUaW1lSW5pdGlhbGl6YXRpb24gPSB0cnVlOworICAgICAgICBJ
bml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSgpOworICAgICAgICBbV2ViVmlld0ZhY3RvcnkgY3Jl
YXRlU2hhcmVkRmFjdG9yeV07CisgICAgICAgIFtXZWJUZXh0UmVuZGVyZXJGYWN0b3J5IGNyZWF0
ZVNoYXJlZEZhY3RvcnldOworICAgICAgICBbV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkgY3JlYXRl
U2hhcmVkRmFjdG9yeV07CisgICAgICAgIFtXZWJDb29raWVBZGFwdGVyIGNyZWF0ZVNoYXJlZEFk
YXB0ZXJdOworICAgICAgICBbV2ViS2V5R2VuZXJhdG9yIGNyZWF0ZVNoYXJlZEdlbmVyYXRvcl07
CisgICAgfQogICAgIAogICAgIF9wcml2YXRlID0gW1tXZWJGcmFtZVZpZXdQcml2YXRlIGFsbG9j
XSBpbml0XTsKIAotICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAqc2Nyb2xsVmlldyAgPSBb
W1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTogTlNNYWtlUmVj
dCgwLDAsZnJhbWUuc2l6ZS53aWR0aCxmcmFtZS5zaXplLmhlaWdodCldOworICAgIFdlYkR5bmFt
aWNTY3JvbGxCYXJzVmlldyAqc2Nyb2xsVmlldyAgPSBbW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsMCxmcmFtZS5zaXplLndpZHRoLGZy
YW1lLnNpemUuaGVpZ2h0KV07CiAgICAgX3ByaXZhdGUtPmZyYW1lU2Nyb2xsVmlldyA9IHNjcm9s
bFZpZXc7Ci0gICAgW3Njcm9sbFZpZXcgc2V0Q29udGVudFZpZXc6IFtbW1dlYkNsaXBWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOltzY3JvbGxWaWV3IGJvdW5kc11dIGF1dG9yZWxlYXNlXV07Ci0g
ICAgW3Njcm9sbFZpZXcgc2V0RHJhd3NCYWNrZ3JvdW5kOiBOT107Ci0gICAgW3Njcm9sbFZpZXcg
c2V0SGFzVmVydGljYWxTY3JvbGxlcjogTk9dOwotICAgIFtzY3JvbGxWaWV3IHNldEhhc0hvcml6
b250YWxTY3JvbGxlcjogTk9dOwotICAgIFtzY3JvbGxWaWV3IHNldEF1dG9yZXNpemluZ01hc2s6
IE5TVmlld1dpZHRoU2l6YWJsZSB8IE5TVmlld0hlaWdodFNpemFibGVdOworICAgIFtzY3JvbGxW
aWV3IHNldENvbnRlbnRWaWV3OltbW1dlYkNsaXBWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOltz
Y3JvbGxWaWV3IGJvdW5kc11dIGF1dG9yZWxlYXNlXV07CisgICAgW3Njcm9sbFZpZXcgc2V0RHJh
d3NCYWNrZ3JvdW5kOk5PXTsKKyAgICBbc2Nyb2xsVmlldyBzZXRIYXNWZXJ0aWNhbFNjcm9sbGVy
Ok5PXTsKKyAgICBbc2Nyb2xsVmlldyBzZXRIYXNIb3Jpem9udGFsU2Nyb2xsZXI6Tk9dOworICAg
IFtzY3JvbGxWaWV3IHNldEF1dG9yZXNpemluZ01hc2s6TlNWaWV3V2lkdGhTaXphYmxlIHwgTlNW
aWV3SGVpZ2h0U2l6YWJsZV07CiAgICAgW3Njcm9sbFZpZXcgc2V0TGluZVNjcm9sbDo0MC4wXTsK
LSAgICBbc2VsZiBhZGRTdWJ2aWV3OiBzY3JvbGxWaWV3XTsKKyAgICBbc2VsZiBhZGRTdWJ2aWV3
OnNjcm9sbFZpZXddOwogICAgIC8vIGRvbid0IGNhbGwgb3VyIG92ZXJyaWRkZW4gdmVyc2lvbiBo
ZXJlOyB3ZSBuZWVkIHRvIG1ha2UgdGhlIHN0YW5kYXJkIE5TVmlldyBsaW5rIGJldHdlZW4gdXMK
ICAgICAvLyBhbmQgb3VyIHN1YnZpZXcgc28gdGhhdCBwcmV2aW91c0tleVZpZXcgYW5kIHByZXZp
b3VzVmFsaWRLZXlWaWV3IHdvcmsgYXMgZXhwZWN0ZWQuIFRoaXMgd29ya3MKICAgICAvLyB0b2dl
dGhlciB3aXRoIG91ciBiZWNvbWVGaXJzdFJlc3BvbmRlciBhbmQgc2V0TmV4dEtleVZpZXcgb3Zl
cnJpZGVzLgpAQCAtMzYxLDkgKzM2Miw5IEBACiAgICAgcmV0dXJuIF9wcml2YXRlLT53ZWJGcmFt
ZTsKIH0KIAotLSAodm9pZClzZXRBbGxvd3NTY3JvbGxpbmc6IChCT09MKWZsYWcKKy0gKHZvaWQp
c2V0QWxsb3dzU2Nyb2xsaW5nOihCT09MKWZsYWcKIHsKLSAgICBbKFdlYkR5bmFtaWNTY3JvbGxC
YXJzVmlldyAqKVtzZWxmIF9zY3JvbGxWaWV3XSBzZXRBbGxvd3NTY3JvbGxpbmc6IGZsYWddOwor
ICAgIFsoV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICopW3NlbGYgX3Njcm9sbFZpZXddIHNldEFs
bG93c1Njcm9sbGluZzpmbGFnXTsKIH0KIAogLSAoQk9PTClhbGxvd3NTY3JvbGxpbmcKQEAgLTUz
Nyw3ICs1MzgsNyBAQAogICAgIFtbc2VsZiBfd2ViVmlld10gZ29Gb3J3YXJkXTsKIH0KIAotLSAo
Qk9PTClfc2Nyb2xsVmVydGljYWxseUJ5OiAoZmxvYXQpZGVsdGEKKy0gKEJPT0wpX3Njcm9sbFZl
cnRpY2FsbHlCeTooZmxvYXQpZGVsdGEKIHsKICAgICAvLyBUaGlzIG1ldGhvZCB1c2VzIHRoZSBz
ZWNyZXQgbWV0aG9kIF9zY3JvbGxUbyBvbiBOU0NsaXBWaWV3LgogICAgIC8vIEl0IGRvZXMgdGhh
dCBiZWNhdXNlIGl0IG5lZWRzIHRvIGtub3cgZGVmaW5pdGl2ZWx5IHdoZXRoZXIgc2Nyb2xsaW5n
IHdhcwpAQCAtNTQ5LDcgKzU1MCw3IEBACiAgICAgcmV0dXJuIFtbc2VsZiBfY29udGVudFZpZXdd
IF9zY3JvbGxUbzomcG9pbnRdOwogfQogCi0tIChCT09MKV9zY3JvbGxIb3Jpem9udGFsbHlCeTog
KGZsb2F0KWRlbHRhCistIChCT09MKV9zY3JvbGxIb3Jpem9udGFsbHlCeTooZmxvYXQpZGVsdGEK
IHsKICAgICBOU1BvaW50IHBvaW50ID0gW1tzZWxmIF9jb250ZW50Vmlld10gYm91bmRzXS5vcmln
aW47CiAgICAgcG9pbnQueCArPSBkZWx0YTsK
</data>
<flag name="review"
          id="2153"
          type_id="1"
          status="+"
          setter="adele"
    />
          </attachment>
      

    </bug>

</bugzilla>