<?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>174068</bug_id>
          
          <creation_ts>2017-07-01 15:03:42 -0700</creation_ts>
          <short_desc>[iOS] Remove code only needed when building for iOS 9.x</short_desc>
          <delta_ts>2017-07-01 19:06:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1324849</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-07-01 15:03:42 -0700</bug_when>
    <thetext>The iOS 9 build was broken a while ago but some code remains in the source tree that is only needed when building for iOS 9.x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324850</commentid>
    <comment_count>1</comment_count>
      <attachid>314391</attachid>
    <who name="">mitz</who>
    <bug_when>2017-07-01 15:06:01 -0700</bug_when>
    <thetext>Created attachment 314391
Remove unneeded code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324851</commentid>
    <comment_count>2</comment_count>
      <attachid>314392</attachid>
    <who name="">mitz</who>
    <bug_when>2017-07-01 15:27:20 -0700</bug_when>
    <thetext>Created attachment 314392
Remove unneeded code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324863</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-07-01 19:06:53 -0700</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/r219055&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314391</attachid>
            <date>2017-07-01 15:06:01 -0700</date>
            <delta_ts>2017-07-01 15:27:20 -0700</delta_ts>
            <desc>Remove unneeded code</desc>
            <filename>file_174068.txt</filename>
            <type>text/plain</type>
            <size>80606</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwx
NSBAQA0KKzIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4NCisNCisg
ICAgICAgIFtpT1NdIFJlbW92ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRpbmcgZm9yIGlP
UyA5LngNCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQwNjgNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoNCisgICAgICAgICog
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwOg0KKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMu
Y3BwOg0KKyAgICAgICAgKEpTQzo6cmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucyk6DQorDQogMjAx
Ny0wNy0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPg0KIA0KICAgICAgICAgW21h
Y09TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBPUyBYIFlvc2Vt
aXRlDQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkwNTEpDQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0g
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVz
aW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9u
ZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsN
CiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQo
RU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
RXhlY3V0YWJsZUFsbG9jYXRvci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC00MSwxMiArNDEsMTIg
QEANCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIg0KICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5o
Ig0KIA0KLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgUExBVEZPUk0oQ09DT0EpDQog
I2RlZmluZSBIQVZFX1JFTUFQX0pJVCAxDQogI2VuZGlmDQogDQogI2lmIEhBVkUoUkVNQVBfSklU
KQ0KLSNpZiBDUFUoQVJNNjQpICYmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQorI2lmIENQVShBUk02NCkgJiYgUExBVEZPUk0oSU9T
KQ0KICNkZWZpbmUgVVNFX0VYRUNVVEVfT05MWV9KSVRfV1JJVEVfRlVOQ1RJT04gMQ0KICNlbmRp
Zg0KICNlbmRpZg0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
Y3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5jcHAJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTQ1OCw3ICs0NTgsNyBAQCBzdGF0aWMg
dm9pZCByZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKCkNCiAgICAgICAgIE9wdGlvbnM6OnVzZU9T
UkVudHJ5VG9GVEwoKSA9IGZhbHNlOw0KICAgICB9DQogICAgIA0KLSNpZiBQTEFURk9STShJT1Mp
ICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDANCisjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TX1NJ
TVVMQVRPUikNCiAgICAgLy8gT3ZlcnJpZGUgZ2xvYmFsbHkgZm9yIG5vdy4gTG9uZ2VyIHRlcm0g
d2UnbGwganVzdCBtYWtlIHRoZSBkZWZhdWx0DQogICAgIC8vIGJlIHRvIGhhdmUgdGhpcyBvcHRp
b24gZW5hYmxlZCwgYW5kIGhhdmUgcGxhdGZvcm1zIHRoYXQgZG9uJ3Qgc3VwcG9ydA0KICAgICAv
LyBpdCBqdXN0IHNpbGVudGx5IHVzZSBhIHNpbmdsZSBtYXBwaW5nLg0KSW5kZXg6IFNvdXJjZS9X
VEYvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAg
LTEsMyArMSwxNCBAQA0KKzIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4NCisNCisgICAgICAgIFtpT1NdIFJlbW92ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRp
bmcgZm9yIGlPUyA5LngNCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzQwNjgNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0K
Kw0KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoNCisgICAgICAgICogd3RmL21hYy9EZXByZWNh
dGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbToNCisgICAgICAgICogd3RmL3NwaS9kYXJ3aW4vZHls
ZFNQSS5oOg0KKw0KIDIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4N
CiANCiAgICAgICAgIFttYWNPU10gUmVtb3ZlIGNvZGUgb25seSBuZWVkZWQgd2hlbiBidWlsZGlu
ZyBmb3IgT1MgWCBZb3NlbWl0ZQ0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTkwNTEp
DQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQ0KQEAgLTU4Mywx
MyArNTgzLDYgQEANCiANCiAjaWYgUExBVEZPUk0oSU9TKQ0KIA0KLSNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKSBcDQotICAgICYmICgoVEFSR0VUX09TX0lPUyAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01BWF9BTExPV0VEIDwgMTAwMDAwKSBcDQotICAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikg
JiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAwMDAwKSBcDQotICAgICB8fCAoUExB
VEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMzAwMDAp
KQ0KLSNkZWZpbmUgVVNFX0NGVVJMQ09OTkVDVElPTiAxDQotI2VuZGlmDQotDQogI2RlZmluZSBI
QVZFX05FVFdPUktfRVhURU5TSU9OIDENCiAjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQ0KICNkZWZp
bmUgVVNFX1VJS0lUX0VESVRJTkcgMQ0KQEAgLTY3Nyw3ICs2NzAsNyBAQA0KIA0KICNlbmRpZiAv
KiBPUyhEQVJXSU4pICovDQogDQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApDQorI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9S
TShJT1MpDQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19TVE9SQUdFX1BBUlRJVElPTklORyAxDQog
I2VuZGlmDQogDQpAQCAtMTE5NiwxNCArMTE4OSwxNCBAQA0KICNlbmRpZg0KIA0KIC8qIEZJWE1F
OiBFbmFibGUgVVNFX09TX0xPRyB3aGVuIGJ1aWxkaW5nIHdpdGggdGhlIHB1YmxpYyBpT1MgMTAg
U0RLIG9uY2Ugd2UgZml4IDxyZGFyOi8vcHJvYmxlbS8yNzc1ODM0Mz4uICovDQotI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDAwMDAgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykpDQorI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0o
SU9TKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSkNCiAjZGVmaW5lIFVTRV9PU19MT0cgMQ0K
ICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQ0KICNkZWZpbmUgVVNFX09TX1NUQVRFIDENCiAj
ZW5kaWYNCiAjZW5kaWYNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JN
KElPUykNCiAjZGVmaW5lIEhBVkVfU0VDX1RSVVNUX1NFUklBTElaQVRJT04gMQ0KICNlbmRpZg0K
IA0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL21hYy9EZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFy
aS5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XVEYvd3RmL21hYy9EZXByZWNhdGVkU3ltYm9s
c1VzZWRCeVNhZmFyaS5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XVEYvd3RmL21h
Yy9EZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbQkod29ya2luZyBjb3B5KQ0KQEAgLTM4
LDcgKzM4LDcgQEANCiANCiBuYW1lc3BhY2UgV1RGIHsNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApDQorI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIw
MA0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmN0
aW9uKSh2b2lkKiksIHZvaWQqIGNvbnRleHQpOw0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNh
bmNlbENhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmN0aW9uKSh2b2lkKiksIHZvaWQqIGNvbnRl
eHQpOw0KIA0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQotLS0gU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9keWxkU1BJLmgJKHJldmlzaW9u
IDIxOTA1MSkNCisrKyBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTI5LDEwICsyOSw2IEBADQogDQogI2luY2x1ZGUgPG1hY2gtby9keWxkX3By
aXYuaD4NCiANCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMDAwMA0KLSNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl8xMF8wIDB4MDAwQTAw
MDANCi0jZW5kaWYNCi0NCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxMjAwDQogI2RlZmluZSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEy
IDB4MDAwQTBDMDANCiAjZW5kaWYNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MSkN
CisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEs
NjEgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQor
ICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBp
T1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6DQorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbToNCisgICAgICAgIChXZWJDb3JlOjpEYXRh
RGV0ZWN0aW9uOjppc0RhdGFEZXRlY3RvckxpbmspOg0KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFE
ZXRlY3Rpb246OnNob3VsZENhbmNlbERlZmF1bHRBY3Rpb24pOg0KKyAgICAgICAgKFdlYkNvcmU6
OmNvbnN0cnVjdFVSTFN0cmluZ0ZvclJlc3VsdCk6DQorICAgICAgICAoV2ViQ29yZTo6RGF0YURl
dGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UpOg0KKyAgICAgICAgKiBwYWdlL2NvY29hL1Jl
c291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbToNCisgICAgICAgIChXZWJDb3JlOjp2bVBhZ2VTaXpl
KToNCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5o
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1t
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcDoNCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOg0KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbToNCisg
ICAgICAgIChsYXllckNvbnRlbnRzRm9ybWF0KToNCisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJD
b2NvYTo6dXBkYXRlQ29udGVudHNGb3JtYXQpOg0KKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllckNv
Y29hOjpiYWNraW5nU3RvcmVCeXRlc1BlclBpeGVsKToNCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OmV4dGVu
ZGVkU1JHQkNvbG9yU3BhY2VSZWYpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Q
REZEb2N1bWVudEltYWdlLmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpQREZEb2N1bWVudEltYWdl
OjpkcmF3UERGUGFnZSk6DQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpsb29rdXBGYWxsYmFja0ZvbnQp
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06DQorICAg
ICAgICAoV2ViQ29yZTo6Rm9udDo6dmFyaWFudENhcHNTdXBwb3J0c0NoYXJhY3RlckZvclN5bnRo
ZXNpcyk6DQorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKToN
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tOg0KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEpOg0KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCk6DQorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbToNCisgICAgICAgIChX
ZWJDb3JlOjpJT1N1cmZhY2U6OnNpbmtJbnRvSW1hZ2UpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06DQorICAgICAgICAo
V2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpzZXRUaW1lYmFzZSk6DQorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW06DQorICAgICAgICAo
V2ViQ29yZTo6c3lzdGVtRm9udE1vZGlmaWNhdGlvbkF0dHJpYnV0ZXMpOg0KKyAgICAgICAgKFdl
YkNvcmU6OnN5c3RlbUZvbnREZXNjcmlwdG9yKToNCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRDdXN0b21QbGF0Zm9ybURhdGE6OnN1cHBvcnRzRm9ybWF0KToNCisgICAgICAgICogcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbToNCisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lU
aWxlR3JpZFRpbGU6OkxlZ2FjeVRpbGVHcmlkVGlsZSk6DQorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9QbGF0Zm9ybVNjcmVlbklPUy5tbToNCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5TdXBwb3J0
c0V4dGVuZGVkQ29sb3IpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TLm1tOg0KKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
Uzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKToNCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1M6On5SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MpOg0KKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6DQorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaDoNCisgICAgICAgICogcGxhdGZv
cm0vc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmg6DQorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg6DQorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMv
QVZGb3VuZGF0aW9uU1BJLmg6DQorDQogMjAxNy0wNy0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4NCiANCiAgICAgICAgIEZyYW1lLmggZG9lc24ndCBuZWVkIHRvIGluY2x1ZGUg
RnJhbWVMb2FkZXIuaCwgSW50UmVjdC5oLCBhbmQgTmF2aWdhdGlvblNjaGVkdWxlci5oDQpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUs
OCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5B
QkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9S
TV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7
DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0K
LUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlb
c2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gg
PSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVf
QVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNB
QkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkNCkBAIC0xLDMgKzEsMTIgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVu
IGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6DQorDQogMjAxNy0wNy0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgW21hY09TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZv
ciBPUyBYIFlvc2VtaXRlDQpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUv
UEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkw
NTEpDQorKysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25l
Kl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlw
aG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9
IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJT
SU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9
ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsN
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0NCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24u
bW0JKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Rh
dGFEZXRlY3Rpb24ubW0JKHdvcmtpbmcgY29weSkNCkBAIC0xNTcsMTQgKzE1Nyw3IEBAIGJvb2wg
RGF0YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKEUNCiAgICAgaWYgKCFpczxIVE1MQW5j
aG9yRWxlbWVudD4oZWxlbWVudCkpDQogICAgICAgICByZXR1cm4gZmFsc2U7DQogDQotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICByZXR1cm4gW3Nv
ZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMVGFwQW5kSG9sZFNjaGVtZXMoKSBjb250YWlu
c09iamVjdDooTlNTdHJpbmcgKilkb3duY2FzdDxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCku
aHJlZigpLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLmNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCldOw0KLSNlbHNlDQotICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGVs
ZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxlX2RhdGFfZGV0ZWN0
b3JzQXR0ciksICJ0cnVlIikpDQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgVVJMIHVybCA9
IGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCk7DQotICAgIHJldHVy
biB1cmwucHJvdG9jb2xJcygibWFpbHRvIikgfHwgdXJsLnByb3RvY29sSXMoInRlbCIpOw0KLSNl
bmRpZg0KIH0NCiANCiBib29sIERhdGFEZXRlY3Rpb246OnJlcXVpcmVzRXh0ZW5kZWRDb250ZXh0
KEVsZW1lbnQmIGVsZW1lbnQpDQpAQCAtMTc5LDcgKzE3Miw2IEBAIFN0cmluZyBEYXRhRGV0ZWN0
aW9uOjpkYXRhRGV0ZWN0b3JJZGVudGkNCiANCiBib29sIERhdGFEZXRlY3Rpb246OnNob3VsZENh
bmNlbERlZmF1bHRBY3Rpb24oRWxlbWVudCYgZWxlbWVudCkNCiB7DQotI2lmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICBpZiAoIWlzRGF0YURldGVjdG9y
TGluayhlbGVtZW50KSkNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgDQpAQCAtMjAxLDE2
ICsxOTMsNiBAQCBib29sIERhdGFEZXRlY3Rpb246OnNob3VsZENhbmNlbERlZmF1bHRBDQogICAg
ICAgICByZXN1bHQgPSAoRERSZXN1bHRSZWYpW3Jlc3VsdHMgb2JqZWN0QXRJbmRleDpyZXN1bHRJ
bmRpY2VzW2ldLnRvSW50KCldOw0KICAgICB9DQogICAgIHJldHVybiBzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0KHJl
c3VsdCk7DQotI2Vsc2UNCi0gICAgaWYgKCFpczxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCkp
DQotICAgICAgICByZXR1cm4gZmFsc2U7DQotICAgIGlmICghZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVf
ZGF0YV9kZXRlY3RvcnNBdHRyKSwgInRydWUiKSkNCi0gICAgICAgIHJldHVybiBmYWxzZTsNCi0g
ICAgYXV0byYgdHlwZSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4
X2FwcGxlX2RhdGFfZGV0ZWN0b3JzX3R5cGVBdHRyKTsNCi0gICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKHR5cGUsICJtaXNjIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UodHlwZSwgImNhbGVuZGFyLWV2ZW50IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UodHlwZSwgInRlbGVwaG9uZSIpKQ0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgIHJl
dHVybiBmYWxzZTsNCi0jZW5kaWYNCiB9DQogDQogc3RhdGljIEJPT0wgcmVzdWx0SXNVUkwoRERS
ZXN1bHRSZWYgcmVzdWx0KQ0KQEAgLTIzNCw5ICsyMTYsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKmNv
bnN0cnVjdFVSTFN0cmluZ0ZvclJlDQogICAgIGlmICgoKGRldGVjdGlvblR5cGVzICYgRGF0YURl
dGVjdG9yVHlwZUFkZHJlc3MpICYmIChERFJlc3VsdENhdGVnb3J5QWRkcmVzcyA9PSBjYXRlZ29y
eSkpDQogICAgICAgICB8fCAoKGRldGVjdGlvblR5cGVzICYgRGF0YURldGVjdG9yVHlwZVRyYWNr
aW5nTnVtYmVyKSAmJiAoQ0ZTdHJpbmdDb21wYXJlKGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJp
bmRlclRyYWNraW5nTnVtYmVyS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkN
CiAgICAgICAgIHx8ICgoZGV0ZWN0aW9uVHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBlRmxpZ2h0TnVt
YmVyKSAmJiAoQ0ZTdHJpbmdDb21wYXJlKGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlckZs
aWdodEluZm9ybWF0aW9uS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkNCi0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAgICAgICB8
fCAoKGRldGVjdGlvblR5cGVzICYgRGF0YURldGVjdG9yVHlwZUxvb2t1cFN1Z2dlc3Rpb24pICYm
IChDRlN0cmluZ0NvbXBhcmUoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyUGFyc2VjU291
cmNlS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkNCi0jZW5kaWYNCiAgICAg
ICAgIHx8ICgoZGV0ZWN0aW9uVHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBlUGhvbmVOdW1iZXIpICYm
IChERFJlc3VsdENhdGVnb3J5UGhvbmVOdW1iZXIgPT0gY2F0ZWdvcnkpKQ0KICAgICAgICAgfHwg
KChkZXRlY3Rpb25UeXBlcyAmIERhdGFEZXRlY3RvclR5cGVMaW5rKSAmJiByZXN1bHRJc1VSTChj
dXJyZW50UmVzdWx0KSkpIHsNCiAgICAgICAgIA0KQEAgLTQzOCwxMSArNDE4LDkgQEAgTlNBcnJh
eSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUg0KICAgICBSZXRhaW5QdHI8RERTY2Fu
UXVlcnlSZWY+IHNjYW5RdWVyeSA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERTY2FuUXVlcnlDcmVhdGUoTlVMTCkpOw0KICAgICBidWlsZFF1ZXJ5KHNjYW5RdWVyeS5nZXQo
KSwgY29udGV4dFJhbmdlLmdldCgpKTsNCiAgICAgDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICBpZiAodHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBl
TG9va3VwU3VnZ2VzdGlvbikNCiAgICAgICAgIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0RE
U2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlKHNjYW5uZXIuZ2V0KCksIEREU2Nhbm5lclNvdXJj
ZVNwb3RsaWdodCwgdHJ1ZSk7DQotI2VuZGlmDQotICAgIA0KKw0KICAgICAvLyBGSVhNRTogd2Ug
c2hvdWxkIGFkZCBhIHRpbWVvdXQgdG8gdGhpcyBjYWxsIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0
IHRha2UgdG9vIG11Y2ggdGltZS4NCiAgICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29y
ZV9ERFNjYW5uZXJTY2FuUXVlcnkoc2Nhbm5lci5nZXQoKSwgc2NhblF1ZXJ5LmdldCgpKSkNCiAg
ICAgICAgIHJldHVybiBuaWw7DQpAQCAtNTY5LDExICs1NDcsNyBAQCBOU0FycmF5ICpEYXRhRGV0
ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SDQogICAgICAgICB9DQogICAgICAgICANCiAgICAgICAg
IGxhc3RNb2RpZmllZFF1ZXJ5T2Zmc2V0ID0gcXVlcnlSYW5nZS5lbmQ7DQotI2lmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICAgICAgQk9PTCBzaG91bGRV
c2VMaWdodExpbmtzID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTaG91bGRVc2VMaWdo
dExpbmtzRm9yUmVzdWx0KGNvcmVSZXN1bHQsIFtpbmRleFBhdGhzW3Jlc3VsdEluZGV4XSBsZW5n
dGhdID4gMSk7DQotI2Vsc2UNCi0gICAgICAgIEJPT0wgc2hvdWxkVXNlTGlnaHRMaW5rcyA9IE5P
Ow0KLSNlbmRpZg0KIA0KICAgICAgICAgZm9yIChhdXRvJiByYW5nZSA6IHJlc3VsdFJhbmdlcykg
ew0KICAgICAgICAgICAgIGF1dG8qIHBhcmVudE5vZGUgPSByYW5nZS0+c3RhcnRDb250YWluZXIo
KS5wYXJlbnROb2RlKCk7DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJj
ZVVzYWdlVGhyZWFkQ29jb2EubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29hLm1tCSh3
b3JraW5nIGNvcHkpDQpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7DQogDQog
c2l6ZV90IHZtUGFnZVNpemUoKQ0KIHsNCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCisjaWYgUExBVEZPUk0oSU9TKQ0KICAg
ICByZXR1cm4gdm1fa2VybmVsX3BhZ2Vfc2l6ZTsNCiAjZWxzZQ0KICAgICBzdGF0aWMgc2l6ZV90
IGNhY2hlZCA9IHN5c2NvbmYoX1NDX1BBR0VTSVpFKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
LmgJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgJKHdvcmtpbmcgY29weSkNCkBAIC00OSwxMyArNDks
MTEgQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRA0KIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3Vs
dEdldFN1YlJlc3VsdHMsIENGQXJyYXlSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0
KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uLCBERFF1ZXJ5UmFuZ2Us
IChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQs
IE5TU3RyaW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqIHJlc3Vs
dElkZW50aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5cGVzIGluY2x1ZGlu
Z1RlbEdyb3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5j
ZVRpbWVab25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIGluY2x1ZGluZ1Rl
bEdyb3VwcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQ0KLSNpZiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxUYXBBbmRIb2xkU2No
ZW1lcywgTlNBcnJheSAqLCAoKSwgKCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
V2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9u
U2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkpDQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRp
YXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQp
LCAocmVzdWx0KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTaG91bGRVc2VMaWdodExpbmtzRm9yUmVzdWx0LCBCT09MLCAoRERS
ZXN1bHRSZWYgcmVzdWx0LCBCT09MIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpLCAocmVzdWx0LCBl
eHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSkNCiBTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdl
YkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJp
bmdSZWYpDQotI2VuZGlmDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJIdHRwVVJMS2V5LCBDRlN0cmluZ1JlZikNCiBTT0ZU
X0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJp
bmRlcldlYlVSTEtleSwgQ0ZTdHJpbmdSZWYpDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURF
UihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmlu
Z1JlZikNCkBAIC02Nyw5ICs2NSw3IEBAIFNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgRGENCiBTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRl
Y3RvcnNDb3JlLCBERFVSTFNjaGVtZSwgTlNTdHJpbmcgKikNCiBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3Vs
dHNPcHRpb25zRm9yUGFzc2l2ZVVzZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zKQ0KIA0K
LSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2Fu
bmVyRW5hYmxlT3B0aW9uYWxTb3VyY2UsIHZvaWQsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERT
Y2FubmVyU291cmNlIHNvdXJjZSwgQm9vbGVhbiBlbmFibGUpLCAoc2Nhbm5lciwgc291cmNlLCBl
bmFibGUpKQ0KLSNlbmRpZg0KIA0KICNlbmRpZiAvLyBQTEFURk9STShJT1MpDQogDQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5t
bQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRl
Y3RvcnNDb3JlU29mdExpbmsubW0JKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCSh3b3JraW5nIGNv
cHkpDQpAQCAtNDcsMTMgKzQ3LDExIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdl
YkNvcmUsIEQNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRTdWJSZXN1bHRzLCBDRkFycmF5UmVmLCAoRERSZXN1bHRS
ZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNh
dGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIERE
VVJMU3RyaW5nRm9yUmVzdWx0LCBOU1N0cmluZyAqLCAoRERSZXN1bHRSZWYgY3VycmVudFJlc3Vs
dCwgTlNTdHJpbmcgKiByZXN1bHRJZGVudGlmaWVyLCBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRl
Y3Rpb25UeXBlcyBpbmNsdWRpbmdUZWxHcm91cHMsIE5TRGF0ZSAqIHJlZmVyZW5jZURhdGUsIE5T
VGltZVpvbmUgKiByZWZlcmVuY2VUaW1lWm9uZSksIChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVu
dGlmaWVyLCBpbmNsdWRpbmdUZWxHcm91cHMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVa
b25lKSkNCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5TQXJyYXkgKiwgKCksICgpKQ0KIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZElt
bWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMLCBCT09MLCAoTlNVUkwgKnVybCksICh1cmwp
KQ0KIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0LCBCT09MLCAo
RERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9T
T1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkVXNlTGlnaHRMaW5rc0Zv
clJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQk9PTCBleHRyYWN0ZWRGcm9tU2ln
bmF0dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSkpDQogU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJQYXJz
ZWNTb3VyY2VLZXksIENGU3RyaW5nUmVmKQ0KLSNlbmRpZg0KIFNPRlRfTElOS19QT0lOVEVSX0ZP
Ul9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVySHR0cFVSTEtleSwg
Q0ZTdHJpbmdSZWYpDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5nUmVmKQ0KIFNPRlRfTElO
S19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVy
TWFpbFVSTEtleSwgQ0ZTdHJpbmdSZWYpDQpAQCAtNjUsOCArNjMsNiBAQCBTT0ZUX0xJTktfUE9J
TlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTY2hlbWUsIE5TU3RyaW5nICopDQog
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uc0ZvclBhc3NpdmVVc2UsIEREU2Nhbm5lckNvcHlS
ZXN1bHRzT3B0aW9ucykNCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAwMDAwDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlLCB2b2lkLCAoRERTY2Fu
bmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lclNvdXJjZSBzb3VyY2UsIEJvb2xlYW4gZW5hYmxlKSwg
KHNjYW5uZXIsIHNvdXJjZSwgZW5hYmxlKSkNCi0jZW5kaWYNCiANCiAjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pDQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHANCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAkocmV2
aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNTYsNyArNTYsNyBAQCBGb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGZsb2F0DQogew0KIH0NCiANCi0jaWYgVVNFKENH
KSAmJiAoUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMDAwMCkpDQorI2lmIFVTRShDRykgJiYgKFBMQVRG
T1JNKFdJTikgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDEwMTIwMCkpDQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0Zv
bnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhl
dGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50
IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpDQogICAg
IDogRm9udFBsYXRmb3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVl
LCBvcmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkNCiB7DQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRm
b3JtRGF0YS5oCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtODYsNyArODYs
NyBAQCBwdWJsaWM6DQogICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIGNsb25lV2l0aFN5bnRo
ZXRpY09ibGlxdWUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIGJvb2wpOw0KICAgICBzdGF0aWMg
Rm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTaXplKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBm
bG9hdCk7DQogDQotI2lmIFVTRShDRykgJiYgKFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApKQ0K
KyNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApKQ0KICAgICBGb250UGxhdGZvcm1E
YXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRo
ZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwgVGV4dFJlbmRl
cmluZ01vZGUpOw0KICNlbmRpZg0KIA0KQEAgLTEzOCw3ICsxMzgsNyBAQCBwdWJsaWM6DQogDQog
ICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmFyaWF0aW9uczsg
fQ0KIA0KLSNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAwMDAwKSkNCisjaWYg
VVNFKENHKSAmJiAoUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKSkNCiAgICAgQ0dGb250UmVmIGNnRm9udCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9DQogI2VuZGlmDQogDQpAQCAtMjI3LDcg
KzIyNyw3IEBAIHByaXZhdGU6DQogICAgIFJlZlB0cjxTaGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBt
X2ZvbnQ7DQogI2VuZGlmDQogDQotI2lmIFVTRShDRykgJiYgKFBMQVRGT1JNKFdJTikgfHwgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkg
fHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDAwMDApKQ0KKyNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApKQ0KICAgICBSZXRh
aW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsNCiAjZW5kaWYNCiANCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQ0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29h
L1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW0J
KHdvcmtpbmcgY29weSkNCkBAIC0xMDA5LDEwICsxMDA5LDEwIEBAIHZvaWQgUGxhdGZvcm1DQUxh
eWVyQ29jb2E6OnVwZGF0ZUN1c3RvbUENCiAjZW5kaWYNCiB9DQogDQotI2lmIChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwKSB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkN
CisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkNCiBzdGF0aWMgTlNTdHJpbmcgKmxheWVyQ29udGVu
dHNGb3JtYXQoYm9vbCBhY2NlbGVyYXRlc0RyYXdpbmcsIGJvb2wgd2FudHNEZWVwQ29sb3IsIGJv
b2wgc3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkRm9udHMpDQogew0KLSNpZiBQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQorI2lmIFBM
QVRGT1JNKElPUykNCiAgICAgaWYgKHdhbnRzRGVlcENvbG9yKQ0KICAgICAgICAgcmV0dXJuIGtD
QUNvbnRlbnRzRm9ybWF0UkdCQTEwWFI7DQogI2Vsc2UNCkBAIC0xMDM1LDcgKzEwMzUsNyBAQCB2
b2lkIFBsYXRmb3JtQ0FMYXllckNvY29hOjp1cGRhdGVDb250ZW50DQogew0KICAgICBpZiAobV9s
YXllclR5cGUgPT0gTGF5ZXJUeXBlV2ViTGF5ZXIgfHwgbV9sYXllclR5cGUgPT0gTGF5ZXJUeXBl
VGlsZWRCYWNraW5nVGlsZUxheWVyKSB7DQogICAgICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQ
VElPTlMNCi0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gOTAzMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KICAgICAg
ICAgaWYgKE5TU3RyaW5nICpmb3JtYXRTdHJpbmcgPSBsYXllckNvbnRlbnRzRm9ybWF0KGFjY2Vs
ZXJhdGVzRHJhd2luZygpLCB3YW50c0RlZXBDb2xvckJhY2tpbmdTdG9yZSgpLCBzdXBwb3J0c1N1
YnBpeGVsQW50aWFsaWFzZWRUZXh0KCkpKQ0KICAgICAgICAgICAgIFttX2xheWVyIHNldENvbnRl
bnRzRm9ybWF0OmZvcm1hdFN0cmluZ107DQogI2VuZGlmDQpAQCAtMTIwOSw3ICsxMjA5LDcgQEAg
dm9pZCBQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6ZW51bWVyYXRlUmVjdA0KIA0KIHVuc2lnbmVkIFBs
YXRmb3JtQ0FMYXllckNvY29hOjpiYWNraW5nU3RvcmVCeXRlc1BlclBpeGVsKCkgY29uc3QNCiB7
DQotI2lmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gOTAzMDANCisjaWYgUExBVEZPUk0oSU9TKQ0KICAgICBpZiAod2FudHNEZWVwQ29sb3JCYWNr
aW5nU3RvcmUoKSkNCiAgICAgICAgIHJldHVybiBpc09wYXF1ZSgpID8gNCA6IDU7DQogI2VuZGlm
DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtOTcsNyArOTcsNyBAQCBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3Bh
Y2VSZWYoKQ0KIENHQ29sb3JTcGFjZVJlZiBleHRlbmRlZFNSR0JDb2xvclNwYWNlUmVmKCkNCiB7
DQogICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgZXh0ZW5kZWRTUkdCU3BhY2U7DQotI2lmIChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEyMDApDQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApDQogICAgIGV4dGVuZGVkU1JHQlNw
YWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0aE5hbWUoa0NHQ29sb3JTcGFjZUV4dGVuZGVkU1JH
Qik7DQogI2VuZGlmDQogICAgIC8vIElmIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIGV4dGVuZWRl
ZCBzUkdCLCBmYWxsIGJhY2sgdG8gc1JHQi4NCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwCShyZXZp
c2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERG
RG9jdW1lbnRJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9p
ZCBQREZEb2N1bWVudEltYWdlOjpkcmF3UERGUGFnZShHcmFwaA0KICAgICBub3RJbXBsZW1lbnRl
ZCgpOw0KICNlbHNlDQogICAgIC8vIENHUERGIHBhZ2VzIGFyZSBpbmRleGVkIGZyb20gMS4NCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgQ0dDb250ZXh0
RHJhd1BERlBhZ2VXaXRoQW5ub3RhdGlvbnMoY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgQ0dQ
REZEb2N1bWVudEdldFBhZ2UobV9kb2N1bWVudC5nZXQoKSwgMSksIG51bGxwdHIpOw0KICNlbHNl
DQogICAgIENHQ29udGV4dERyYXdQREZQYWdlKGNvbnRleHQucGxhdGZvcm1Db250ZXh0KCksIENH
UERGRG9jdW1lbnRHZXRQYWdlKG1fZG9jdW1lbnQuZ2V0KCksIDEpKTsNCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC0xMjgwLDcgKzEyODAsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gbG9v
a3VwRmFsbGJhDQogICAgIEFTU0VSVChsZW5ndGggPiAwKTsNCiANCiAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7DQotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkgfHwgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApDQorI2lmIFBMQVRGT1JN
KElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEyMDApDQogICAgIGlmICghbG9jYWxlLmlzTnVsbCgpKQ0KICAgICAgICAgbG9jYWxl
U3RyaW5nID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7DQogI2Vsc2UNCkBAIC0x
Mjg5LDcgKzEyODksNyBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gbG9va3VwRmFsbGJh
DQogDQogICAgIENGSW5kZXggY292ZXJlZExlbmd0aCA9IDA7DQogICAgIFJldGFpblB0cjxDVEZv
bnRSZWY+IHJlc3VsdDsNCi0jaWYgIVVTRV9QTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCAm
JiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMDAwMCkpDQorI2lmICFVU0VfUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1Qg
JiYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwKSB8fCBQTEFURk9STShJT1MpKQ0KICAgICByZXN1bHQgPSBhZG9wdENGKENURm9udENy
ZWF0ZVBoeXNpY2FsRm9udEZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoZm9udCwgY2hhcmFjdGVy
cywgbGVuZ3RoLCBsb2NhbGVTdHJpbmcuZ2V0KCksICZjb3ZlcmVkTGVuZ3RoKSk7DQogI2Vsc2UN
CiAgICAgcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1
YWdlKGZvbnQsIGNoYXJhY3RlcnMsIGxlbmd0aCwgbG9jYWxlU3RyaW5nLmdldCgpLCAmY292ZXJl
ZExlbmd0aCkpOw0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDb2NvYS5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtRGVzdHJveSgpDQogDQog
Ym9vbCBGb250Ojp2YXJpYW50Q2Fwc1N1cHBvcnRzQ2hhcmFjdGVyRm9yU3ludGhlc2lzKEZvbnRW
YXJpYW50Q2FwcyBmb250VmFyaWFudENhcHMsIFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdA0KIHsN
Ci0jaWYgKFBMQVRGT1JNKElPUykgJiYgVEFSR0VUX09TX0lPUyAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiAoUExBVEZPUk0oSU9TKSAm
JiBUQVJHRVRfT1NfSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTIwMCkNCiAgICAgR2x5cGggZ2x5cGggPSBnbHlwaEZvckNoYXJh
Y3RlcihjaGFyYWN0ZXIpOw0KICAgICBpZiAoIWdseXBoKQ0KICAgICAgICAgcmV0dXJuIGZhbHNl
Ow0KQEAgLTI3OSw3ICsyNzksNyBAQCBib29sIEZvbnQ6OnZhcmlhbnRDYXBzU3VwcG9ydHNDaGFy
YWN0ZXJGDQogI2VuZGlmDQogfQ0KIA0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBUQVJHRVRfT1Nf
SU9TICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkgfHwgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAp
DQorI2lmIChQTEFURk9STShJT1MpICYmIFRBUkdFVF9PU19JT1MpIHx8IChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KIHN0YXRpYyBS
ZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBzbWFsbENhcHNPcGVuVHlwZURpY3Rpb25hcnkoQ0ZT
dHJpbmdSZWYga2V5LCBpbnQgcmF3VmFsdWUpDQogew0KICAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJS
ZWY+IHZhbHVlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBr
Q0ZOdW1iZXJJbnRUeXBlLCAmcmF3VmFsdWUpKTsNCkBAIC01ODQsNyArNTg0LDcgQEAgRmxvYXRS
ZWN0IEZvbnQ6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoRw0KICAgICByZXR1cm4gYm91bmRpbmdC
b3g7DQogfQ0KIA0KLSNpZiAhKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApKQ0KKyNpZiAhKChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9STShJ
T1MpKQ0KIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxDR1NpemU+IGFkdmFuY2VGb3JDb2xv
ckJpdG1hcEZvbnQoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBHbHlwaCBn
bHlwaCkNCiB7DQogICAgIENURm9udFJlZiBmb250ID0gcGxhdGZvcm1EYXRhLmZvbnQoKTsNCkBA
IC02MTQsNyArNjE0LDcgQEAgZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBo
IA0KICAgICBib29sIGhvcml6b250YWwgPSBwbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09
IEhvcml6b250YWw7DQogICAgIENHRm9udFJlbmRlcmluZ1N0eWxlIHN0eWxlID0ga0NHRm9udFJl
bmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nIHwga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQ
b3NpdGlvbmluZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uIHwg
a0NHRm9udEFudGlhbGlhc2luZ1N0eWxlVW5maWx0ZXJlZDsNCiANCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFU
Rk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkN
CisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgaWYgKHBsYXRmb3JtRGF0YSgpLnNpemUo
KSkgew0KICAgICAgICAgQ1RGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBob3Jpem9udGFs
IHx8IG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayA/IGtDVEZvbnRPcmllbnRhdGlvbkhvcml6
b250YWwgOiBrQ1RGb250T3JpZW50YXRpb25WZXJ0aWNhbDsNCiAgICAgICAgIC8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyBzcGVjaWFsLWNhc2luZyB3aGVuIDxyZGFyOi8vcHJvYmxlbS8yODE5NzI5MT4g
YW5kIDxyZGFyOi8vcHJvYmxlbS8yODY2MjA4Nj4gYXJlIGZpeGVkLg0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQ0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRQbGF0Zm9ybURhdGFDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQkod29y
a2luZyBjb3B5KQ0KQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgew0KIGVudW0g
VGV4dFNwYWNpbmdDVEZlYXR1cmVTZWxlY3RvciB7IFRleHRTcGFjaW5nUHJvcG9ydGlvbmFsLCBU
ZXh0U3BhY2luZ0Z1bGxXaWR0aCwgVGV4dFNwYWNpbmdIYWxmV2lkdGgsIFRleHRTcGFjaW5nVGhp
cmRXaWR0aCwgVGV4dFNwYWNpbmdRdWFydGVyV2lkdGggfTsNCiANCiBGb250UGxhdGZvcm1EYXRh
OjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4
dFJlbmRlcmluZ01vZGUpDQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAwMDAwKQ0KKyNpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDANCiAgICAgOiBGb250UGxhdGZv
cm1EYXRhKGFkb3B0Q0YoQ1RGb250Q29weUdyYXBoaWNzRm9udChmb250LCBOVUxMKSkuZ2V0KCks
IHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0
aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQ0KICNlbHNlDQogICAgIDogRm9udFBsYXRmb3Jt
RGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBvcmllbnRhdGlvbiwg
d2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkNCkBAIC0xNjIsNyArMTYyLDcgQEAgQ1RG
b250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbg0KICAgICAgICAgcmV0dXJuIG1f
Y3RGb250LmdldCgpOw0KIA0KICAgICBBU1NFUlQobV9mb250KTsNCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApDQor
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEw
MTIwMA0KICAgICBBU1NFUlQobV9jZ0ZvbnQpOw0KICNlbmRpZg0KICAgICBtX2N0Rm9udCA9IGFk
b3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fZm9udC5nZXQoKSwgbV9zaXpl
LCAwLCBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFyaWF0aW9uc0ZvbnREZXNjcmlwdG9yKG1fZm9u
dC5nZXQoKSkuZ2V0KCkpKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9JT1N1cmZhY2UubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHJldmlzaW9uIDIxOTA1MSkNCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHdvcmtp
bmcgY29weSkNCkBAIC0yNTMsMTEgKzI1Myw3IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBXZWJD
b3JlOjpJT1N1cmZhY2UNCiANCiBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gV2ViQ29yZTo6SU9TdXJm
YWNlOjpzaW5rSW50b0ltYWdlKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IHN1cmZhY2UpDQog
ew0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDAwMDApIHx8IFBMQVRGT1JNKE1BQykNCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJT1N1
cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2VSZWZlcmVuY2Uoc3VyZmFjZS0+ZW5zdXJlUGxhdGZvcm1D
b250ZXh0KCkpKTsNCi0jZWxzZQ0KLSAgICByZXR1cm4gc3VyZmFjZS0+Y3JlYXRlSW1hZ2UoKTsN
Ci0jZW5kaWYNCiB9DQogDQogdm9pZCBXZWJDb3JlOjpJT1N1cmZhY2U6OnNldENvbnRleHRTaXpl
KEludFNpemUgY29udGV4dFNpemUpDQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uLm1tCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtNzcsNyArNzcsNyBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbjo6c2V0VGltDQogICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5k
bGVyKG1fdGltZXJTb3VyY2UuZ2V0KCksIFt0aGlzXSB7DQogICAgICAgICAgICAgICAgIGF1dG9t
YXRpY0RlcXVldWUoKTsNCiAgICAgICAgICAgICB9KTsNCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEy
MDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgICAgICAgICBkaXNwYXRjaF9hY3RpdmF0ZShtX3Rp
bWVyU291cmNlLmdldCgpKTsNCiAjZW5kaWYNCiAgICAgICAgIH0NCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQko
cmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9Gb250Q2FjaGVJT1MubW0JKHdvcmtpbmcgY29weSkNCkBAIC05Niw3ICs5Niw2IEBAIHN0YXRp
YyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gYmENCiAgICAgcmV0dXJuIGFkb3B0Q0Yo
Q1RGb250RGVzY3JpcHRvckNyZWF0ZUZvclVJVHlwZShmb250VHlwZSwgc2l6ZSwgbnVsbHB0cikp
Ow0KIH0NCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAw
DQogc3RhdGljIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IHN5c3RlbUZvbnRNb2RpZmljYXRpb25B
dHRyaWJ1dGVzKEZvbnRTZWxlY3Rpb25WYWx1ZSB3ZWlnaHQsIGJvb2wgaXRhbGljKQ0KIHsNCiAg
ICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IHRyYWl0c0RpY3Rpb25hcnkgPSBhZG9w
dE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOw0KQEAgLTEyOSwxOSArMTI4
LDEyIEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBzeXN0ZW1Gb24NCiANCiAgICAg
cmV0dXJuIEB7IHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KGtDVEZvbnRUcmFpdHNBdHRyaWJ1dGUp
IDogdHJhaXRzRGljdGlvbmFyeS5nZXQoKSB9Ow0KIH0NCi0jZW5kaWYNCiANCiBzdGF0aWMgUmV0
YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IHN5c3RlbUZvbnREZXNjcmlwdG9yKEZvbnRTZWxl
Y3Rpb25WYWx1ZSB3ZWlnaHQsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUpDQog
ew0KICAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gZm9udERlc2NyaXB0b3IgPSBi
YXNlU3lzdGVtRm9udERlc2NyaXB0b3Iod2VpZ2h0LCBib2xkLCBzaXplKTsNCi0jaWYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAgIFJldGFpblB0cjxOU0Rp
Y3Rpb25hcnk+IGF0dHJpYnV0ZXMgPSBzeXN0ZW1Gb250TW9kaWZpY2F0aW9uQXR0cmlidXRlcyh3
ZWlnaHQsIGl0YWxpYyk7DQogICAgIHJldHVybiBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVh
dGVDb3B5V2l0aEF0dHJpYnV0ZXMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHN0YXRpY19jYXN0PENG
RGljdGlvbmFyeVJlZj4oYXR0cmlidXRlcy5nZXQoKSkpKTsNCi0jZWxzZQ0KLSAgICBpZiAoaXRh
bGljKQ0KLSAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZUNvcHlX
aXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIGtDVEZvbnRJdGFsaWNUcmFp
dCwga0NURm9udEl0YWxpY1RyYWl0KSk7DQotICAgIHJldHVybiBmb250RGVzY3JpcHRvcjsNCi0j
ZW5kaWYNCiB9DQogI2VuZGlmDQogDQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
Y3BwCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNjAs
NyArNjAsNyBAQCBib29sIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OnN1cHBvcnRzRm9yDQogew0K
ICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAidHJ1ZXR5
cGUiKQ0KICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAi
b3BlbnR5cGUiKQ0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0K
ICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAid29mZjIi
KQ0KICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQ0KICAgICAgICAgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAid29mZjItdmFyaWF0aW9ucyIpDQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQ0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0J
KHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5
VGlsZUdyaWRUaWxlLm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtNjEsMTAgKzYxLDkgQEAgTGVnYWN5
VGlsZUdyaWRUaWxlOjpMZWdhY3lUaWxlR3JpZFRpbGUoTA0KICAgICAgICAgbV90aWxlTGF5ZXIg
PSBhZG9wdE5TKFtbTGVnYWN5VGlsZUxheWVyIGFsbG9jXSBpbml0XSk7DQogICAgIH0NCiAgICAg
TGVnYWN5VGlsZUxheWVyKiBsYXllciA9IG1fdGlsZUxheWVyLmdldCgpOw0KLSNpZiBQTEFURk9S
TShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQogICAg
IGlmIChzY3JlZW5TdXBwb3J0c0V4dGVuZGVkQ29sb3IoKSkNCiAgICAgICAgIGxheWVyLmNvbnRl
bnRzRm9ybWF0ID0ga0NBQ29udGVudHNGb3JtYXRSR0JBMTBYUjsNCi0jZW5kaWYNCisNCiAgICAg
W2xheWVyIHNldFRpbGVHcmlkOnRpbGVHcmlkXTsNCiAgICAgW2xheWVyIHNldE9wYXF1ZTptX3Rp
bGVHcmlkLT50aWxlQ2FjaGUoKS50aWxlc09wYXF1ZSgpXTsNCiAgICAgW2xheWVyIHNldEVkZ2VB
bnRpYWxpYXNpbmdNYXNrOjBdOw0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTcxLDExICs3MSw3IEBAIGJvb2wgc2NyZWVuSGFzSW52ZXJ0ZWRDb2xvcnMoKQ0KIA0K
IGJvb2wgc2NyZWVuU3VwcG9ydHNFeHRlbmRlZENvbG9yKFdpZGdldCopDQogew0KLSNpZiBQTEFU
Rk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQog
ICAgIHJldHVybiBNR0dldEJvb2xBbnN3ZXIoa01HUUhhc0V4dGVuZGVkQ29sb3JEaXNwbGF5KTsN
Ci0jZWxzZQ0KLSAgICByZXR1cm4gZmFsc2U7DQotI2VuZGlmDQogfQ0KIA0KIC8vIFRoZXNlIGZ1
bmN0aW9ucyBzY2FsZSBiZXR3ZWVuIHNjcmVlbiBhbmQgcGFnZSBjb29yZGluYXRlcyBiZWNhdXNl
IEphdmFTY3JpcHQvRE9NIG9wZXJhdGlvbnMNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQkocmV2aXNp
b24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0JKHdvcmtpbmcgY29weSkNCkBAIC0zNiw5ICszNiw3IEBADQogU09GVF9M
SU5LX0ZSQU1FV09SSyhNZWRpYVBsYXllcikNCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIs
IE1QUmVtb3RlQ29tbWFuZENlbnRlcikNCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1Q
U2Vla0NvbW1hbmRFdmVudCkNCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSA5MDEwMA0KIFNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBDaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZEV2ZW50KQ0KLSNlbmRpZg0KIA0KIG5hbWVzcGFjZSBXZWJDb3JlIHsNCiAN
CkBAIC0xMTQsNyArMTEyLDYgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21t
YW5kTA0KICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNz
Ow0KICAgICB9XTsNCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSA5
MDEwMA0KICAgICBtX3NlZWtUb1RpbWVUYXJnZXQgPSBbW2NlbnRlciBjaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZF0gYWRkVGFyZ2V0V2l0aEhhbmRsZXI6XihNUFJlbW90ZUNvbW1hbmRFdmVu
dCAqZXZlbnQpIHsNCiAgICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENo
YW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7DQogDQpAQCAtMTMyLDcg
KzEyOSw2IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZEwNCiANCiAg
ICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsNCiAgICAg
fV07DQotI2VuZGlmDQogfQ0KIA0KIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6flJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUygpDQpAQCAtMTQzLDE2ICsxMzksMTIgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjp+UmVtb3RlQ29tbWFuZA0KICAgICBbW2NlbnRlciB0b2dnbGVQbGF5UGF1c2VD
b21tYW5kXSByZW1vdmVUYXJnZXQ6bV90b2dnbGVQbGF5UGF1c2VUYXJnZXQuZ2V0KCldOw0KICAg
ICBbW2NlbnRlciBzZWVrRm9yd2FyZENvbW1hbmRdIHJlbW92ZVRhcmdldDptX3NlZWtGb3J3YXJk
VGFyZ2V0LmdldCgpXTsNCiAgICAgW1tjZW50ZXIgc2Vla0JhY2t3YXJkQ29tbWFuZF0gcmVtb3Zl
VGFyZ2V0Om1fc2Vla0JhY2t3YXJkVGFyZ2V0LmdldCgpXTsNCi0jaWYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSA5MDEwMA0KICAgICBbW2NlbnRlciBjaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZF0gcmVtb3ZlVGFyZ2V0Om1fc2Vla1RvVGltZVRhcmdldC5nZXQoKV07DQot
I2VuZGlmDQogfQ0KIA0KIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjp1cGRhdGVTdXBw
b3J0ZWRDb21tYW5kcygpDQogew0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VE
ID49IDkwMTAwDQogICAgIFtbW2dldE1QUmVtb3RlQ29tbWFuZENlbnRlckNsYXNzKCkgc2hhcmVk
Q29tbWFuZENlbnRlcl0gY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRdIHNldEVuYWJsZWQ6
ISFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmcoKV07DQotI2VuZGlmDQogfQ0KIA0KIH0NCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgJKHJl
dmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xMzksNyArMTM5LDcgQEAgdHlwZWRlZiB2b2lk
ICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYQ0KIEBlbmQNCiAjZW5kaWYNCiANCi0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAp
IHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiBAaW50ZXJmYWNlIE5TSFRUUENv
b2tpZSAoKQ0KIEBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAq
X3N0b3JhZ2VQYXJ0aXRpb247DQogQGVuZA0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaAkocmV2aXNpb24gMjE5MDUxKQ0KKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTE4OCw3ICsxODgsNyBAQCBDR0RhdGFQcm92aWRlclJlZiBDR1BERkRvY3Vt
ZW50R2V0RGF0YVByDQogQ0dGb250QW50aWFsaWFzaW5nU3R5bGUgQ0dDb250ZXh0R2V0Rm9udEFu
dGlhbGlhc2luZ1N0eWxlKENHQ29udGV4dFJlZik7DQogdm9pZCBDR0NvbnRleHRTZXRGb250QW50
aWFsaWFzaW5nU3R5bGUoQ0dDb250ZXh0UmVmLCBDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZSk7DQog
DQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDApDQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9STShJT1MpDQogdHlwZWRlZiBz
dHJ1Y3QgQ0dQREZBbm5vdGF0aW9uICpDR1BERkFubm90YXRpb25SZWY7DQogdHlwZWRlZiBib29s
ICheQ0dQREZBbm5vdGF0aW9uRHJhd0NhbGxiYWNrVHlwZSkoQ0dDb250ZXh0UmVmIGNvbnRleHQs
IENHUERGUGFnZVJlZiBwYWdlLCBDR1BERkFubm90YXRpb25SZWYgYW5ub3RhdGlvbik7DQogdm9p
ZCBDR0NvbnRleHREcmF3UERGUGFnZVdpdGhBbm5vdGF0aW9ucyhDR0NvbnRleHRSZWYsIENHUERG
UGFnZVJlZiwgQ0dQREZBbm5vdGF0aW9uRHJhd0NhbGxiYWNrVHlwZSk7DQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmgNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGF0YURldGVjdG9y
c0NvcmVTUEkuaAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMzYs
OSArMzYsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0REUmVzdWx0ICpERFJlc3VsdFJlZjsNCiAjaW1w
b3J0IDxEYXRhRGV0ZWN0b3JzQ29yZS9EYXRhRGV0ZWN0b3JzQ29yZS5oPg0KIA0KICNpZiBQTEFU
Rk9STShJT1MpDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MA0KICNpbXBvcnQgPERhdGFEZXRlY3RvcnNDb3JlL0RET3B0aW9uYWxTb3VyY2UuaD4NCi0jZW5k
aWYNCiAjaW1wb3J0IDxEYXRhRGV0ZWN0b3JzQ29yZS9ERFVSTGlmaWVyLmg+DQogI2VuZGlmIC8v
IFBMQVRGT1JNKElPUykNCiANCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvUXVhcnR6Q29yZVNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgJKHdvcmtpbmcgY29w
eSkNCkBAIC04NCw5ICs4NCw2IEBADQogQHByb3BlcnR5IEJPT0wgaGl0VGVzdHNBc09wYXF1ZTsN
CiBAcHJvcGVydHkgQk9PTCBuZWVkc0xheW91dE9uR2VvbWV0cnlDaGFuZ2U7DQogQHByb3BlcnR5
IEJPT0wgc2hhZG93UGF0aElzQm91bmRzOw0KLSNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPCAxMDAwMDANCi1AcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpjb250ZW50
c0Zvcm1hdDsNCi0jZW5kaWYNCiBAZW5kDQogDQogI2lmIFBMQVRGT1JNKElPUykNCkBAIC0yMDUs
NyArMjAyLDcgQEAgZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qga0NBQ29udGV4dERpc3BsYQ0KIGV4
dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQUNvbnRleHREaXNwbGF5SWQ7DQogZXh0ZXJuIE5TU3Ry
aW5nICogY29uc3Qga0NBQ29udGV4dElnbm9yZXNIaXRUZXN0Ow0KIA0KLSNpZiBQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQorI2lmIFBM
QVRGT1JNKElPUykNCiBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBrQ0FDb250ZW50c0Zvcm1hdFJH
QkExMFhSOw0KICNlbmRpZg0KIA0KQEAgLTIxMywxMCArMjEwLDcgQEAgZXh0ZXJuIE5TU3RyaW5n
ICogY29uc3Qga0NBQ29udGVudHNGb3JtYQ0KIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQUNv
bnRlbnRzRm9ybWF0UkdCQThDb2xvclJHQkE4TGluZWFyR2x5cGhNYXNrOw0KICNlbmRpZg0KIA0K
LSNpZiAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwg
MTAwMDAwKSBcDQotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPCAzMDAwMCkgXA0KLSAgICB8fCAoUExBVEZPUk0oSU9TKSAmJiBUQVJH
RVRfT1NfSU9TICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDAwMDApIFwN
Ci0gICAgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
IDwgMTAxMjAwKQ0KKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhf
QUxMT1dFRCA8IDEwMTIwMA0KIEBwcm90b2NvbCBDQUxheWVyRGVsZWdhdGUgPE5TT2JqZWN0Pg0K
IEBlbmQNCiANCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRh
dGlvblNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21h
Yy9BVkZvdW5kYXRpb25TUEkuaAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC03
Niw3ICs3Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORA0KIA0KICNlbmRpZiAvLyBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQ0KIA0KLSNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMjAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEID49IDEwMTIwMCkgfHwgUExBVEZPUk0oSU9TKQ0KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VkFzc2V0Q2FjaGUuaD4NCiAjZWxzZQ0KIEBpbnRlcmZhY2UgQVZBc3NldENhY2hlIDogTlNPYmpl
Y3QNCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMjYgQEANCisyMDE3LTA3LTAx
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1v
dmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6DQorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZzoNCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOg0K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToNCisgICAgICAgICgt
W1dLV2ViVmlldyBkZWFsbG9jXSk6DQorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tOg0KKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHNldFN1
Z2dlc3Rpb25zOl0pOg0KKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIGludmFsaWRhdGVd
KToNCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5zZXJ0VGV4dFN1Z2dlc3Rpb246XSk6DQor
ICAgICAgICAoY29udGVudFR5cGVGcm9tRmllbGROYW1lKToNCisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgdGV4dElucHV0VHJhaXRzXSk6DQorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kYXRh
Rm9yUHJldmlld0l0ZW1Db250cm9sbGVyOmF0UG9zaXRpb246dHlwZTpdKToNCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOg0KKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1hdGlvbik6DQorICAgICAgICAqIGNvbmZpZy5oOg0K
Kw0KIDIwMTctMDctMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+DQogDQogICAg
ICAgICBGcmFtZS5oIGRvZXNuJ3QgbmVlZCB0byBpbmNsdWRlIEZyYW1lTG9hZGVyLmgsIEludFJl
Y3QuaCwgYW5kIE5hdmlnYXRpb25TY2hlZHVsZXIuaA0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL2Nv
bmZpZy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvY29uZmlnLmgJKHJldmlzaW9u
IDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViS2l0Mi9jb25maWcuaAkod29ya2luZyBjb3B5KQ0KQEAg
LTczLDExICs3Myw3IEBADQogI2VuZGlmDQogI2VuZGlmDQogDQotI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSBcDQotICAgIHx8
IChQTEFURk9STShJT1MpICYmIFRBUkdFVF9PU19JT1MgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAwMDAwKSBcDQotICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBf
X1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkgXA0KLSAgICB8fCAoUExBVEZP
Uk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAzMDAwMCkg
XA0KLSAgICB8fCBVU0UoU09VUCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZP
Uk0oQVBQTEVUVikgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgVVNFKFNPVVApDQogI2lmbmRlZiBV
U0VfTkVUV09SS19TRVNTSU9ODQogI2RlZmluZSBVU0VfTkVUV09SS19TRVNTSU9OIDENCiAjZW5k
aWYNCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkN
CkBAIC00NSw4ICs0NSw2IEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdb
c2QNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1pcGhvbmUqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV8k
KFBMQVRGT1JNX05BTUUpKTsNCiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQ
UExFX1BBWTsNCiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBM
RV9QQVk7DQotRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lb3M5Kl0gPSA7DQotRU5BQkxFX0FQ
UExFX1BBWVtzZGs9aXBob25lc2ltdWxhdG9yOSpdID0gOw0KIA0KIERJU0FCTEVfQVBQTEVfUEFZ
X21hY29zeCA9ICQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTEVTU19USEFOXzEwMTIwMDApOw0K
IEVOQUJMRV9BUFBMRV9QQVlbc2RrPW1hY29zeCpdID0gJChFTkFCTEVfQVBQTEVfUEFZX0lGX05P
VF8kKERJU0FCTEVfQVBQTEVfUEFZX21hY29zeCkpOw0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwkocmV2aXNpb24gMjE5MDUxKQ0KKysr
IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQ0KQEAgLTc4LDkgKzc4LDYgQEAgV0tfRlJBTUVXT1JLX0hFQURFUl9QT1NUUFJPQ0VTU0lO
R19ESVNBQg0KIFdLX0ZSQU1FV09SS19IRUFERVJfUE9TVFBST0NFU1NJTkdfRElTQUJMRURfbWFj
b3N4XzEwMTEwMCA9IFlFUzsNCiBXS19GUkFNRVdPUktfSEVBREVSX1BPU1RQUk9DRVNTSU5HX0RJ
U0FCTEVEX21hY29zeF8xMDEyMDAgPSBZRVM7DQogDQotV0tfRlJBTUVXT1JLX0hFQURFUl9QT1NU
UFJPQ0VTU0lOR19ESVNBQkxFRFtzZGs9aXBob25lb3M5Kl0gPSBZRVM7DQotV0tfRlJBTUVXT1JL
X0hFQURFUl9QT1NUUFJPQ0VTU0lOR19ESVNBQkxFRFtzZGs9aXBob25lc2ltdWxhdG9yOSpdID0g
WUVTOw0KLQ0KIFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19MREZMQUdTID0gJChXS19SRUxPQ0FU
QUJMRV9GUkFNRVdPUktfTERGTEFHU18kKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS1MpKTsNCiBX
S19SRUxPQ0FUQUJMRV9GUkFNRVdPUktfTERGTEFHU19ZRVMgPSAtV2wsLW5vdF9mb3JfZHlsZF9z
aGFyZWRfY2FjaGU7DQogDQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9V
SUtpdFNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTkwNTEpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9VSUtpdFNQSS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMjQyLDEyICsyNDIsNiBA
QCB0eXBlZGVmIGVudW0gew0KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHJldGFp
bikgVUlSZXNwb25kZXIgPFVJS2V5SW5wdXQ+ICpkZWxlZ2F0ZTsNCiBAZW5kDQogDQotQGludGVy
ZmFjZSBVSUdlc3R1cmVSZWNvZ25pemVyICgpDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPCA5MDIwMA0KLUBwcm9wZXJ0eShub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8TlNO
dW1iZXIgKj4gKmFsbG93ZWRUb3VjaFR5cGVzOw0KLSNlbmRpZg0KLUBlbmQNCi0NCiBAaW50ZXJm
YWNlIFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgKCkNCiBAcHJvcGVydHkgKG5vbmF0b21p
YykgQ0ZUaW1lSW50ZXJ2YWwgZGVsYXk7DQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBDR1BvaW50IHN0YXJ0UG9pbnQ7DQpAQCAtMjk5LDE2ICsyOTMsNiBAQCB0eXBlZGVmIGVudW0g
ew0KIC0gKENBRGlzcGxheSAqKV9kaXNwbGF5Ow0KIEBlbmQNCiANCi0jaWYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8IDkwMTAwDQotdHlwZWRlZiBlbnVtIHsNCi0gICAgVUlUb3Vj
aFR5cGVEaXJlY3QNCi19IFVJVG91Y2hUeXBlOw0KLQ0KLUBpbnRlcmZhY2UgVUlUb3VjaCAoKQ0K
LUBwcm9wZXJ0eShub25hdG9taWMscmVhZG9ubHkpIFVJVG91Y2hUeXBlIHR5cGU7DQotQGVuZA0K
LSNlbmRpZg0KLQ0KIEBpbnRlcmZhY2UgVUlTY3JvbGxWaWV3ICgpDQogLSAodm9pZClfc3RvcFNj
cm9sbGluZ0FuZFpvb21pbmdBbmltYXRpb25zOw0KIC0gKHZvaWQpX3pvb21Ub0NlbnRlcjooQ0dQ
b2ludCljZW50ZXIgc2NhbGU6KENHRmxvYXQpc2NhbGUgZHVyYXRpb246KENGVGltZUludGVydmFs
KWR1cmF0aW9uIGZvcmNlOihCT09MKWZvcmNlOw0KQEAgLTM4NSwxMyArMzY5LDExIEBAIHR5cGVk
ZWYgZW51bSB7DQogLSAodm9pZCl3aWxsU3RhcnRTY3JvbGxpbmdPdmVyZmxvdzsNCiBAZW5kDQog
DQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KIEBjbGFz
cyBVSVRleHRTdWdnZXN0aW9uOw0KIA0KIEBwcm90b2NvbCBVSVRleHRJbnB1dFN1Z2dlc3Rpb25E
ZWxlZ2F0ZSA8VUlUZXh0SW5wdXREZWxlZ2F0ZT4NCiAtICh2b2lkKXNldFN1Z2dlc3Rpb25zOihO
U0FycmF5IDxVSVRleHRTdWdnZXN0aW9uKj4gKilzdWdnZXN0aW9uczsNCiBAZW5kDQotI2VuZGlm
DQogDQogQGludGVyZmFjZSBVSVZpZXdDb250cm9sbGVyICgpDQogKyAoVUlWaWV3Q29udHJvbGxl
ciAqKV92aWV3Q29udHJvbGxlckZvckZ1bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzooVUlW
aWV3ICopdmlldzsNCkBAIC01NjksMTEgKzU1MSw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFVJV0tIYW5kbGVQb3MNCiBAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBOU1Jhbmdl
IHJhbmdlSW5NYXJrZWRUZXh0Ow0KIEBlbmQNCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA8IDEwMDAwMA0KLUBwcm90b2NvbCBVSVJlc3BvbmRlclN0YW5kYXJkRWRpdEFj
dGlvbnMNCi1AZW5kDQotI2VuZGlmDQotDQogQGludGVyZmFjZSBVSVdLVGV4dEludGVyYWN0aW9u
QXNzaXN0YW50IDogVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgPFVJUmVzcG9uZGVyU3RhbmRh
cmRFZGl0QWN0aW9ucz4NCiBAZW5kDQogDQpAQCAtOTI2LDkgKzkwMyw3IEBAIGV4dGVybiBjb25z
dCBOU1N0cmluZyAqVUlQcmV2aWV3RGF0YUxpbmsNCiBleHRlcm4gY29uc3QgTlNTdHJpbmcgKlVJ
UHJldmlld0RhdGFERFJlc3VsdDsNCiBleHRlcm4gY29uc3QgTlNTdHJpbmcgKlVJUHJldmlld0Rh
dGFERENvbnRleHQ7DQogDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMDAwMA0KIGV4dGVybiBjb25zdCBOU1N0cmluZyAqVUlQcmV2aWV3RGF0YUF0dGFjaG1lbnRM
aXN0Ow0KIGV4dGVybiBjb25zdCBOU1N0cmluZyAqVUlQcmV2aWV3RGF0YUF0dGFjaG1lbnRJbmRl
eDsNCi0jZW5kaWYNCiANCiBXVEZfRVhURVJOX0NfRU5EDQpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0NCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMjE5MDUx
KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCSh3
b3JraW5nIGNvcHkpDQpAQCAtMTQzLDcgKzE0Myw2IEBADQogI2ltcG9ydCA8V2ViQ29yZS9XZWJC
YWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIuaD4NCiAjaW1wb3J0IDxXZWJDb3JlL1dlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlckNsaWVudC5oPg0KIA0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDANCiAjaWYgX19oYXNfaW5jbHVkZSg8QWNjZXNzaWJpbGl0eVN1cHBv
cnQuaD4pDQogI2luY2x1ZGUgPEFjY2Vzc2liaWxpdHlTdXBwb3J0Lmg+DQogI2Vsc2UNCkBAIC0x
NTEsNyArMTUwLDYgQEAgZXh0ZXJuICJDIiB7DQogQ0ZTdHJpbmdSZWYga0FYU0FsbG93Rm9yY2VX
ZWJTY2FsaW5nRW5hYmxlZE5vdGlmaWNhdGlvbjsNCiB9DQogI2VuZGlmDQotI2VuZGlmDQogDQog
I2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoX3BhZ2Ug
JiYgX3BhZ2UtPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBWaWV3U3RhdGUsIF9fVkFfQVJH
U19fKQ0KIA0KQEAgLTY4MSw3ICs2NzksNyBAQCAtICh2b2lkKWRlYWxsb2MNCiANCiAgICAgW19y
ZW1vdGVPYmplY3RSZWdpc3RyeSBfaW52YWxpZGF0ZV07DQogICAgIFtbX2NvbmZpZ3VyYXRpb24g
X2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5XSByZW1vdmVQYWdlOipfcGFnZV07DQotI2lmIFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQor
I2lmIFBMQVRGT1JNKElPUykNCiAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCAoX19icmlkZ2Ug
Y29uc3Qgdm9pZCAqKShzZWxmKSwgbnVsbHB0ciwgbnVsbHB0cik7DQogI2VuZGlmDQogICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZl07
DQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5n
IGNvcHkpDQpAQCAtMzk0LDE5ICszOTQsMTUgQEAgLSAoTlNBcnJheTxVSVRleHRTdWdnZXN0aW9u
ICo+ICopc3VnZ2VzdA0KIA0KIC0gKHZvaWQpc2V0U3VnZ2VzdGlvbnM6KE5TQXJyYXk8VUlUZXh0
U3VnZ2VzdGlvbiAqPiAqKXN1Z2dlc3Rpb25zDQogew0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiAgICAgaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRl
bGVnYXRlPiBzdWdnZXN0aW9uRGVsZWdhdGUgPSAoaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRl
bGVnYXRlPilfY29udGVudFZpZXcuaW5wdXREZWxlZ2F0ZTsNCiAgICAgX3N1Z2dlc3Rpb25zID0g
YWRvcHROUyhbc3VnZ2VzdGlvbnMgY29weV0pOw0KICAgICBbc3VnZ2VzdGlvbkRlbGVnYXRlIHNl
dFN1Z2dlc3Rpb25zOnN1Z2dlc3Rpb25zXTsNCi0jZW5kaWYNCiB9DQogDQogLSAodm9pZClpbnZh
bGlkYXRlDQogew0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAw
MDANCiAgICAgaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRlbGVnYXRlPiBzdWdnZXN0aW9uRGVs
ZWdhdGUgPSAoaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRlbGVnYXRlPilfY29udGVudFZpZXcu
aW5wdXREZWxlZ2F0ZTsNCiAgICAgW3N1Z2dlc3Rpb25EZWxlZ2F0ZSBzZXRTdWdnZXN0aW9uczpu
aWxdOw0KLSNlbmRpZg0KICAgICBfY29udGVudFZpZXcgPSBuaWw7DQogfQ0KIA0KQEAgLTI5Nzks
MTQgKzI5NzUsMTIgQEAgLSAodm9pZCllbmRTZWxlY3Rpb25DaGFuZ2UNCiAgICAgW3NlbGYuaW5w
dXREZWxlZ2F0ZSBzZWxlY3Rpb25EaWRDaGFuZ2U6c2VsZl07DQogfQ0KICAgICANCi0jaWYgX19J
UEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogLSAodm9pZClpbnNlcnRU
ZXh0U3VnZ2VzdGlvbjooVUlUZXh0U3VnZ2VzdGlvbiAqKXRleHRTdWdnZXN0aW9uDQogew0KICAg
ICBpZCA8X1dLSW5wdXREZWxlZ2F0ZT4gaW5wdXREZWxlZ2F0ZSA9IFtfd2ViVmlldyBfaW5wdXRE
ZWxlZ2F0ZV07DQogICAgIGlmIChbaW5wdXREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3Omluc2VydFRleHRTdWdnZXN0aW9uOmluSW5wdXRTZXNzaW9uOildKQ0K
ICAgICAgICAgW2lucHV0RGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgaW5zZXJ0VGV4dFN1Z2dl
c3Rpb246dGV4dFN1Z2dlc3Rpb24gaW5JbnB1dFNlc3Npb246X2Zvcm1JbnB1dFNlc3Npb24uZ2V0
KCldOw0KIH0NCi0jZW5kaWYNCiANCiAtIChOU1N0cmluZyAqKXRleHRJblJhbmdlOihVSVRleHRS
YW5nZSAqKXJhbmdlDQogew0KQEAgLTMyMDIsNyArMzE5Niw2IEBAIHN0YXRpYyBVSVRleHRBdXRv
Y2FwaXRhbGl6YXRpb25UeXBlIHRvVUkNCiAgICAgcmV0dXJuIFVJVGV4dEF1dG9jYXBpdGFsaXph
dGlvblR5cGVTZW50ZW5jZXM7DQogfQ0KIA0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDANCiBzdGF0aWMgTlNTdHJpbmcgKmNvbnRlbnRUeXBlRnJvbUZpZWxk
TmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBmaWVsZE5hbWUpDQogew0KICAgICBzd2l0
Y2ggKGZpZWxkTmFtZSkgew0KQEAgLTMyODUsNyArMzI3OCw2IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y29udGVudFR5cGVGcm9tRmllbGROYW0NCiANCiAgICAgcmV0dXJuIG5pbDsNCiB9DQotI2VuZGlm
DQogDQogLy8gVUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sDQogLy8gRGlyZWN0IGFjY2VzcyB0
byB0aGUgKHByaXZhdGUpIFVJVGV4dElucHV0VHJhaXRzIG9iamVjdC4NCkBAIC0zMzI4LDkgKzMz
MjAsNyBAQCAtIChVSVRleHRJbnB1dFRyYWl0cyAqKXRleHRJbnB1dFRyYWl0cw0KICAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07DQogICAgIH0N
CiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAg
IFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lKV07DQotI2VuZGlmDQogDQog
ICAgIHJldHVybiBfdHJhaXRzLmdldCgpOw0KIH0NCkBAIC01MDA4LDcgKzQ5OTgsNiBAQCAtIChO
U0RpY3Rpb25hcnkgKilfZGF0YUZvclByZXZpZXdJdGVtQ29uDQogICAgICAgICAqdHlwZSA9IFVJ
UHJldmlld0l0ZW1UeXBlSW1hZ2U7DQogICAgICAgICBkYXRhRm9yUHJldmlld1tVSVByZXZpZXdE
YXRhTGlua10gPSAoTlNVUkwgKilfcG9zaXRpb25JbmZvcm1hdGlvbi5pbWFnZVVSTDsNCiAgICAg
fSBlbHNlIGlmIChjYW5TaG93QXR0YWNobWVudFByZXZpZXcpIHsNCi0jaWYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAgICAgICAqdHlwZSA9IFVJUHJldmll
d0l0ZW1UeXBlQXR0YWNobWVudDsNCiAgICAgICAgIGF1dG8gZWxlbWVudCA9IGFkb3B0TlMoW1tf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10gX2luaXRXaXRoVHlwZTpfV0tBY3RpdmF0ZWRF
bGVtZW50VHlwZUF0dGFjaG1lbnQgVVJMOihOU1VSTCAqKWxpbmtVUkwgbG9jYXRpb246X3Bvc2l0
aW9uSW5mb3JtYXRpb24ucmVxdWVzdC5wb2ludCB0aXRsZTpfcG9zaXRpb25JbmZvcm1hdGlvbi50
aXRsZSBJRDpfcG9zaXRpb25JbmZvcm1hdGlvbi5pZEF0dHJpYnV0ZSByZWN0Ol9wb3NpdGlvbklu
Zm9ybWF0aW9uLmJvdW5kcyBpbWFnZTpuaWxdKTsNCiAgICAgICAgIE5TVUludGVnZXIgaW5kZXgg
PSBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBpbmRleEludG9BdHRhY2htZW50TGlzdEZv
ckVsZW1lbnQ6ZWxlbWVudC5nZXQoKV07DQpAQCAtNTAyMyw3ICs1MDEyLDYgQEAgLSAoTlNEaWN0
aW9uYXJ5ICopX2RhdGFGb3JQcmV2aWV3SXRlbUNvbg0KICAgICAgICAgICAgIC8vIEZJWE1FOiBS
ZXBsYWNlIHRoZSBmb2xsb3dpbmcgTlNTdHJpbmcgbGl0ZXJhbCB3aXRoIGEgVUlLaXQgTlNTdHJp
bmcgY29uc3RhbnQuDQogICAgICAgICAgICAgZGF0YUZvclByZXZpZXdbQCJVSVByZXZpZXdEYXRh
QXR0YWNobWVudExpc3RTb3VyY2VJc01hbmFnZWQiXSA9IFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpzb3VyY2VJc01hbmFnZWRdOw0KICAgICAgICAgfQ0KLSNlbmRpZg0KICAgICB9DQogICAgIA0K
ICAgICByZXR1cm4gZGF0YUZvclByZXZpZXc7DQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCShyZXZpc2lvbiAyMTkw
NTEpDQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtMjUzNSw5ICsyNTM1LDcgQEAgdm9pZCBXZWJQYWdlOjpn
ZXRQb3NpdGlvbkluZm9ybWF0aW9uKGNvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZsb2F0U2l6ZSBiaXRtYXBTaXplID0gc2NhbGVkU2l6ZS53aWR0aCgpIDwgaW1hZ2Ut
PnNpemUoKS53aWR0aCgpID8gc2NhbGVkU2l6ZSA6IGltYWdlLT5zaXplKCk7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IE9ubHkgc2VsZWN0IEV4dGVuZGVk
Q29sb3Igb24gaW1hZ2VzIGtub3duIHRvIG5lZWQgd2lkZSBnYW11dA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNoYXJlYWJsZUJpdG1hcDo6RmxhZ3MgZmxhZ3MgPSBTaGFy
ZWFibGVCaXRtYXA6OlN1cHBvcnRzQWxwaGE7DQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMDAwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsYWdzIHw9IHNjcmVlblN1cHBvcnRzRXh0ZW5kZWRDb2xvcigpID8gU2hhcmVhYmxlQml0bWFw
OjpTdXBwb3J0c0V4dGVuZGVkQ29sb3IgOiAwOw0KLSNlbmRpZg0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBzaGFyZWRCaXRt
YXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShJbnRTaXplKGJpdG1hcFNpemUp
LCBmbGFncykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0
byBncmFwaGljc0NvbnRleHQgPSBzaGFyZWRCaXRtYXAtPmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgp
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFwaGljc0NvbnRl
eHQtPmRyYXdJbWFnZSgqaW1hZ2UsIEZsb2F0UmVjdCgwLCAwLCBiaXRtYXBTaXplLndpZHRoKCks
IGJpdG1hcFNpemUuaGVpZ2h0KCkpKTsNCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIxOTA1MSkNCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDMgKzEsMTIgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1
aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
DQorDQogMjAxNy0wNy0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4NCiANCiAg
ICAgICAgIEZyYW1lLmggZG9lc24ndCBuZWVkIHRvIGluY2x1ZGUgRnJhbWVMb2FkZXIuaCwgSW50
UmVjdC5oLCBhbmQgTmF2aWdhdGlvblNjaGVkdWxlci5oDQpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBA
QCBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExF
X1BBWVtzZGs9aXBob25lKl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7
DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxF
X0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9B
UFBMRV9QQVlbc2RrPWlwaG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9u
ZXNpbXVsYXRvcjkqXSA9IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZ
W3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExF
X1BBWV9tYWNvc3gpKTsNCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBT
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMTQgQEAN
CisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQorICAgICAg
ICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgOS54
DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MDY4
DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICog
Ym1hbGxvYy9CUGxhdGZvcm0uaDoNCisgICAgICAgICogYm1hbGxvYy9WTUFsbG9jYXRlLmg6DQor
ICAgICAgICAoYm1hbGxvYzo6dm1QYWdlU2l6ZVBoeXNpY2FsKToNCisNCiAyMDE3LTA3LTAxICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFjT1NdIFJlbW92
ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRpbmcgZm9yIE9TIFggWW9zZW1pdGUNCkluZGV4
OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JQbGF0Zm9ybS5oDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xOTQs
NiArMTk0LDYgQEANCiANCiAjZGVmaW5lIEJBVFRSSUJVVEVfUFJJTlRGKGZvcm1hdFN0cmluZ0Fy
Z3VtZW50LCBleHRyYUFyZ3VtZW50cykgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhwcmludGYs
IGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBleHRyYUFyZ3VtZW50cykpKQ0KIA0KLSNpZiAoQlBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8
IChCUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDAwMDApDQorI2lmIChCUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTIwMCkgfHwgQlBMQVRGT1JNKElPUykNCiAjZGVmaW5lIEJVU0VfT1NfTE9H
IDENCiAjZW5kaWYNCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCShyZXZp
c2lvbiAyMTkwNTEpDQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgJKHdv
cmtpbmcgY29weSkNCkBAIC04Nyw3ICs4Nyw3IEBAIGlubGluZSB2b2lkIHZtVmFsaWRhdGUodm9p
ZCogcCwgc2l6ZV90IHYNCiANCiBpbmxpbmUgc2l6ZV90IHZtUGFnZVNpemVQaHlzaWNhbCgpDQog
ew0KLSNpZiAoQlBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAwMDAwKQ0KKyNpZiBCUExBVEZPUk0oSU9TKQ0KICAgICByZXR1cm4gdm1fa2VybmVs
X3BhZ2Vfc2l6ZTsNCiAjZWxzZQ0KICAgICBzdGF0aWMgc2l6ZV90IGNhY2hlZDsNCkluZGV4OiBU
b29scy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIxOTA1MykNCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEs
MTYgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQor
ICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBp
T1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29h
Lm1tOg0KKyAgICAgICAgKFdUUjo6aW5pdGlhbGl6ZVdlYlZpZXdDb25maWd1cmF0aW9uKToNCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW06DQorICAg
ICAgICAoLVtISURFdmVudEdlbmVyYXRvciBfY3JlYXRlSU9ISURFdmVudFR5cGU6XSk6DQorDQog
MjAxNy0wNy0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+DQogDQogICAgICAg
ICBXaGVuIHNldHRpbmcgYSBjdXN0b20gY29va2llIHN0b3JhZ2UgbG9jYXRpb24gb24gYSBXS1dl
YnNpdGVEYXRhU3RvcmUsIGNvb2tpZXMgYXJlbid0IGFjdHVhbGx5IHJlbW92ZWQuDQpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0gPSAkKEVOQUJMRV9BUFBMRV9Q
QVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJM
RV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVf
QVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZW9zOSpdID0gOw0KLUVOQUJM
RV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsNCiANCiBESVNBQkxFX0FQUExF
X1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX0xFU1NfVEhBTl8xMDEyMDAw
KTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV9J
Rl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0NCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0JKHJldmlz
aW9uIDIxOTA1MSkNCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9s
bGVyQ29jb2EubW0JKHdvcmtpbmcgY29weSkNCkBAIC03MSwxMSArNzEsMTEgQEAgdm9pZCBpbml0
aWFsaXplV2ViVmlld0NvbmZpZ3VyYXRpb24oY29ucw0KICAgICBnbG9iYWxXZWJWaWV3Q29uZmln
dXJhdGlvbi53ZWJzaXRlRGF0YVN0b3JlID0gKFdLV2Vic2l0ZURhdGFTdG9yZSAqKVdLQ29udGV4
dEdldFdlYnNpdGVEYXRhU3RvcmUoY29udGV4dCk7DQogICAgIGdsb2JhbFdlYlZpZXdDb25maWd1
cmF0aW9uLl9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyA9IFlFUzsNCiANCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEy
MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgZ2xvYmFsV2ViVmll
d0NvbmZpZ3VyYXRpb24uX2FwcGxlUGF5RW5hYmxlZCA9IFlFUzsNCiAjZW5kaWYNCiANCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEz
MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgV0tDb29raWVNYW5h
Z2VyU2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoV0tDb250ZXh0R2V0Q29va2ll
TWFuYWdlcihjb250ZXh0KSwgdHJ1ZSk7DQogI2VuZGlmDQogDQpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0NCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQkocmV2aXNpb24gMjE5
MDUxKQ0KKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1t
CSh3b3JraW5nIGNvcHkpDQpAQCAtMzkzLDE1ICszOTMsOSBAQCAtIChJT0hJREV2ZW50UmVmKV9j
cmVhdGVJT0hJREV2ZW50VHlwZTooDQogICAgICAgICBSZXRhaW5QdHI8SU9ISURFdmVudFJlZj4g
c3ViRXZlbnQ7DQogICAgICAgICBpZiAocG9pbnRJbmZvLT5pc1N0eWx1cykgew0KICAgICAgICAg
ICAgIGlmIChldmVudFR5cGUgPT0gU3R5bHVzRXZlbnRUb3VjaGVkKSB7DQotI2lmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICAgICAgICAgICAgICBldmVu
dE1hc2sgfD0ga0lPSElERGlnaXRpemVyRXZlbnRFc3RpbWF0ZWRBbHRpdHVkZTsNCiAgICAgICAg
ICAgICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0aXplckV2ZW50RXN0aW1hdGVkQXppbXV0
aDsNCiAgICAgICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0aXplckV2ZW50RXN0
aW1hdGVkUHJlc3N1cmU7DQotI2Vsc2UNCi0gICAgICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJ
T0hJRERpZ2l0aXplckV2ZW50VXBkYXRlQWx0aXR1ZGVNYXNrOw0KLSAgICAgICAgICAgICAgICBl
dmVudE1hc2sgfD0ga0lPSElERGlnaXRpemVyRXZlbnRVcGRhdGVBemltdXRoTWFzazsNCi0gICAg
ICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0aXplckV2ZW50VXBkYXRlUHJlc3N1
cmVNYXNrOw0KLSNlbmRpZg0KICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09IFN0
eWx1c0V2ZW50TW92ZWQpDQogICAgICAgICAgICAgICAgIGV2ZW50TWFzayA9IGtJT0hJRERpZ2l0
aXplckV2ZW50UG9zaXRpb247DQogDQpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZw0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1
MSkNCisrKyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwz
ICsxLDIyIEBADQorMjAxNy0wNy0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPg0K
Kw0KKyAgICAgICAgW2lPU10gUmVtb3ZlIGNvZGUgb25seSBuZWVkZWQgd2hlbiBidWlsZGluZyBm
b3IgaU9TIDkueA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NDA2OA0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQor
ICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOTogUmVtb3ZlZC4NCisg
ICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0FwcFN1cHBvcnQuZnJh
bWV3b3JrOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
aU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQ6IFJlbW92ZWQuDQorICAg
ICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNl
cy5mcmFtZXdvcms6IFJlbW92ZWQuDQorICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMu
dGJkOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9T
LzkvQ29yZVBERi5mcmFtZXdvcms6IFJlbW92ZWQuDQorICAgICAgICAqIFdlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGLnRiZDogUmVtb3Zl
ZC4NCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0dyYXBoaWNz
U2VydmljZXMuZnJhbWV3b3JrOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJh
bWV3b3JrU3R1YnMvaU9TLzkvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2
aWNlcy50YmQ6IFJlbW92ZWQuDQorICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3JrOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZyYW1ld29yay9JT1N1cmZhY2Uu
dGJkOiBSZW1vdmVkLg0KKw0KIDIwMTctMDYtMjkgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRA
YXBwbGUuY29tPg0KIA0KICAgICAgICAgQWRkIFdlYktpdFN5c3RlbUludGVyZmFjZSBmb3IgaU9T
IDExDQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9p
T1MvOS9BcHBTdXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0LnRiZA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXBwU3Vw
cG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBXZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0FwcFN1cHBvcnQu
ZnJhbWV3b3JrL0FwcFN1cHBvcnQudGJkCShub25leGlzdGVudCkNCkBAIC0xLDkgKzAsMCBAQA0K
LS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQot
aW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXBwU3VwcG9y
dC5mcmFtZXdvcmsvQXBwU3VwcG9ydA0KLW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6
DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAgc3ltYm9sczogWyBf
Q1BDb3B5QnVuZGxlSWRlbnRpZmllckZyb21BdWRpdFRva2VuIF0NCi0uLi4NCkluZGV4OiBXZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0Fzc2VydGlvblNl
cnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNlcy50YmQNCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0Fzc2VydGlv
blNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNlcy50YmQJKHJldmlzaW9uIDIxOTA1
MSkNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85
L0Fzc2VydGlvblNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNlcy50YmQJKG5vbmV4
aXN0ZW50KQ0KQEAgLTEsMTAgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3Ms
IGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvQXNzZXJ0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNl
cnZpY2VzDQotb2JqYy1jb25zdHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsg
YXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBzeW1ib2xzOiBbIF9CS1NBcHBsaWNhdGlvblN0
YXRlTW9zdEVsZXZhdGVkU3RhdGVGb3JQcm9jZXNzSURLZXksIF9CS1NBcHBsaWNhdGlvblN0YXRl
UHJvY2Vzc0lES2V5IF0NCi0gICAgb2JqYy1jbGFzc2VzOiBbIF9CS1NBcHBsaWNhdGlvblN0YXRl
TW9uaXRvciwgX0JLU1Byb2Nlc3NBc3NlcnRpb24gXQ0KLS4uLg0KSW5kZXg6IFdlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQ29yZVBERi5mcmFtZXdvcmsv
Q29yZVBERi50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0
ZUZyYW1ld29ya1N0dWJzL2lPUy85L0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQREYudGJkCShyZXZp
c2lvbiAyMTkwNTEpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGLnRiZAkobm9uZXhpc3RlbnQpDQpA
QCAtMSw5ICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQot
cGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFt
ZXdvcmtzL0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQREYNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUN
Ci1leHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIG9i
amMtY2xhc3NlczogWyBfVUlQREZEb2N1bWVudCwgX1VJUERGTGlua0Fubm90YXRpb24sIF9VSVBE
RlBhZ2VWaWV3LCBfVUlQREZTZWxlY3Rpb24gXQ0KLS4uLg0KSW5kZXg6IFdlYktpdExpYnJhcmll
cy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvR3JhcGhpY3NTZXJ2aWNlcy5mcmFt
ZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0dyYXBoaWNzU2VydmljZXMuZnJh
bWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCShyZXZpc2lvbiAyMTkwNTEpDQorKysgV2ViS2l0
TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9HcmFwaGljc1NlcnZp
Y2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAkobm9uZXhpc3RlbnQpDQpAQCAtMSw5
ICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotcGxhdGZv
cm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtz
L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMNCi1vYmpjLWNvbnN0
cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02
NCBdDQotICAgIHN5bWJvbHM6IFsgX0dTQ3VycmVudEV2ZW50VGltZXN0YW1wLCBfR1NJbml0aWFs
aXplLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5IF0NCi0uLi4NCkluZGV4OiBXZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0lPU3VyZmFjZS5mcmFtZXdvcmsv
SU9TdXJmYWNlLnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZyYW1ld29yay9JT1N1cmZhY2UudGJk
CShyZXZpc2lvbiAyMTkwNTEpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFt
ZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3JrL0lPU3VyZmFjZS50YmQJKG5vbmV4
aXN0ZW50KQ0KQEAgLTEsNDIgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3Ms
IGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvSU9TdXJmYWNlLmZyYW1ld29yay9JT1N1cmZhY2UNCi1vYmpjLWNv
bnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBh
cm02NCBdDQotICAgIHN5bWJvbHM6IFsNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlQWNjZWxl
cmF0b3JDcmVhdGUsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUFjY2VsZXJhdG9yR2V0UnVu
TG9vcFNvdXJjZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlQWNjZWxlcmF0b3JUcmFuc2Zv
cm1TdXJmYWNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VBbGlnblByb3BlcnR5LA0KLSAg
ICAgICAgICAgICAgIF9JT1N1cmZhY2VDcmVhdGUsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFj
ZUNyZWF0ZU1hY2hQb3J0LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRBbGxvY1NpemUs
DQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldEJhc2VBZGRyZXNzLA0KLSAgICAgICAgICAg
ICAgIF9JT1N1cmZhY2VHZXRCeXRlc1BlclJvdywNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNl
R2V0SGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRQaXhlbEZvcm1hdCwNCi0g
ICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtLA0KLSAgICAgICAgICAg
ICAgIF9JT1N1cmZhY2VHZXRXaWR0aCwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlSXNJblVz
ZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlTG9jaywNCi0gICAgICAgICAgICAgICBfSU9T
dXJmYWNlTG9va3VwRnJvbU1hY2hQb3J0LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VTZXRQ
dXJnZWFibGUsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZVVubG9jaywNCi0gICAgICAgICAg
ICAgICBfa0lPU3VyZmFjZUFsbG9jU2l6ZSwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUJ5
dGVzUGVyRWxlbWVudCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUJ5dGVzUGVyUm93LA0K
LSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlQ2FjaGVNb2RlLA0KLSAgICAgICAgICAgICAgIF9r
SU9TdXJmYWNlRWxlbWVudEhlaWdodCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUhlaWdo
dCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBpeGVsRm9ybWF0LA0KLSAgICAgICAgICAg
ICAgIF9rSU9TdXJmYWNlUGxhbmVCeXRlc1BlclJvdywNCi0gICAgICAgICAgICAgICBfa0lPU3Vy
ZmFjZVBsYW5lSGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVJbmZvLA0K
LSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVPZmZzZXQsDQotICAgICAgICAgICAgICAg
X2tJT1N1cmZhY2VQbGFuZVNpemUsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZVdp
ZHRoLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlV2lkdGgNCi0gICAgICAgICAgICAgXQ0K
LS4uLg0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
aU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0FwcFN1
cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQudGJkCShyZXZpc2lvbiAyMTkwNTEpDQorKysgV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9BcHBTdXBwb3J0
LmZyYW1ld29yay9BcHBTdXBwb3J0LnRiZAkobm9uZXhpc3RlbnQpDQpAQCAtMSw5ICswLDAgQEAN
Ci0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0K
LWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcFN1cHBv
cnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRz
Og0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIHN5bWJvbHM6IFsg
X0NQQ29weUJ1bmRsZUlkZW50aWZpZXJGcm9tQXVkaXRUb2tlbiBdDQotLi4uDQpJbmRleDogV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Bc3NlcnRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMudGJkDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Bc3NlcnRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMudGJkCShyZXZpc2lvbiAyMTkw
NTEpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1Mv
OS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMudGJkCShub25l
eGlzdGVudCkNCkBAIC0xLDEwICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdz
LCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL0Fzc2VydGlvblNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25T
ZXJ2aWNlcw0KLW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBb
IGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAgc3ltYm9sczogWyBfQktTQXBwbGljYXRpb25T
dGF0ZU1vc3RFbGV2YXRlZFN0YXRlRm9yUHJvY2Vzc0lES2V5LCBfQktTQXBwbGljYXRpb25TdGF0
ZVByb2Nlc3NJREtleSBdDQotICAgIG9iamMtY2xhc3NlczogWyBfQktTQXBwbGljYXRpb25TdGF0
ZU1vbml0b3IsIF9CS1NQcm9jZXNzQXNzZXJ0aW9uIF0NCi0uLi4NCkluZGV4OiBXZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0NvcmVQREYuZnJhbWV3b3Jr
L0NvcmVQREYudGJkDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZh
dGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGLnRiZAkocmV2
aXNpb24gMjE5MDUxKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3Jr
U3R1YnMvaU9TLzkvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBERi50YmQJKG5vbmV4aXN0ZW50KQ0K
QEAgLTEsOSArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0K
LXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGDQotb2JqYy1jb25zdHJhaW50OiBub25l
DQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBv
YmpjLWNsYXNzZXM6IFsgX1VJUERGRG9jdW1lbnQsIF9VSVBERkxpbmtBbm5vdGF0aW9uLCBfVUlQ
REZQYWdlVmlldywgX1VJUERGU2VsZWN0aW9uIF0NCi0uLi4NCkluZGV4OiBXZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0dyYXBoaWNzU2VydmljZXMuZnJh
bWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9HcmFwaGljc1NlcnZpY2VzLmZy
YW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFdlYktp
dExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvR3JhcGhpY3NTZXJ2
aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQJKG5vbmV4aXN0ZW50KQ0KQEAgLTEs
OSArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLXBsYXRm
b3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzDQotb2JqYy1jb25z
dHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJt
NjQgXQ0KLSAgICBzeW1ib2xzOiBbIF9HU0N1cnJlbnRFdmVudFRpbWVzdGFtcCwgX0dTSW5pdGlh
bGl6ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSBdDQotLi4uDQpJbmRleDogV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3Jr
L0lPU3VyZmFjZS50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJp
dmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0lPU3VyZmFjZS5mcmFtZXdvcmsvSU9TdXJmYWNlLnRi
ZAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJh
bWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZyYW1ld29yay9JT1N1cmZhY2UudGJkCShub25l
eGlzdGVudCkNCkBAIC0xLDQyICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdz
LCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL0lPU3VyZmFjZS5mcmFtZXdvcmsvSU9TdXJmYWNlDQotb2JqYy1j
b25zdHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywg
YXJtNjQgXQ0KLSAgICBzeW1ib2xzOiBbDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUFjY2Vs
ZXJhdG9yQ3JlYXRlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VBY2NlbGVyYXRvckdldFJ1
bkxvb3BTb3VyY2UsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUFjY2VsZXJhdG9yVHJhbnNm
b3JtU3VyZmFjZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eSwNCi0g
ICAgICAgICAgICAgICBfSU9TdXJmYWNlQ3JlYXRlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZh
Y2VDcmVhdGVNYWNoUG9ydCwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0QWxsb2NTaXpl
LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRCYXNlQWRkcmVzcywNCi0gICAgICAgICAg
ICAgICBfSU9TdXJmYWNlR2V0Qnl0ZXNQZXJSb3csDQotICAgICAgICAgICAgICAgX0lPU3VyZmFj
ZUdldEhlaWdodCwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0UGl4ZWxGb3JtYXQsDQot
ICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bSwNCi0gICAgICAgICAg
ICAgICBfSU9TdXJmYWNlR2V0V2lkdGgsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUlzSW5V
c2UsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUxvY2ssDQotICAgICAgICAgICAgICAgX0lP
U3VyZmFjZUxvb2t1cEZyb21NYWNoUG9ydCwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlU2V0
UHVyZ2VhYmxlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VVbmxvY2ssDQotICAgICAgICAg
ICAgICAgX2tJT1N1cmZhY2VBbGxvY1NpemUsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VC
eXRlc1BlckVsZW1lbnQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VCeXRlc1BlclJvdywN
Ci0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUNhY2hlTW9kZSwNCi0gICAgICAgICAgICAgICBf
a0lPU3VyZmFjZUVsZW1lbnRIZWlnaHQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VIZWln
aHQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQaXhlbEZvcm1hdCwNCi0gICAgICAgICAg
ICAgICBfa0lPU3VyZmFjZVBsYW5lQnl0ZXNQZXJSb3csDQotICAgICAgICAgICAgICAgX2tJT1N1
cmZhY2VQbGFuZUhlaWdodCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lSW5mbywN
Ci0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lT2Zmc2V0LA0KLSAgICAgICAgICAgICAg
IF9rSU9TdXJmYWNlUGxhbmVTaXplLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVX
aWR0aCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVdpZHRoDQotICAgICAgICAgICAgIF0N
Ci0uLi4NCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJz
L2lPUy85L0FwcFN1cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQudGJkDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9BcHBT
dXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0LnRiZAkocmV2aXNpb24gMjE5MDUxKQ0KKysrIFdl
YktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXBwU3VwcG9y
dC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQJKG5vbmV4aXN0ZW50KQ0KQEAgLTEsOSArMCwwIEBA
DQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MN
Ci1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BcHBTdXBw
b3J0LmZyYW1ld29yay9BcHBTdXBwb3J0DQotb2JqYy1jb25zdHJhaW50OiBub25lDQotZXhwb3J0
czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBzeW1ib2xzOiBb
IF9DUENvcHlCdW5kbGVJZGVudGlmaWVyRnJvbUF1ZGl0VG9rZW4gXQ0KLS4uLg0KSW5kZXg6IFdl
YktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXNzZXJ0aW9u
U2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZpY2VzLnRiZA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXNzZXJ0
aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZpY2VzLnRiZAkocmV2aXNpb24gMjE5
MDUxKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9T
LzkvQXNzZXJ0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZpY2VzLnRiZAkobm9u
ZXhpc3RlbnQpDQpAQCAtMSwxMCArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3
cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3Jrcy9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9u
U2VydmljZXMNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczog
WyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIHN5bWJvbHM6IFsgX0JLU0FwcGxpY2F0aW9u
U3RhdGVNb3N0RWxldmF0ZWRTdGF0ZUZvclByb2Nlc3NJREtleSwgX0JLU0FwcGxpY2F0aW9uU3Rh
dGVQcm9jZXNzSURLZXkgXQ0KLSAgICBvYmpjLWNsYXNzZXM6IFsgX0JLU0FwcGxpY2F0aW9uU3Rh
dGVNb25pdG9yLCBfQktTUHJvY2Vzc0Fzc2VydGlvbiBdDQotLi4uDQpJbmRleDogV2ViS2l0TGli
cmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29y
ay9Db3JlUERGLnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBERi50YmQJKHJl
dmlzaW9uIDIxOTA1MSkNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy85L0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQREYudGJkCShub25leGlzdGVudCkN
CkBAIC0xLDkgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0N
Ci1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZy
YW1ld29ya3MvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBERg0KLW9iamMtY29uc3RyYWludDogbm9u
ZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAg
b2JqYy1jbGFzc2VzOiBbIF9VSVBERkRvY3VtZW50LCBfVUlQREZMaW5rQW5ub3RhdGlvbiwgX1VJ
UERGUGFnZVZpZXcsIF9VSVBERlNlbGVjdGlvbiBdDQotLi4uDQpJbmRleDogV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9HcmFwaGljc1NlcnZpY2VzLmZy
YW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvR3JhcGhpY3NTZXJ2aWNlcy5m
cmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBXZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0dyYXBoaWNzU2Vy
dmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCShub25leGlzdGVudCkNCkBAIC0x
LDkgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi1wbGF0
Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcw0KLW9iamMtY29u
c3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFy
bTY0IF0NCi0gICAgc3ltYm9sczogWyBfR1NDdXJyZW50RXZlbnRUaW1lc3RhbXAsIF9HU0luaXRp
YWxpemUsIF9HU1N5c3RlbVJvb3REaXJlY3RvcnkgXQ0KLS4uLg0KSW5kZXg6IFdlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZyYW1ld29y
ay9JT1N1cmZhY2UudGJkDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFBy
aXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3JrL0lPU3VyZmFjZS50
YmQJKHJldmlzaW9uIDIxOTA1MSkNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZy
YW1ld29ya1N0dWJzL2lPUy85L0lPU3VyZmFjZS5mcmFtZXdvcmsvSU9TdXJmYWNlLnRiZAkobm9u
ZXhpc3RlbnQpDQpAQCAtMSw0MiArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3
cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3Jrcy9JT1N1cmZhY2UuZnJhbWV3b3JrL0lPU3VyZmFjZQ0KLW9iamMt
Y29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3Ms
IGFybTY0IF0NCi0gICAgc3ltYm9sczogWw0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VBY2Nl
bGVyYXRvckNyZWF0ZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlQWNjZWxlcmF0b3JHZXRS
dW5Mb29wU291cmNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VBY2NlbGVyYXRvclRyYW5z
Zm9ybVN1cmZhY2UsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUFsaWduUHJvcGVydHksDQot
ICAgICAgICAgICAgICAgX0lPU3VyZmFjZUNyZWF0ZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJm
YWNlQ3JlYXRlTWFjaFBvcnQsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldEFsbG9jU2l6
ZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0QmFzZUFkZHJlc3MsDQotICAgICAgICAg
ICAgICAgX0lPU3VyZmFjZUdldEJ5dGVzUGVyUm93LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZh
Y2VHZXRIZWlnaHQsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldFBpeGVsRm9ybWF0LA0K
LSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0sDQotICAgICAgICAg
ICAgICAgX0lPU3VyZmFjZUdldFdpZHRoLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VJc0lu
VXNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VMb2NrLA0KLSAgICAgICAgICAgICAgIF9J
T1N1cmZhY2VMb29rdXBGcm9tTWFjaFBvcnQsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZVNl
dFB1cmdlYWJsZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlVW5sb2NrLA0KLSAgICAgICAg
ICAgICAgIF9rSU9TdXJmYWNlQWxsb2NTaXplLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNl
Qnl0ZXNQZXJFbGVtZW50LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlQnl0ZXNQZXJSb3cs
DQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VDYWNoZU1vZGUsDQotICAgICAgICAgICAgICAg
X2tJT1N1cmZhY2VFbGVtZW50SGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlSGVp
Z2h0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGl4ZWxGb3JtYXQsDQotICAgICAgICAg
ICAgICAgX2tJT1N1cmZhY2VQbGFuZUJ5dGVzUGVyUm93LA0KLSAgICAgICAgICAgICAgIF9rSU9T
dXJmYWNlUGxhbmVIZWlnaHQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZUluZm8s
DQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZU9mZnNldCwNCi0gICAgICAgICAgICAg
ICBfa0lPU3VyZmFjZVBsYW5lU2l6ZSwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5l
V2lkdGgsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VXaWR0aA0KLSAgICAgICAgICAgICBd
DQotLi4uDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314392</attachid>
            <date>2017-07-01 15:27:20 -0700</date>
            <delta_ts>2017-07-01 19:02:24 -0700</delta_ts>
            <desc>Remove unneeded code</desc>
            <filename>file_174068.txt</filename>
            <type>text/plain</type>
            <size>80627</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwx
NSBAQA0KKzIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4NCisNCisg
ICAgICAgIFtpT1NdIFJlbW92ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRpbmcgZm9yIGlP
UyA5LngNCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQwNjgNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoNCisgICAgICAgICog
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwOg0KKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMu
Y3BwOg0KKyAgICAgICAgKEpTQzo6cmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucyk6DQorDQogMjAx
Ny0wNy0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPg0KIA0KICAgICAgICAgW21h
Y09TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBPUyBYIFlvc2Vt
aXRlDQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkwNTMpDQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0g
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVz
aW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9u
ZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsN
CiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQo
RU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
RXhlY3V0YWJsZUFsbG9jYXRvci5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC00MSwxMiArNDEsMTIg
QEANCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIg0KICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5o
Ig0KIA0KLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgUExBVEZPUk0oQ09DT0EpDQog
I2RlZmluZSBIQVZFX1JFTUFQX0pJVCAxDQogI2VuZGlmDQogDQogI2lmIEhBVkUoUkVNQVBfSklU
KQ0KLSNpZiBDUFUoQVJNNjQpICYmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQorI2lmIENQVShBUk02NCkgJiYgUExBVEZPUk0oSU9T
KQ0KICNkZWZpbmUgVVNFX0VYRUNVVEVfT05MWV9KSVRfV1JJVEVfRlVOQ1RJT04gMQ0KICNlbmRp
Zg0KICNlbmRpZg0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
Y3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5jcHAJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTQ1OCw3ICs0NTgsNyBAQCBzdGF0aWMg
dm9pZCByZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKCkNCiAgICAgICAgIE9wdGlvbnM6OnVzZU9T
UkVudHJ5VG9GVEwoKSA9IGZhbHNlOw0KICAgICB9DQogICAgIA0KLSNpZiBQTEFURk9STShJT1Mp
ICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDANCisjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TX1NJ
TVVMQVRPUikNCiAgICAgLy8gT3ZlcnJpZGUgZ2xvYmFsbHkgZm9yIG5vdy4gTG9uZ2VyIHRlcm0g
d2UnbGwganVzdCBtYWtlIHRoZSBkZWZhdWx0DQogICAgIC8vIGJlIHRvIGhhdmUgdGhpcyBvcHRp
b24gZW5hYmxlZCwgYW5kIGhhdmUgcGxhdGZvcm1zIHRoYXQgZG9uJ3Qgc3VwcG9ydA0KICAgICAv
LyBpdCBqdXN0IHNpbGVudGx5IHVzZSBhIHNpbmdsZSBtYXBwaW5nLg0KSW5kZXg6IFNvdXJjZS9X
VEYvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAg
LTEsMyArMSwxNCBAQA0KKzIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4NCisNCisgICAgICAgIFtpT1NdIFJlbW92ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRp
bmcgZm9yIGlPUyA5LngNCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzQwNjgNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0K
Kw0KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoNCisgICAgICAgICogd3RmL21hYy9EZXByZWNh
dGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbToNCisgICAgICAgICogd3RmL3NwaS9kYXJ3aW4vZHls
ZFNQSS5oOg0KKw0KIDIwMTctMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4N
CiANCiAgICAgICAgIFttYWNPU10gUmVtb3ZlIGNvZGUgb25seSBuZWVkZWQgd2hlbiBidWlsZGlu
ZyBmb3IgT1MgWCBZb3NlbWl0ZQ0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTkwNTMp
DQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQ0KQEAgLTU4Mywx
MyArNTgzLDYgQEANCiANCiAjaWYgUExBVEZPUk0oSU9TKQ0KIA0KLSNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKSBcDQotICAgICYmICgoVEFSR0VUX09TX0lPUyAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01BWF9BTExPV0VEIDwgMTAwMDAwKSBcDQotICAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikg
JiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAwMDAwKSBcDQotICAgICB8fCAoUExB
VEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMzAwMDAp
KQ0KLSNkZWZpbmUgVVNFX0NGVVJMQ09OTkVDVElPTiAxDQotI2VuZGlmDQotDQogI2RlZmluZSBI
QVZFX05FVFdPUktfRVhURU5TSU9OIDENCiAjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQ0KICNkZWZp
bmUgVVNFX1VJS0lUX0VESVRJTkcgMQ0KQEAgLTY3Nyw3ICs2NzAsNyBAQA0KIA0KICNlbmRpZiAv
KiBPUyhEQVJXSU4pICovDQogDQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApDQorI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9S
TShJT1MpDQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19TVE9SQUdFX1BBUlRJVElPTklORyAxDQog
I2VuZGlmDQogDQpAQCAtMTE5NiwxNCArMTE4OSwxNCBAQA0KICNlbmRpZg0KIA0KIC8qIEZJWE1F
OiBFbmFibGUgVVNFX09TX0xPRyB3aGVuIGJ1aWxkaW5nIHdpdGggdGhlIHB1YmxpYyBpT1MgMTAg
U0RLIG9uY2Ugd2UgZml4IDxyZGFyOi8vcHJvYmxlbS8yNzc1ODM0Mz4uICovDQotI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDAwMDAgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykpDQorI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0o
SU9TKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSkNCiAjZGVmaW5lIFVTRV9PU19MT0cgMQ0K
ICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQ0KICNkZWZpbmUgVVNFX09TX1NUQVRFIDENCiAj
ZW5kaWYNCiAjZW5kaWYNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JN
KElPUykNCiAjZGVmaW5lIEhBVkVfU0VDX1RSVVNUX1NFUklBTElaQVRJT04gMQ0KICNlbmRpZg0K
IA0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL21hYy9EZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFy
aS5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XVEYvd3RmL21hYy9EZXByZWNhdGVkU3ltYm9s
c1VzZWRCeVNhZmFyaS5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XVEYvd3RmL21h
Yy9EZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbQkod29ya2luZyBjb3B5KQ0KQEAgLTM4
LDcgKzM4LDcgQEANCiANCiBuYW1lc3BhY2UgV1RGIHsNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApDQorI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIw
MA0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmN0
aW9uKSh2b2lkKiksIHZvaWQqIGNvbnRleHQpOw0KIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNh
bmNlbENhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmN0aW9uKSh2b2lkKiksIHZvaWQqIGNvbnRl
eHQpOw0KIA0KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQotLS0gU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9keWxkU1BJLmgJKHJldmlzaW9u
IDIxOTA1MykNCisrKyBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTI5LDEwICsyOSw2IEBADQogDQogI2luY2x1ZGUgPG1hY2gtby9keWxkX3By
aXYuaD4NCiANCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMDAwMA0KLSNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl8xMF8wIDB4MDAwQTAw
MDANCi0jZW5kaWYNCi0NCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxMjAwDQogI2RlZmluZSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEy
IDB4MDAwQTBDMDANCiAjZW5kaWYNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MykN
CisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEs
NjEgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQor
ICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBp
T1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6DQorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbToNCisgICAgICAgIChXZWJDb3JlOjpEYXRh
RGV0ZWN0aW9uOjppc0RhdGFEZXRlY3RvckxpbmspOg0KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFE
ZXRlY3Rpb246OnNob3VsZENhbmNlbERlZmF1bHRBY3Rpb24pOg0KKyAgICAgICAgKFdlYkNvcmU6
OmNvbnN0cnVjdFVSTFN0cmluZ0ZvclJlc3VsdCk6DQorICAgICAgICAoV2ViQ29yZTo6RGF0YURl
dGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UpOg0KKyAgICAgICAgKiBwYWdlL2NvY29hL1Jl
c291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbToNCisgICAgICAgIChXZWJDb3JlOjp2bVBhZ2VTaXpl
KToNCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5o
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1t
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcDoNCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOg0KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbToNCisg
ICAgICAgIChsYXllckNvbnRlbnRzRm9ybWF0KToNCisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJD
b2NvYTo6dXBkYXRlQ29udGVudHNGb3JtYXQpOg0KKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllckNv
Y29hOjpiYWNraW5nU3RvcmVCeXRlc1BlclBpeGVsKToNCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OmV4dGVu
ZGVkU1JHQkNvbG9yU3BhY2VSZWYpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Q
REZEb2N1bWVudEltYWdlLmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpQREZEb2N1bWVudEltYWdl
OjpkcmF3UERGUGFnZSk6DQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpsb29rdXBGYWxsYmFja0ZvbnQp
Og0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06DQorICAg
ICAgICAoV2ViQ29yZTo6Rm9udDo6dmFyaWFudENhcHNTdXBwb3J0c0NoYXJhY3RlckZvclN5bnRo
ZXNpcyk6DQorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKToN
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tOg0KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEpOg0KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCk6DQorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbToNCisgICAgICAgIChX
ZWJDb3JlOjpJT1N1cmZhY2U6OnNpbmtJbnRvSW1hZ2UpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06DQorICAgICAgICAo
V2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpzZXRUaW1lYmFzZSk6DQorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW06DQorICAgICAgICAo
V2ViQ29yZTo6c3lzdGVtRm9udE1vZGlmaWNhdGlvbkF0dHJpYnV0ZXMpOg0KKyAgICAgICAgKFdl
YkNvcmU6OnN5c3RlbUZvbnREZXNjcmlwdG9yKToNCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRDdXN0b21QbGF0Zm9ybURhdGE6OnN1cHBvcnRzRm9ybWF0KToNCisgICAgICAgICogcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbToNCisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lU
aWxlR3JpZFRpbGU6OkxlZ2FjeVRpbGVHcmlkVGlsZSk6DQorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9QbGF0Zm9ybVNjcmVlbklPUy5tbToNCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5TdXBwb3J0
c0V4dGVuZGVkQ29sb3IpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TLm1tOg0KKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
Uzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKToNCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1M6On5SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MpOg0KKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6DQorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaDoNCisgICAgICAgICogcGxhdGZv
cm0vc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmg6DQorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg6DQorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMv
QVZGb3VuZGF0aW9uU1BJLmg6DQorDQogMjAxNy0wNy0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4NCiANCiAgICAgICAgIEZyYW1lLmggZG9lc24ndCBuZWVkIHRvIGluY2x1ZGUg
RnJhbWVMb2FkZXIuaCwgSW50UmVjdC5oLCBhbmQgTmF2aWdhdGlvblNjaGVkdWxlci5oDQpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUs
OCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5B
QkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9S
TV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7
DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0K
LUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlb
c2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gg
PSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVf
QVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNB
QkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkNCkBAIC0xLDMgKzEsMTIgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVu
IGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6DQorDQogMjAxNy0wNy0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgW21hY09TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZv
ciBPUyBYIFlvc2VtaXRlDQpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUv
UEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkw
NTMpDQorKysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25l
Kl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlw
aG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9
IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJT
SU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9
ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsN
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0NCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24u
bW0JKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Rh
dGFEZXRlY3Rpb24ubW0JKHdvcmtpbmcgY29weSkNCkBAIC0xNTcsMTQgKzE1Nyw3IEBAIGJvb2wg
RGF0YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKEUNCiAgICAgaWYgKCFpczxIVE1MQW5j
aG9yRWxlbWVudD4oZWxlbWVudCkpDQogICAgICAgICByZXR1cm4gZmFsc2U7DQogDQotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICByZXR1cm4gW3Nv
ZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMVGFwQW5kSG9sZFNjaGVtZXMoKSBjb250YWlu
c09iamVjdDooTlNTdHJpbmcgKilkb3duY2FzdDxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCku
aHJlZigpLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLmNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCldOw0KLSNlbHNlDQotICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGVs
ZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxlX2RhdGFfZGV0ZWN0
b3JzQXR0ciksICJ0cnVlIikpDQotICAgICAgICByZXR1cm4gdHJ1ZTsNCi0gICAgVVJMIHVybCA9
IGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCk7DQotICAgIHJldHVy
biB1cmwucHJvdG9jb2xJcygibWFpbHRvIikgfHwgdXJsLnByb3RvY29sSXMoInRlbCIpOw0KLSNl
bmRpZg0KIH0NCiANCiBib29sIERhdGFEZXRlY3Rpb246OnJlcXVpcmVzRXh0ZW5kZWRDb250ZXh0
KEVsZW1lbnQmIGVsZW1lbnQpDQpAQCAtMTc5LDcgKzE3Miw2IEBAIFN0cmluZyBEYXRhRGV0ZWN0
aW9uOjpkYXRhRGV0ZWN0b3JJZGVudGkNCiANCiBib29sIERhdGFEZXRlY3Rpb246OnNob3VsZENh
bmNlbERlZmF1bHRBY3Rpb24oRWxlbWVudCYgZWxlbWVudCkNCiB7DQotI2lmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICBpZiAoIWlzRGF0YURldGVjdG9y
TGluayhlbGVtZW50KSkNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgDQpAQCAtMjAxLDE2
ICsxOTMsNiBAQCBib29sIERhdGFEZXRlY3Rpb246OnNob3VsZENhbmNlbERlZmF1bHRBDQogICAg
ICAgICByZXN1bHQgPSAoRERSZXN1bHRSZWYpW3Jlc3VsdHMgb2JqZWN0QXRJbmRleDpyZXN1bHRJ
bmRpY2VzW2ldLnRvSW50KCldOw0KICAgICB9DQogICAgIHJldHVybiBzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0KHJl
c3VsdCk7DQotI2Vsc2UNCi0gICAgaWYgKCFpczxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCkp
DQotICAgICAgICByZXR1cm4gZmFsc2U7DQotICAgIGlmICghZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVf
ZGF0YV9kZXRlY3RvcnNBdHRyKSwgInRydWUiKSkNCi0gICAgICAgIHJldHVybiBmYWxzZTsNCi0g
ICAgYXV0byYgdHlwZSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4
X2FwcGxlX2RhdGFfZGV0ZWN0b3JzX3R5cGVBdHRyKTsNCi0gICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKHR5cGUsICJtaXNjIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UodHlwZSwgImNhbGVuZGFyLWV2ZW50IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UodHlwZSwgInRlbGVwaG9uZSIpKQ0KLSAgICAgICAgcmV0dXJuIHRydWU7DQotICAgIHJl
dHVybiBmYWxzZTsNCi0jZW5kaWYNCiB9DQogDQogc3RhdGljIEJPT0wgcmVzdWx0SXNVUkwoRERS
ZXN1bHRSZWYgcmVzdWx0KQ0KQEAgLTIzNCw5ICsyMTYsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKmNv
bnN0cnVjdFVSTFN0cmluZ0ZvclJlDQogICAgIGlmICgoKGRldGVjdGlvblR5cGVzICYgRGF0YURl
dGVjdG9yVHlwZUFkZHJlc3MpICYmIChERFJlc3VsdENhdGVnb3J5QWRkcmVzcyA9PSBjYXRlZ29y
eSkpDQogICAgICAgICB8fCAoKGRldGVjdGlvblR5cGVzICYgRGF0YURldGVjdG9yVHlwZVRyYWNr
aW5nTnVtYmVyKSAmJiAoQ0ZTdHJpbmdDb21wYXJlKGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJp
bmRlclRyYWNraW5nTnVtYmVyS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkN
CiAgICAgICAgIHx8ICgoZGV0ZWN0aW9uVHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBlRmxpZ2h0TnVt
YmVyKSAmJiAoQ0ZTdHJpbmdDb21wYXJlKGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlckZs
aWdodEluZm9ybWF0aW9uS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkNCi0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAgICAgICB8
fCAoKGRldGVjdGlvblR5cGVzICYgRGF0YURldGVjdG9yVHlwZUxvb2t1cFN1Z2dlc3Rpb24pICYm
IChDRlN0cmluZ0NvbXBhcmUoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyUGFyc2VjU291
cmNlS2V5KCksIHR5cGUsIDApID09IGtDRkNvbXBhcmVFcXVhbFRvKSkNCi0jZW5kaWYNCiAgICAg
ICAgIHx8ICgoZGV0ZWN0aW9uVHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBlUGhvbmVOdW1iZXIpICYm
IChERFJlc3VsdENhdGVnb3J5UGhvbmVOdW1iZXIgPT0gY2F0ZWdvcnkpKQ0KICAgICAgICAgfHwg
KChkZXRlY3Rpb25UeXBlcyAmIERhdGFEZXRlY3RvclR5cGVMaW5rKSAmJiByZXN1bHRJc1VSTChj
dXJyZW50UmVzdWx0KSkpIHsNCiAgICAgICAgIA0KQEAgLTQzOCwxMSArNDE4LDkgQEAgTlNBcnJh
eSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUg0KICAgICBSZXRhaW5QdHI8RERTY2Fu
UXVlcnlSZWY+IHNjYW5RdWVyeSA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERTY2FuUXVlcnlDcmVhdGUoTlVMTCkpOw0KICAgICBidWlsZFF1ZXJ5KHNjYW5RdWVyeS5nZXQo
KSwgY29udGV4dFJhbmdlLmdldCgpKTsNCiAgICAgDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICBpZiAodHlwZXMgJiBEYXRhRGV0ZWN0b3JUeXBl
TG9va3VwU3VnZ2VzdGlvbikNCiAgICAgICAgIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0RE
U2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlKHNjYW5uZXIuZ2V0KCksIEREU2Nhbm5lclNvdXJj
ZVNwb3RsaWdodCwgdHJ1ZSk7DQotI2VuZGlmDQotICAgIA0KKw0KICAgICAvLyBGSVhNRTogd2Ug
c2hvdWxkIGFkZCBhIHRpbWVvdXQgdG8gdGhpcyBjYWxsIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0
IHRha2UgdG9vIG11Y2ggdGltZS4NCiAgICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29y
ZV9ERFNjYW5uZXJTY2FuUXVlcnkoc2Nhbm5lci5nZXQoKSwgc2NhblF1ZXJ5LmdldCgpKSkNCiAg
ICAgICAgIHJldHVybiBuaWw7DQpAQCAtNTY5LDExICs1NDcsNyBAQCBOU0FycmF5ICpEYXRhRGV0
ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SDQogICAgICAgICB9DQogICAgICAgICANCiAgICAgICAg
IGxhc3RNb2RpZmllZFF1ZXJ5T2Zmc2V0ID0gcXVlcnlSYW5nZS5lbmQ7DQotI2lmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICAgICAgQk9PTCBzaG91bGRV
c2VMaWdodExpbmtzID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTaG91bGRVc2VMaWdo
dExpbmtzRm9yUmVzdWx0KGNvcmVSZXN1bHQsIFtpbmRleFBhdGhzW3Jlc3VsdEluZGV4XSBsZW5n
dGhdID4gMSk7DQotI2Vsc2UNCi0gICAgICAgIEJPT0wgc2hvdWxkVXNlTGlnaHRMaW5rcyA9IE5P
Ow0KLSNlbmRpZg0KIA0KICAgICAgICAgZm9yIChhdXRvJiByYW5nZSA6IHJlc3VsdFJhbmdlcykg
ew0KICAgICAgICAgICAgIGF1dG8qIHBhcmVudE5vZGUgPSByYW5nZS0+c3RhcnRDb250YWluZXIo
KS5wYXJlbnROb2RlKCk7DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJj
ZVVzYWdlVGhyZWFkQ29jb2EubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29hLm1tCSh3
b3JraW5nIGNvcHkpDQpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7DQogDQog
c2l6ZV90IHZtUGFnZVNpemUoKQ0KIHsNCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCisjaWYgUExBVEZPUk0oSU9TKQ0KICAg
ICByZXR1cm4gdm1fa2VybmVsX3BhZ2Vfc2l6ZTsNCiAjZWxzZQ0KICAgICBzdGF0aWMgc2l6ZV90
IGNhY2hlZCA9IHN5c2NvbmYoX1NDX1BBR0VTSVpFKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
LmgJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgJKHdvcmtpbmcgY29weSkNCkBAIC00OSwxMyArNDks
MTEgQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRA0KIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3Vs
dEdldFN1YlJlc3VsdHMsIENGQXJyYXlSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0
KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uLCBERFF1ZXJ5UmFuZ2Us
IChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQs
IE5TU3RyaW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqIHJlc3Vs
dElkZW50aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5cGVzIGluY2x1ZGlu
Z1RlbEdyb3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5j
ZVRpbWVab25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIGluY2x1ZGluZ1Rl
bEdyb3VwcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQ0KLSNpZiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxUYXBBbmRIb2xkU2No
ZW1lcywgTlNBcnJheSAqLCAoKSwgKCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
V2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9u
U2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkpDQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRp
YXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQp
LCAocmVzdWx0KSkNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTaG91bGRVc2VMaWdodExpbmtzRm9yUmVzdWx0LCBCT09MLCAoRERS
ZXN1bHRSZWYgcmVzdWx0LCBCT09MIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpLCAocmVzdWx0LCBl
eHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSkNCiBTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdl
YkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJp
bmdSZWYpDQotI2VuZGlmDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJIdHRwVVJMS2V5LCBDRlN0cmluZ1JlZikNCiBTT0ZU
X0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJp
bmRlcldlYlVSTEtleSwgQ0ZTdHJpbmdSZWYpDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURF
UihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmlu
Z1JlZikNCkBAIC02Nyw5ICs2NSw3IEBAIFNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgRGENCiBTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRl
Y3RvcnNDb3JlLCBERFVSTFNjaGVtZSwgTlNTdHJpbmcgKikNCiBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3Vs
dHNPcHRpb25zRm9yUGFzc2l2ZVVzZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zKQ0KIA0K
LSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2Fu
bmVyRW5hYmxlT3B0aW9uYWxTb3VyY2UsIHZvaWQsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERT
Y2FubmVyU291cmNlIHNvdXJjZSwgQm9vbGVhbiBlbmFibGUpLCAoc2Nhbm5lciwgc291cmNlLCBl
bmFibGUpKQ0KLSNlbmRpZg0KIA0KICNlbmRpZiAvLyBQTEFURk9STShJT1MpDQogDQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5t
bQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRl
Y3RvcnNDb3JlU29mdExpbmsubW0JKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCSh3b3JraW5nIGNv
cHkpDQpAQCAtNDcsMTMgKzQ3LDExIEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdl
YkNvcmUsIEQNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRTdWJSZXN1bHRzLCBDRkFycmF5UmVmLCAoRERSZXN1bHRS
ZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNh
dGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIERE
VVJMU3RyaW5nRm9yUmVzdWx0LCBOU1N0cmluZyAqLCAoRERSZXN1bHRSZWYgY3VycmVudFJlc3Vs
dCwgTlNTdHJpbmcgKiByZXN1bHRJZGVudGlmaWVyLCBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRl
Y3Rpb25UeXBlcyBpbmNsdWRpbmdUZWxHcm91cHMsIE5TRGF0ZSAqIHJlZmVyZW5jZURhdGUsIE5T
VGltZVpvbmUgKiByZWZlcmVuY2VUaW1lWm9uZSksIChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVu
dGlmaWVyLCBpbmNsdWRpbmdUZWxHcm91cHMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVa
b25lKSkNCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5TQXJyYXkgKiwgKCksICgpKQ0KIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZElt
bWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMLCBCT09MLCAoTlNVUkwgKnVybCksICh1cmwp
KQ0KIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0LCBCT09MLCAo
RERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9T
T1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkVXNlTGlnaHRMaW5rc0Zv
clJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQk9PTCBleHRyYWN0ZWRGcm9tU2ln
bmF0dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSkpDQogU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJQYXJz
ZWNTb3VyY2VLZXksIENGU3RyaW5nUmVmKQ0KLSNlbmRpZg0KIFNPRlRfTElOS19QT0lOVEVSX0ZP
Ul9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVySHR0cFVSTEtleSwg
Q0ZTdHJpbmdSZWYpDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5nUmVmKQ0KIFNPRlRfTElO
S19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVy
TWFpbFVSTEtleSwgQ0ZTdHJpbmdSZWYpDQpAQCAtNjUsOCArNjMsNiBAQCBTT0ZUX0xJTktfUE9J
TlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhDQogU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTY2hlbWUsIE5TU3RyaW5nICopDQog
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uc0ZvclBhc3NpdmVVc2UsIEREU2Nhbm5lckNvcHlS
ZXN1bHRzT3B0aW9ucykNCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAwMDAwDQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlLCB2b2lkLCAoRERTY2Fu
bmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lclNvdXJjZSBzb3VyY2UsIEJvb2xlYW4gZW5hYmxlKSwg
KHNjYW5uZXIsIHNvdXJjZSwgZW5hYmxlKSkNCi0jZW5kaWYNCiANCiAjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pDQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHANCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAkocmV2
aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNTYsNyArNTYsNyBAQCBGb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGZsb2F0DQogew0KIH0NCiANCi0jaWYgVVNFKENH
KSAmJiAoUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMDAwMCkpDQorI2lmIFVTRShDRykgJiYgKFBMQVRG
T1JNKFdJTikgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDEwMTIwMCkpDQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0Zv
bnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhl
dGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50
IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpDQogICAg
IDogRm9udFBsYXRmb3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVl
LCBvcmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkNCiB7DQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRm
b3JtRGF0YS5oCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtODYsNyArODYs
NyBAQCBwdWJsaWM6DQogICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIGNsb25lV2l0aFN5bnRo
ZXRpY09ibGlxdWUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIGJvb2wpOw0KICAgICBzdGF0aWMg
Rm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTaXplKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBm
bG9hdCk7DQogDQotI2lmIFVTRShDRykgJiYgKFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApKQ0K
KyNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApKQ0KICAgICBGb250UGxhdGZvcm1E
YXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRo
ZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwgVGV4dFJlbmRl
cmluZ01vZGUpOw0KICNlbmRpZg0KIA0KQEAgLTEzOCw3ICsxMzgsNyBAQCBwdWJsaWM6DQogDQog
ICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmFyaWF0aW9uczsg
fQ0KIA0KLSNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAwMDAwKSkNCisjaWYg
VVNFKENHKSAmJiAoUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKSkNCiAgICAgQ0dGb250UmVmIGNnRm9udCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9DQogI2VuZGlmDQogDQpAQCAtMjI3LDcg
KzIyNyw3IEBAIHByaXZhdGU6DQogICAgIFJlZlB0cjxTaGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBt
X2ZvbnQ7DQogI2VuZGlmDQogDQotI2lmIFVTRShDRykgJiYgKFBMQVRGT1JNKFdJTikgfHwgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkg
fHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDAwMDApKQ0KKyNpZiBVU0UoQ0cpICYmIChQTEFURk9STShXSU4pIHx8IChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApKQ0KICAgICBSZXRh
aW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsNCiAjZW5kaWYNCiANCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQ0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29h
L1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW0J
KHdvcmtpbmcgY29weSkNCkBAIC0xMDA5LDEwICsxMDA5LDEwIEBAIHZvaWQgUGxhdGZvcm1DQUxh
eWVyQ29jb2E6OnVwZGF0ZUN1c3RvbUENCiAjZW5kaWYNCiB9DQogDQotI2lmIChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwKSB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkN
CisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkNCiBzdGF0aWMgTlNTdHJpbmcgKmxheWVyQ29udGVu
dHNGb3JtYXQoYm9vbCBhY2NlbGVyYXRlc0RyYXdpbmcsIGJvb2wgd2FudHNEZWVwQ29sb3IsIGJv
b2wgc3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkRm9udHMpDQogew0KLSNpZiBQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQorI2lmIFBM
QVRGT1JNKElPUykNCiAgICAgaWYgKHdhbnRzRGVlcENvbG9yKQ0KICAgICAgICAgcmV0dXJuIGtD
QUNvbnRlbnRzRm9ybWF0UkdCQTEwWFI7DQogI2Vsc2UNCkBAIC0xMDM1LDcgKzEwMzUsNyBAQCB2
b2lkIFBsYXRmb3JtQ0FMYXllckNvY29hOjp1cGRhdGVDb250ZW50DQogew0KICAgICBpZiAobV9s
YXllclR5cGUgPT0gTGF5ZXJUeXBlV2ViTGF5ZXIgfHwgbV9sYXllclR5cGUgPT0gTGF5ZXJUeXBl
VGlsZWRCYWNraW5nVGlsZUxheWVyKSB7DQogICAgICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQ
VElPTlMNCi0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gOTAzMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KICAgICAg
ICAgaWYgKE5TU3RyaW5nICpmb3JtYXRTdHJpbmcgPSBsYXllckNvbnRlbnRzRm9ybWF0KGFjY2Vs
ZXJhdGVzRHJhd2luZygpLCB3YW50c0RlZXBDb2xvckJhY2tpbmdTdG9yZSgpLCBzdXBwb3J0c1N1
YnBpeGVsQW50aWFsaWFzZWRUZXh0KCkpKQ0KICAgICAgICAgICAgIFttX2xheWVyIHNldENvbnRl
bnRzRm9ybWF0OmZvcm1hdFN0cmluZ107DQogI2VuZGlmDQpAQCAtMTIwOSw3ICsxMjA5LDcgQEAg
dm9pZCBQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6ZW51bWVyYXRlUmVjdA0KIA0KIHVuc2lnbmVkIFBs
YXRmb3JtQ0FMYXllckNvY29hOjpiYWNraW5nU3RvcmVCeXRlc1BlclBpeGVsKCkgY29uc3QNCiB7
DQotI2lmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gOTAzMDANCisjaWYgUExBVEZPUk0oSU9TKQ0KICAgICBpZiAod2FudHNEZWVwQ29sb3JCYWNr
aW5nU3RvcmUoKSkNCiAgICAgICAgIHJldHVybiBpc09wYXF1ZSgpID8gNCA6IDU7DQogI2VuZGlm
DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtOTcsNyArOTcsNyBAQCBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3Bh
Y2VSZWYoKQ0KIENHQ29sb3JTcGFjZVJlZiBleHRlbmRlZFNSR0JDb2xvclNwYWNlUmVmKCkNCiB7
DQogICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgZXh0ZW5kZWRTUkdCU3BhY2U7DQotI2lmIChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEyMDApDQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApDQogICAgIGV4dGVuZGVkU1JHQlNw
YWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0aE5hbWUoa0NHQ29sb3JTcGFjZUV4dGVuZGVkU1JH
Qik7DQogI2VuZGlmDQogICAgIC8vIElmIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIGV4dGVuZWRl
ZCBzUkdCLCBmYWxsIGJhY2sgdG8gc1JHQi4NCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwCShyZXZp
c2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERG
RG9jdW1lbnRJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9p
ZCBQREZEb2N1bWVudEltYWdlOjpkcmF3UERGUGFnZShHcmFwaA0KICAgICBub3RJbXBsZW1lbnRl
ZCgpOw0KICNlbHNlDQogICAgIC8vIENHUERGIHBhZ2VzIGFyZSBpbmRleGVkIGZyb20gMS4NCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgQ0dDb250ZXh0
RHJhd1BERlBhZ2VXaXRoQW5ub3RhdGlvbnMoY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKSwgQ0dQ
REZEb2N1bWVudEdldFBhZ2UobV9kb2N1bWVudC5nZXQoKSwgMSksIG51bGxwdHIpOw0KICNlbHNl
DQogICAgIENHQ29udGV4dERyYXdQREZQYWdlKGNvbnRleHQucGxhdGZvcm1Db250ZXh0KCksIENH
UERGRG9jdW1lbnRHZXRQYWdlKG1fZG9jdW1lbnQuZ2V0KCksIDEpKTsNCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC0xMjgwLDcgKzEyODAsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gbG9v
a3VwRmFsbGJhDQogICAgIEFTU0VSVChsZW5ndGggPiAwKTsNCiANCiAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7DQotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkgfHwgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApDQorI2lmIFBMQVRGT1JN
KElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEyMDApDQogICAgIGlmICghbG9jYWxlLmlzTnVsbCgpKQ0KICAgICAgICAgbG9jYWxl
U3RyaW5nID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7DQogI2Vsc2UNCkBAIC0x
Mjg5LDcgKzEyODksNyBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gbG9va3VwRmFsbGJh
DQogDQogICAgIENGSW5kZXggY292ZXJlZExlbmd0aCA9IDA7DQogICAgIFJldGFpblB0cjxDVEZv
bnRSZWY+IHJlc3VsdDsNCi0jaWYgIVVTRV9QTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCAm
JiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMDAwMCkpDQorI2lmICFVU0VfUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1Qg
JiYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwKSB8fCBQTEFURk9STShJT1MpKQ0KICAgICByZXN1bHQgPSBhZG9wdENGKENURm9udENy
ZWF0ZVBoeXNpY2FsRm9udEZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoZm9udCwgY2hhcmFjdGVy
cywgbGVuZ3RoLCBsb2NhbGVTdHJpbmcuZ2V0KCksICZjb3ZlcmVkTGVuZ3RoKSk7DQogI2Vsc2UN
CiAgICAgcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1
YWdlKGZvbnQsIGNoYXJhY3RlcnMsIGxlbmd0aCwgbG9jYWxlU3RyaW5nLmdldCgpLCAmY292ZXJl
ZExlbmd0aCkpOw0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDb2NvYS5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtRGVzdHJveSgpDQogDQog
Ym9vbCBGb250Ojp2YXJpYW50Q2Fwc1N1cHBvcnRzQ2hhcmFjdGVyRm9yU3ludGhlc2lzKEZvbnRW
YXJpYW50Q2FwcyBmb250VmFyaWFudENhcHMsIFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdA0KIHsN
Ci0jaWYgKFBMQVRGT1JNKElPUykgJiYgVEFSR0VUX09TX0lPUyAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiAoUExBVEZPUk0oSU9TKSAm
JiBUQVJHRVRfT1NfSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTIwMCkNCiAgICAgR2x5cGggZ2x5cGggPSBnbHlwaEZvckNoYXJh
Y3RlcihjaGFyYWN0ZXIpOw0KICAgICBpZiAoIWdseXBoKQ0KICAgICAgICAgcmV0dXJuIGZhbHNl
Ow0KQEAgLTI3OSw3ICsyNzksNyBAQCBib29sIEZvbnQ6OnZhcmlhbnRDYXBzU3VwcG9ydHNDaGFy
YWN0ZXJGDQogI2VuZGlmDQogfQ0KIA0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBUQVJHRVRfT1Nf
SU9TICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkgfHwgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAp
DQorI2lmIChQTEFURk9STShJT1MpICYmIFRBUkdFVF9PU19JT1MpIHx8IChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KIHN0YXRpYyBS
ZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBzbWFsbENhcHNPcGVuVHlwZURpY3Rpb25hcnkoQ0ZT
dHJpbmdSZWYga2V5LCBpbnQgcmF3VmFsdWUpDQogew0KICAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJS
ZWY+IHZhbHVlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBr
Q0ZOdW1iZXJJbnRUeXBlLCAmcmF3VmFsdWUpKTsNCkBAIC01ODQsNyArNTg0LDcgQEAgRmxvYXRS
ZWN0IEZvbnQ6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoRw0KICAgICByZXR1cm4gYm91bmRpbmdC
b3g7DQogfQ0KIA0KLSNpZiAhKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApKQ0KKyNpZiAhKChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9STShJ
T1MpKQ0KIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxDR1NpemU+IGFkdmFuY2VGb3JDb2xv
ckJpdG1hcEZvbnQoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBHbHlwaCBn
bHlwaCkNCiB7DQogICAgIENURm9udFJlZiBmb250ID0gcGxhdGZvcm1EYXRhLmZvbnQoKTsNCkBA
IC02MTQsNyArNjE0LDcgQEAgZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBo
IA0KICAgICBib29sIGhvcml6b250YWwgPSBwbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09
IEhvcml6b250YWw7DQogICAgIENHRm9udFJlbmRlcmluZ1N0eWxlIHN0eWxlID0ga0NHRm9udFJl
bmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nIHwga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQ
b3NpdGlvbmluZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uIHwg
a0NHRm9udEFudGlhbGlhc2luZ1N0eWxlVW5maWx0ZXJlZDsNCiANCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFU
Rk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkN
CisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgaWYgKHBsYXRmb3JtRGF0YSgpLnNpemUo
KSkgew0KICAgICAgICAgQ1RGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBob3Jpem9udGFs
IHx8IG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayA/IGtDVEZvbnRPcmllbnRhdGlvbkhvcml6
b250YWwgOiBrQ1RGb250T3JpZW50YXRpb25WZXJ0aWNhbDsNCiAgICAgICAgIC8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyBzcGVjaWFsLWNhc2luZyB3aGVuIDxyZGFyOi8vcHJvYmxlbS8yODE5NzI5MT4g
YW5kIDxyZGFyOi8vcHJvYmxlbS8yODY2MjA4Nj4gYXJlIGZpeGVkLg0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQ0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRQbGF0Zm9ybURhdGFDb2NvYS5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQkod29y
a2luZyBjb3B5KQ0KQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgew0KIGVudW0g
VGV4dFNwYWNpbmdDVEZlYXR1cmVTZWxlY3RvciB7IFRleHRTcGFjaW5nUHJvcG9ydGlvbmFsLCBU
ZXh0U3BhY2luZ0Z1bGxXaWR0aCwgVGV4dFNwYWNpbmdIYWxmV2lkdGgsIFRleHRTcGFjaW5nVGhp
cmRXaWR0aCwgVGV4dFNwYWNpbmdRdWFydGVyV2lkdGggfTsNCiANCiBGb250UGxhdGZvcm1EYXRh
OjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4
dFJlbmRlcmluZ01vZGUpDQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAwMDAwKQ0KKyNpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDANCiAgICAgOiBGb250UGxhdGZv
cm1EYXRhKGFkb3B0Q0YoQ1RGb250Q29weUdyYXBoaWNzRm9udChmb250LCBOVUxMKSkuZ2V0KCks
IHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0
aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQ0KICNlbHNlDQogICAgIDogRm9udFBsYXRmb3Jt
RGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBvcmllbnRhdGlvbiwg
d2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkNCkBAIC0xNjIsNyArMTYyLDcgQEAgQ1RG
b250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbg0KICAgICAgICAgcmV0dXJuIG1f
Y3RGb250LmdldCgpOw0KIA0KICAgICBBU1NFUlQobV9mb250KTsNCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkgfHwgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDAwMDApDQor
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEw
MTIwMA0KICAgICBBU1NFUlQobV9jZ0ZvbnQpOw0KICNlbmRpZg0KICAgICBtX2N0Rm9udCA9IGFk
b3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fZm9udC5nZXQoKSwgbV9zaXpl
LCAwLCBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFyaWF0aW9uc0ZvbnREZXNjcmlwdG9yKG1fZm9u
dC5nZXQoKSkuZ2V0KCkpKTsNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9JT1N1cmZhY2UubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHJldmlzaW9uIDIxOTA1MykNCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHdvcmtp
bmcgY29weSkNCkBAIC0yNTMsMTEgKzI1Myw3IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBXZWJD
b3JlOjpJT1N1cmZhY2UNCiANCiBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gV2ViQ29yZTo6SU9TdXJm
YWNlOjpzaW5rSW50b0ltYWdlKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IHN1cmZhY2UpDQog
ew0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDAwMDApIHx8IFBMQVRGT1JNKE1BQykNCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJT1N1
cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2VSZWZlcmVuY2Uoc3VyZmFjZS0+ZW5zdXJlUGxhdGZvcm1D
b250ZXh0KCkpKTsNCi0jZWxzZQ0KLSAgICByZXR1cm4gc3VyZmFjZS0+Y3JlYXRlSW1hZ2UoKTsN
Ci0jZW5kaWYNCiB9DQogDQogdm9pZCBXZWJDb3JlOjpJT1N1cmZhY2U6OnNldENvbnRleHRTaXpl
KEludFNpemUgY29udGV4dFNpemUpDQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uLm1tCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtNzcsNyArNzcsNyBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbjo6c2V0VGltDQogICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5k
bGVyKG1fdGltZXJTb3VyY2UuZ2V0KCksIFt0aGlzXSB7DQogICAgICAgICAgICAgICAgIGF1dG9t
YXRpY0RlcXVldWUoKTsNCiAgICAgICAgICAgICB9KTsNCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEy
MDApIHx8IFBMQVRGT1JNKElPUykNCiAgICAgICAgICAgICBkaXNwYXRjaF9hY3RpdmF0ZShtX3Rp
bWVyU291cmNlLmdldCgpKTsNCiAjZW5kaWYNCiAgICAgICAgIH0NCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQko
cmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9Gb250Q2FjaGVJT1MubW0JKHdvcmtpbmcgY29weSkNCkBAIC05Niw3ICs5Niw2IEBAIHN0YXRp
YyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gYmENCiAgICAgcmV0dXJuIGFkb3B0Q0Yo
Q1RGb250RGVzY3JpcHRvckNyZWF0ZUZvclVJVHlwZShmb250VHlwZSwgc2l6ZSwgbnVsbHB0cikp
Ow0KIH0NCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAw
DQogc3RhdGljIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IHN5c3RlbUZvbnRNb2RpZmljYXRpb25B
dHRyaWJ1dGVzKEZvbnRTZWxlY3Rpb25WYWx1ZSB3ZWlnaHQsIGJvb2wgaXRhbGljKQ0KIHsNCiAg
ICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IHRyYWl0c0RpY3Rpb25hcnkgPSBhZG9w
dE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOw0KQEAgLTEyOSwxOSArMTI4
LDEyIEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBzeXN0ZW1Gb24NCiANCiAgICAg
cmV0dXJuIEB7IHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KGtDVEZvbnRUcmFpdHNBdHRyaWJ1dGUp
IDogdHJhaXRzRGljdGlvbmFyeS5nZXQoKSB9Ow0KIH0NCi0jZW5kaWYNCiANCiBzdGF0aWMgUmV0
YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IHN5c3RlbUZvbnREZXNjcmlwdG9yKEZvbnRTZWxl
Y3Rpb25WYWx1ZSB3ZWlnaHQsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUpDQog
ew0KICAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gZm9udERlc2NyaXB0b3IgPSBi
YXNlU3lzdGVtRm9udERlc2NyaXB0b3Iod2VpZ2h0LCBib2xkLCBzaXplKTsNCi0jaWYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAgIFJldGFpblB0cjxOU0Rp
Y3Rpb25hcnk+IGF0dHJpYnV0ZXMgPSBzeXN0ZW1Gb250TW9kaWZpY2F0aW9uQXR0cmlidXRlcyh3
ZWlnaHQsIGl0YWxpYyk7DQogICAgIHJldHVybiBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVh
dGVDb3B5V2l0aEF0dHJpYnV0ZXMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHN0YXRpY19jYXN0PENG
RGljdGlvbmFyeVJlZj4oYXR0cmlidXRlcy5nZXQoKSkpKTsNCi0jZWxzZQ0KLSAgICBpZiAoaXRh
bGljKQ0KLSAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZUNvcHlX
aXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIGtDVEZvbnRJdGFsaWNUcmFp
dCwga0NURm9udEl0YWxpY1RyYWl0KSk7DQotICAgIHJldHVybiBmb250RGVzY3JpcHRvcjsNCi0j
ZW5kaWYNCiB9DQogI2VuZGlmDQogDQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
Y3BwCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNjAs
NyArNjAsNyBAQCBib29sIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OnN1cHBvcnRzRm9yDQogew0K
ICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAidHJ1ZXR5
cGUiKQ0KICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAi
b3BlbnR5cGUiKQ0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0KKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQ0K
ICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAid29mZjIi
KQ0KICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQ0KICAgICAgICAgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZm9ybWF0LCAid29mZjItdmFyaWF0aW9ucyIpDQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQ0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0J
KHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5
VGlsZUdyaWRUaWxlLm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtNjEsMTAgKzYxLDkgQEAgTGVnYWN5
VGlsZUdyaWRUaWxlOjpMZWdhY3lUaWxlR3JpZFRpbGUoTA0KICAgICAgICAgbV90aWxlTGF5ZXIg
PSBhZG9wdE5TKFtbTGVnYWN5VGlsZUxheWVyIGFsbG9jXSBpbml0XSk7DQogICAgIH0NCiAgICAg
TGVnYWN5VGlsZUxheWVyKiBsYXllciA9IG1fdGlsZUxheWVyLmdldCgpOw0KLSNpZiBQTEFURk9S
TShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQogICAg
IGlmIChzY3JlZW5TdXBwb3J0c0V4dGVuZGVkQ29sb3IoKSkNCiAgICAgICAgIGxheWVyLmNvbnRl
bnRzRm9ybWF0ID0ga0NBQ29udGVudHNGb3JtYXRSR0JBMTBYUjsNCi0jZW5kaWYNCisNCiAgICAg
W2xheWVyIHNldFRpbGVHcmlkOnRpbGVHcmlkXTsNCiAgICAgW2xheWVyIHNldE9wYXF1ZTptX3Rp
bGVHcmlkLT50aWxlQ2FjaGUoKS50aWxlc09wYXF1ZSgpXTsNCiAgICAgW2xheWVyIHNldEVkZ2VB
bnRpYWxpYXNpbmdNYXNrOjBdOw0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTcxLDExICs3MSw3IEBAIGJvb2wgc2NyZWVuSGFzSW52ZXJ0ZWRDb2xvcnMoKQ0KIA0K
IGJvb2wgc2NyZWVuU3VwcG9ydHNFeHRlbmRlZENvbG9yKFdpZGdldCopDQogew0KLSNpZiBQTEFU
Rk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQog
ICAgIHJldHVybiBNR0dldEJvb2xBbnN3ZXIoa01HUUhhc0V4dGVuZGVkQ29sb3JEaXNwbGF5KTsN
Ci0jZWxzZQ0KLSAgICByZXR1cm4gZmFsc2U7DQotI2VuZGlmDQogfQ0KIA0KIC8vIFRoZXNlIGZ1
bmN0aW9ucyBzY2FsZSBiZXR3ZWVuIHNjcmVlbiBhbmQgcGFnZSBjb29yZGluYXRlcyBiZWNhdXNl
IEphdmFTY3JpcHQvRE9NIG9wZXJhdGlvbnMNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQkocmV2aXNp
b24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0JKHdvcmtpbmcgY29weSkNCkBAIC0zNiw5ICszNiw3IEBADQogU09GVF9M
SU5LX0ZSQU1FV09SSyhNZWRpYVBsYXllcikNCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIs
IE1QUmVtb3RlQ29tbWFuZENlbnRlcikNCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1Q
U2Vla0NvbW1hbmRFdmVudCkNCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSA5MDEwMA0KIFNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBDaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZEV2ZW50KQ0KLSNlbmRpZg0KIA0KIG5hbWVzcGFjZSBXZWJDb3JlIHsNCiAN
CkBAIC0xMTQsNyArMTEyLDYgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21t
YW5kTA0KICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNz
Ow0KICAgICB9XTsNCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSA5
MDEwMA0KICAgICBtX3NlZWtUb1RpbWVUYXJnZXQgPSBbW2NlbnRlciBjaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZF0gYWRkVGFyZ2V0V2l0aEhhbmRsZXI6XihNUFJlbW90ZUNvbW1hbmRFdmVu
dCAqZXZlbnQpIHsNCiAgICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENo
YW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7DQogDQpAQCAtMTMyLDcg
KzEyOSw2IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZEwNCiANCiAg
ICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsNCiAgICAg
fV07DQotI2VuZGlmDQogfQ0KIA0KIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6flJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUygpDQpAQCAtMTQzLDE2ICsxMzksMTIgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjp+UmVtb3RlQ29tbWFuZA0KICAgICBbW2NlbnRlciB0b2dnbGVQbGF5UGF1c2VD
b21tYW5kXSByZW1vdmVUYXJnZXQ6bV90b2dnbGVQbGF5UGF1c2VUYXJnZXQuZ2V0KCldOw0KICAg
ICBbW2NlbnRlciBzZWVrRm9yd2FyZENvbW1hbmRdIHJlbW92ZVRhcmdldDptX3NlZWtGb3J3YXJk
VGFyZ2V0LmdldCgpXTsNCiAgICAgW1tjZW50ZXIgc2Vla0JhY2t3YXJkQ29tbWFuZF0gcmVtb3Zl
VGFyZ2V0Om1fc2Vla0JhY2t3YXJkVGFyZ2V0LmdldCgpXTsNCi0jaWYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSA5MDEwMA0KICAgICBbW2NlbnRlciBjaGFuZ2VQbGF5YmFja1Bv
c2l0aW9uQ29tbWFuZF0gcmVtb3ZlVGFyZ2V0Om1fc2Vla1RvVGltZVRhcmdldC5nZXQoKV07DQot
I2VuZGlmDQogfQ0KIA0KIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjp1cGRhdGVTdXBw
b3J0ZWRDb21tYW5kcygpDQogew0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VE
ID49IDkwMTAwDQogICAgIFtbW2dldE1QUmVtb3RlQ29tbWFuZENlbnRlckNsYXNzKCkgc2hhcmVk
Q29tbWFuZENlbnRlcl0gY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRdIHNldEVuYWJsZWQ6
ISFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmcoKV07DQotI2VuZGlmDQogfQ0KIA0KIH0NCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgJKHJl
dmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xMzksNyArMTM5LDcgQEAgdHlwZWRlZiB2b2lk
ICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYQ0KIEBlbmQNCiAjZW5kaWYNCiANCi0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAp
IHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElPUykNCiBAaW50ZXJmYWNlIE5TSFRUUENv
b2tpZSAoKQ0KIEBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAq
X3N0b3JhZ2VQYXJ0aXRpb247DQogQGVuZA0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaAkocmV2aXNpb24gMjE5MDUzKQ0KKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTE4OCw3ICsxODgsNyBAQCBDR0RhdGFQcm92aWRlclJlZiBDR1BERkRvY3Vt
ZW50R2V0RGF0YVByDQogQ0dGb250QW50aWFsaWFzaW5nU3R5bGUgQ0dDb250ZXh0R2V0Rm9udEFu
dGlhbGlhc2luZ1N0eWxlKENHQ29udGV4dFJlZik7DQogdm9pZCBDR0NvbnRleHRTZXRGb250QW50
aWFsaWFzaW5nU3R5bGUoQ0dDb250ZXh0UmVmLCBDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZSk7DQog
DQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMjAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDApDQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSB8fCBQTEFURk9STShJT1MpDQogdHlwZWRlZiBz
dHJ1Y3QgQ0dQREZBbm5vdGF0aW9uICpDR1BERkFubm90YXRpb25SZWY7DQogdHlwZWRlZiBib29s
ICheQ0dQREZBbm5vdGF0aW9uRHJhd0NhbGxiYWNrVHlwZSkoQ0dDb250ZXh0UmVmIGNvbnRleHQs
IENHUERGUGFnZVJlZiBwYWdlLCBDR1BERkFubm90YXRpb25SZWYgYW5ub3RhdGlvbik7DQogdm9p
ZCBDR0NvbnRleHREcmF3UERGUGFnZVdpdGhBbm5vdGF0aW9ucyhDR0NvbnRleHRSZWYsIENHUERG
UGFnZVJlZiwgQ0dQREZBbm5vdGF0aW9uRHJhd0NhbGxiYWNrVHlwZSk7DQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmgNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGF0YURldGVjdG9y
c0NvcmVTUEkuaAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMzYs
OSArMzYsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0REUmVzdWx0ICpERFJlc3VsdFJlZjsNCiAjaW1w
b3J0IDxEYXRhRGV0ZWN0b3JzQ29yZS9EYXRhRGV0ZWN0b3JzQ29yZS5oPg0KIA0KICNpZiBQTEFU
Rk9STShJT1MpDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MA0KICNpbXBvcnQgPERhdGFEZXRlY3RvcnNDb3JlL0RET3B0aW9uYWxTb3VyY2UuaD4NCi0jZW5k
aWYNCiAjaW1wb3J0IDxEYXRhRGV0ZWN0b3JzQ29yZS9ERFVSTGlmaWVyLmg+DQogI2VuZGlmIC8v
IFBMQVRGT1JNKElPUykNCiANCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvUXVhcnR6Q29yZVNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgJKHdvcmtpbmcgY29w
eSkNCkBAIC04NCw5ICs4NCw2IEBADQogQHByb3BlcnR5IEJPT0wgaGl0VGVzdHNBc09wYXF1ZTsN
CiBAcHJvcGVydHkgQk9PTCBuZWVkc0xheW91dE9uR2VvbWV0cnlDaGFuZ2U7DQogQHByb3BlcnR5
IEJPT0wgc2hhZG93UGF0aElzQm91bmRzOw0KLSNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPCAxMDAwMDANCi1AcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpjb250ZW50
c0Zvcm1hdDsNCi0jZW5kaWYNCiBAZW5kDQogDQogI2lmIFBMQVRGT1JNKElPUykNCkBAIC0yMDUs
NyArMjAyLDcgQEAgZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qga0NBQ29udGV4dERpc3BsYQ0KIGV4
dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQUNvbnRleHREaXNwbGF5SWQ7DQogZXh0ZXJuIE5TU3Ry
aW5nICogY29uc3Qga0NBQ29udGV4dElnbm9yZXNIaXRUZXN0Ow0KIA0KLSNpZiBQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMzAwDQorI2lmIFBM
QVRGT1JNKElPUykNCiBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBrQ0FDb250ZW50c0Zvcm1hdFJH
QkExMFhSOw0KICNlbmRpZg0KIA0KQEAgLTIxMywxMCArMjEwLDcgQEAgZXh0ZXJuIE5TU3RyaW5n
ICogY29uc3Qga0NBQ29udGVudHNGb3JtYQ0KIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQUNv
bnRlbnRzRm9ybWF0UkdCQThDb2xvclJHQkE4TGluZWFyR2x5cGhNYXNrOw0KICNlbmRpZg0KIA0K
LSNpZiAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwg
MTAwMDAwKSBcDQotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPCAzMDAwMCkgXA0KLSAgICB8fCAoUExBVEZPUk0oSU9TKSAmJiBUQVJH
RVRfT1NfSU9TICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDAwMDApIFwN
Ci0gICAgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
IDwgMTAxMjAwKQ0KKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhf
QUxMT1dFRCA8IDEwMTIwMA0KIEBwcm90b2NvbCBDQUxheWVyRGVsZWdhdGUgPE5TT2JqZWN0Pg0K
IEBlbmQNCiANCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRh
dGlvblNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21h
Yy9BVkZvdW5kYXRpb25TUEkuaAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC03
Niw3ICs3Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORA0KIA0KICNlbmRpZiAvLyBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQ0KIA0KLSNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMjAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEID49IDEwMTIwMCkgfHwgUExBVEZPUk0oSU9TKQ0KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VkFzc2V0Q2FjaGUuaD4NCiAjZWxzZQ0KIEBpbnRlcmZhY2UgQVZBc3NldENhY2hlIDogTlNPYmpl
Y3QNCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMjYgQEANCisyMDE3LTA3LTAx
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1v
dmUgY29kZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6DQorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZzoNCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOg0K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToNCisgICAgICAgICgt
W1dLV2ViVmlldyBkZWFsbG9jXSk6DQorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tOg0KKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHNldFN1
Z2dlc3Rpb25zOl0pOg0KKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIGludmFsaWRhdGVd
KToNCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5zZXJ0VGV4dFN1Z2dlc3Rpb246XSk6DQor
ICAgICAgICAoY29udGVudFR5cGVGcm9tRmllbGROYW1lKToNCisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgdGV4dElucHV0VHJhaXRzXSk6DQorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kYXRh
Rm9yUHJldmlld0l0ZW1Db250cm9sbGVyOmF0UG9zaXRpb246dHlwZTpdKToNCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOg0KKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1hdGlvbik6DQorICAgICAgICAqIGNvbmZpZy5oOg0K
Kw0KIDIwMTctMDctMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPg0KIA0KICAg
ICAgICAgV2hlbiBzZXR0aW5nIGEgY3VzdG9tIGNvb2tpZSBzdG9yYWdlIGxvY2F0aW9uIG9uIGEg
V0tXZWJzaXRlRGF0YVN0b3JlLCBjb29raWVzIGFyZW4ndCBhY3R1YWxseSByZW1vdmVkLg0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL2NvbmZpZy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktp
dDIvY29uZmlnLmgJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViS2l0Mi9jb25maWcu
aAkod29ya2luZyBjb3B5KQ0KQEAgLTczLDExICs3Myw3IEBADQogI2VuZGlmDQogI2VuZGlmDQog
DQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMjAwKSBcDQotICAgIHx8IChQTEFURk9STShJT1MpICYmIFRBUkdFVF9PU19JT1MgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwKSBcDQotICAgIHx8IChQ
TEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MCkgXA0KLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAzMDAwMCkgXA0KLSAgICB8fCBVU0UoU09VUCkNCisjaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBM
QVRGT1JNKElPUykgfHwgUExBVEZPUk0oQVBQTEVUVikgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwg
VVNFKFNPVVApDQogI2lmbmRlZiBVU0VfTkVUV09SS19TRVNTSU9ODQogI2RlZmluZSBVU0VfTkVU
V09SS19TRVNTSU9OIDENCiAjZW5kaWYNCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTkw
NTMpDQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkNCkBAIC00NSw4ICs0NSw2IEBAIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkdbc2QNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1pcGhvbmUqXSA9
ICQoRU5BQkxFX0FQUExFX1BBWV8kKFBMQVRGT1JNX05BTUUpKTsNCiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsNCiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNp
bXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7DQotRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25l
b3M5Kl0gPSA7DQotRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lc2ltdWxhdG9yOSpdID0gOw0K
IA0KIERJU0FCTEVfQVBQTEVfUEFZX21hY29zeCA9ICQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05f
TEVTU19USEFOXzEwMTIwMDApOw0KIEVOQUJMRV9BUFBMRV9QQVlbc2RrPW1hY29zeCpdID0gJChF
TkFCTEVfQVBQTEVfUEFZX0lGX05PVF8kKERJU0FCTEVfQVBQTEVfUEFZX21hY29zeCkpOw0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZw0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwko
cmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQ0KQEAgLTc4LDkgKzc4LDYgQEAgV0tfRlJBTUVXT1JL
X0hFQURFUl9QT1NUUFJPQ0VTU0lOR19ESVNBQg0KIFdLX0ZSQU1FV09SS19IRUFERVJfUE9TVFBS
T0NFU1NJTkdfRElTQUJMRURfbWFjb3N4XzEwMTEwMCA9IFlFUzsNCiBXS19GUkFNRVdPUktfSEVB
REVSX1BPU1RQUk9DRVNTSU5HX0RJU0FCTEVEX21hY29zeF8xMDEyMDAgPSBZRVM7DQogDQotV0tf
RlJBTUVXT1JLX0hFQURFUl9QT1NUUFJPQ0VTU0lOR19ESVNBQkxFRFtzZGs9aXBob25lb3M5Kl0g
PSBZRVM7DQotV0tfRlJBTUVXT1JLX0hFQURFUl9QT1NUUFJPQ0VTU0lOR19ESVNBQkxFRFtzZGs9
aXBob25lc2ltdWxhdG9yOSpdID0gWUVTOw0KLQ0KIFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19M
REZMQUdTID0gJChXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktfTERGTEFHU18kKFdLX1JFTE9DQVRB
QkxFX0ZSQU1FV09SS1MpKTsNCiBXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktfTERGTEFHU19ZRVMg
PSAtV2wsLW5vdF9mb3JfZHlsZF9zaGFyZWRfY2FjaGU7DQogDQpJbmRleDogU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTkwNTMpDQorKysg
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCSh3b3JraW5nIGNvcHkp
DQpAQCAtMjQyLDEyICsyNDIsNiBAQCB0eXBlZGVmIGVudW0gew0KIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkd3JpdGUsIHJldGFpbikgVUlSZXNwb25kZXIgPFVJS2V5SW5wdXQ+ICpkZWxlZ2F0
ZTsNCiBAZW5kDQogDQotQGludGVyZmFjZSBVSUdlc3R1cmVSZWNvZ25pemVyICgpDQotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCA5MDIwMA0KLUBwcm9wZXJ0eShub25hdG9t
aWMsIGNvcHkpIE5TQXJyYXk8TlNOdW1iZXIgKj4gKmFsbG93ZWRUb3VjaFR5cGVzOw0KLSNlbmRp
Zg0KLUBlbmQNCi0NCiBAaW50ZXJmYWNlIFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgKCkN
CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQ0ZUaW1lSW50ZXJ2YWwgZGVsYXk7DQogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IHN0YXJ0UG9pbnQ7DQpAQCAtMjk5LDE2ICsy
OTMsNiBAQCB0eXBlZGVmIGVudW0gew0KIC0gKENBRGlzcGxheSAqKV9kaXNwbGF5Ow0KIEBlbmQN
CiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDkwMTAwDQotdHlwZWRl
ZiBlbnVtIHsNCi0gICAgVUlUb3VjaFR5cGVEaXJlY3QNCi19IFVJVG91Y2hUeXBlOw0KLQ0KLUBp
bnRlcmZhY2UgVUlUb3VjaCAoKQ0KLUBwcm9wZXJ0eShub25hdG9taWMscmVhZG9ubHkpIFVJVG91
Y2hUeXBlIHR5cGU7DQotQGVuZA0KLSNlbmRpZg0KLQ0KIEBpbnRlcmZhY2UgVUlTY3JvbGxWaWV3
ICgpDQogLSAodm9pZClfc3RvcFNjcm9sbGluZ0FuZFpvb21pbmdBbmltYXRpb25zOw0KIC0gKHZv
aWQpX3pvb21Ub0NlbnRlcjooQ0dQb2ludCljZW50ZXIgc2NhbGU6KENHRmxvYXQpc2NhbGUgZHVy
YXRpb246KENGVGltZUludGVydmFsKWR1cmF0aW9uIGZvcmNlOihCT09MKWZvcmNlOw0KQEAgLTM4
NSwxMyArMzY5LDExIEBAIHR5cGVkZWYgZW51bSB7DQogLSAodm9pZCl3aWxsU3RhcnRTY3JvbGxp
bmdPdmVyZmxvdzsNCiBAZW5kDQogDQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMDAwMA0KIEBjbGFzcyBVSVRleHRTdWdnZXN0aW9uOw0KIA0KIEBwcm90b2NvbCBV
SVRleHRJbnB1dFN1Z2dlc3Rpb25EZWxlZ2F0ZSA8VUlUZXh0SW5wdXREZWxlZ2F0ZT4NCiAtICh2
b2lkKXNldFN1Z2dlc3Rpb25zOihOU0FycmF5IDxVSVRleHRTdWdnZXN0aW9uKj4gKilzdWdnZXN0
aW9uczsNCiBAZW5kDQotI2VuZGlmDQogDQogQGludGVyZmFjZSBVSVZpZXdDb250cm9sbGVyICgp
DQogKyAoVUlWaWV3Q29udHJvbGxlciAqKV92aWV3Q29udHJvbGxlckZvckZ1bGxTY3JlZW5QcmVz
ZW50YXRpb25Gcm9tVmlldzooVUlWaWV3ICopdmlldzsNCkBAIC01NjksMTEgKzU1MSw2IEBAIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJV0tIYW5kbGVQb3MNCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBOU1JhbmdlIHJhbmdlSW5NYXJrZWRUZXh0Ow0KIEBlbmQNCiANCi0jaWYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMDAwMA0KLUBwcm90b2NvbCBVSVJl
c3BvbmRlclN0YW5kYXJkRWRpdEFjdGlvbnMNCi1AZW5kDQotI2VuZGlmDQotDQogQGludGVyZmFj
ZSBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50IDogVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3Rh
bnQgPFVJUmVzcG9uZGVyU3RhbmRhcmRFZGl0QWN0aW9ucz4NCiBAZW5kDQogDQpAQCAtOTI2LDkg
KzkwMyw3IEBAIGV4dGVybiBjb25zdCBOU1N0cmluZyAqVUlQcmV2aWV3RGF0YUxpbmsNCiBleHRl
cm4gY29uc3QgTlNTdHJpbmcgKlVJUHJldmlld0RhdGFERFJlc3VsdDsNCiBleHRlcm4gY29uc3Qg
TlNTdHJpbmcgKlVJUHJldmlld0RhdGFERENvbnRleHQ7DQogDQotI2lmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KIGV4dGVybiBjb25zdCBOU1N0cmluZyAqVUlQ
cmV2aWV3RGF0YUF0dGFjaG1lbnRMaXN0Ow0KIGV4dGVybiBjb25zdCBOU1N0cmluZyAqVUlQcmV2
aWV3RGF0YUF0dGFjaG1lbnRJbmRleDsNCi0jZW5kaWYNCiANCiBXVEZfRVhURVJOX0NfRU5EDQpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0NCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtMTQzLDcgKzE0Myw2IEBADQog
I2ltcG9ydCA8V2ViQ29yZS9XZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIuaD4NCiAjaW1wb3J0
IDxXZWJDb3JlL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oPg0KIA0KLSNpZiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiAjaWYgX19oYXNfaW5jbHVk
ZSg8QWNjZXNzaWJpbGl0eVN1cHBvcnQuaD4pDQogI2luY2x1ZGUgPEFjY2Vzc2liaWxpdHlTdXBw
b3J0Lmg+DQogI2Vsc2UNCkBAIC0xNTEsNyArMTUwLDYgQEAgZXh0ZXJuICJDIiB7DQogQ0ZTdHJp
bmdSZWYga0FYU0FsbG93Rm9yY2VXZWJTY2FsaW5nRW5hYmxlZE5vdGlmaWNhdGlvbjsNCiB9DQog
I2VuZGlmDQotI2VuZGlmDQogDQogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikg
UkVMRUFTRV9MT0dfSUYoX3BhZ2UgJiYgX3BhZ2UtPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
LCBWaWV3U3RhdGUsIF9fVkFfQVJHU19fKQ0KIA0KQEAgLTY4MSw3ICs2NzksNyBAQCAtICh2b2lk
KWRlYWxsb2MNCiANCiAgICAgW19yZW1vdGVPYmplY3RSZWdpc3RyeSBfaW52YWxpZGF0ZV07DQog
ICAgIFtbX2NvbmZpZ3VyYXRpb24gX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5XSByZW1vdmVQYWdl
OipfcGFnZV07DQotI2lmIFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAwMDAwDQorI2lmIFBMQVRGT1JNKElPUykNCiAgICAgQ0ZOb3RpZmljYXRp
b25DZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlm
eUNlbnRlcigpLCAoX19icmlkZ2UgY29uc3Qgdm9pZCAqKShzZWxmKSwgbnVsbHB0ciwgbnVsbHB0
cik7DQogI2VuZGlmDQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6c2VsZl07DQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24g
MjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtMzk0LDE5ICszOTQsMTUgQEAgLSAoTlNB
cnJheTxVSVRleHRTdWdnZXN0aW9uICo+ICopc3VnZ2VzdA0KIA0KIC0gKHZvaWQpc2V0U3VnZ2Vz
dGlvbnM6KE5TQXJyYXk8VUlUZXh0U3VnZ2VzdGlvbiAqPiAqKXN1Z2dlc3Rpb25zDQogew0KLSNp
ZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiAgICAgaWQgPFVJ
VGV4dElucHV0U3VnZ2VzdGlvbkRlbGVnYXRlPiBzdWdnZXN0aW9uRGVsZWdhdGUgPSAoaWQgPFVJ
VGV4dElucHV0U3VnZ2VzdGlvbkRlbGVnYXRlPilfY29udGVudFZpZXcuaW5wdXREZWxlZ2F0ZTsN
CiAgICAgX3N1Z2dlc3Rpb25zID0gYWRvcHROUyhbc3VnZ2VzdGlvbnMgY29weV0pOw0KICAgICBb
c3VnZ2VzdGlvbkRlbGVnYXRlIHNldFN1Z2dlc3Rpb25zOnN1Z2dlc3Rpb25zXTsNCi0jZW5kaWYN
CiB9DQogDQogLSAodm9pZClpbnZhbGlkYXRlDQogew0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiAgICAgaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRl
bGVnYXRlPiBzdWdnZXN0aW9uRGVsZWdhdGUgPSAoaWQgPFVJVGV4dElucHV0U3VnZ2VzdGlvbkRl
bGVnYXRlPilfY29udGVudFZpZXcuaW5wdXREZWxlZ2F0ZTsNCiAgICAgW3N1Z2dlc3Rpb25EZWxl
Z2F0ZSBzZXRTdWdnZXN0aW9uczpuaWxdOw0KLSNlbmRpZg0KICAgICBfY29udGVudFZpZXcgPSBu
aWw7DQogfQ0KIA0KQEAgLTI5NzksMTQgKzI5NzUsMTIgQEAgLSAodm9pZCllbmRTZWxlY3Rpb25D
aGFuZ2UNCiAgICAgW3NlbGYuaW5wdXREZWxlZ2F0ZSBzZWxlY3Rpb25EaWRDaGFuZ2U6c2VsZl07
DQogfQ0KICAgICANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAw
MDAwDQogLSAodm9pZClpbnNlcnRUZXh0U3VnZ2VzdGlvbjooVUlUZXh0U3VnZ2VzdGlvbiAqKXRl
eHRTdWdnZXN0aW9uDQogew0KICAgICBpZCA8X1dLSW5wdXREZWxlZ2F0ZT4gaW5wdXREZWxlZ2F0
ZSA9IFtfd2ViVmlldyBfaW5wdXREZWxlZ2F0ZV07DQogICAgIGlmIChbaW5wdXREZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Omluc2VydFRleHRTdWdnZXN0aW9u
OmluSW5wdXRTZXNzaW9uOildKQ0KICAgICAgICAgW2lucHV0RGVsZWdhdGUgX3dlYlZpZXc6X3dl
YlZpZXcgaW5zZXJ0VGV4dFN1Z2dlc3Rpb246dGV4dFN1Z2dlc3Rpb24gaW5JbnB1dFNlc3Npb246
X2Zvcm1JbnB1dFNlc3Npb24uZ2V0KCldOw0KIH0NCi0jZW5kaWYNCiANCiAtIChOU1N0cmluZyAq
KXRleHRJblJhbmdlOihVSVRleHRSYW5nZSAqKXJhbmdlDQogew0KQEAgLTMyMDIsNyArMzE5Niw2
IEBAIHN0YXRpYyBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlIHRvVUkNCiAgICAgcmV0dXJu
IFVJVGV4dEF1dG9jYXBpdGFsaXphdGlvblR5cGVTZW50ZW5jZXM7DQogfQ0KIA0KLSNpZiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDANCiBzdGF0aWMgTlNTdHJpbmcg
KmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBmaWVs
ZE5hbWUpDQogew0KICAgICBzd2l0Y2ggKGZpZWxkTmFtZSkgew0KQEAgLTMyODUsNyArMzI3OCw2
IEBAIHN0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGVGcm9tRmllbGROYW0NCiANCiAgICAgcmV0
dXJuIG5pbDsNCiB9DQotI2VuZGlmDQogDQogLy8gVUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29s
DQogLy8gRGlyZWN0IGFjY2VzcyB0byB0aGUgKHByaXZhdGUpIFVJVGV4dElucHV0VHJhaXRzIG9i
amVjdC4NCkBAIC0zMzI4LDkgKzMzMjAsNyBAQCAtIChVSVRleHRJbnB1dFRyYWl0cyAqKXRleHRJ
bnB1dFRyYWl0cw0KICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRU
eXBlRGVmYXVsdF07DQogICAgIH0NCiANCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAwMDAwDQogICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpjb250ZW50
VHlwZUZyb21GaWVsZE5hbWUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGRO
YW1lKV07DQotI2VuZGlmDQogDQogICAgIHJldHVybiBfdHJhaXRzLmdldCgpOw0KIH0NCkBAIC01
MDA4LDcgKzQ5OTgsNiBAQCAtIChOU0RpY3Rpb25hcnkgKilfZGF0YUZvclByZXZpZXdJdGVtQ29u
DQogICAgICAgICAqdHlwZSA9IFVJUHJldmlld0l0ZW1UeXBlSW1hZ2U7DQogICAgICAgICBkYXRh
Rm9yUHJldmlld1tVSVByZXZpZXdEYXRhTGlua10gPSAoTlNVUkwgKilfcG9zaXRpb25JbmZvcm1h
dGlvbi5pbWFnZVVSTDsNCiAgICAgfSBlbHNlIGlmIChjYW5TaG93QXR0YWNobWVudFByZXZpZXcp
IHsNCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwDQogICAg
ICAgICAqdHlwZSA9IFVJUHJldmlld0l0ZW1UeXBlQXR0YWNobWVudDsNCiAgICAgICAgIGF1dG8g
ZWxlbWVudCA9IGFkb3B0TlMoW1tfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10gX2luaXRX
aXRoVHlwZTpfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUF0dGFjaG1lbnQgVVJMOihOU1VSTCAqKWxp
bmtVUkwgbG9jYXRpb246X3Bvc2l0aW9uSW5mb3JtYXRpb24ucmVxdWVzdC5wb2ludCB0aXRsZTpf
cG9zaXRpb25JbmZvcm1hdGlvbi50aXRsZSBJRDpfcG9zaXRpb25JbmZvcm1hdGlvbi5pZEF0dHJp
YnV0ZSByZWN0Ol9wb3NpdGlvbkluZm9ybWF0aW9uLmJvdW5kcyBpbWFnZTpuaWxdKTsNCiAgICAg
ICAgIE5TVUludGVnZXIgaW5kZXggPSBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBpbmRl
eEludG9BdHRhY2htZW50TGlzdEZvckVsZW1lbnQ6ZWxlbWVudC5nZXQoKV07DQpAQCAtNTAyMyw3
ICs1MDEyLDYgQEAgLSAoTlNEaWN0aW9uYXJ5ICopX2RhdGFGb3JQcmV2aWV3SXRlbUNvbg0KICAg
ICAgICAgICAgIC8vIEZJWE1FOiBSZXBsYWNlIHRoZSBmb2xsb3dpbmcgTlNTdHJpbmcgbGl0ZXJh
bCB3aXRoIGEgVUlLaXQgTlNTdHJpbmcgY29uc3RhbnQuDQogICAgICAgICAgICAgZGF0YUZvclBy
ZXZpZXdbQCJVSVByZXZpZXdEYXRhQXR0YWNobWVudExpc3RTb3VyY2VJc01hbmFnZWQiXSA9IFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpzb3VyY2VJc01hbmFnZWRdOw0KICAgICAgICAgfQ0KLSNl
bmRpZg0KICAgICB9DQogICAgIA0KICAgICByZXR1cm4gZGF0YUZvclByZXZpZXc7DQpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtMjUzNSw5ICsyNTM1
LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKGNvbg0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0U2l6ZSBiaXRtYXBTaXplID0gc2NhbGVk
U2l6ZS53aWR0aCgpIDwgaW1hZ2UtPnNpemUoKS53aWR0aCgpID8gc2NhbGVkU2l6ZSA6IGltYWdl
LT5zaXplKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IE9ubHkgc2VsZWN0IEV4dGVuZGVkQ29sb3Igb24gaW1hZ2VzIGtub3duIHRvIG5lZWQgd2lkZSBn
YW11dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYXJlYWJsZUJpdG1h
cDo6RmxhZ3MgZmxhZ3MgPSBTaGFyZWFibGVCaXRtYXA6OlN1cHBvcnRzQWxwaGE7DQotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZsYWdzIHw9IHNjcmVlblN1cHBvcnRzRXh0ZW5kZWRDb2xv
cigpID8gU2hhcmVhYmxlQml0bWFwOjpTdXBwb3J0c0V4dGVuZGVkQ29sb3IgOiAwOw0KLSNlbmRp
Zg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChSZWZQdHI8U2hhcmVh
YmxlQml0bWFwPiBzaGFyZWRCaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJs
ZShJbnRTaXplKGJpdG1hcFNpemUpLCBmbGFncykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXV0byBncmFwaGljc0NvbnRleHQgPSBzaGFyZWRCaXRtYXAtPmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZSgqaW1hZ2UsIEZsb2F0UmVjdCgwLCAw
LCBiaXRtYXBTaXplLndpZHRoKCksIGJpdG1hcFNpemUuaGVpZ2h0KCkpKTsNCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMTIgQEANCisyMDE3LTA3LTAxICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29k
ZSBvbmx5IG5lZWRlZCB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6DQorDQogMjAxNy0wNy0wMSAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4NCiANCiAgICAgICAgIEZyYW1lLmggZG9lc24ndCBuZWVkIHRvIGluY2x1
ZGUgRnJhbWVMb2FkZXIuaCwgSW50UmVjdC5oLCBhbmQgTmF2aWdhdGlvblNjaGVkdWxlci5oDQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25lKl0gPSAkKEVOQUJMRV9BUFBMRV9Q
QVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJM
RV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVf
QVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZW9zOSpdID0gOw0KLUVOQUJM
RV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9IDsNCiANCiBESVNBQkxFX0FQUExF
X1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX0xFU1NfVEhBTl8xMDEyMDAw
KTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0FQUExFX1BBWV9J
Rl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsNCkluZGV4OiBTb3VyY2UvYm1hbGxv
Yy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxOTA1MykNCisrKyBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkNCkBAIC0xLDMgKzEsMTQgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRlZCB3aGVu
IGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogYm1hbGxvYy9CUGxhdGZvcm0uaDoNCisgICAgICAgICogYm1h
bGxvYy9WTUFsbG9jYXRlLmg6DQorICAgICAgICAoYm1hbGxvYzo6dm1QYWdlU2l6ZVBoeXNpY2Fs
KToNCisNCiAyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQogDQog
ICAgICAgICBbbWFjT1NdIFJlbW92ZSBjb2RlIG9ubHkgbmVlZGVkIHdoZW4gYnVpbGRpbmcgZm9y
IE9TIFggWW9zZW1pdGUNCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JQbGF0Zm9ybS5o
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkocmV2
aXNpb24gMjE5MDUzKQ0KKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgJKHdv
cmtpbmcgY29weSkNCkBAIC0xOTQsNiArMTk0LDYgQEANCiANCiAjZGVmaW5lIEJBVFRSSUJVVEVf
UFJJTlRGKGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBleHRyYUFyZ3VtZW50cykgX19hdHRyaWJ1dGVf
XygoX19mb3JtYXRfXyhwcmludGYsIGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBleHRyYUFyZ3VtZW50
cykpKQ0KIA0KLSNpZiAoQlBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEyMDApIHx8IChCUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApDQorI2lmIChCUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkgfHwgQlBMQVRGT1JNKElPUykN
CiAjZGVmaW5lIEJVU0VfT1NfTE9HIDENCiAjZW5kaWYNCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZNQWxsb2NhdGUuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvVk1BbGxvY2F0ZS5oCShyZXZpc2lvbiAyMTkwNTMpDQorKysgU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9WTUFsbG9jYXRlLmgJKHdvcmtpbmcgY29weSkNCkBAIC04Nyw3ICs4Nyw3IEBAIGlubGlu
ZSB2b2lkIHZtVmFsaWRhdGUodm9pZCogcCwgc2l6ZV90IHYNCiANCiBpbmxpbmUgc2l6ZV90IHZt
UGFnZVNpemVQaHlzaWNhbCgpDQogew0KLSNpZiAoQlBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwKQ0KKyNpZiBCUExBVEZPUk0oSU9TKQ0K
ICAgICByZXR1cm4gdm1fa2VybmVsX3BhZ2Vfc2l6ZTsNCiAjZWxzZQ0KICAgICBzdGF0aWMgc2l6
ZV90IGNhY2hlZDsNCkluZGV4OiBUb29scy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTA1MykNCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkNCkBAIC0xLDMgKzEsMTYgQEANCisyMDE3LTA3LTAxICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+DQorDQorICAgICAgICBbaU9TXSBSZW1vdmUgY29kZSBvbmx5IG5lZWRl
ZCB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgOS54DQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MDY4DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4NCisNCisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0Q29udHJvbGxlckNvY29hLm1tOg0KKyAgICAgICAgKFdUUjo6aW5pdGlhbGl6ZVdlYlZp
ZXdDb25maWd1cmF0aW9uKToNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZl
bnRHZW5lcmF0b3IubW06DQorICAgICAgICAoLVtISURFdmVudEdlbmVyYXRvciBfY3JlYXRlSU9I
SURFdmVudFR5cGU6XSk6DQorDQogMjAxNy0wNy0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+DQogDQogICAgICAgICBXaGVuIHNldHRpbmcgYSBjdXN0b20gY29va2llIHN0b3Jh
Z2UgbG9jYXRpb24gb24gYSBXS1dlYnNpdGVEYXRhU3RvcmUsIGNvb2tpZXMgYXJlbid0IGFjdHVh
bGx5IHJlbW92ZWQuDQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxOTA1
MykNCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNDUsOCArNDUsNiBAQCBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HW3NkDQogRU5BQkxFX0FQUExFX1BBWVtzZGs9aXBob25l
Kl0gPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChQTEFURk9STV9OQU1FKSk7DQogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7DQogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlw
aG9uZW9zOSpdID0gOw0KLUVOQUJMRV9BUFBMRV9QQVlbc2RrPWlwaG9uZXNpbXVsYXRvcjkqXSA9
IDsNCiANCiBESVNBQkxFX0FQUExFX1BBWV9tYWNvc3ggPSAkKFRBUkdFVF9NQUNfT1NfWF9WRVJT
SU9OX0xFU1NfVEhBTl8xMDEyMDAwKTsNCiBFTkFCTEVfQVBQTEVfUEFZW3Nkaz1tYWNvc3gqXSA9
ICQoRU5BQkxFX0FQUExFX1BBWV9JRl9OT1RfJChESVNBQkxFX0FQUExFX1BBWV9tYWNvc3gpKTsN
CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2Eu
bW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0JKHJldmlzaW9uIDIxOTA1MykNCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0JKHdvcmtpbmcgY29weSkNCkBAIC03MSwx
MSArNzEsMTEgQEAgdm9pZCBpbml0aWFsaXplV2ViVmlld0NvbmZpZ3VyYXRpb24oY29ucw0KICAg
ICBnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbi53ZWJzaXRlRGF0YVN0b3JlID0gKFdLV2Vic2l0
ZURhdGFTdG9yZSAqKVdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUoY29udGV4dCk7DQogICAg
IGdsb2JhbFdlYlZpZXdDb25maWd1cmF0aW9uLl9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMcyA9IFlFUzsNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApIHx8IFBMQVRGT1JNKElP
UykNCiAgICAgZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb24uX2FwcGxlUGF5RW5hYmxlZCA9IFlF
UzsNCiAjZW5kaWYNCiANCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkNCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IFBMQVRGT1JNKElP
UykNCiAgICAgV0tDb29raWVNYW5hZ2VyU2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJs
ZWQoV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihjb250ZXh0KSwgdHJ1ZSk7DQogI2VuZGlmDQog
DQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0N
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVy
YXRvci5tbQkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L0hJREV2ZW50R2VuZXJhdG9yLm1tCSh3b3JraW5nIGNvcHkpDQpAQCAtMzkzLDE1ICszOTMsOSBA
QCAtIChJT0hJREV2ZW50UmVmKV9jcmVhdGVJT0hJREV2ZW50VHlwZTooDQogICAgICAgICBSZXRh
aW5QdHI8SU9ISURFdmVudFJlZj4gc3ViRXZlbnQ7DQogICAgICAgICBpZiAocG9pbnRJbmZvLT5p
c1N0eWx1cykgew0KICAgICAgICAgICAgIGlmIChldmVudFR5cGUgPT0gU3R5bHVzRXZlbnRUb3Vj
aGVkKSB7DQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMA0K
ICAgICAgICAgICAgICAgICBldmVudE1hc2sgfD0ga0lPSElERGlnaXRpemVyRXZlbnRFc3RpbWF0
ZWRBbHRpdHVkZTsNCiAgICAgICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0aXpl
ckV2ZW50RXN0aW1hdGVkQXppbXV0aDsNCiAgICAgICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJ
T0hJRERpZ2l0aXplckV2ZW50RXN0aW1hdGVkUHJlc3N1cmU7DQotI2Vsc2UNCi0gICAgICAgICAg
ICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0aXplckV2ZW50VXBkYXRlQWx0aXR1ZGVNYXNr
Ow0KLSAgICAgICAgICAgICAgICBldmVudE1hc2sgfD0ga0lPSElERGlnaXRpemVyRXZlbnRVcGRh
dGVBemltdXRoTWFzazsNCi0gICAgICAgICAgICAgICAgZXZlbnRNYXNrIHw9IGtJT0hJRERpZ2l0
aXplckV2ZW50VXBkYXRlUHJlc3N1cmVNYXNrOw0KLSNlbmRpZg0KICAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZXZlbnRUeXBlID09IFN0eWx1c0V2ZW50TW92ZWQpDQogICAgICAgICAgICAgICAgIGV2
ZW50TWFzayA9IGtJT0hJRERpZ2l0aXplckV2ZW50UG9zaXRpb247DQogDQpJbmRleDogV2ViS2l0
TGlicmFyaWVzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDIyIEBADQorMjAxNy0wNy0wMSAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgW2lPU10gUmVtb3ZlIGNvZGUgb25seSBu
ZWVkZWQgd2hlbiBidWlsZGluZyBmb3IgaU9TIDkueA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDA2OA0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvOTogUmVtb3ZlZC4NCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJz
L2lPUy85L0FwcFN1cHBvcnQuZnJhbWV3b3JrOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9y
dC50YmQ6IFJlbW92ZWQuDQorICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9p
T1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcms6IFJlbW92ZWQuDQorICAgICAgICAqIFdl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvQXNzZXJ0aW9uU2VydmljZXMudGJkOiBSZW1vdmVkLg0KKyAgICAgICAgKiBXZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQ29yZVBERi5mcmFtZXdvcms6IFJlbW92ZWQuDQorICAg
ICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29y
ay9Db3JlUERGLnRiZDogUmVtb3ZlZC4NCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy85L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrOiBSZW1vdmVkLg0KKyAgICAg
ICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvR3JhcGhpY3NTZXJ2aWNlcy5m
cmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQ6IFJlbW92ZWQuDQorICAgICAgICAqIFdlYktp
dFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3JrOiBSZW1vdmVk
Lg0KKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNl
LmZyYW1ld29yay9JT1N1cmZhY2UudGJkOiBSZW1vdmVkLg0KKw0KIDIwMTctMDYtMjkgIEpvbmF0
aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPg0KIA0KICAgICAgICAgQWRkIFdlYktpdFN5
c3RlbUludGVyZmFjZSBmb3IgaU9TIDExDQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFBy
aXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9BcHBTdXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0
LnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3
b3JrU3R1YnMvaU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQJKHJldmlz
aW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0
dWJzL2lPUy85L0FwcFN1cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQudGJkCShub25leGlzdGVu
dCkNCkBAIC0xLDkgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0
IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydA0KLW9iamMtY29uc3Ry
YWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0
IF0NCi0gICAgc3ltYm9sczogWyBfQ1BDb3B5QnVuZGxlSWRlbnRpZmllckZyb21BdWRpdFRva2Vu
IF0NCi0uLi4NCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0
dWJzL2lPUy85L0Fzc2VydGlvblNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNlcy50
YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy85L0Fzc2VydGlvblNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNl
cy50YmQJKHJldmlzaW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0
ZUZyYW1ld29ya1N0dWJzL2lPUy85L0Fzc2VydGlvblNlcnZpY2VzLmZyYW1ld29yay9Bc3NlcnRp
b25TZXJ2aWNlcy50YmQJKG5vbmV4aXN0ZW50KQ0KQEAgLTEsMTAgKzAsMCBAQA0KLS0tLQ0KLWFy
Y2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1u
YW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXNzZXJ0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZpY2VzDQotb2JqYy1jb25zdHJhaW50OiBub25lDQotZXhw
b3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBzeW1ib2xz
OiBbIF9CS1NBcHBsaWNhdGlvblN0YXRlTW9zdEVsZXZhdGVkU3RhdGVGb3JQcm9jZXNzSURLZXks
IF9CS1NBcHBsaWNhdGlvblN0YXRlUHJvY2Vzc0lES2V5IF0NCi0gICAgb2JqYy1jbGFzc2VzOiBb
IF9CS1NBcHBsaWNhdGlvblN0YXRlTW9uaXRvciwgX0JLU1Byb2Nlc3NBc3NlcnRpb24gXQ0KLS4u
Lg0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9T
LzkvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBERi50YmQNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRM
aWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0NvcmVQREYuZnJhbWV3
b3JrL0NvcmVQREYudGJkCShyZXZpc2lvbiAyMTkwNTMpDQorKysgV2ViS2l0TGlicmFyaWVzL1dl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1ld29yay9Db3JlUERG
LnRiZAkobm9uZXhpc3RlbnQpDQpAQCAtMSw5ICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12
NywgYXJtdjdzLCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQREYNCi1v
YmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJt
djdzLCBhcm02NCBdDQotICAgIG9iamMtY2xhc3NlczogWyBfVUlQREZEb2N1bWVudCwgX1VJUERG
TGlua0Fubm90YXRpb24sIF9VSVBERlBhZ2VWaWV3LCBfVUlQREZTZWxlY3Rpb24gXQ0KLS4uLg0K
SW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkv
R3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85
L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkCShyZXZpc2lv
biAyMTkwNTMpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVi
cy9pT1MvOS9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAko
bm9uZXhpc3RlbnQpDQpAQCAtMSw5ICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJt
djdzLCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJy
YXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNz
U2VydmljZXMNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczog
WyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIHN5bWJvbHM6IFsgX0dTQ3VycmVudEV2ZW50
VGltZXN0YW1wLCBfR1NJbml0aWFsaXplLCBfR1NTeXN0ZW1Sb290RGlyZWN0b3J5IF0NCi0uLi4N
CkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85
L0lPU3VyZmFjZS5mcmFtZXdvcmsvSU9TdXJmYWNlLnRiZA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktp
dExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZy
YW1ld29yay9JT1N1cmZhY2UudGJkCShyZXZpc2lvbiAyMTkwNTMpDQorKysgV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2UuZnJhbWV3b3Jr
L0lPU3VyZmFjZS50YmQJKG5vbmV4aXN0ZW50KQ0KQEAgLTEsNDIgKzAsMCBAQA0KLS0tLQ0KLWFy
Y2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1u
YW1lOiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSU9TdXJmYWNlLmZyYW1ld29y
ay9JT1N1cmZhY2UNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNo
czogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIHN5bWJvbHM6IFsNCi0gICAgICAgICAg
ICAgICBfSU9TdXJmYWNlQWNjZWxlcmF0b3JDcmVhdGUsDQotICAgICAgICAgICAgICAgX0lPU3Vy
ZmFjZUFjY2VsZXJhdG9yR2V0UnVuTG9vcFNvdXJjZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJm
YWNlQWNjZWxlcmF0b3JUcmFuc2Zvcm1TdXJmYWNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZh
Y2VBbGlnblByb3BlcnR5LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VDcmVhdGUsDQotICAg
ICAgICAgICAgICAgX0lPU3VyZmFjZUNyZWF0ZU1hY2hQb3J0LA0KLSAgICAgICAgICAgICAgIF9J
T1N1cmZhY2VHZXRBbGxvY1NpemUsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldEJhc2VB
ZGRyZXNzLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRCeXRlc1BlclJvdywNCi0gICAg
ICAgICAgICAgICBfSU9TdXJmYWNlR2V0SGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZh
Y2VHZXRQaXhlbEZvcm1hdCwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0UHJvcGVydHlN
YXhpbXVtLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRXaWR0aCwNCi0gICAgICAgICAg
ICAgICBfSU9TdXJmYWNlSXNJblVzZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlTG9jaywN
Ci0gICAgICAgICAgICAgICBfSU9TdXJmYWNlTG9va3VwRnJvbU1hY2hQb3J0LA0KLSAgICAgICAg
ICAgICAgIF9JT1N1cmZhY2VTZXRQdXJnZWFibGUsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFj
ZVVubG9jaywNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUFsbG9jU2l6ZSwNCi0gICAgICAg
ICAgICAgICBfa0lPU3VyZmFjZUJ5dGVzUGVyRWxlbWVudCwNCi0gICAgICAgICAgICAgICBfa0lP
U3VyZmFjZUJ5dGVzUGVyUm93LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlQ2FjaGVNb2Rl
LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlRWxlbWVudEhlaWdodCwNCi0gICAgICAgICAg
ICAgICBfa0lPU3VyZmFjZUhlaWdodCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBpeGVs
Rm9ybWF0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVCeXRlc1BlclJvdywNCi0g
ICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lSGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9r
SU9TdXJmYWNlUGxhbmVJbmZvLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVPZmZz
ZXQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZVNpemUsDQotICAgICAgICAgICAg
ICAgX2tJT1N1cmZhY2VQbGFuZVdpZHRoLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlV2lk
dGgNCi0gICAgICAgICAgICAgXQ0KLS4uLg0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9y
dC50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2lPUy85L0FwcFN1cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQudGJkCShyZXZp
c2lvbiAyMTkwNTMpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy9pT1MvOS9BcHBTdXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0LnRiZAkobm9uZXhpc3Rl
bnQpDQpAQCAtMSw5ICswLDAgQEANCi0tLS0NCi1hcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02
NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzL0FwcFN1cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBvcnQNCi1vYmpjLWNvbnN0
cmFpbnQ6IG5vbmUNCi1leHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02
NCBdDQotICAgIHN5bWJvbHM6IFsgX0NQQ29weUJ1bmRsZUlkZW50aWZpZXJGcm9tQXVkaXRUb2tl
biBdDQotLi4uDQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMu
dGJkDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdv
cmtTdHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2Vydmlj
ZXMudGJkCShyZXZpc2lvbiAyMTkwNTMpDQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZh
dGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Bc3NlcnRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvQXNzZXJ0
aW9uU2VydmljZXMudGJkCShub25leGlzdGVudCkNCkBAIC0xLDEwICswLDAgQEANCi0tLS0NCi1h
cmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwt
bmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Fzc2VydGlvblNlcnZpY2Vz
LmZyYW1ld29yay9Bc3NlcnRpb25TZXJ2aWNlcw0KLW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4
cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAgc3ltYm9s
czogWyBfQktTQXBwbGljYXRpb25TdGF0ZU1vc3RFbGV2YXRlZFN0YXRlRm9yUHJvY2Vzc0lES2V5
LCBfQktTQXBwbGljYXRpb25TdGF0ZVByb2Nlc3NJREtleSBdDQotICAgIG9iamMtY2xhc3Nlczog
WyBfQktTQXBwbGljYXRpb25TdGF0ZU1vbml0b3IsIF9CS1NQcm9jZXNzQXNzZXJ0aW9uIF0NCi0u
Li4NCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lP
Uy85L0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQREYudGJkDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0
TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9Db3JlUERGLmZyYW1l
d29yay9Db3JlUERGLnRiZAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFdlYktpdExpYnJhcmllcy9X
ZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBE
Ri50YmQJKG5vbmV4aXN0ZW50KQ0KQEAgLTEsOSArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJt
djcsIGFybXY3cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0
ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGDQot
b2JqYy1jb25zdHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFy
bXY3cywgYXJtNjQgXQ0KLSAgICBvYmpjLWNsYXNzZXM6IFsgX1VJUERGRG9jdW1lbnQsIF9VSVBE
RkxpbmtBbm5vdGF0aW9uLCBfVUlQREZQYWdlVmlldywgX1VJUERGU2VsZWN0aW9uIF0NCi0uLi4N
CkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85
L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1Mv
OS9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZAkocmV2aXNp
b24gMjE5MDUzKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1
YnMvaU9TLzkvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQJ
KG5vbmV4aXN0ZW50KQ0KQEAgLTEsOSArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFy
bXY3cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGlj
c1NlcnZpY2VzDQotb2JqYy1jb25zdHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6
IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBzeW1ib2xzOiBbIF9HU0N1cnJlbnRFdmVu
dFRpbWVzdGFtcCwgX0dTSW5pdGlhbGl6ZSwgX0dTU3lzdGVtUm9vdERpcmVjdG9yeSBdDQotLi4u
DQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1Mv
OS9JT1N1cmZhY2UuZnJhbWV3b3JrL0lPU3VyZmFjZS50YmQNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0lPU3VyZmFjZS5m
cmFtZXdvcmsvSU9TdXJmYWNlLnRiZAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFdlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvSU9TdXJmYWNlLmZyYW1ld29y
ay9JT1N1cmZhY2UudGJkCShub25leGlzdGVudCkNCkBAIC0xLDQyICswLDAgQEANCi0tLS0NCi1h
cmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotcGxhdGZvcm06IGlvcw0KLWluc3RhbGwt
bmFtZTogL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0lPU3VyZmFjZS5mcmFtZXdv
cmsvSU9TdXJmYWNlDQotb2JqYy1jb25zdHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJj
aHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLSAgICBzeW1ib2xzOiBbDQotICAgICAgICAg
ICAgICAgX0lPU3VyZmFjZUFjY2VsZXJhdG9yQ3JlYXRlLA0KLSAgICAgICAgICAgICAgIF9JT1N1
cmZhY2VBY2NlbGVyYXRvckdldFJ1bkxvb3BTb3VyY2UsDQotICAgICAgICAgICAgICAgX0lPU3Vy
ZmFjZUFjY2VsZXJhdG9yVHJhbnNmb3JtU3VyZmFjZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJm
YWNlQWxpZ25Qcm9wZXJ0eSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlQ3JlYXRlLA0KLSAg
ICAgICAgICAgICAgIF9JT1N1cmZhY2VDcmVhdGVNYWNoUG9ydCwNCi0gICAgICAgICAgICAgICBf
SU9TdXJmYWNlR2V0QWxsb2NTaXplLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRCYXNl
QWRkcmVzcywNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0Qnl0ZXNQZXJSb3csDQotICAg
ICAgICAgICAgICAgX0lPU3VyZmFjZUdldEhlaWdodCwNCi0gICAgICAgICAgICAgICBfSU9TdXJm
YWNlR2V0UGl4ZWxGb3JtYXQsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldFByb3BlcnR5
TWF4aW11bSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0V2lkdGgsDQotICAgICAgICAg
ICAgICAgX0lPU3VyZmFjZUlzSW5Vc2UsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUxvY2ss
DQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUxvb2t1cEZyb21NYWNoUG9ydCwNCi0gICAgICAg
ICAgICAgICBfSU9TdXJmYWNlU2V0UHVyZ2VhYmxlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZh
Y2VVbmxvY2ssDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VBbGxvY1NpemUsDQotICAgICAg
ICAgICAgICAgX2tJT1N1cmZhY2VCeXRlc1BlckVsZW1lbnQsDQotICAgICAgICAgICAgICAgX2tJ
T1N1cmZhY2VCeXRlc1BlclJvdywNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUNhY2hlTW9k
ZSwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZUVsZW1lbnRIZWlnaHQsDQotICAgICAgICAg
ICAgICAgX2tJT1N1cmZhY2VIZWlnaHQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQaXhl
bEZvcm1hdCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lQnl0ZXNQZXJSb3csDQot
ICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZUhlaWdodCwNCi0gICAgICAgICAgICAgICBf
a0lPU3VyZmFjZVBsYW5lSW5mbywNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lT2Zm
c2V0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVTaXplLA0KLSAgICAgICAgICAg
ICAgIF9rSU9TdXJmYWNlUGxhbmVXaWR0aCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVdp
ZHRoDQotICAgICAgICAgICAgIF0NCi0uLi4NCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0
UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0FwcFN1cHBvcnQuZnJhbWV3b3JrL0FwcFN1cHBv
cnQudGJkDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFt
ZXdvcmtTdHVicy9pT1MvOS9BcHBTdXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0LnRiZAkocmV2
aXNpb24gMjE5MDUzKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3Jr
U3R1YnMvaU9TLzkvQXBwU3VwcG9ydC5mcmFtZXdvcmsvQXBwU3VwcG9ydC50YmQJKG5vbmV4aXN0
ZW50KQ0KQEAgLTEsOSArMCwwIEBADQotLS0tDQotYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJt
NjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2
YXRlRnJhbWV3b3Jrcy9BcHBTdXBwb3J0LmZyYW1ld29yay9BcHBTdXBwb3J0DQotb2JqYy1jb25z
dHJhaW50OiBub25lDQotZXhwb3J0czoNCi0gIC0gYXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJt
NjQgXQ0KLSAgICBzeW1ib2xzOiBbIF9DUENvcHlCdW5kbGVJZGVudGlmaWVyRnJvbUF1ZGl0VG9r
ZW4gXQ0KLS4uLg0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3Jr
U3R1YnMvaU9TLzkvQXNzZXJ0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZpY2Vz
LnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3
b3JrU3R1YnMvaU9TLzkvQXNzZXJ0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2VydGlvblNlcnZp
Y2VzLnRiZAkocmV2aXNpb24gMjE5MDUzKQ0KKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQXNzZXJ0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Fzc2Vy
dGlvblNlcnZpY2VzLnRiZAkobm9uZXhpc3RlbnQpDQpAQCAtMSwxMCArMCwwIEBADQotLS0tDQot
YXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxs
LW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Bc3NlcnRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvQXNzZXJ0aW9uU2VydmljZXMNCi1vYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCi1l
eHBvcnRzOg0KLSAgLSBhcmNoczogWyBhcm12NywgYXJtdjdzLCBhcm02NCBdDQotICAgIHN5bWJv
bHM6IFsgX0JLU0FwcGxpY2F0aW9uU3RhdGVNb3N0RWxldmF0ZWRTdGF0ZUZvclByb2Nlc3NJREtl
eSwgX0JLU0FwcGxpY2F0aW9uU3RhdGVQcm9jZXNzSURLZXkgXQ0KLSAgICBvYmpjLWNsYXNzZXM6
IFsgX0JLU0FwcGxpY2F0aW9uU3RhdGVNb25pdG9yLCBfQktTUHJvY2Vzc0Fzc2VydGlvbiBdDQot
Li4uDQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9p
T1MvOS9Db3JlUERGLmZyYW1ld29yay9Db3JlUERGLnRiZA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktp
dExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzkvQ29yZVBERi5mcmFt
ZXdvcmsvQ29yZVBERi50YmQJKHJldmlzaW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJyYXJpZXMv
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0NvcmVQREYuZnJhbWV3b3JrL0NvcmVQ
REYudGJkCShub25leGlzdGVudCkNCkBAIC0xLDkgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFy
bXY3LCBhcm12N3MsIGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lz
dGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZVBERi5mcmFtZXdvcmsvQ29yZVBERg0K
LW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hzOiBbIGFybXY3LCBh
cm12N3MsIGFybTY0IF0NCi0gICAgb2JqYy1jbGFzc2VzOiBbIF9VSVBERkRvY3VtZW50LCBfVUlQ
REZMaW5rQW5ub3RhdGlvbiwgX1VJUERGUGFnZVZpZXcsIF9VSVBERlNlbGVjdGlvbiBdDQotLi4u
DQpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1Mv
OS9HcmFwaGljc1NlcnZpY2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9T
LzkvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQJKHJldmlz
aW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0
dWJzL2lPUy85L0dyYXBoaWNzU2VydmljZXMuZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJk
CShub25leGlzdGVudCkNCkBAIC0xLDkgKzAsMCBAQA0KLS0tLQ0KLWFyY2hzOiBbIGFybXY3LCBh
cm12N3MsIGFybTY0IF0NCi1wbGF0Zm9ybTogaW9zDQotaW5zdGFsbC1uYW1lOiAvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhp
Y3NTZXJ2aWNlcw0KLW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFyY2hz
OiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAgc3ltYm9sczogWyBfR1NDdXJyZW50RXZl
bnRUaW1lc3RhbXAsIF9HU0luaXRpYWxpemUsIF9HU1N5c3RlbVJvb3REaXJlY3RvcnkgXQ0KLS4u
Lg0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9T
LzkvSU9TdXJmYWNlLmZyYW1ld29yay9JT1N1cmZhY2UudGJkDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvOS9JT1N1cmZhY2Uu
ZnJhbWV3b3JrL0lPU3VyZmFjZS50YmQJKHJldmlzaW9uIDIxOTA1MykNCisrKyBXZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy85L0lPU3VyZmFjZS5mcmFtZXdv
cmsvSU9TdXJmYWNlLnRiZAkobm9uZXhpc3RlbnQpDQpAQCAtMSw0MiArMCwwIEBADQotLS0tDQot
YXJjaHM6IFsgYXJtdjcsIGFybXY3cywgYXJtNjQgXQ0KLXBsYXRmb3JtOiBpb3MNCi1pbnN0YWxs
LW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9JT1N1cmZhY2UuZnJhbWV3
b3JrL0lPU3VyZmFjZQ0KLW9iamMtY29uc3RyYWludDogbm9uZQ0KLWV4cG9ydHM6DQotICAtIGFy
Y2hzOiBbIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCi0gICAgc3ltYm9sczogWw0KLSAgICAgICAg
ICAgICAgIF9JT1N1cmZhY2VBY2NlbGVyYXRvckNyZWF0ZSwNCi0gICAgICAgICAgICAgICBfSU9T
dXJmYWNlQWNjZWxlcmF0b3JHZXRSdW5Mb29wU291cmNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1
cmZhY2VBY2NlbGVyYXRvclRyYW5zZm9ybVN1cmZhY2UsDQotICAgICAgICAgICAgICAgX0lPU3Vy
ZmFjZUFsaWduUHJvcGVydHksDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUNyZWF0ZSwNCi0g
ICAgICAgICAgICAgICBfSU9TdXJmYWNlQ3JlYXRlTWFjaFBvcnQsDQotICAgICAgICAgICAgICAg
X0lPU3VyZmFjZUdldEFsbG9jU2l6ZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJmYWNlR2V0QmFz
ZUFkZHJlc3MsDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldEJ5dGVzUGVyUm93LA0KLSAg
ICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRIZWlnaHQsDQotICAgICAgICAgICAgICAgX0lPU3Vy
ZmFjZUdldFBpeGVsRm9ybWF0LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VHZXRQcm9wZXJ0
eU1heGltdW0sDQotICAgICAgICAgICAgICAgX0lPU3VyZmFjZUdldFdpZHRoLA0KLSAgICAgICAg
ICAgICAgIF9JT1N1cmZhY2VJc0luVXNlLA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VMb2Nr
LA0KLSAgICAgICAgICAgICAgIF9JT1N1cmZhY2VMb29rdXBGcm9tTWFjaFBvcnQsDQotICAgICAg
ICAgICAgICAgX0lPU3VyZmFjZVNldFB1cmdlYWJsZSwNCi0gICAgICAgICAgICAgICBfSU9TdXJm
YWNlVW5sb2NrLA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlQWxsb2NTaXplLA0KLSAgICAg
ICAgICAgICAgIF9rSU9TdXJmYWNlQnl0ZXNQZXJFbGVtZW50LA0KLSAgICAgICAgICAgICAgIF9r
SU9TdXJmYWNlQnl0ZXNQZXJSb3csDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VDYWNoZU1v
ZGUsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VFbGVtZW50SGVpZ2h0LA0KLSAgICAgICAg
ICAgICAgIF9rSU9TdXJmYWNlSGVpZ2h0LA0KLSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGl4
ZWxGb3JtYXQsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZUJ5dGVzUGVyUm93LA0K
LSAgICAgICAgICAgICAgIF9rSU9TdXJmYWNlUGxhbmVIZWlnaHQsDQotICAgICAgICAgICAgICAg
X2tJT1N1cmZhY2VQbGFuZUluZm8sDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VQbGFuZU9m
ZnNldCwNCi0gICAgICAgICAgICAgICBfa0lPU3VyZmFjZVBsYW5lU2l6ZSwNCi0gICAgICAgICAg
ICAgICBfa0lPU3VyZmFjZVBsYW5lV2lkdGgsDQotICAgICAgICAgICAgICAgX2tJT1N1cmZhY2VX
aWR0aA0KLSAgICAgICAgICAgICBdDQotLi4uDQo=
</data>
<flag name="review"
          id="335282"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>