<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.freebsd.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.freebsd.org/bugzilla/"
          
          maintainer="bugmeister@FreeBSD.org"
>

    <bug>
          <bug_id>147849</bug_id>
          
          <creation_ts>2010-06-14 12:50:01 +0000</creation_ts>
          <short_desc>New port: emulators/pcsxr - Pcsx reloaded, a PSX (Playstation) emulator</short_desc>
          <delta_ts>2010-08-22 15:20:03 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Ports &amp; Packages</product>
          <component>Individual Port(s)</component>
          <version>Latest</version>
          <rep_platform>Any</rep_platform>
          <op_sys>Any</op_sys>
          <bug_status>Closed</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Normal</priority>
          <bug_severity>Affects Only Me</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ganael LAPLANCHE">ganael.laplanche</reporter>
          <assigned_to name="freebsd-ports-bugs (Nobody)">ports-bugs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564125</commentid>
    <comment_count>0</comment_count>
    <who name="Ganael LAPLANCHE">ganael.laplanche</who>
    <bug_when>2010-06-14 12:50:01 +0000</bug_when>
    <thetext>Here is a port of pcsx reloaded (http://pcsxr.codeplex.com/), a PSX emulator.

This port includes a patched version of the dfbinimage2 plugin from the pcsx-df project, which allows to play from a .bin backup file. It also includes support for OpenGL and keyboard/pad input, as well as OSS sound output.

Please consider mirroring the 2 distfiles on a FreeBSD mirror, as they are currently hosted on my personal server only (codeplex does not seem to allow downloading files without human interaction).

Fix: Patch attached with submission follows:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564126</commentid>
    <comment_count>1</comment_count>
    <who name="Li-Wen Hsu">lwhsu</who>
    <bug_when>2010-08-22 15:15:07 +0000</bug_when>
    <thetext>State Changed
From-To: open-&gt;closed

New port added. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564127</commentid>
    <comment_count>2</comment_count>
    <who name="dfilter service">dfilter</who>
    <bug_when>2010-08-22 15:15:15 +0000</bug_when>
    <thetext>lwhsu       2010-08-22 14:15:01 UTC

  FreeBSD ports repository

  Modified files:
    emulators            Makefile 
  Added files:
    emulators/pcsxr      Makefile distinfo pkg-descr pkg-plist 
    emulators/pcsxr/files patch-Makefile.am patch-configure.ac 
                          patch-data-Makefile.am 
                          patch-gui-ConfDlg.c patch-gui-LnxMain.c 
                          patch-gui-Makefile.am 
                          patch-libpcsxcore-socket.c 
                          patch-pixmaps-Makefile.am 
                          patch-plugins-dfbinimage2-FileInterface.cpp 
                          patch-plugins-dfbinimage2-Makefile.am 
                          patch-plugins-dfbinimage2-Open.cpp 
                          patch-plugins-dfbinimage2-TrackParser.cpp 
                          patch-plugins-dfbinimage2-defines.h 
                          patch-plugins-dfinput-Makefile.am 
                          patch-plugins-dfinput-pad.c 
                          patch-plugins-dfsound-Makefile.am 
                          patch-plugins-dfxvideo-Makefile.am 
                          patch-plugins-dfxvideo-gpu.c 
                          patch-plugins-peopsxgl-Makefile.am 
                          patch-plugins-peopsxgl-gpu.c 
  Log:
  Add pcsxr 1.9.91, playstation (PSX) emulator.
  
  PR:             ports/147849
  Submitted by:   Ganael Laplanche &lt;ganael.laplanche at martymac.com&gt;
  
  Revision  Changes    Path
  1.288     +1 -0      ports/emulators/Makefile
  1.1       +85 -0     ports/emulators/pcsxr/Makefile (new)
  1.1       +6 -0      ports/emulators/pcsxr/distinfo (new)
  1.1       +8 -0      ports/emulators/pcsxr/files/patch-Makefile.am (new)
  1.1       +19 -0     ports/emulators/pcsxr/files/patch-configure.ac (new)
  1.1       +9 -0      ports/emulators/pcsxr/files/patch-data-Makefile.am (new)
  1.1       +45 -0     ports/emulators/pcsxr/files/patch-gui-ConfDlg.c (new)
  1.1       +21 -0     ports/emulators/pcsxr/files/patch-gui-LnxMain.c (new)
  1.1       +24 -0     ports/emulators/pcsxr/files/patch-gui-Makefile.am (new)
  1.1       +14 -0     ports/emulators/pcsxr/files/patch-libpcsxcore-socket.c (new)
  1.1       +8 -0      ports/emulators/pcsxr/files/patch-pixmaps-Makefile.am (new)
  1.1       +54 -0     ports/emulators/pcsxr/files/patch-plugins-dfbinimage2-FileInterface.cpp (new)
  1.1       +35 -0     ports/emulators/pcsxr/files/patch-plugins-dfbinimage2-Makefile.am (new)
  1.1       +11 -0     ports/emulators/pcsxr/files/patch-plugins-dfbinimage2-Open.cpp (new)
  1.1       +45 -0     ports/emulators/pcsxr/files/patch-plugins-dfbinimage2-TrackParser.cpp (new)
  1.1       +20 -0     ports/emulators/pcsxr/files/patch-plugins-dfbinimage2-defines.h (new)
  1.1       +29 -0     ports/emulators/pcsxr/files/patch-plugins-dfinput-Makefile.am (new)
  1.1       +9 -0      ports/emulators/pcsxr/files/patch-plugins-dfinput-pad.c (new)
  1.1       +33 -0     ports/emulators/pcsxr/files/patch-plugins-dfsound-Makefile.am (new)
  1.1       +26 -0     ports/emulators/pcsxr/files/patch-plugins-dfxvideo-Makefile.am (new)
  1.1       +9 -0      ports/emulators/pcsxr/files/patch-plugins-dfxvideo-gpu.c (new)
  1.1       +24 -0     ports/emulators/pcsxr/files/patch-plugins-peopsxgl-Makefile.am (new)
  1.1       +10 -0     ports/emulators/pcsxr/files/patch-plugins-peopsxgl-gpu.c (new)
  1.1       +10 -0     ports/emulators/pcsxr/pkg-descr (new)
  1.1       +36 -0     ports/emulators/pcsxr/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to &quot;cvs-all-unsubscribe@freebsd.org&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>107137</attachid>
            <date>2010-06-14 12:50:01 +0000</date>
            <delta_ts>2010-06-14 12:50:01 +0000</delta_ts>
            <desc>file.shar</desc>
            <filename>file.shar</filename>
            <type>text/plain</type>
            <size>26396</size>
            <attacher name="Ganael LAPLANCHE">ganael.laplanche</attacher>
            
              <data encoding="base64">IyBUaGlzIGlzIGEgc2hlbGwgYXJjaGl2ZS4gIFNhdmUgaXQgaW4gYSBmaWxlLCByZW1vdmUgYW55
dGhpbmcgYmVmb3JlCiMgdGhpcyBsaW5lLCBhbmQgdGhlbiB1bnBhY2sgaXQgYnkgZW50ZXJpbmcg
InNoIGZpbGUiLiAgTm90ZSwgaXQgbWF5CiMgY3JlYXRlIGRpcmVjdG9yaWVzOyBmaWxlcyBhbmQg
ZGlyZWN0b3JpZXMgd2lsbCBiZSBvd25lZCBieSB5b3UgYW5kCiMgaGF2ZSBkZWZhdWx0IHBlcm1p
c3Npb25zLgojCiMgVGhpcyBhcmNoaXZlIGNvbnRhaW5zOgojCiMJZW11bGF0b3JzL3Bjc3hyCiMJ
ZW11bGF0b3JzL3Bjc3hyL2Rpc3RpbmZvCiMJZW11bGF0b3JzL3Bjc3hyL3BrZy1kZXNjcgojCWVt
dWxhdG9ycy9wY3N4ci9NYWtlZmlsZQojCWVtdWxhdG9ycy9wY3N4ci9maWxlcwojCWVtdWxhdG9y
cy9wY3N4ci9maWxlcy9wYXRjaC1wbHVnaW5zLXBlb3BzeGdsLU1ha2VmaWxlLmFtCiMJZW11bGF0
b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLXBsdWdpbnMtZGZiaW5pbWFnZTItT3Blbi5jcHAKIwllbXVs
YXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtZ3VpLUxueE1haW4uYwojCWVtdWxhdG9ycy9wY3N4ci9m
aWxlcy9wYXRjaC1wbHVnaW5zLWRmYmluaW1hZ2UyLUZpbGVJbnRlcmZhY2UuY3BwCiMJZW11bGF0
b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZS5hYwojCWVtdWxhdG9ycy9wY3N4ci9maWxl
cy9wYXRjaC1wbHVnaW5zLWRmaW5wdXQtcGFkLmMKIwllbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0
Y2gtZGF0YS1NYWtlZmlsZS5hbQojCWVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1wbHVnaW5z
LWRmYmluaW1hZ2UyLU1ha2VmaWxlLmFtCiMJZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWd1
aS1NYWtlZmlsZS5hbQojCWVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1NYWtlZmlsZS5hbQoj
CWVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1waXhtYXBzLU1ha2VmaWxlLmFtCiMJZW11bGF0
b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWd1aS1Db25mRGxnLmMKIwllbXVsYXRvcnMvcGNzeHIvZmls
ZXMvcGF0Y2gtcGx1Z2lucy1kZnNvdW5kLU1ha2VmaWxlLmFtCiMJZW11bGF0b3JzL3Bjc3hyL2Zp
bGVzL3BhdGNoLXBsdWdpbnMtZGZ4dmlkZW8tZ3B1LmMKIwllbXVsYXRvcnMvcGNzeHIvZmlsZXMv
cGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1kZWZpbmVzLmgKIwllbXVsYXRvcnMvcGNzeHIvZmls
ZXMvcGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1UcmFja1BhcnNlci5jcHAKIwllbXVsYXRvcnMv
cGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1wZW9wc3hnbC1ncHUuYwojCWVtdWxhdG9ycy9wY3N4
ci9maWxlcy9wYXRjaC1wbHVnaW5zLWRmaW5wdXQtTWFrZWZpbGUuYW0KIwllbXVsYXRvcnMvcGNz
eHIvZmlsZXMvcGF0Y2gtbGlicGNzeGNvcmUtc29ja2V0LmMKIwllbXVsYXRvcnMvcGNzeHIvZmls
ZXMvcGF0Y2gtcGx1Z2lucy1kZnh2aWRlby1NYWtlZmlsZS5hbQojCWVtdWxhdG9ycy9wY3N4ci9w
a2ctcGxpc3QKIwplY2hvIGMgLSBlbXVsYXRvcnMvcGNzeHIKbWtkaXIgLXAgZW11bGF0b3JzL3Bj
c3hyID4gL2Rldi9udWxsIDI+JjEKZWNobyB4IC0gZW11bGF0b3JzL3Bjc3hyL2Rpc3RpbmZvCnNl
ZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL2Rpc3RpbmZvIDw8ICc5ODg2NmYzYzk2Y2YwOGY1
NDU0ZWFiODU1NzQ3MDZiMicKWE1ENSAocGNzeHItMS45LjkxLnRhci5iejIpID0gN2M2ODEwOTJj
Mjc2ZjNmNGI1NWYyNDNjN2JhZDVhYTgKWFNIQTI1NiAocGNzeHItMS45LjkxLnRhci5iejIpID0g
ODJmNjg1ZGMyNjk5ZDhhMzI1Zjc3ZGRkOWJmOTljMjVlNmUwZDkwMzgwY2MwNDVjMDcyM2QxM2I5
NzFiZmEzZApYU0laRSAocGNzeHItMS45LjkxLnRhci5iejIpID0gMTIyMDY0OApYTUQ1IChwY3N4
LWRmLTEuMTAtcGx1Z2luLWRmYmluaW1hZ2UyLnRhci5iejIpID0gZjhmNzVlNzY3OTFlOGI2ODAw
NWExMjA3YjIyMjcwOWMKWFNIQTI1NiAocGNzeC1kZi0xLjEwLXBsdWdpbi1kZmJpbmltYWdlMi50
YXIuYnoyKSA9IDE3NWI3MWEwYTZhZmYxZGVmZGY0ZDhmOTI0NmZjYzI1OWZiNzI4NzZjN2JhMGJj
ZjYwN2IxZTEyMjhmYTVhOWYKWFNJWkUgKHBjc3gtZGYtMS4xMC1wbHVnaW4tZGZiaW5pbWFnZTIu
dGFyLmJ6MikgPSA0MDY1NAo5ODg2NmYzYzk2Y2YwOGY1NDU0ZWFiODU1NzQ3MDZiMgplY2hvIHgg
LSBlbXVsYXRvcnMvcGNzeHIvcGtnLWRlc2NyCnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hy
L3BrZy1kZXNjciA8PCAnYjUwMmVlZWUxZWUxYmI3MmZmODYwMGIzOTVhMTg0YjInClhQY3N4LXJl
bG9hZGVkIGlzIGEgUGxheXN0YXRpb24gKFBTWCkgZW11bGF0b3IuClgKWEl0IGlzIGFuIGltcHJv
dmVkIHZlcnNpb24gb2YgcGNzeC1kZiwgd2hpY2ggaXMKWGl0c2VsZiBvZiBmb3JrIG9mIHBjc3gu
ClgKWFRoZSBGcmVlQlNEIHBvcnQgaW5jbHVkZXMgdGhlIGRmYmluaW1hZ2UyIHBsdWdpbiwKWGFs
bG93aW5nIHRoZSB1c2Ugb2YgeW91ciBmYXZvcml0ZSBiYWNrdXBzIGFzIC5iaW4KWGltYWdlIGZp
bGVzLgpYClhXV1c6IGh0dHA6Ly9wY3N4ci5jb2RlcGxleC5jb20KYjUwMmVlZWUxZWUxYmI3MmZm
ODYwMGIzOTVhMTg0YjIKZWNobyB4IC0gZW11bGF0b3JzL3Bjc3hyL01ha2VmaWxlCnNlZCAncy9e
WC8vJyA+ZW11bGF0b3JzL3Bjc3hyL01ha2VmaWxlIDw8ICc4MjE5YzgwNzBhY2RmMDY5MzJhNTA5
ODIxMGI2MTA4OScKWCMgTmV3IHBvcnRzIGNvbGxlY3Rpb24gbWFrZWZpbGUgZm9yOglwY3N4cgpY
IyBEYXRlIGNyZWF0ZWQ6CQkxMSBKdW5lIDIwMTAKWCMgV2hvbToJCQlHYW5hZWwgTGFwbGFuY2hl
IDxnYW5hZWwubGFwbGFuY2hlQG1hcnR5bWFjLmNvbT4KWCMKWCMgJEZyZWVCU0Q6ICQKWCMKWApY
UE9SVE5BTUU9CXBjc3hyClhQT1JUVkVSU0lPTj0JMS45LjkxClhDQVRFR09SSUVTPQllbXVsYXRv
cnMKWCMgT3JpZ2luYWwgVVJMcyA6ClgjIGh0dHA6Ly9kb3dubG9hZC5jb2RlcGxleC5jb20vUHJv
amVjdC9Eb3dubG9hZC9GaWxlRG93bmxvYWQuYXNweD9Qcm9qZWN0TmFtZT1wY3N4ciZEb3dubG9h
ZElkPTk4NTgxJkZpbGVUaW1lPTEyOTA2NDUwNDY0NTEwMDAwMCZCdWlsZD0xNjY5NApYIyBodHRw
Oi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3Bjc3gtZGYvZmlsZXMvcGNzeC1kZi8xLjEwL3Bj
c3gtZGYtMS4xMC50YXIuZ3ovZG93bmxvYWQKWE1BU1RFUl9TSVRFUz0JaHR0cDovL2NvbnRyaWJz
Lm1hcnR5bWFjLm9yZy9GcmVlQlNELXBvcnRzL2Rpc3RmaWxlcy8KWERJU1RGSUxFUz0JJHtQT1JU
TkFNRX0tJHtQT1JUVkVSU0lPTn0ke0VYVFJBQ1RfU1VGWH0gXApYCQlwY3N4LWRmLTEuMTAtcGx1
Z2luLWRmYmluaW1hZ2UyJHtFWFRSQUNUX1NVRlh9ClhFWFRSQUNUX09OTFk9CSR7UE9SVE5BTUV9
LSR7UE9SVFZFUlNJT059JHtFWFRSQUNUX1NVRlh9ClgKWE1BSU5UQUlORVI9CWdhbmFlbC5sYXBs
YW5jaGVAbWFydHltYWMuY29tClhDT01NRU5UPQlQbGF5c3RhdGlvbiAoUFNYKSBlbXVsYXRvcgpY
ClhCVUlMRF9ERVBFTkRTPQlnYXdrOiR7UE9SVFNESVJ9L2xhbmcvZ2F3awpYTElCX0RFUEVORFM9
CXZvcmJpcy40OiR7UE9SVFNESVJ9L2F1ZGlvL2xpYnZvcmJpcwpYClhPTkxZX0ZPUl9BUkNIUz0J
aTM4NiBhbWQ2NApYClhVU0VfQlpJUDI9CXllcwpYVVNFX0FVVE9UT09MUz0JYXV0b2NvbmY6MjYy
OmVudiBhY2xvY2FsOjExMDplbnYgYXV0b21ha2U6MTEwOmVudiBsaWJ0b29sOjIyClhVU0VfR01B
S0U9CXllcwpYR05VX0NPTkZJR1VSRT0JeWVzClhDUFBGTEFHUys9CS1JJHtMT0NBTEJBU0V9L2lu
Y2x1ZGUKWExERkxBR1MrPQktTCR7TE9DQUxCQVNFfS9saWIKWENPTkZJR1VSRV9FTlYrPQlDUFBG
TEFHUz0iJHtDUFBGTEFHU30iIExERkxBR1M9IiR7TERGTEFHU30iClhDT05GSUdVUkVfQVJHUz0J
LS1lbmFibGUtb3BlbmdsClhVU0VfTERDT05GSUc9CXllcwpYVVNFX0RPUzJVTklYPQl5ZXMKWApY
VVNFX0dOT01FPQlndGsyMCBkZXNrdG9wZmlsZXV0aWxzIGdsaWIyMCBsaWJnbGFkZTIKWFVTRV9J
Q09OVj0JeWVzClhVU0VfWE9SRz0JeDExIHh2IHhleHQgeHhmODZ2bSB4dHN0ClhVU0VfU0RMPQlz
ZGwKWFVTRV9HTD0JZ2wKWApYTUFOMT0JcGNzeC4xClhQT1JURE9DUz0JQ2hhbmdlTG9nIFJFQURN
RQpYClguaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPgpYClgjIFhYWApYIyBkZnh2aWRlbyBwbHVn
aW4gc2VlbXMgYnVnZ3ksIHJlbW92ZSBpdCBpbiBmdXR1cmUgdXBkYXRlcyA/ClgKWC5pZiAke0FS
Q0h9ID09ICJhbWQ2NCIKWENPTkZJR1VSRV9BUkdTKz0JLS1lbmFibGUtZHluYXJlYz14ODZfNjQK
WC5lbmRpZgpYClguaWYgIWRlZmluZWQoV0lUSE9VVF9OTFMpClhVU0VfR0VUVEVYVD0JeWVzClhD
T05GSUdVUkVfQVJHUys9CS0tZW5hYmxlLW5scwpYUExJU1RfU1VCKz0JTkxTPSIiClguZWxzZQpY
Q09ORklHVVJFX0FSR1MrPQktLWRpc2FibGUtbmxzClhQTElTVF9TVUIrPQlOTFM9IkBjb21tZW50
ICIKWC5lbmRpZgpYClgjIEV4dHJhY3QgZGZiaW5pbWFnZTIgcGx1Z2luClhwb3N0LWV4dHJhY3Q6
ClgJQChjZCAke1dSS1NSQ30gJiYgJHtUQVJ9IC14amYgJHtESVNURElSfS9wY3N4LWRmLTEuMTAt
cGx1Z2luLWRmYmluaW1hZ2UyJHtFWFRSQUNUX1NVRlh9KQpYClgjIEFkZCAke1BSRUZJWH0gdG8g
cGx1Z2lucycgbG9va3VwIGRpcmVjdG9yaWVzClhwb3N0LXBhdGNoOgpYCUAke1NFRH0gLWkuYmFr
ICJzfCUlUFJFRklYJSV8JHtQUkVGSVh9fCIgJHtXUktTUkN9L2d1aS9MbnhNYWluLmMKWApYcHJl
LWNvbmZpZ3VyZToKWAlAKGNkICR7V1JLU1JDfSAmJiAke0FVVE9SRUNPTkZ9IC1maSkKWApYcG9z
dC1pbnN0YWxsOgpYLmlmICFkZWZpbmVkKE5PUE9SVERPQ1MpClgJQCR7TUtESVJ9ICR7RE9DU0RJ
Un0KWC5mb3IgZG9jIGluICR7UE9SVERPQ1N9ClgJJHtJTlNUQUxMX0RBVEF9ICR7V1JLU1JDfS8k
e2RvY30gJHtET0NTRElSfQpYLmVuZGZvcgpYLmVuZGlmClgJQC11cGRhdGUtZGVza3RvcC1kYXRh
YmFzZQpYClguaW5jbHVkZSA8YnNkLnBvcnQucG9zdC5taz4KODIxOWM4MDcwYWNkZjA2OTMyYTUw
OTgyMTBiNjEwODkKZWNobyBjIC0gZW11bGF0b3JzL3Bjc3hyL2ZpbGVzCm1rZGlyIC1wIGVtdWxh
dG9ycy9wY3N4ci9maWxlcyA+IC9kZXYvbnVsbCAyPiYxCmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4
ci9maWxlcy9wYXRjaC1wbHVnaW5zLXBlb3BzeGdsLU1ha2VmaWxlLmFtCnNlZCAncy9eWC8vJyA+
ZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLXBsdWdpbnMtcGVvcHN4Z2wtTWFrZWZpbGUuYW0g
PDwgJ2Y3NDVlYjQ0MjljMjNhZGI1Y2M2OThhOWQ1NWMyMjE4JwpYLS0tIHBsdWdpbnMvcGVvcHN4
Z2wvTWFrZWZpbGUuYW0ub3JpZwkyMDEwLTA1LTI1IDA2OjAyOjA5LjU3NzY5MzM5MyArMDAwMApY
KysrIHBsdWdpbnMvcGVvcHN4Z2wvTWFrZWZpbGUuYW0JMjAxMC0wNS0yNSAwNjowMDoxMC4wMDAw
MDAwMDAgKzAwMDAKWEBAIC0xLDExICsxLDExIEBAClggSU5DTFVERVMgPSAtRFBJWE1BUERJUj1c
IiR7ZGF0YWRpcn0vcGl4bWFwcy9cIiBcClggCS1ETE9DQUxFX0RJUj1cIiR7ZGF0YWRpcn0vbG9j
YWxlL1wiIFwKWC0JLUREQVRBRElSPVwiJHtkYXRhZGlyfS9wc2VtdS9cIiBcClgrCS1EREFUQURJ
Uj1cIiR7ZGF0YWRpcn0vcGNzeHIvXCIgXApYIAkkKEdUSzJfQ0ZMQUdTKSAkKEdMQURFMl9DRkxB
R1MpIC1JL3Vzci9YMTFSNi9pbmNsdWRlIFwKWCAJLUkuLi8uLi9saWJwY3N4Y29yZSAtSS4uLy4u
L2luY2x1ZGUgLWZQSUMKWCAKWC1iaW5kaXIgPSBAbGliZGlyQC9nYW1lcy9wc2VtdS8KWC1saWJk
aXIgPSBAbGliZGlyQC9nYW1lcy9wc2VtdS8KWCtiaW5kaXIgPSBAbGliZGlyQC9wY3N4ci8KWCts
aWJkaXIgPSBAbGliZGlyQC9wY3N4ci8KWCAKWCBsaWJfTFRMSUJSQVJJRVMgPSBsaWJwZW9wc3hn
bC5sYQpYIApYQEAgLTIwLDUgKzIwLDUgQEAKWCBjZmdwZW9wc3hnbF9MREFERCA9ICQoR1RLMl9M
SUJTKSAkKEdMQURFMl9MSUJTKQpYIApYICNnbGFkZV9EQVRBID0gZ3B1Y2ZnLTAuMWRmL3Blb3Bz
eGdsLmdsYWRlMgpYLSNnbGFkZWRpciA9ICQoZGF0YWRpcikvcHNlbXUvClgrI2dsYWRlZGlyID0g
JChkYXRhZGlyKS9wY3N4ci8KWCAjRVhUUkFfRElTVCA9ICQoZ2xhZGVfREFUQSkKZjc0NWViNDQy
OWMyM2FkYjVjYzY5OGE5ZDU1YzIyMTgKZWNobyB4IC0gZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3Bh
dGNoLXBsdWdpbnMtZGZiaW5pbWFnZTItT3Blbi5jcHAKc2VkICdzL15YLy8nID5lbXVsYXRvcnMv
cGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1PcGVuLmNwcCA8PCAnODMxMTQ2
NmFkZTMwZjM5YWNmZjdlM2Y0MDk2YjJiMzEnClgtLS0gcGx1Z2lucy9kZmJpbmltYWdlMi9PcGVu
LmNwcC5vcmlnCTIwMTAtMDQtMjAgMDY6MDg6NDguNTEwODM3NjIwICswMDAwClgrKysgcGx1Z2lu
cy9kZmJpbmltYWdlMi9PcGVuLmNwcAkyMDEwLTA0LTIwIDA2OjA5OjEyLjQ1NDY2OTg2NyArMDAw
MApYQEAgLTE1MCw3ICsxNTAsNyBAQApYICAgIHJldHVybiB0aGVDRC0+c3RvcFRyYWNrKCk7Clgg
fQpYIApYLSNpZiBkZWZpbmVkIF9XSU5ET1dTIHx8IGRlZmluZWQgX19DWUdXSU4zMl9fClgrI2lm
IGRlZmluZWQgX1dJTkRPV1MgfHwgZGVmaW5lZCBfX0NZR1dJTjMyX18gfHwgZGVmaW5lZCBfX0Zy
ZWVCU0RfXwpYIApYIGxvbmcgQ0FMTEJBQ0sgQ0RSZ2V0U3RhdHVzKHN0cnVjdCBDZHJTdGF0ICpz
dGF0KSAKWCB7CjgzMTE0NjZhZGUzMGYzOWFjZmY3ZTNmNDA5NmIyYjMxCmVjaG8geCAtIGVtdWxh
dG9ycy9wY3N4ci9maWxlcy9wYXRjaC1ndWktTG54TWFpbi5jCnNlZCAncy9eWC8vJyA+ZW11bGF0
b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWd1aS1MbnhNYWluLmMgPDwgJzYwYmNjNWE4MDE2NTYyMzk4
OWM2ZWQzNjNhMTYyNTkyJwpYLS0tIGd1aS9MbnhNYWluLmMub3JpZwkyMDEwLTA2LTAxIDA3OjUx
OjI4LjMyNDUxNzA4MiArMDAwMApYKysrIGd1aS9MbnhNYWluLmMJMjAxMC0wNi0wMSAwODowMToz
NC4yMDQzNDgzMTcgKzAwMDAKWEBAIC0xODYsNiArMTg2LDkgQEAKWCAJZ2NoYXIgKmN1cnJlbnRk
aXI7ClggClggCS8vIHNjYW4gc29tZSBkZWZhdWx0IGxvY2F0aW9ucyB0byBmaW5kIHBsdWdpbnMK
WCsJU2NhblBsdWdpbnMoIiUlUFJFRklYJSUvbGliL3Bjc3hyLyIpOwpYKwlTY2FuUGx1Z2lucygi
JSVQUkVGSVglJS9saWIvcGNzeHIvbGliIik7ClgrCVNjYW5QbHVnaW5zKCIlJVBSRUZJWCUlL2xp
Yi9wY3N4ci9jb25maWciKTsKWCAJU2NhblBsdWdpbnMoIi91c3IvbGliL2dhbWVzL3BzZW11LyIp
OwpYIAlTY2FuUGx1Z2lucygiL3Vzci9saWIvZ2FtZXMvcHNlbXUvbGliLyIpOwpYIAlTY2FuUGx1
Z2lucygiL3Vzci9saWIvZ2FtZXMvcHNlbXUvY29uZmlnLyIpOwpYQEAgLTIxMSw2ICsyMTQsOCBA
QApYIAlTY2FuUGx1Z2lucyhERUZfUExVR0lOX0RJUiAiL2NvbmZpZyIpOwpYIApYIAkvLyBzY2Fu
IHNvbWUgZGVmYXVsdCBsb2NhdGlvbnMgdG8gZmluZCBiaW9zZXMKWCsJU2NhbkJpb3MoIiUlUFJF
RklYJSUvbGliL3Bjc3hyLyIpOwpYKwlTY2FuQmlvcygiJSVQUkVGSVglJS9saWIvcGNzeHIvYmlv
cyIpOwpYIAlTY2FuQmlvcygiL3Vzci9saWIvZ2FtZXMvcHNlbXUiKTsKWCAJU2NhbkJpb3MoIi91
c3IvbGliL2dhbWVzL3BzZW11L2Jpb3MiKTsKWCAJU2NhbkJpb3MoIi91c3IvbGliNjQvZ2FtZXMv
cHNlbXUiKTsKNjBiY2M1YTgwMTY1NjIzOTg5YzZlZDM2M2ExNjI1OTIKZWNobyB4IC0gZW11bGF0
b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLXBsdWdpbnMtZGZiaW5pbWFnZTItRmlsZUludGVyZmFjZS5j
cHAKc2VkICdzL15YLy8nID5lbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmJp
bmltYWdlMi1GaWxlSW50ZXJmYWNlLmNwcCA8PCAnZmI5M2Y1ZjBjOGYwMTlhNzgyNjE5MTQ0MTJi
ZTczMjYnClgtLS0gcGx1Z2lucy9kZmJpbmltYWdlMi9GaWxlSW50ZXJmYWNlLmNwcC5vcmlnCTIw
MDgtMDgtMjQgMTQ6Mjc6MDkuMDAwMDAwMDAwICswMDAwClgrKysgcGx1Z2lucy9kZmJpbmltYWdl
Mi9GaWxlSW50ZXJmYWNlLmNwcAkyMDEwLTA0LTIyIDA2OjAxOjM5LjAwMjU5MjAxOSArMDAwMApY
QEAgLTM1LDcgKzM1LDkgQEAKWCAjaW5jbHVkZSA8ZmNudGwuaD4KWCAjaW5jbHVkZSA8c3lzL3N0
YXQuaD4KWCAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+ClgtI2luY2x1ZGUgPGxpbnV4L2Nkcm9tLmg+
ClgrI2luY2x1ZGUgPHN5cy9jZGlvLmg+ClgrClgrI2RlZmluZSBDRFJPTV9MRUFET1VUICAweEFB
ClggClggZXh0ZXJuIFByZWZlcmVuY2VzIHByZWZzOwpYIApYQEAgLTQ2MiwxNSArNDY0LDE1IEBA
ClggICAgICAgICBUSFJPVyhlKTsKWCAgICAgfQpYICAgICBmaWxlTmFtZSA9IHN0cjsKWC0gICAg
c3RydWN0IGNkcm9tX3RvY2VudHJ5IHRvY0VudHJ5OwpYKyAgICBzdHJ1Y3QgaW9jX3JlYWRfdG9j
X3NpbmdsZV9lbnRyeSB0b2NFbnRyeTsKWCAgICAgbWVtc2V0KCZ0b2NFbnRyeSwgMCwgc2l6ZW9m
KHRvY0VudHJ5KSk7ClgtICAgIHRvY0VudHJ5LmNkdGVfdHJhY2sgPSBDRFJPTV9MRUFET1VUOwpY
LSAgICB0b2NFbnRyeS5jZHRlX2Zvcm1hdCA9IENEUk9NX0xCQTsKWC0gICAgaWYoaW9jdGwodGhl
RmQsIENEUk9NUkVBRFRPQ0VOVFJZLCAmdG9jRW50cnkpIDwgMCkgewpYKyAgICB0b2NFbnRyeS50
cmFjayA9IENEUk9NX0xFQURPVVQ7ClgrICAgIHRvY0VudHJ5LmFkZHJlc3NfZm9ybWF0ID0gQ0Rf
TEJBX0ZPUk1BVDsKWCsgICAgaWYoaW9jdGwodGhlRmQsIENESU9SRUFEVE9DRU5UUlksICZ0b2NF
bnRyeSkgPCAwKSB7ClggICAgICAgICBFeGNlcHRpb24gZShzdGQ6OnN0cmluZygiQ2Fubm90IHJl
YWQgVE9DOiAiKSArIHN0cik7ClggICAgICAgICBUSFJPVyhlKTsKWCAgICAgfQpYLSAgICBDRExl
bmd0aCA9IENEVGltZSh0b2NFbnRyeS5jZHRlX2FkZHIubGJhLCBDRFRpbWU6OmFiRnJhbWUpICsg
Q0RUaW1lKDAsMiwwKTsKWCsgICAgQ0RMZW5ndGggPSBDRFRpbWUodG9jRW50cnkuZW50cnkuYWRk
ci5sYmEsIENEVGltZTo6YWJGcmFtZSkgKyBDRFRpbWUoMCwyLDApOwpYICAgICBidWZmZXJQb3Mu
c2V0TVNGKE1TRlRpbWUoMjU1LDI1NSwyNTUpKTsKWCB9ClggClhAQCAtNDgyLDkgKzQ4NCwxNiBA
QApYICAgICBjaGFyICpidWYgPSAoY2hhciopZmlsZUJ1ZmZlcjsKWCAgICAgaW50IGNudDsKWCAg
ICAgZm9yKGNudCA9IDA7IGNudCA8IGJ1ZmZlckZyYW1lczsgY250KyspIHsKWC0gICAgICAgIG1l
bWNweShidWYsIHNlZWtUaW1lLmdldE1TRmJ1ZigpLCAzKTsKWC0gICAgICAgIGlmKGlvY3RsKHRo
ZUZkLCBDRFJPTVJFQURSQVcsIGJ1Zik8MCkKWC0gICAgICAgICAgICBicmVhazsKWCsgICAgICAg
IGlmIChsc2Vlayh0aGVGZCwKWCsgICAgICAgICAgICAgICAgICBzZWVrVGltZS5nZXRNU0YoKS5t
KCkgKiBieXRlc1Blck1pbnV0ZSArClgrICAgICAgICAgICAgICAgICAgc2Vla1RpbWUuZ2V0TVNG
KCkucygpICogYnl0ZXNQZXJTZWNvbmQgKwpYKyAgICAgICAgICAgICAgICAgIHNlZWtUaW1lLmdl
dE1TRigpLmYoKSAqIGJ5dGVzUGVyRnJhbWUsClgrICAgICAgICAgICAgICAgICAgU0VFS19TRVQp
ID09IC0xKSB7ClgrICAgICAgICAgIHJldHVybjsKWCsgICAgICAgIH0KWCsgICAgICAgIGlmIChy
ZWFkKHRoZUZkLCBidWYsIGJ5dGVzUGVyRnJhbWUpID09IC0xKSB7ClgrICAgICAgICAgIHJldHVy
bjsKWCsgICAgICAgIH0KWCAgICAgICAgIGJ1ZiArPSBieXRlc1BlckZyYW1lOwpYICAgICAgICAg
c2Vla1RpbWUgKz0gQ0RUaW1lKDAsMCwxKTsKWCAgICAgfQpmYjkzZjVmMGM4ZjAxOWE3ODI2MTkx
NDQxMmJlNzMyNgplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtY29uZmlndXJl
LmFjCnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZS5h
YyA8PCAnNjA4NTAzYjRiN2JlNGI2MDcyNTAyYWM0M2I3Nzc0M2UnClgtLS0gY29uZmlndXJlLmFj
Lm9yaWcJMjAwOS0xMi0yNSAxODoyNzo1Mi4wMDAwMDAwMDAgKzAwMDAKWCsrKyBjb25maWd1cmUu
YWMJMjAxMC0wNi0wOCAwNjowMToxOS4wNTcwNDc0NzMgKzAwMDAKWEBAIC04LDYgKzgsNyBAQApY
IEFDX0NPTkZJR19IRUFERVJTKFtpbmNsdWRlL2NvbmZpZy5oOmluY2x1ZGUvY29uZmlnLmguaW5d
KQpYIApYIEFDX1BST0dfQ0MKWCtBQ19QUk9HX0NYWApYIEFDX1BST0dfUkFOTElCClggQUNfRElT
QUJMRV9TVEFUSUMKWCBBQ19QUk9HX0xJQlRPT0wKWEBAIC0zNCw3ICszNSw3IEBAClggQUNfU1VC
U1QoR0xBREUyX0NGTEFHUykKWCBBQ19TVUJTVChHTEFERTJfTElCUykKWCAKWC1BQ19DT05GSUdf
RklMRVMoW01ha2VmaWxlIGRhdGEvTWFrZWZpbGUgZG9jL01ha2VmaWxlIGxpYnBjc3hjb3JlL01h
a2VmaWxlIGd1aS9NYWtlZmlsZSBwbHVnaW5zL2RmaW5wdXQvTWFrZWZpbGUgcGx1Z2lucy9kZnNv
dW5kL01ha2VmaWxlIHBsdWdpbnMvZGZ4dmlkZW8vTWFrZWZpbGUgcGx1Z2lucy9kZmNkcm9tL01h
a2VmaWxlIHBpeG1hcHMvTWFrZWZpbGUgcG8vTWFrZWZpbGUuaW5dKQpYK0FDX0NPTkZJR19GSUxF
UyhbTWFrZWZpbGUgZGF0YS9NYWtlZmlsZSBkb2MvTWFrZWZpbGUgbGlicGNzeGNvcmUvTWFrZWZp
bGUgZ3VpL01ha2VmaWxlIHBsdWdpbnMvZGZpbnB1dC9NYWtlZmlsZSBwbHVnaW5zL2Rmc291bmQv
TWFrZWZpbGUgcGx1Z2lucy9kZnh2aWRlby9NYWtlZmlsZSBwbHVnaW5zL2RmYmluaW1hZ2UyL01h
a2VmaWxlIHBpeG1hcHMvTWFrZWZpbGUgcG8vTWFrZWZpbGUuaW5dKQpYIApYIGRubCBDaGVjayBm
b3IgLWZuby1kc2Ugb3B0aW9uIHN1cHBvcnQKWCBzYXZlZF9DRkxBR1M9IiRDRkxBR1MiCjYwODUw
M2I0YjdiZTRiNjA3MjUwMmFjNDNiNzc3NDNlCmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4ci9maWxl
cy9wYXRjaC1wbHVnaW5zLWRmaW5wdXQtcGFkLmMKc2VkICdzL15YLy8nID5lbXVsYXRvcnMvcGNz
eHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmlucHV0LXBhZC5jIDw8ICc3MjllYjcyMzUxNDBkNzI0
NjlkY2Y3MDYzZjk3ZTMyMCcKWC0tLSBwbHVnaW5zL2RmaW5wdXQvcGFkLmMub3JpZwkyMDA5LTEy
LTI1IDE4OjI2OjM1LjAwMDAwMDAwMCArMDAwMApYKysrIHBsdWdpbnMvZGZpbnB1dC9wYWQuYwky
MDEwLTA2LTAzIDA4OjA2OjI5LjY1ODgyMDE4NCArMDAwMApYQEAgLTM4NiwzICszODYsNiBAQApY
IGxvbmcgUEFEdGVzdCh2b2lkKSB7ClggCXJldHVybiBQU0VfUEFEX0VSUl9TVUNDRVNTOwpYIH0K
WCsKWCsvKiBtaXNzaW5nIHN5bWJvbCA6IGRvIG5vdGhpbmcgKi8KWCt2b2lkIFBBRHNldFNlbnNp
dGl2ZShpbnQgc2Vuc2l0aXZlKSB7fQo3MjllYjcyMzUxNDBkNzI0NjlkY2Y3MDYzZjk3ZTMyMApl
Y2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtZGF0YS1NYWtlZmlsZS5hbQpzZWQg
J3MvXlgvLycgPmVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1kYXRhLU1ha2VmaWxlLmFtIDw8
ICc0ZTM2MmRlZWI0MzJmZTM1NDI1NzlmOGUzMDFmYTgyOCcKWC0tLSBkYXRhL01ha2VmaWxlLmFt
Lm9yaWcJMjAxMC0wNS0yNiAwNjowMjoyMi45NTQyNzA3MjQgKzAwMDAKWCsrKyBkYXRhL01ha2Vm
aWxlLmFtCTIwMTAtMDUtMjYgMDY6MDI6NDYuNDg0MjA0ODM1ICswMDAwClhAQCAtMSw1ICsxLDUg
QEAKWCBnbGFkZV9EQVRBID0gcGNzeC5nbGFkZTIKWC1nbGFkZWRpciA9ICQoZGF0YWRpcikvcGNz
eApYK2dsYWRlZGlyID0gJChkYXRhZGlyKS9wY3N4cgpYIApYIGRlc2t0b3BkaXIgPSAkKGRhdGFk
aXIpL2FwcGxpY2F0aW9ucwpYIGRlc2t0b3BfREFUQSA9IHBjc3guZGVza3RvcAo0ZTM2MmRlZWI0
MzJmZTM1NDI1NzlmOGUzMDFmYTgyOAplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0
Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1NYWtlZmlsZS5hbQpzZWQgJ3MvXlgvLycgPmVtdWxhdG9y
cy9wY3N4ci9maWxlcy9wYXRjaC1wbHVnaW5zLWRmYmluaW1hZ2UyLU1ha2VmaWxlLmFtIDw8ICcw
ZTFjYWRkOGIwMDIwNGIzMDM1OTJhM2NmYzYwNzVkMicKWC0tLSBwbHVnaW5zL2RmYmluaW1hZ2Uy
L01ha2VmaWxlLmFtLm9yaWcJMjAwOS0wMy0yOSAwMjoyNTozMC4wMDAwMDAwMDAgKzAwMDAKWCsr
KyBwbHVnaW5zL2RmYmluaW1hZ2UyL01ha2VmaWxlLmFtCTIwMTAtMDUtMjEgMTc6MjA6NDAuMjI3
MDU3NjI4ICswMDAwClhAQCAtMSwxNyArMSwxOCBAQApYLUlOQ0xVREVTID0gLURQQUNLQUdFX0RB
VEFfRElSPVwiJHtkYXRhZGlyfS9wY3N4L1wiIFwKWCtJTkNMVURFUyA9IC1EUEFDS0FHRV9EQVRB
X0RJUj1cIiR7ZGF0YWRpcn0vcGNzeHIvXCIgXApYIAktRFBJWE1BUERJUj1cIiR7ZGF0YWRpcn0v
cGl4bWFwcy9cIiBcClggCS1ETE9DQUxFX0RJUj1cIiR7ZGF0YWRpcn0vbG9jYWxlL1wiIFwKWCAJ
LURfX0xJTlVYX18gXApYIAktRFJFVklTSU9OPTMgXApYIAktREJVSUxEPTAgXApYLQktRERBVEFE
SVI9XCIke2RhdGFkaXJ9L3BzZW11L1wiIFwKWCsJLUREQVRBRElSPVwiJHtkYXRhZGlyfS9wY3N4
ci9cIiBcClggCWBwa2ctY29uZmlnIC0tY2ZsYWdzIHNkbCB2b3JiaXNmaWxlIGxpYmdsYWRlLTIu
MCBndGsrLTIuMGAKWCAKWC1saWJkaXIgPSAkKHByZWZpeCkvbGliL2dhbWVzL3BzZW11LwpYK2xp
YmRpciA9IEBsaWJkaXJAL3Bjc3hyLwpYIGxpYl9MVExJQlJBUklFUyA9IGxpYkRGQmluSW1hZ2Uy
LmxhClgtbGliREZCaW5JbWFnZTJfbGFfTElCQUREICA9IC1sc3RkYysrIC1seiAtbGJ6MiAtbHB0
aHJlYWQgLWx2b3JiaXMKWCtsaWJERkJpbkltYWdlMl9sYV9MSUJBREQgID0gLWxzdGRjKysgLWx6
IC1sYnoyIC1sdm9yYmlzClggbGliREZCaW5JbWFnZTJfbGFfTERGTEFHUyA9IC1tb2R1bGUgLWF2
b2lkLXZlcnNpb24gXApYLQlgcGtnLWNvbmZpZyAtLWxpYnMgc2RsIHZvcmJpc2ZpbGUgbGliZ2xh
ZGUtMi4wIGd0aystMi4wYApYKwlgcGtnLWNvbmZpZyAtLWxpYnMgc2RsIHZvcmJpc2ZpbGUgbGli
Z2xhZGUtMi4wIGd0aystMi4wYCBcClgrCS1wdGhyZWFkClggbGliREZCaW5JbWFnZTJfbGFfU09V
UkNFUyA9IEFib3V0LmNwcCBQbGF5Q0REQURhdGEuY3BwIFwKWCAJQ0REQURhdGEuaHBwIENvbmZp
Z0NhbGxiYWNrcy5jcHAgQ29uZmlnQ2FsbGJhY2tzLmhwcCBcClggCUNvbmZpZ0Z1bmN0aW9ucy5j
cHAgVHJhY2tQYXJzZXIuY3BwIFRyYWNrUGFyc2VyLmhwcCBcClhAQCAtMjMsNyArMjQsNyBAQApY
IAlkZWZpbmVzLmggZXh0ZXJucy5oClggClggZ2xhZGVfREFUQSA9IGRmYmluaW1hZ2UuZ2xhZGUy
ClgtZ2xhZGVkaXIgPSAkKGRhdGFkaXIpL3BzZW11LwpYK2dsYWRlZGlyID0gJChkYXRhZGlyKS9w
Y3N4ci8KWCBFWFRSQV9ESVNUID0gJChnbGFkZV9EQVRBKSBDREludGVyZmFjZS5ocHAgQ0RUaW1l
LmhwcCBFeGNlcHRpb24uaHBwIFwKWCAJRnJhbWUuaHBwIFRpbWVDYWNoZS5ocHAgVHJhY2tJbmZv
LmhwcCBcClggCU9HR19SRUFETUUudHh0IG5vdGVzLnR4dAowZTFjYWRkOGIwMDIwNGIzMDM1OTJh
M2NmYzYwNzVkMgplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtZ3VpLU1ha2Vm
aWxlLmFtCnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLWd1aS1NYWtl
ZmlsZS5hbSA8PCAnZjliZTNkZTZhZmEyYzU2OTRjZWZlYjRhMjEyNGI5ZDInClgtLS0gZ3VpL01h
a2VmaWxlLmFtLm9yaWcJMjAwOS0xMi0yNSAxODoyNToyNC4wMDAwMDAwMDAgKzAwMDAKWCsrKyBn
dWkvTWFrZWZpbGUuYW0JMjAxMC0wNi0xMSAwODoyMzo1NS44Mzc1NTE0MjAgKzAwMDAKWEBAIC0x
LDEwICsxLDEwIEBAClgtSU5DTFVERVMgPSAtRFBBQ0tBR0VfREFUQV9ESVI9XCIke2RhdGFkaXJ9
L3Bjc3gvXCIgXApYK0lOQ0xVREVTID0gLURQQUNLQUdFX0RBVEFfRElSPVwiJHtkYXRhZGlyfS9w
Y3N4ci9cIiBcClggCS1EUElYTUFQRElSPVwiJHtkYXRhZGlyfS9waXhtYXBzL1wiIFwKWCAJLURM
T0NBTEVfRElSPVwiJHtkYXRhZGlyfS9sb2NhbGUvXCIgXApYIAkkKEdUSzJfQ0ZMQUdTKSAkKEdM
QURFMl9DRkxBR1MpIFwKWCAJLUkkKHRvcF9zcmNkaXIpL2xpYnBjc3hjb3JlIC1JJCh0b3Bfc3Jj
ZGlyKS9pbmNsdWRlIFwKWC0JLURQU0VNVV9EQVRBX0RJUj1cIiR7ZGF0YWRpcn0vcHNlbXVcIiBc
ClgtCS1EREVGX1BMVUdJTl9ESVI9XCIke2xpYmRpcn0vZ2FtZXMvcHNlbXVcIgpYKwktRFBTRU1V
X0RBVEFfRElSPVwiJHtkYXRhZGlyfS9wY3N4clwiIFwKWCsJLURERUZfUExVR0lOX0RJUj1cIiR7
bGliZGlyfS9wY3N4clwiClggClggYmluX1BST0dSQU1TID0gcGNzeApYIApYQEAgLTE4LDUgKzE4
LDYgQEAKWCAJQ2hlYXQuYwpYIApYIHBjc3hfTERBREQgPSBcClgtCSQoR1RLMl9MSUJTKSAkKEdM
QURFMl9MSUJTKSAtbHB0aHJlYWQgLWx6IC1sbSAtbFhleHQgLWxYdHN0IFwKWCsJJChHVEsyX0xJ
QlMpICQoR0xBREUyX0xJQlMpIC1seiAtbG0gLWxYZXh0IC1sWHRzdCAtbEdMIFwKWCAJLi4vbGli
cGNzeGNvcmUvbGlicGNzeGNvcmUuYQpYK3Bjc3hfTERGTEFHUyA9IC1wdGhyZWFkCmY5YmUzZGU2
YWZhMmM1Njk0Y2VmZWI0YTIxMjRiOWQyCmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4ci9maWxlcy9w
YXRjaC1NYWtlZmlsZS5hbQpzZWQgJ3MvXlgvLycgPmVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRj
aC1NYWtlZmlsZS5hbSA8PCAnZTdjYWZlZjAxYmI1NWQ1MmYxNjMwMDA3ZDIxZjgyZDEnClgtLS0g
TWFrZWZpbGUuYW0ub3JpZwkyMDEwLTA1LTIwIDE3OjM5OjI3LjkzNjcyOTM4OCArMDAwMApYKysr
IE1ha2VmaWxlLmFtCTIwMTAtMDUtMjAgMTc6NDA6MTEuOTI5NjI1MTMzICswMDAwClhAQCAtMSw0
ICsxLDQgQEAKWC1TVUJESVJTID0gZGF0YSBkb2MgcG8gbGlicGNzeGNvcmUgZ3VpIHBpeG1hcHMg
cGx1Z2lucy9kZmlucHV0IHBsdWdpbnMvZGZzb3VuZCBwbHVnaW5zL2RmeHZpZGVvIHBsdWdpbnMv
ZGZjZHJvbQpYK1NVQkRJUlMgPSBkYXRhIGRvYyBwbyBsaWJwY3N4Y29yZSBndWkgcGl4bWFwcyBw
bHVnaW5zL2RmaW5wdXQgcGx1Z2lucy9kZnNvdW5kIHBsdWdpbnMvZGZ4dmlkZW8gcGx1Z2lucy9k
ZmJpbmltYWdlMgpYIFNVQkRJUlMgKz0gJChQRU9QU1hHTCkKWCAKWCBFWFRSQV9ESVNUID0gQVVU
SE9SUyBDT1BZSU5HIElOU1RBTEwgTkVXUyBSRUFETUUgQ2hhbmdlTG9nIENoYW5nZUxvZy5kZgpl
N2NhZmVmMDFiYjU1ZDUyZjE2MzAwMDdkMjFmODJkMQplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIv
ZmlsZXMvcGF0Y2gtcGl4bWFwcy1NYWtlZmlsZS5hbQpzZWQgJ3MvXlgvLycgPmVtdWxhdG9ycy9w
Y3N4ci9maWxlcy9wYXRjaC1waXhtYXBzLU1ha2VmaWxlLmFtIDw8ICdiMjU5MTljZjMwNjdlMjgz
ZDBiNGU0ZGRkMjFlZjgwMycKWC0tLSBwaXhtYXBzL01ha2VmaWxlLmFtLm9yaWcJMjAxMC0wNS0y
NiAwNTo1OTo0MC45MzU5NzYyMjAgKzAwMDAKWCsrKyBwaXhtYXBzL01ha2VmaWxlLmFtCTIwMTAt
MDUtMjYgMDU6NTk6NTIuMjIzOTM4Nzk2ICswMDAwClhAQCAtMSw0ICsxLDQgQEAKWC1waXhtYXBk
aXIgPSAiJChkYXRhZGlyKS9wY3N4IgpYK3BpeG1hcGRpciA9ICIkKGRhdGFkaXIpL3Bjc3hyIgpY
IHBpeG1hcF9EQVRBID0gcGNzeC5qcGcKWCAKWCBpY29uZGlyID0gIiQoZGF0YWRpcikvcGl4bWFw
cyIKYjI1OTE5Y2YzMDY3ZTI4M2QwYjRlNGRkZDIxZWY4MDMKZWNobyB4IC0gZW11bGF0b3JzL3Bj
c3hyL2ZpbGVzL3BhdGNoLWd1aS1Db25mRGxnLmMKc2VkICdzL15YLy8nID5lbXVsYXRvcnMvcGNz
eHIvZmlsZXMvcGF0Y2gtZ3VpLUNvbmZEbGcuYyA8PCAnNDM2NWIyMmQxY2Y0Zjc0YTNlMjhhMmRj
MmI4ZDc3MDknClgtLS0gZ3VpL0NvbmZEbGcuYy5vcmlnCTIwMTAtMDYtMDMgMDc6NTk6MzkuNDI4
MDIzMzkzICswMDAwClgrKysgZ3VpL0NvbmZEbGcuYwkyMDEwLTA2LTAzIDA4OjAxOjQ5LjgzNjEy
MTA3MCArMDAwMApYQEAgLTYzMiw3ICs2MzIsNyBAQApYIAkJfQpYIApYIAkJUFNFX2dldExpYlR5
cGUgPSAoUFNFZ2V0TGliVHlwZSlkbHN5bShIYW5kbGUsICJQU0VnZXRMaWJUeXBlIik7ClgtCQlp
ZiAoZGxlcnJvcigpICE9IE5VTEwpIHsKWCsJCWlmIChQU0VfZ2V0TGliVHlwZSA9PSBOVUxMKSB7
ClggCQkJaWYgKHN0cnN0cihsaW5rbmFtZSwgImdwdSIpICE9IE5VTEwpIHR5cGUgPSBQU0VfTFRf
R1BVOwpYIAkJCWVsc2UgaWYgKHN0cnN0cihsaW5rbmFtZSwgImNkciIpICE9IE5VTEwpIHR5cGUg
PSBQU0VfTFRfQ0RSOwpYIAkJCWVsc2UgaWYgKHN0cnN0cihsaW5rbmFtZSwgInNwdSIpICE9IE5V
TEwpIHR5cGUgPSBQU0VfTFRfU1BVOwpYQEAgLTY0MiwxMCArNjQyLDEwIEBAClggCQllbHNlIHR5
cGUgPSBQU0VfZ2V0TGliVHlwZSgpOwpYIApYIAkJUFNFX2dldExpYk5hbWUgPSAoUFNFZ2V0TGli
TmFtZSkgZGxzeW0oSGFuZGxlLCAiUFNFZ2V0TGliTmFtZSIpOwpYLQkJaWYgKGRsZXJyb3IoKSA9
PSBOVUxMKSB7ClgrCQlpZiAoUFNFX2dldExpYk5hbWUgIT0gTlVMTCkgewpYIAkJCXNwcmludGYo
bmFtZSwgIiVzIiwgUFNFX2dldExpYk5hbWUoKSk7ClggCQkJUFNFX2dldExpYlZlcnNpb24gPSAo
UFNFZ2V0TGliVmVyc2lvbikgZGxzeW0oSGFuZGxlLCAiUFNFZ2V0TGliVmVyc2lvbiIpOwpYLQkJ
CWlmIChkbGVycm9yKCkgPT0gTlVMTCkgewpYKwkJCWlmIChQU0VfZ2V0TGliVmVyc2lvbiAhPSBO
VUxMKSB7ClggCQkJCWNoYXIgdmVyWzMyXTsKWCAKWCAJCQkJdiA9IFBTRV9nZXRMaWJWZXJzaW9u
KCk7ClhAQCAtNzIwLDE3ICs3MjAsMTcgQEAKWCAJCQlpZiAoSGFuZGxlID09IE5VTEwpIGNvbnRp
bnVlOwpYIApYIAkJCVBTRV9nZXRMaWJUeXBlID0gKFBTRWdldExpYlR5cGUpIGRsc3ltKEhhbmRs
ZSwgIlBTRWdldExpYlR5cGUiKTsKWC0JCQlpZiAoZGxlcnJvcigpICE9IE5VTEwpIHsKWCsJCQlp
ZiAoUFNFX2dldExpYlR5cGUgPT0gTlVMTCkgewpYIAkJCQlpZiAoc3Ryc3RyKHBsdWdpbiwgIm5l
dCIpICE9IE5VTEwpIHR5cGUgPSBQU0VfTFRfTkVUOwpYIAkJCQllbHNlIGNvbnRpbnVlOwpYIAkJ
CX0KWCAJCQllbHNlIHR5cGUgPSBQU0VfZ2V0TGliVHlwZSgpOwpYIApYIAkJCVBTRV9nZXRMaWJO
YW1lID0gKFBTRWdldExpYk5hbWUpIGRsc3ltKEhhbmRsZSwgIlBTRWdldExpYk5hbWUiKTsKWC0J
CQlpZiAoZGxlcnJvcigpID09IE5VTEwpIHsKWCsJCQlpZiAoUFNFX2dldExpYk5hbWUgIT0gTlVM
TCkgewpYIAkJCQlzcHJpbnRmKG5hbWUsICIlcyIsIFBTRV9nZXRMaWJOYW1lKCkpOwpYIAkJCQlQ
U0VfZ2V0TGliVmVyc2lvbiA9IChQU0VnZXRMaWJWZXJzaW9uKSBkbHN5bShIYW5kbGUsICJQU0Vn
ZXRMaWJWZXJzaW9uIik7ClgtCQkJCWlmIChkbGVycm9yKCkgPT0gTlVMTCkgewpYKwkJCQlpZiAo
UFNFX2dldExpYlZlcnNpb24gIT0gTlVMTCkgewpYIAkJCQkJY2hhciB2ZXJbMzJdOwpYIApYIAkJ
CQkJdiA9IFBTRV9nZXRMaWJWZXJzaW9uKCk7CjQzNjViMjJkMWNmNGY3NGEzZTI4YTJkYzJiOGQ3
NzA5CmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1wbHVnaW5zLWRmc291bmQt
TWFrZWZpbGUuYW0Kc2VkICdzL15YLy8nID5lbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1
Z2lucy1kZnNvdW5kLU1ha2VmaWxlLmFtIDw8ICc5ZDU4OWYyODUzN2MyZjM1Mjk2YjRhMDE2OWVj
NDBjNScKWC0tLSBwbHVnaW5zL2Rmc291bmQvTWFrZWZpbGUuYW0ub3JpZwkyMDA5LTEyLTI1IDE4
OjI2OjQxLjAwMDAwMDAwMCArMDAwMApYKysrIHBsdWdpbnMvZGZzb3VuZC9NYWtlZmlsZS5hbQky
MDEwLTA1LTIxIDE3OjIxOjExLjA0MjM3NTQ5NyArMDAwMApYQEAgLTEsMTEgKzEsMTEgQEAKWCBJ
TkNMVURFUyA9IC1EUElYTUFQRElSPVwiJHtkYXRhZGlyfS9waXhtYXBzL1wiIFwKWCAJLURMT0NB
TEVfRElSPVwiJHtkYXRhZGlyfS9sb2NhbGUvXCIgXApYLQktRERBVEFESVI9XCIke2RhdGFkaXJ9
L3BzZW11L1wiIFwKWCsJLUREQVRBRElSPVwiJHtkYXRhZGlyfS9wY3N4ci9cIiBcClggCSQoR1RL
Ml9DRkxBR1MpICQoR0xBREUyX0NGTEFHUykgXApYIAktSS4uLy4uL2luY2x1ZGUKWCAKWC1iaW5k
aXIgPSBAbGliZGlyQC9nYW1lcy9wc2VtdS8KWC1saWJkaXIgPSBAbGliZGlyQC9nYW1lcy9wc2Vt
dS8KWCtiaW5kaXIgPSBAbGliZGlyQC9wY3N4ci8KWCtsaWJkaXIgPSBAbGliZGlyQC9wY3N4ci8K
WCAKWCBsaWJfTFRMSUJSQVJJRVMgPSBsaWJERlNvdW5kLmxhClggClhAQCAtMTMsNyArMTMsNyBA
QApYIAlhbHNhLmMgb3NzLmMgbnVsbHNuZC5jClggClggbGliREZTb3VuZF9sYV9DRkxBR1MgPQpY
LWxpYkRGU291bmRfbGFfTERGTEFHUyA9IC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLWxwdGhyZWFk
IC1sbQpYK2xpYkRGU291bmRfbGFfTERGTEFHUyA9IC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLXB0
aHJlYWQgLWxtClggClggaWYgSEFWRV9BTFNBClggbGliREZTb3VuZF9sYV9DRkxBR1MgKz0gLURV
U0VBTFNBPTEKWEBAIC0yOSw1ICsyOSw1IEBAClggY2ZnREZTb3VuZF9MREFERCA9ICQoR1RLMl9M
SUJTKSAkKEdMQURFMl9MSUJTKQpYIApYIGdsYWRlX0RBVEEgPSBzcHVjZmctMC4xZGYvZGZzb3Vu
ZC5nbGFkZTIKWC1nbGFkZWRpciA9ICQoZGF0YWRpcikvcHNlbXUvClgrZ2xhZGVkaXIgPSAkKGRh
dGFkaXIpL3Bjc3hyLwpYIEVYVFJBX0RJU1QgPSAkKGdsYWRlX0RBVEEpCjlkNTg5ZjI4NTM3YzJm
MzUyOTZiNGEwMTY5ZWM0MGM1CmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1w
bHVnaW5zLWRmeHZpZGVvLWdwdS5jCnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL2ZpbGVz
L3BhdGNoLXBsdWdpbnMtZGZ4dmlkZW8tZ3B1LmMgPDwgJ2I5Nzc4ODk2M2IxZTE4NDk0ZDE5NzRl
Zjk4MmRmMDNjJwpYLS0tIHBsdWdpbnMvZGZ4dmlkZW8vZ3B1LmMub3JpZwkyMDEwLTA1LTIwIDA1
OjU1OjA4LjY1MjkyMDQxMiArMDAwMApYKysrIHBsdWdpbnMvZGZ4dmlkZW8vZ3B1LmMJMjAxMC0w
NS0yMCAwNTo1NTo0Ni45MDczNzAwNzAgKzAwMDAKWEBAIC0xOTMwLDMgKzE5MzAsNiBAQApYIH0K
WCAKWCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KWCsKWCsvKiBtaXNzaW5nIHN5bWJvbCA6IGRvIG5vdGhpbmcg
Ki8KWCt2b2lkIENBTExCQUNLIEdQVWNsZWFyRHluYXJlYyh2b2lkKSB7fQpiOTc3ODg5NjNiMWUx
ODQ5NGQxOTc0ZWY5ODJkZjAzYwplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gt
cGx1Z2lucy1kZmJpbmltYWdlMi1kZWZpbmVzLmgKc2VkICdzL15YLy8nID5lbXVsYXRvcnMvcGNz
eHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1kZWZpbmVzLmggPDwgJ2M3ZTgwYmU4
Y2NmZDQxZTEzY2MwZTY5NjBmZDViNjY1JwpYLS0tIHBsdWdpbnMvZGZiaW5pbWFnZTIvZGVmaW5l
cy5oLm9yaWcJMjAxMC0wNC0yMCAwNjozMDoxMi44NjIzMjU2NTggKzAwMDAKWCsrKyBwbHVnaW5z
L2RmYmluaW1hZ2UyL2RlZmluZXMuaAkyMDEwLTA0LTIwIDA2OjMwOjUwLjk3NzE2NDkwNCArMDAw
MApYQEAgLTEyNiw3ICsxMjYsOSBAQApYICAgICBIV05EICAgICAgICAgIEhXbmQ7ICAgICAgICAv
LyBXaW5kb3cgaGFuZGxlClggICAgIEhJTlNUQU5DRSAgICAgSEluc3RhbmNlOwpYIH0gRlBTRVdp
bjMyOwpYKyNlbmRpZgpYIApYKyNpZiBkZWZpbmVkIF9XSU5ET1dTIHx8IGRlZmluZWQgX19DWUdX
SU4zMl9fIHx8IGRlZmluZWQgX19GcmVlQlNEX18KWCAvLyBjZHIgc3RhdCBzdHJ1Y3QKWCBzdHJ1
Y3QgQ2RyU3RhdApYIHsKWEBAIC0xMzQsNyArMTM2LDYgQEAKWCAgdW5zaWduZWQgbG9uZyBTdGF0
dXM7ClggIHVuc2lnbmVkIGNoYXIgVGltZVszXTsgLy8gY3VycmVudCBwbGF5aW5nIHRpbWUKWCB9
OwpYLQpYICNlbmRpZgpYIApYIC8vIE1haW4gU3RydWN0IGZvciBpbml0aWFsaXphdGlvbgpjN2U4
MGJlOGNjZmQ0MWUxM2NjMGU2OTYwZmQ1YjY2NQplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmls
ZXMvcGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1UcmFja1BhcnNlci5jcHAKc2VkICdzL15YLy8n
ID5lbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmJpbmltYWdlMi1UcmFja1Bh
cnNlci5jcHAgPDwgJzQ5ZGI3N2EzNjMxODk5MTMxY2ExZjhmN2JlNTczM2VjJwpYLS0tIHBsdWdp
bnMvZGZiaW5pbWFnZTIvVHJhY2tQYXJzZXIuY3BwLm9yaWcJMjAxMC0wNC0xNSAwNjozMDozMy4z
MzQxNzQ4NzQgKzAwMDAKWCsrKyBwbHVnaW5zL2RmYmluaW1hZ2UyL1RyYWNrUGFyc2VyLmNwcAky
MDEwLTA0LTE1IDE4OjM4OjUxLjQzNjE0MzI4MCArMDAwMApYQEAgLTMwLDcgKzMwLDcgQEAKWCAj
aW5jbHVkZSA8ZmNudGwuaD4KWCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KWCAjaW5jbHVkZSA8c3lz
L2lvY3RsLmg+ClgtI2luY2x1ZGUgPGxpbnV4L2Nkcm9tLmg+ClgrI2luY2x1ZGUgPHN5cy9jZGlv
Lmg+ClggClggdXNpbmcgbmFtZXNwYWNlIHN0ZDsKWCAKWEBAIC0yODIsMjUgKzI4MiwyNSBAQApY
ICAgICAgICAgRXhjZXB0aW9uIGUoc3RkOjpzdHJpbmcoIkNhbm5vdCBvcGVuIGRldmljZTogIikg
KyBjdWVuYW1lKTsKWCAgICAgICAgIFRIUk9XKGUpOwpYICAgICB9ClgtICAgIHN0cnVjdCBjZHJv
bV90b2NoZHIgdG9jSGRyOwpYLSAgICBpZihpb2N0bCh0aGVGZCwgQ0RST01SRUFEVE9DSERSLCAm
dG9jSGRyKSA8IDApIHsKWCsgICAgc3RydWN0IGlvY190b2NfaGVhZGVyIHRvY0hkcjsKWCsgICAg
aWYoaW9jdGwodGhlRmQsIENESU9SRUFEVE9DRU5UUlksICZ0b2NIZHIpIDwgMCkgewpYICAgICAg
ICAgY2xvc2UodGhlRmQpOwpYICAgICAgICAgRXhjZXB0aW9uIGUoc3RkOjpzdHJpbmcoIkNhbm5v
dCByZWFkIFRPQzogIikgKyBjdWVuYW1lKTsKWCAgICAgICAgIFRIUk9XKGUpOwpYICAgICB9Clgt
ICAgIHN0cnVjdCBjZHJvbV90b2NlbnRyeSB0b2NFbnRyeTsKWC0gICAgZm9yKGludCBpID0gdG9j
SGRyLmNkdGhfdHJrMDsgaSA8PSB0b2NIZHIuY2R0aF90cmsxOyBpKyspIHsKWCsgICAgc3RydWN0
IGlvY19yZWFkX3RvY19zaW5nbGVfZW50cnkgdG9jRW50cnk7ClgrICAgIGZvcihpbnQgaSA9IHRv
Y0hkci5zdGFydGluZ190cmFjazsgaSA8PSB0b2NIZHIuZW5kaW5nX3RyYWNrOyBpKyspIHsKWCAg
ICAgICAgIG1lbXNldCgmdG9jRW50cnksIDAsIHNpemVvZih0b2NFbnRyeSkpOwpYLSAgICAgICAg
dG9jRW50cnkuY2R0ZV90cmFjayA9IGk7ClgtICAgICAgICB0b2NFbnRyeS5jZHRlX2Zvcm1hdCA9
IENEUk9NX0xCQTsKWC0gICAgICAgIGlmKGlvY3RsKHRoZUZkLCBDRFJPTVJFQURUT0NFTlRSWSwg
JnRvY0VudHJ5KSA8IDApIHsKWCsgICAgICAgIHRvY0VudHJ5LnRyYWNrID0gaTsKWCsgICAgICAg
IHRvY0VudHJ5LmFkZHJlc3NfZm9ybWF0ID0gQ0RfTEJBX0ZPUk1BVDsKWCsgICAgICAgIGlmKGlv
Y3RsKHRoZUZkLCBDRElPUkVBRFRPQ0VOVFJZLCAmdG9jRW50cnkpIDwgMCkgewpYICAgICAgICAg
ICAgIGNsb3NlKHRoZUZkKTsKWCAgICAgICAgICAgICBFeGNlcHRpb24gZShzdGQ6OnN0cmluZygi
Q2Fubm90IHJlYWQgVE9DOiAiKSArIGN1ZW5hbWUpOwpYICAgICAgICAgICAgIFRIUk9XKGUpOwpY
ICAgICAgICAgfQpYICAgICAgICAgVHJhY2tJbmZvIHRoaXNUcmFjazsKWCAgICAgICAgIHRoaXNU
cmFjay50cmFja051bWJlciA9IGk7ClgtICAgICAgICB0aGlzVHJhY2sudHJhY2tTdGFydCA9IENE
VGltZSh0b2NFbnRyeS5jZHRlX2FkZHIubGJhLCBDRFRpbWU6OmFiRnJhbWUpOwpYKyAgICAgICAg
dGhpc1RyYWNrLnRyYWNrU3RhcnQgPSBDRFRpbWUodG9jRW50cnkuZW50cnkuYWRkci5sYmEsIENE
VGltZTo6YWJGcmFtZSk7ClggICAgICAgICB0aXYucHVzaF9iYWNrKHRoaXNUcmFjayk7ClggICAg
IH0KWCAgICAgY2xvc2UodGhlRmQpOwo0OWRiNzdhMzYzMTg5OTEzMWNhMWY4ZjdiZTU3MzNlYwpl
Y2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1wZW9wc3hnbC1ncHUu
YwpzZWQgJ3MvXlgvLycgPmVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1wbHVnaW5zLXBlb3Bz
eGdsLWdwdS5jIDw8ICc4NzdjMTYyYTdhNTllZGY2YWMyZGY0NGNlMDdhZWZhMScKWC0tLSBwbHVn
aW5zL3Blb3BzeGdsL2dwdS5jLm9yaWcJMjAxMC0wNS0yMCAwNTo1OToyMi4xNDg5NjIyMjggKzAw
MDAKWCsrKyBwbHVnaW5zL3Blb3BzeGdsL2dwdS5jCTIwMTAtMDUtMjAgMDY6MTI6MDcuNjUwODE1
Mzk2ICswMDAwClhAQCAtMzE5NCwzICszMTk0LDcgQEAKWCB7ClggIGR3Q29yZUZsYWdzPWR3Rmxh
Z3M7ClggfQpYKwpYKy8qIG1pc3Npbmcgc3ltYm9scyA6IGRvIG5vdGhpbmcgKi8KWCt2b2lkIENB
TExCQUNLIEdQVWNsZWFyRHluYXJlYyh2b2lkKSB7fQpYK3ZvaWQgQ0FMTEJBQ0sgR1BVZGlzcGxh
eVRleHQoY2hhciAqIHBUZXh0KSB7fQo4NzdjMTYyYTdhNTllZGY2YWMyZGY0NGNlMDdhZWZhMQpl
Y2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1Z2lucy1kZmlucHV0LU1ha2Vm
aWxlLmFtCnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL2ZpbGVzL3BhdGNoLXBsdWdpbnMt
ZGZpbnB1dC1NYWtlZmlsZS5hbSA8PCAnZTA3OTViMDdkNzQ2OTJkZTZhYzI3N2ZmNjQzYzAwYmEn
ClgtLS0gcGx1Z2lucy9kZmlucHV0L01ha2VmaWxlLmFtLm9yaWcJMjAwOS0xMi0yNSAxODoyNjoz
NS4wMDAwMDAwMDAgKzAwMDAKWCsrKyBwbHVnaW5zL2RmaW5wdXQvTWFrZWZpbGUuYW0JMjAxMC0w
NS0yMSAxNzoyMTowMy4yMzgyOTg3MjIgKzAwMDAKWEBAIC0xLDE1ICsxLDE1IEBAClgtYmluZGly
ID0gQGxpYmRpckAvZ2FtZXMvcHNlbXUvClgtbGliZGlyID0gQGxpYmRpckAvZ2FtZXMvcHNlbXUv
ClgrYmluZGlyID0gQGxpYmRpckAvcGNzeHIvClgrbGliZGlyID0gQGxpYmRpckAvcGNzeHIvClgg
ClggbGliX0xUTElCUkFSSUVTID0gbGliREZJbnB1dC5sYQpYIApYIGxpYkRGSW5wdXRfbGFfU09V
UkNFUyA9IGNmZy5jIHBhZC5jIHBhZC5oIHNkbGpveS5jIHhrYi5jIGFuYWxvZy5jClgtbGliREZJ
bnB1dF9sYV9MREZMQUdTID0gLW1vZHVsZSAtYXZvaWQtdmVyc2lvbiAtbHB0aHJlYWQgLWxYMTEg
XApYK2xpYkRGSW5wdXRfbGFfTERGTEFHUyA9IC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLXB0aHJl
YWQgLWxYMTEgXApYIAlgJChTRExfQ09ORklHKSAtLWxpYnNgIC1ML3Vzci9YMTFSNi9saWI2NCAt
TC91c3IvWDExUjYvbGliClggClggSU5DTFVERVMgPSAtRFBJWE1BUERJUj1cIiR7ZGF0YWRpcn0v
cGl4bWFwcy9cIiBcClggCS1ETE9DQUxFX0RJUj1cIiR7ZGF0YWRpcn0vbG9jYWxlL1wiIFwKWC0J
LUREQVRBRElSPVwiJHtkYXRhZGlyfS9wc2VtdS9cIiBcClgrCS1EREFUQURJUj1cIiR7ZGF0YWRp
cn0vcGNzeHIvXCIgXApYIAkkKEdUSzJfQ0ZMQUdTKSAkKEdMQURFMl9DRkxBR1MpIC1JL3Vzci9Y
MTFSNi9pbmNsdWRlIFwKWCAJLUkuLi8uLi9pbmNsdWRlIC1JLi4vLi4vbGlicGNzeGNvcmUgYCQo
U0RMX0NPTkZJRykgLS1jZmxhZ3NgClggClhAQCAtMTksNSArMTksNSBAQApYIGNmZ0RGSW5wdXRf
TERGTEFHUyA9IGAkKFNETF9DT05GSUcpIC0tbGlic2AKWCAKWCBnbGFkZV9EQVRBID0gZGZpbnB1
dC5nbGFkZTIKWC1nbGFkZWRpciA9ICQoZGF0YWRpcikvcHNlbXUvClgrZ2xhZGVkaXIgPSAkKGRh
dGFkaXIpL3Bjc3hyLwpYIEVYVFJBX0RJU1QgPSAkKGdsYWRlX0RBVEEpCmUwNzk1YjA3ZDc0Njky
ZGU2YWMyNzdmZjY0M2MwMGJhCmVjaG8geCAtIGVtdWxhdG9ycy9wY3N4ci9maWxlcy9wYXRjaC1s
aWJwY3N4Y29yZS1zb2NrZXQuYwpzZWQgJ3MvXlgvLycgPmVtdWxhdG9ycy9wY3N4ci9maWxlcy9w
YXRjaC1saWJwY3N4Y29yZS1zb2NrZXQuYyA8PCAnODRmNzFkNzQxZWJlNDZlNTE3NTNmNjllNTAx
NzllNjQnClgtLS0gbGlicGNzeGNvcmUvc29ja2V0LmMub3JpZwkyMDEwLTA1LTE5IDE3OjQzOjQw
Ljk4NzAxMDYzOSArMDAwMApYKysrIGxpYnBjc3hjb3JlL3NvY2tldC5jCTIwMTAtMDUtMTkgMTc6
NDY6NDIuNjI1MTk0NTQyICswMDAwClhAQCAtMTksOSArMTksMTEgQEAKWCAjaWZkZWYgX1dJTjMy
ClggI2luY2x1ZGUgPHdpbnNvY2syLmg+ClggI2Vsc2UKWCsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+
ClggI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KWCAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+ClggI2lu
Y2x1ZGUgPGFycGEvaW5ldC5oPgpYKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+ClggI2luY2x1ZGUg
PHVuaXN0ZC5oPgpYICNpbmNsdWRlIDxmY250bC5oPgpYICNlbmRpZgo4NGY3MWQ3NDFlYmU0NmU1
MTc1M2Y2OWU1MDE3OWU2NAplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvZmlsZXMvcGF0Y2gtcGx1
Z2lucy1kZnh2aWRlby1NYWtlZmlsZS5hbQpzZWQgJ3MvXlgvLycgPmVtdWxhdG9ycy9wY3N4ci9m
aWxlcy9wYXRjaC1wbHVnaW5zLWRmeHZpZGVvLU1ha2VmaWxlLmFtIDw8ICdhNjY3ZDFkZWE1NmYy
MDUyOWVmNDJhYWM3MzkxN2Y2YicKWC0tLSBwbHVnaW5zL2RmeHZpZGVvL01ha2VmaWxlLmFtLm9y
aWcJMjAxMC0wNS0yNSAwNjowMTowMC42MzAwNTcxMDIgKzAwMDAKWCsrKyBwbHVnaW5zL2RmeHZp
ZGVvL01ha2VmaWxlLmFtCTIwMTAtMDUtMjUgMDU6NTk6NTIuMDAwMDAwMDAwICswMDAwClhAQCAt
OCwxMyArOCwxMyBAQApYIApYIElOQ0xVREVTID0gLURQSVhNQVBESVI9XCIke2RhdGFkaXJ9L3Bp
eG1hcHMvXCIgXApYIAktRExPQ0FMRV9ESVI9XCIke2RhdGFkaXJ9L2xvY2FsZS9cIiBcClgtCS1E
REFUQURJUj1cIiR7ZGF0YWRpcn0vcHNlbXUvXCIgXApYKwktRERBVEFESVI9XCIke2RhdGFkaXJ9
L3Bjc3hyL1wiIFwKWCAJJChHVEsyX0NGTEFHUykgJChHTEFERTJfQ0ZMQUdTKSAtSS91c3IvWDEx
UjYvaW5jbHVkZSBcClggCS1JLi4vLi4vbGlicGNzeGNvcmUgXApYIAktSS4uLy4uL2luY2x1ZGUK
WCAKWC1iaW5kaXIgPSBAbGliZGlyQC9nYW1lcy9wc2VtdS8KWC1saWJkaXIgPSBAbGliZGlyQC9n
YW1lcy9wc2VtdS8KWCtiaW5kaXIgPSBAbGliZGlyQC9wY3N4ci8KWCtsaWJkaXIgPSBAbGliZGly
QC9wY3N4ci8KWCAKWCBsaWJfTFRMSUJSQVJJRVMgPSBsaWJERlhWaWRlby5sYQpYIApYQEAgLTMy
LDUgKzMyLDUgQEAKWCBjZmdERlhWaWRlb19MREFERCA9ICQoR1RLMl9MSUJTKSAkKEdMQURFMl9M
SUJTKSAtTC91c3IvWDExUjYvbGliIC1sWGV4dApYIApYIGdsYWRlX0RBVEEgPSBncHVjZmctMC4x
ZGYvZGZ4dmlkZW8uZ2xhZGUyClgtZ2xhZGVkaXIgPSAkKGRhdGFkaXIpL3BzZW11LwpYK2dsYWRl
ZGlyID0gJChkYXRhZGlyKS9wY3N4ci8KWCBFWFRSQV9ESVNUID0gJChnbGFkZV9EQVRBKQphNjY3
ZDFkZWE1NmYyMDUyOWVmNDJhYWM3MzkxN2Y2YgplY2hvIHggLSBlbXVsYXRvcnMvcGNzeHIvcGtn
LXBsaXN0CnNlZCAncy9eWC8vJyA+ZW11bGF0b3JzL3Bjc3hyL3BrZy1wbGlzdCA8PCAnMjI4NjQ4
MzA1ZWVmNGYwYzMxNTVkNTJmNzQ2OTJiMTMnClhiaW4vcGNzeApYJSVOTFMlJXNoYXJlL2xvY2Fs
ZS9wdF9CUi9MQ19NRVNTQUdFUy9wY3N4Lm1vClglJU5MUyUlc2hhcmUvbG9jYWxlL3poX1RXL0xD
X01FU1NBR0VTL3Bjc3gubW8KWCUlTkxTJSVzaGFyZS9sb2NhbGUvemhfQ04vTENfTUVTU0FHRVMv
cGNzeC5tbwpYc2hhcmUvcGNzeHIvZGZiaW5pbWFnZS5nbGFkZTIKWHNoYXJlL3Bjc3hyL2Rmc291
bmQuZ2xhZGUyClhzaGFyZS9wY3N4ci9kZnh2aWRlby5nbGFkZTIKWHNoYXJlL3Bjc3hyL2RmaW5w
dXQuZ2xhZGUyClhzaGFyZS9wY3N4ci9wY3N4LmdsYWRlMgpYc2hhcmUvcGNzeHIvcGNzeC5qcGcK
WEBkaXJybSBzaGFyZS9wY3N4cgpYc2hhcmUvcGl4bWFwcy9wY3N4LWljb24ucG5nClhzaGFyZS9h
cHBsaWNhdGlvbnMvcGNzeC5kZXNrdG9wClhAZGlycm10cnkgc2hhcmUvYXBwbGljYXRpb25zClhs
aWIvcGNzeHIvY2ZnREZYVmlkZW8KWGxpYi9wY3N4ci9jZmdwZW9wc3hnbApYbGliL3Bjc3hyL2Nm
Z0RGSW5wdXQKWGxpYi9wY3N4ci9jZmdERlNvdW5kClhsaWIvcGNzeHIvbGliREZYVmlkZW8uYQpY
bGliL3Bjc3hyL2xpYkRGWFZpZGVvLmxhClhsaWIvcGNzeHIvbGliREZYVmlkZW8uc28KWGxpYi9w
Y3N4ci9saWJwZW9wc3hnbC5hClhsaWIvcGNzeHIvbGlicGVvcHN4Z2wubGEKWGxpYi9wY3N4ci9s
aWJwZW9wc3hnbC5zbwpYbGliL3Bjc3hyL2xpYkRGSW5wdXQuYQpYbGliL3Bjc3hyL2xpYkRGSW5w
dXQubGEKWGxpYi9wY3N4ci9saWJERklucHV0LnNvClhsaWIvcGNzeHIvbGliREZTb3VuZC5hClhs
aWIvcGNzeHIvbGliREZTb3VuZC5sYQpYbGliL3Bjc3hyL2xpYkRGU291bmQuc28KWGxpYi9wY3N4
ci9saWJERkJpbkltYWdlMi5hClhsaWIvcGNzeHIvbGliREZCaW5JbWFnZTIubGEKWGxpYi9wY3N4
ci9saWJERkJpbkltYWdlMi5zbwpYQGRpcnJtIGxpYi9wY3N4cgpYQGV4ZWMgJSVMT0NBTEJBU0Ul
JS9iaW4vdXBkYXRlLWRlc2t0b3AtZGF0YWJhc2UgPiAvZGV2L251bGwgfHwgL3Vzci9iaW4vdHJ1
ZQpYQHVuZXhlYyAlJUxPQ0FMQkFTRSUlL2Jpbi91cGRhdGUtZGVza3RvcC1kYXRhYmFzZSA+IC9k
ZXYvbnVsbCB8fCAvdXNyL2Jpbi90cnVlCjIyODY0ODMwNWVlZjRmMGMzMTU1ZDUyZjc0NjkyYjEz
CmV4aXQ=
</data>

          </attachment>
      

    </bug>

</bugzilla>