<?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>193200</bug_id>
          
          <creation_ts>2019-01-07 10:13:06 -0800</creation_ts>
          <short_desc>Move the ResourceLoadStatisticsClassifier to WebCore</short_desc>
          <delta_ts>2019-01-07 14:19:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>193199</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1492295</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-07 10:13:06 -0800</bug_when>
    <thetext>Move the Classifier logic to WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492296</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-07 10:13:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/47088232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492357</commentid>
    <comment_count>2</comment_count>
      <attachid>358517</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-07 12:59:01 -0800</bug_when>
    <thetext>Created attachment 358517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492391</commentid>
    <comment_count>3</comment_count>
      <attachid>358528</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-07 14:02:50 -0800</bug_when>
    <thetext>Created attachment 358528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492400</commentid>
    <comment_count>4</comment_count>
      <attachid>358528</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-01-07 14:18:51 -0800</bug_when>
    <thetext>Comment on attachment 358528
Patch

This move should not be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492403</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-07 14:19:31 -0800</bug_when>
    <thetext>I spoke with Alex about this in person, and realize that I don&apos;t need to do this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358517</attachid>
            <date>2019-01-07 12:59:01 -0800</date>
            <delta_ts>2019-01-07 14:02:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193200-20190107125901.patch</filename>
            <type>text/plain</type>
            <size>66688</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3MThkMTAyYjI3YzA1
ZmI0Nzk3NDdiOTM2OGY1OGY5MjRlOTNlMi4uYjY1Y2UyNmVhOWRiYWVlODJlZjg4MDc5MzJjMDg1
MDRjMGNjZmRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAxLTA3ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgdGhlIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIHRvIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzIwMAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcwODgyMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTW92ZSB0aGUgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgY2xhc3Nl
cyBmcm9tIFdlYktpdCB0byBXZWJDb3JlLiBUaGlzIGlzIGEgZmlyc3QKKyAgICAgICAgc3RlcCBp
biB0aGUgZWZmb3J0IHRvIG1vdmUgdGhpcyBsb2dpYyB0byB0aGUgTmV0d29ya1Byb2Nlc3MuCisK
KyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtV2lu
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogU291cmNlc1dQRS50eHQ6CisgICAgICAgICogVW5pZmllZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwLgorICAgICAg
ICAoV2ViQ29yZTo6dmVjdG9yTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjYWxjdWxhdGVSZXNvdXJjZVByZXZhbGVuY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZCk6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgu
CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2E6OmNsYXNzaWZ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2E6OnN0b3JhZ2VQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQcmVkaWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6
OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCk6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oLgorCiAyMDE5LTAxLTA3ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBNYXJnaW4gY29sbGFwc2lu
ZyBzaG91bGQgbm90IGJlIGxpbWl0ZWQgdG8gaW4tZmxvdyBub24tcmVwbGFjZWQgYm94ZXMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCBjOGQ3NGRmMTZhMzIzMGMyYWE0MjBmOTQ4MWMxMDZjNjZjMzAy
Njk2Li5hMDE0MDA4NjQ1YmRjMTQ3ZjgyOWE5M2RlZDdjYTc4NDVmMTQyODQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRoZSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllciB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTMyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MDg4MjMy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
dGhlIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIGNsYXNzZXMgZnJvbSBXZWJLaXQg
dG8gV2ViQ29yZS4gVGhpcyBpcyBhIGZpcnN0CisgICAgICAgIHN0ZXAgaW4gdGhlIGVmZm9ydCB0
byBtb3ZlIHRoaXMgbG9naWMgdG8gdGhlIE5ldHdvcmtQcm9jZXNzLgorCisgICAgICAgIE5vIGNo
YW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJ
LmguCisKIDIwMTktMDEtMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIENvbnRlbnQgcHJvY2VzcyBtYWluIHRocmVhZCBibG9ja2VkIGJlbmVhdGggSW1h
Z2VEZWNvZGVyQVZGT2JqQzo6cmVhZFNhbXBsZXMgZm9yIG1hbnkgc2Vjb25kcyBvbiBpbWd1ci5j
b20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNGMxOTlhYWFhZTVhY2JiMjRkMTQ0Y2RlMDhiNGI4ZGQxM2I0OWIwNy4u
MzQwZGJlYTJhYTc0YWI2MTM3OTBhZmIwYWRiZjY4NGQyY2I3NzJlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOS0wMS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBNb3ZlIHRoZSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciB0
byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MDg4MjMyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyIGNsYXNzZXMgZnJvbSBXZWJLaXQgdG8gV2ViQ29yZS4gVGhp
cyBpcyBhIGZpcnN0CisgICAgICAgIHN0ZXAgaW4gdGhlIGVmZm9ydCB0byBtb3ZlIHRoaXMgbG9n
aWMgdG8gdGhlIE5ldHdvcmtQcm9jZXNzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlv
ci4KKworICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtV2lu
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogU291cmNlc1dQRS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9kZXJuaXplIENhY2hlTW9kZWwg
YW5kIGRpc2sgY2FjaGUgZmV0Y2hpbmcgYW5kIGNsZWFyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCAyMWZlZjhhMDM1YmY2Y2QyZTgwZGRhZDQ5
M2M4MGViODM4N2Y0ZTc0Li5iMzQwN2UzYjVjNmQxYjAyZDIyYzdiMGM0MjE2MzY4MDM5NWRiMGY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTEz
Niw2ICsxMzYsMTAgQEAgV0tfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUiA9ICQoV0tfTk9U
XyQoV0tfRU1QVFlfJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU18KIFdLX0FMVEVSTkFURV9XRUJL
SVRfU0RLX1BBVEggPSAkKFdLX0FMVEVSTkFURV9XRUJLSVRfU0RLX1BBVEhfJChXS19VU0VfQUxU
RVJOQVRFX0ZSQU1FV09SS1NfRElSKSk7CiBXS19BTFRFUk5BVEVfV0VCS0lUX1NES19QQVRIX1lF
UyA9ICQoV0tfQUxURVJOQVRFX0ZSQU1FV09SS1NfRElSKS87CiAKK1dLX01BQ09TX1dFQUtfRlJB
TUVXT1JLID0gJChXS19NQUNPU19XRUFLX0ZSQU1FV09SS18kKFdLX0NPQ09BX1RPVUNIKSk7CitX
S19NQUNPU19XRUFLX0ZSQU1FV09SS19jb2NvYXRvdWNoID0gLWZyYW1ld29yaworV0tfTUFDT1Nf
V0VBS19GUkFNRVdPUktfID0gLXdlYWtfZnJhbWV3b3JrCisKIFdLX1BMQVRGT1JNX05BTUUgPSAk
KFdLX1BMQVRGT1JNX05BTUVfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUl8kKFdLX1VTRV9B
TFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpKTsKIFdLX1BMQVRGT1JNX05BTUVfVVNFX0FMVEVSTkFU
RV9GUkFNRVdPUktTX0RJUl9ZRVMgPSBpb3NtYWM7CiBXS19QTEFURk9STV9OQU1FX1VTRV9BTFRF
Uk5BVEVfRlJBTUVXT1JLU19ESVJfTk8gPSAkKFBMQVRGT1JNX05BTUUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKaW5kZXggYWI4NGU4OTBkZTIw
YjJlYmNjNmE4MjNkYzZkZTVlMzdlZDEyNjc2NC4uNmFmNWYxZmVhMDQwNDk0N2IzMjE4NmZhNjc4
NWIxOWM0YTE5NmRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
V2ViQ29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJD
b3JlLnhjY29uZmlnCkBAIC0yNCw4ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIgogI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCiAKK1dLX0hBVkVfQ09SRV9Q
UkVESUNUSU9OID0gWUVTOworV0tfSEFWRV9DT1JFX1BSRURJQ1RJT05bc2RrPW1hY29zeCpdW2Fy
Y2g9aTM4Nl0gPSBOTzsKKworV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMgPSAkKFdLX0NPUkVf
UFJFRElDVElPTl9ERUZJTkVTXyQoV0tfSEFWRV9DT1JFX1BSRURJQ1RJT04pKTsKK1dLX0NPUkVf
UFJFRElDVElPTl9ERUZJTkVTX1lFUyA9IEhBVkVfQ09SRV9QUkVESUNUSU9OOworCiBHQ0NfUFJF
RklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElP
TlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBCVUlMRElOR19XRUJLSVQg
VV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBHTF9TSUxFTkNFX0RF
UFJFQ0FUSU9OPTEgR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOworR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RF
RklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBVX0RJ
U0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BMVVNQTFVTX0FQST0wIEdMX1NJTEVOQ0VfREVQUkVD
QVRJT049MSBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT049MSAkKGluaGVyaXRlZCk7CiAKIFdLX1BS
SVZBVEVfRlJBTUVXT1JLU19ESVIgPSAkKFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfJChVU0Vf
SU5URVJOQUxfU0RLKSk7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX1tzZGs9aXBob25lKl0g
PSAkKFBST0pFQ1RfRElSKS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2lPUy8kKFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CkBAIC04MCw2ICs4
Niw5IEBAIFdLX0FVRElPX1VOSVRfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIEF1ZGlvVW5p
dDsKIFdLX0NBUkJPTl9MREZMQUdTID0gJChXS19DQVJCT05fTERGTEFHU18kKFdLX1BMQVRGT1JN
X05BTUUpKTsKIFdLX0NBUkJPTl9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgQ2FyYm9uOwog
CitXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUyA9ICQoV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfJChXS19IQVZFX0NPUkVfUFJFRElDVElPTikpOworV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfWUVTID0gJChXS19NQUNPU19XRUFLX0ZSQU1FV09SSykgQ29yZVByZWRpY3Rpb247CisKIFdL
X0NPUkVfVUlfTERGTEFHUyA9ICQoV0tfQ09SRV9VSV9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFN
RSkpOwogV0tfQ09SRV9VSV9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgQ29yZVVJOwogCkBA
IC0xMjYsNyArMTM1LDcgQEAgV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyA9ICQoV0tfVVJMX0ZP
Uk1BVFRJTkdfTERGTEFHU18kKFdLX0hBVkVfVVJMX0ZPUk1BVFRJTkcKIFdLX1VSTF9GT1JNQVRU
SU5HX0xERkxBR1NfWUVTID0gLWZyYW1ld29yayBVUkxGb3JtYXR0aW5nOwogCiAvLyBGSVhNRTog
UmVkdWNlIHRoZSBudW1iZXIgb2YgYWxsb3dhYmxlX2NsaWVudHMgPHJkYXI6Ly9wcm9ibGVtLzMx
ODIzOTY5PgotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFdLX1JFTE9DQVRBQkxFX0ZS
QU1FV09SS19MREZMQUdTKSAkKFdLX1VOREVGSU5FRF9TWU1CT0xTX0xERkxBR1MpIC1sc3FsaXRl
MyAtbG9iamMgLWxBTkdMRSAtYWxsb3dhYmxlX2NsaWVudCBXZWJDb3JlVGVzdFN1cHBvcnQgLWFs
bG93YWJsZV9jbGllbnQgV2ViS2l0TGVnYWN5IC1mb3JjZV9sb2FkICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9saWJQQUwuYSAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91
bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBNZXRhbCAkKE9USEVSX0xERkxB
R1NfUExBVEZPUk1fJChXS19DT0NPQV9UT1VDSCkpICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8k
KFdLX1BMQVRGT1JNX05BTUUpKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FQUFNVUFBPUlRf
TERGTEFHUykgJChXS19BVURJT19VTklUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQo
V0tfQ09SRV9VSV9MREZMQUdTKSAkKFdLX0RBVEFfREVURUNUT1JTX0NPUkVfTERGTEFHUykgJChX
S19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0lPU1VSRkFDRV9MREZMQUdTKSAkKFdL
X0xJQldFQlJUQ19MREZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykgJChXS19TWVNU
RU1fQ09ORklHVVJBVElPTl9MREZMQUdTKSAkKFdLX1NZU1RFTV9QUkVWSUVXX0xERkxBR1MpICQo
V0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CitPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQp
ICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MpICQoV0tfVU5ERUZJTkVEX1NZTUJP
TFNfTERGTEFHUykgLWxzcWxpdGUzIC1sb2JqYyAtbEFOR0xFIC1hbGxvd2FibGVfY2xpZW50IFdl
YkNvcmVUZXN0U3VwcG9ydCAtYWxsb3dhYmxlX2NsaWVudCBXZWJLaXRMZWdhY3kgLWZvcmNlX2xv
YWQgJChCVUlMVF9QUk9EVUNUU19ESVIpL2xpYlBBTC5hIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1m
cmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29y
ZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3Jr
IE1ldGFsICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8kKFdLX0NPQ09BX1RPVUNIKSkgJChPVEhF
Ul9MREZMQUdTX1BMQVRGT1JNXyQoV0tfUExBVEZPUk1fTkFNRSkpICQoV0tfQVBQS0lUX0xERkxB
R1MpICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTKSAkKFdLX0FVRElPX1VOSVRfTERGTEFHUykgJChX
S19DQVJCT05fTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JF
X1VJX0xERkxBR1MpICQoV0tfREFUQV9ERVRFQ1RPUlNfQ09SRV9MREZMQUdTKSAkKFdLX0dSQVBI
SUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0xERkxBR1MpICQoV0tfTElCV0VC
UlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJ
TEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1NZU1RFTV9DT05G
SUdVUkFUSU9OX0xERkxBR1MpICQoV0tfU1lTVEVNX1BSRVZJRVdfTERGTEFHUykgJChXS19VUkxf
Rk9STUFUVElOR19MREZMQUdTKTsKIAogT1RIRVJfTERGTEFHU19QTEFURk9STV9jb2NvYXRvdWNo
ID0gLWFsbG93YWJsZV9jbGllbnQgV2ViS2l0IC1hbGxvd2FibGVfY2xpZW50IGlUdW5lc1UgLWFs
bG93YWJsZV9jbGllbnQgQ2FzYWJsYW5jYSAtYWxsb3dhYmxlX2NsaWVudCBSZW1vdGUgLWFsbG93
YWJsZV9jbGllbnQgVFZCb29rcyAtYWxsb3dhYmxlX2NsaWVudCBEdW1wUmVuZGVyVHJlZSAtYWxs
b3dhYmxlX2NsaWVudCBXZWJLaXRUZXN0UnVubmVyIC1hbGxvd2FibGVfY2xpZW50IFRlc3RXZWJL
aXRBUEk7CiBPVEhFUl9MREZMQUdTX1BMQVRGT1JNX21hY29zeCA9IC1zdWJfbGlicmFyeSBsaWJv
YmpjIC11bWJyZWxsYSBXZWJLaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFM
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTBkZjNlZTRjZjdiZTgyODNlNzU2NzUzN2ViZGJj
MjAzMTY5YjM5My4uNDMzMGFlYmQxODI2OTc0N2M4OTZkZTg3MDQ2ZDhkNjNmNDJiN2EwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjc0LDYgKzI3NCw3IEBACiAJCTU3MEFCOEY4MjBBRjZFM0QwMEI4QkU4NyAvKiBOU1hQQ0Nv
bm5lY3Rpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNYUENDb25uZWN0aW9uU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRTM2OUY5MjFBRkE4M0YwMDFDMTRCQyAvKiBOU1By
b2dyZXNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TUHJvZ3Jlc3NTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0ExNjU2NDMxRjk3QjJCODAwQkEzQ0U0IC8qIE5TS2V5ZWRBcmNo
aXZlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0tleWVkQXJjaGl2
ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzQTRBODQyMUUzQ0QyNTAw
NEFBODRFIC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdBM0E2QTdGMjBDQURCNDYwMDMxN0FBRSAvKiBOU0ltYWdlU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5TSW1hZ2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNFNTkwOUMxRjkzQkYxRTAwNjdGOENGIC8qIFVuZW5jb2RhYmxlSGFuZGxpbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5lbmNvZGFibGVIYW5kbGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTAyNjU4ODFGNTY3NDdBMDBCNEM4NDQgLyogSElUb29sYm94U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhJVG9vbGJveFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzgwLDYgKzM4MSw3IEBACiAJCQkJMkQwMkU5M0IyMDU2RkFB
NzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJCTBDMkRBMTIyMUYzQkVCNDkw
MERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIzMUYzQkVCNDkwMERCQzMxNyAv
KiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBM0E0QTg0MjFFM0NEMjUwMDRBQTg0
RSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovLAogCQkJCTBDMkRBMTI0MUYzQkVCNDkwMERCQzMx
NyAvKiBDb3JlVGV4dFNQSS5oICovLAogCQkJCTBDMkRBMTI1MUYzQkVCNDkwMERCQzMxNyAvKiBE
YXRhRGV0ZWN0b3JzQ29yZVNQSS5oICovLAogCQkJCUNFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oICovLApAQCAtNzIwLDYgKzcyMiw3IEBACiAJCQkJMEM3Nzg1OTMxRjQ1MTMw
RjAwRjRFQkI2IC8qIE5TUGFzdGVib2FyZFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTVENDVE
MTQyMTA2QTE4NzAwRDJCNzM4IC8qIE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM3Nzg1OTQxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TUG9wb3ZlclNQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNjNDN0VEQzcyMUFGQUUwNDAwNkE3Qjk5IC8qIE5TUHJvZ3Jlc3NTUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCUExMDgyNkYxMUY1NzNCQ0EwMDQ3NzJBQyAvKiBOU1Jlc3Bv
bmRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTUxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsZXJJbXBTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTk2MUY0NTEzMEYw
MEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVhZGVycyAqLywKQEAg
LTc0Niw3ICs3NDksNiBAQAogCQkJCTBDNzc4NTlGMUY0NTEzMEYwMEY0RUJCNiAvKiBRVEtpdFNQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNTcxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0
ekNvcmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMDI2NThCMUY1Njc0OEMwMEI0Qzg0NCAv
KiBRdWlja0RyYXdTUEkuaCBpbiBIZWFkZXJzICovLAotCQkJCTYzQzdFREM3MjFBRkFFMDQwMDZB
N0I5OSAvKiBOU1Byb2dyZXNzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODVBMDFGNDUx
MzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzVB
RjkyMDFGNDNBNEM3MDAyRUFDMDIgLyogUXVpY2tMb29rU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0NDI5NTZDRDIxOEE3MkRGMDA4MERCNTQgLyogUmV2ZWFsU1BJLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVQcmVkaWN0
aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlUHJlZGljdGlv
blNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmExZWE5ZDgwOWRjOWQwY2NkMWI5MzBlMzZhMDEzNGZhMmQzN2Ix
YWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9D
b3JlUHJlZGljdGlvblNQSS5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxDb3JlUHJlZGljdGlvbi9zdm0uaD4KKworI2Vsc2UK
Kworc3RydWN0IHN2bV9ub2RlIHsKKyAgICBpbnQgaW5kZXg7CisgICAgZG91YmxlIHZhbHVlOwor
fTsKKworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYK
KwordHlwZWRlZiBzdHJ1Y3Qgc3ZtX25vZGUgc3ZtX25vZGU7CisKK3N0cnVjdCBzdm1fbW9kZWwg
KnN2bV9sb2FkX21vZGVsKGNvbnN0IGNoYXIgKm1vZGVsX2ZpbGVfbmFtZSk7Citkb3VibGUgc3Zt
X3ByZWRpY3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwqLCBjb25zdCBzdHJ1Y3Qgc3Zt
X25vZGUqIHgsIGRvdWJsZSogZGVjX3ZhbHVlcyk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCA4ZGQ5OTllMjA4
MWY5N2IzMzQyMzZmM2YzMGQwODViYjVkMDVkNDg0Li5jNzZiNjQzODI3MjhiZGEzOWEyOTMzM2Uz
YmFjYmNjYmRiNmRmMTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMTg5LDYgKzE4
OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9hdWRpby9t
YWMvQ0FSaW5nQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5j
cHAKIAorICAgIHBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuY3BwCisKKyAgICBwbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisKICAgICBwbGF0Zm9ybS9jZi9GaWxlU3lzdGVt
Q0YuY3BwCiAgICAgcGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuY3BwCiAgICAgcGxhdGZvcm0v
Y2YvS2V5ZWRFbmNvZGVyQ0YuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDcwMDQ2
ODIxZGE4MWI3OWVmNWY4NTEwZTlkMDFiMzFmNzY3NTIxYmQuLjU1YmRiMDYzZDBiZDhhOTZjMjE2
MTY1ZWU5OTY2MWJjYjc3NzhmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
V2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0zNyw2
ICszNyw4IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAogCisgICAgcGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKIAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAy
MDA1YzlhOTJlMTZmZTcxNzFmN2E3YmJkZjRiN2JiZGZkYTViOWU3Li4wNmYzYWU0MDZiMGE3ZTk2
NmQwNzIwMmNmZWM1YmRkMjJiZTUwNGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEs
NCArMSw0IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4MCw2
ICsxODAsOSBAQCBwbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAogcGxhdGZv
cm0vYXVkaW8vbWFjL0NBUmluZ0J1ZmZlci5jcHAKIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFt
ZU1hYy5jcHAKIAorcGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcAorcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogcGxhdGZvcm0vY2YvRmlsZVN5c3RlbUNGLmNwcAog
cGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuY3BwCiBwbGF0Zm9ybS9jZi9LZXllZEVuY29kZXJD
Ri5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggMTVhMGJhODNmZjc4OTdjZGQ2OTA4MzM5NzBj
ZGQ1YWY4N2JmNzExZS4uN2ZkZjMwMDU4YzQ2YWJkNDgwNjRiOWM1ZWZiOWNmZDFmNzg4MDczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKQEAgLTU5LDYgKzU5LDggQEAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uS2luZXRpYy5jcHAKIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKIHBs
YXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5jcHAKIAorcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogcGxhdGZvcm0vZ2VuZXJpYy9TY3JvbGxB
bmltYXRvckdlbmVyaWMuY3BwCiAKIHBsYXRmb3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRl
ckdlb2NsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzV1BFLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CmluZGV4IDNjMzJkODk1NTA1YzQxOWJjYTJj
NWZlYjQyZTJlNjU0NGU5N2NhN2EuLjQ2ZmMwMzRkYjJlNGFkNDRjMmY1MjdiOTdmNzcxMTM1YjVh
NzgwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CkBAIC00Miw2ICs0Miw4IEBAIHBhZ2Uvc2Nyb2xs
aW5nL2dlbmVyaWMvU2Nyb2xsaW5nVGhyZWFkR2VuZXJpYy5jcHAKIAogcGxhdGZvcm0vVXNlckFn
ZW50UXVpcmtzLmNwcAogCitwbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyLmNwcAorCiAvLyBUaGlzIGNhbid0IGdvIGludG8gU291cmNlc0dMaWIudHh0
IGJlY2F1c2UgaXQgaGFzIHRvIGdvIGludG8gV2ViQ29yZVBsYXRmb3JtR1RLLgogcGxhdGZvcm0v
Z2xpYi9FdmVudEhhbmRsZXJHTGliLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9V
bmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvVW5pZmllZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBkZmMyYTNjMjk1MjlhNDE0NjQ0OGVjOGMzYjVi
Y2VlMDgxNDExNzMwLi42NjRlNjFhYmVmNmVkNmU2YTk2OGI0NGNhOThmMjlkOGJmYjJjOGJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAg
LTI2NDMsNiArMjY0Myw4IEBAICQoU1JDUk9PVCkvcGxhdGZvcm0vY2YvTWVkaWFBY2Nlc3NpYmls
aXR5U29mdExpbmsuY3BwCiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NmL1J1bkxvb3BPYnNlcnZlci5j
cHAKICQoU1JDUk9PVCkvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCiAkKFNSQ1JPT1Qp
L3BsYXRmb3JtL2NmL1VSTENGLmNwcAorJChTUkNST09UKS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcAorJChTUkNST09UKS9wbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
CiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NvY29hL0NvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNv
Y29hLm1tCiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmNwcAog
JChTUkNST09UKS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYzE3NDhiNjM0ODhlZjgzZjBmNThmYjNiOTlhNmM2NDYwMzQ0ZmMzZC4uM2U3YTExMmU0MWIz
YWM2ZjE2MjhlMTUxY2M1ZGE4NDJlOTAzYmRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjE1Myw2ICsyMTUzLDggQEAKIAkJ
N0ExRDdGQ0IxOEY4NUYwRjAwQzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdz
LmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTFE
N0ZDOTE4Rjg1RjBGMDBDMzg1QUQgLyogbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MuanMg
Ki87IH07CiAJCTdBMjI3MzIxMjBDOUZBRkUwMERCMURFRiAvKiBXZWJLaXROU0ltYWdlRXh0cmFz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTIyNzMx
RjIwQzlGOURBMDBEQjFERUYgLyogV2ViS2l0TlNJbWFnZUV4dHJhcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBMjlGNTcyMThDNjk1MTQwMDRE
MEY4MSAvKiBPdXRPZkJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTI5RjU3MTE4QzY5NTE0MDA0RDBGODEgLyog
T3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oICovOyB9OworCQk3QTNBNEE4NTIxRTNEMDQ3
MDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBM0E0QTgxMjFFM0NDOEYwMDRB
QTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdBM0E0QTg2MjFFM0QwNEUwMDRB
QTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTNBNEE3RTIxRTNDQzhGMDA0
QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBNDUwMzJGMThEQjcx
NzIwMDM3N0IzNCAvKiBCdWZmZXJlZExpbmVSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E0NTAzMkQxOERCNzE3MjAwMzc3QjM0IC8qIEJ1
ZmZlcmVkTGluZVJlYWRlci5jcHAgKi87IH07CiAJCTdBNDUwMzMwMThEQjcxNzIwMDM3N0IzNCAv
KiBCdWZmZXJlZExpbmVSZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdBNDUwMzJFMThEQjcxNzIwMDM3N0IzNCAvKiBCdWZmZXJlZExpbmVSZWFk
ZXIuaCAqLzsgfTsKIAkJN0E1NDg1ODAxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3Rv
cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNTQ4
NTdFMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmggKi87IH07CkBAIC05NDY0
LDYgKzk0NjYsMTAgQEAKIAkJN0EyOUJBNjcxODdCNzMyMjAwRjI5Q0VCIC8qIFRlbXBvcmFyeU9w
ZW5HTFNldHRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVtcG9yYXJ5
T3BlbkdMU2V0dGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTI5QkE2OTE4
N0I3ODFDMDBGMjlDRUIgLyogVGVtcG9yYXJ5T3BlbkdMU2V0dGluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZW1wb3JhcnlPcGVuR0xTZXR0aW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0EyOUY1NzExOEM2OTUxNDAwNEQwRjgxIC8qIE91
dE9mQmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3QTNBNEE3RDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzQTRBN0UyMUUzQ0M4RjAwNEFBODRFIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3QTNBNEE4MDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3QTNBNEE4MTIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0EzRUJFQUEyMUJGMDU0QzAwMEQwNDNEIC8qIEpTU1ZHVmlld1NwZWND
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdWaWV3U3BlY0N1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBM0VCRUFDMjFCRjA5MjEwMDBEMDQzRCAvKiBT
VkdBdHRyaWJ1dGVPd25lclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0F0dHJpYnV0
ZU93bmVyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTQ1MDMyRDE4
REI3MTcyMDAzNzdCMzQgLyogQnVmZmVyZWRMaW5lUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ1ZmZlcmVkTGluZVJlYWRlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMDM4Nyw2ICsyMDM5MywyNSBAQAogCQkJcGF0aCA9IG1hY09T
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJN0EzQTRBN0YyMUUzQ0M4RjAw
NEFBODRFIC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk3QTNBNEE3RDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8sCisJCQkJN0EzQTRBN0UyMUUzQ0M4RjAwNEFBODRFIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk3QTNBNEE4
MjIxRTNDQzhGMDA0QUE4NEUgLyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJN0EzQTRBN0YyMUUzQ0M4RjAwNEFBODRFIC8qIGNvY29h
ICovLAorCQkJCTdBM0E0QTgwMjFFM0NDOEYwMDRBQTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5jcHAgKi8sCisJCQkJN0EzQTRBODEyMUUzQ0M4RjAwNEFBODRFIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNs
YXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFE
RjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKApAQCAtMjUwNTUsNiArMjUwODAsNyBAQAogCQkJCTQ5RTkxMkE0MEVG
QUM4RTYwMDlEMENBRiAvKiBhbmltYXRpb24gKi8sCiAJCQkJRkQzMTYwNDAxMkIwMjZBMzAwQzFB
MzU5IC8qIGF1ZGlvICovLAogCQkJCTFBRTQyRjY3MEFBNEI4Q0IwMEM4NjEyRCAvKiBjZiAqLywK
KwkJCQk3QTNBNEE4MjIxRTNDQzhGMDA0QUE4NEUgLyogY2xhc3NpZmllciAqLywKIAkJCQlBNUM5
NzRDRTExNDg1RkRBMDA2NkYyQUIgLyogY29jb2EgKi8sCiAJCQkJQ0Q5NEE1Q0IxRjcxQ0I0NjAw
RjUyNUM1IC8qIGVuY3J5cHRlZG1lZGlhICovLAogCQkJCTUxNUJFMTg3MUQ1NEY1REIwMEREN0M2
OCAvKiBnYW1lcGFkICovLApAQCAtMzA4ODcsNiArMzA5MTMsOCBAQAogCQkJCTZCNjkzQTJFMUM1
MUE4MkUwMEIwM0JFRiAvKiBSZXNvdXJjZUxvYWRPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0UwIC8qIFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QTkyOUNBNzFDNTk4QUE5MDA0REYyMjYgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0EzQTRBODUyMUUzRDA0NzAwNEFBODRF
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3QTNBNEE4NjIxRTNEMDRFMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NkQxMkQyNkUzODAwRTc5NDE1
IC8qIFJlc291cmNlUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2N0QwQ0U5MjNB
MTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTdF
RTY4NDZGMTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVlc3RDRk5ldC5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk4OTk3OGRmMTQ4MDlmNWI0OTU2Y2IyODVmNmE3NTA1YjM4YjQ2ZDcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0
aWMgZG91YmxlIHZlY3Rvckxlbmd0aCh1bnNpZ25lZCBhLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBj
KQoreworICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYyk7Cit9CisKK3N0YXRp
YyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRIaWdoID0gMzsKK3N0YXRp
YyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRWZXJ5SGlnaCA9IDMwOwor
UmVzb3VyY2VMb2FkUHJldmFsZW5jZSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6
Y2FsY3VsYXRlUmVzb3VyY2VQcmV2YWxlbmNlKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
IHJlc291cmNlU3RhdGlzdGljLCBSZXNvdXJjZUxvYWRQcmV2YWxlbmNlIGN1cnJlbnRQcmV2YWxl
bmNlKQoreworICAgIEFTU0VSVChjdXJyZW50UHJldmFsZW5jZSAhPSBWZXJ5SGlnaCk7CisKKyAg
ICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3Rh
dGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOworICAgIGF1dG8g
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7CisgICAgYXV0byBzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCA9IHJlc291cmNlU3RhdGlzdGljLnRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgp
OworICAgIAorICAgIGlmICghc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50Cisg
ICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQKKyAgICAgICAgJiYg
IXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAorICAgICAgICAmJiAhdG9wRnJhbWVV
bmlxdWVSZWRpcmVjdHNUb0NvdW50KSB7CisgICAgICAgIHJldHVybiBMb3c7CisgICAgfQorCisg
ICAgaWYgKHZlY3Rvckxlbmd0aChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQs
IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRWZXJ5SGlnaCkKKyAg
ICAgICAgcmV0dXJuIFZlcnlIaWdoOworCisgICAgaWYgKGN1cnJlbnRQcmV2YWxlbmNlID09IEhp
Z2gKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVh
dHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2gKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2gKKyAg
ICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZEhpZ2gKKyAgICAgICAgfHwgdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNU
b0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2gKKyAgICAgICAgfHwgY2xh
c3NpZnkoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkp
CisgICAgICAgIHJldHVybiBIaWdoOworCisgICAgcmV0dXJuIExvdzsKK30KKworYm9vbCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xk
KHVuc2lnbmVkIGEsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGMpCit7CisgICAgTE9HKFJlc291cmNl
TG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3Np
ZnlXaXRoVmVjdG9yVGhyZXNob2xkKCk6IENsYXNzaWZpZWQgd2l0aCB0aHJlc2hvbGQuIik7Cisg
ICAgcmV0dXJuIHZlY3Rvckxlbmd0aChhLCBiLCBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGRIaWdoOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpj
bGFzc2lmeSh1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHVu
c2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgdW5zaWduZWQgc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQoreworICAgIHJldHVybiBjbGFzc2lmeVdpdGhW
ZWN0b3JUaHJlc2hvbGQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45YjRiMTM3MWQwOTVlODBjZWJhYmJhZmZkMTYzYzk1NDRjMmI5ZDZkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCitlbnVtIFJlc291cmNlTG9hZFByZXZhbGVuY2Ugewor
ICAgIExvdyA9IDEgPDwgMCwKKyAgICBIaWdoID0gMSA8PCAxLAorICAgIFZlcnlIaWdoID0gMSA8
PCAyLAorfTsKKworY2xhc3MgV0VCQ09SRV9FWFBPUlQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIgeworcHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
KCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgflJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyKCkgPSBkZWZhdWx0OworCisgICAgUmVzb3VyY2VMb2FkUHJldmFsZW5jZSBjYWxjdWxhdGVS
ZXNvdXJjZVByZXZhbGVuY2UoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VT
dGF0aXN0aWMsIFJlc291cmNlTG9hZFByZXZhbGVuY2UgY3VycmVudFByZXZhbGVuY2UpOworCitw
cm90ZWN0ZWQ6CisgICAgdmlydHVhbCBib29sIGNsYXNzaWZ5KHVuc2lnbmVkIHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgdW5zaWduZWQgc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50LCB1bnNpZ25lZCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQp
OworICAgIGJvb2wgY2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHVuc2lnbmVkLCB1bnNpZ25l
ZCwgdW5zaWduZWQpOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdmOGNhNDc5OTI5
YWFmMDNmMjY0OWJhZGM5NmI2Y2I1MjY5MDg1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5jcHAKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmgiCisKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKworI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg+Cisj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL2Rhcndpbi9XZWFr
TGlua2luZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2xhc3NpZnkodW5zaWduZWQgc3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luc0NvdW50LCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQsIHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKK3sK
KyAgICBpZiAoIWNhblVzZUNvcmVQcmVkaWN0aW9uKCkpCisgICAgICAgIHJldHVybiBjbGFzc2lm
eVdpdGhWZWN0b3JUaHJlc2hvbGQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50
LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCk7CisKKyAgICBWZWN0b3I8c3ZtX25vZGU+IGZlYXR1cmVzOworCisgICAg
aWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKKyAgICAgICAgZmVhdHVy
ZXMuYXBwZW5kKHsxLCBzdGF0aWNfY2FzdDxkb3VibGU+KHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCl9KTsKKyAgICBpZiAoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0Nv
dW50KQorICAgICAgICBmZWF0dXJlcy5hcHBlbmQoezIsIHN0YXRpY19jYXN0PGRvdWJsZT4oc3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KX0pOworICAgIGlmIChzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAgICAgIGZlYXR1cmVzLmFwcGVuZCh7Mywgc3RhdGlj
X2Nhc3Q8ZG91YmxlPihzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpfSk7CisKKyAg
ICAvLyBBZGQgdGVybWluYXRpb24gbm9kZSB3aXRoIGluZGV4IC0xLgorICAgIGZlYXR1cmVzLmFw
cGVuZCh7LTEsIC0xfSk7CisKKyAgICBkb3VibGUgc2NvcmU7CisgICAgaW50IGNsYXNzaWZpY2F0
aW9uID0gc3ZtX3ByZWRpY3RfdmFsdWVzKHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpLCBmZWF0
dXJlcy5kYXRhKCksICZzY29yZSk7CisgICAgTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpjbGFzc2lmeSgpOiBDbGFzc2lm
aWVkIHdpdGggQ29yZVByZWRpY3Rpb24uIik7CisgICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9uIDwg
MDsKK30KKworU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OnN0
b3JhZ2VQYXRoKCkKK3sKKyAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdl
dEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0IikpOworICAgIFJl
dGFpblB0cjxDRlVSTFJlZj4gcmVzb3VyY2VVcmwgPSBhZG9wdENGKENGQnVuZGxlQ29weVJlc291
cmNlc0RpcmVjdG9yeVVSTCh3ZWJLaXRCdW5kbGUpKTsKKyAgICByZXNvdXJjZVVybCA9IGFkb3B0
Q0YoQ0ZVUkxDcmVhdGVDb3B5QXBwZW5kaW5nUGF0aENvbXBvbmVudChudWxscHRyLCByZXNvdXJj
ZVVybC5nZXQoKSwgQ0ZTVFIoImNvcmVQcmVkaWN0aW9uX21vZGVsIiksIGZhbHNlKSk7CisgICAg
Q0ZFcnJvclJlZiBlcnJvciA9IG51bGxwdHI7CisgICAgcmVzb3VyY2VVcmwgPSBhZG9wdENGKENG
VVJMQ3JlYXRlRmlsZVBhdGhVUkwobnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0KCksICZlcnJvcikp
OworCisgICAgaWYgKGVycm9yIHx8ICFyZXNvdXJjZVVybCkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworCisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiByZXNvdXJjZVVybFN0cmluZyA9IGFk
b3B0Q0YoQ0ZVUkxDb3B5RmlsZVN5c3RlbVBhdGgocmVzb3VyY2VVcmwuZ2V0KCksIGtDRlVSTFBP
U0lYUGF0aFN0eWxlKSk7CisgICAgcmV0dXJuIFN0cmluZyhyZXNvdXJjZVVybFN0cmluZy5nZXQo
KSk7Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2Fu
VXNlQ29yZVByZWRpY3Rpb24oKQoreworICAgIGlmIChtX2hhdmVMb2FkZWRNb2RlbCkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGlmIChpc051bGxGdW5jdGlvblBvaW50ZXIoc3ZtX2xvYWRf
bW9kZWwpKSB7CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3Jh
Z2VQYXRoKCk7CisgICAgaWYgKHN0b3JhZ2VQYXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRo
U3RyLmlzRW1wdHkoKSkgeworICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoc2luZ2xldG9uUHJlZGljdGlv
bk1vZGVsKCkpIHsKKyAgICAgICAgbV9oYXZlTG9hZGVkTW9kZWwgPSB0cnVlOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCitjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKQor
eworICAgIHN0YXRpYyBPcHRpb25hbDxzdHJ1Y3Qgc3ZtX21vZGVsKj4gY29yZVByZWRpY3Rpb25N
b2RlbDsKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKKyAgICBkaXNwYXRj
aF9vbmNlKCZvbmNlVG9rZW4sIF57CisgICAgICAgIGF1dG8gcGF0aCA9IHN0b3JhZ2VQYXRoKCk7
CisgICAgICAgIGlmIChwYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBjb3JlUHJlZGljdGlvbk1vZGVsID0gc3ZtX2xvYWRfbW9kZWwocGF0aC51dGY4KCkuZGF0
YSgpKTsKKyAgICB9KTsKKworICAgIGlmIChjb3JlUHJlZGljdGlvbk1vZGVsICYmIGNvcmVQcmVk
aWN0aW9uTW9kZWwudmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIGNvcmVQcmVkaWN0aW9uTW9kZWwu
dmFsdWUoKTsKKworICAgIFdURkxvZ0Fsd2F5cygiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYTo6c2luZ2xldG9uUHJlZGljdGlvbk1vZGVsKCk6IENvdWxkbid0IGxvYWQgbW9k
ZWwgZmlsZSBhdCBwYXRoICVzLiIsIHN0b3JhZ2VQYXRoKCkudXRmOCgpLmRhdGEoKSk7CisgICAg
bV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworICAgIHJldHVybiBudWxscHRyOworfQorfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NsYXNzaWZpZXIv
Y29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcyNDhmNTFlZDMzYmYzZGQwOGQ4NThmNmVkN2Zi
Yzc3YTVkODUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFW
RShDT1JFX1BSRURJQ1RJT04pCisKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllci5oIgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCitzdHJ1Y3Qgc3ZtX21vZGVsOworCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgeworcHVibGlj
OgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EoKSA9IGRlZmF1bHQ7
CisgICAgdmlydHVhbCB+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYSgpID0g
ZGVmYXVsdDsKKworcHJpdmF0ZToKKyAgICBib29sIGNsYXNzaWZ5KHVuc2lnbmVkLCB1bnNpZ25l
ZCwgdW5zaWduZWQpIG92ZXJyaWRlOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJv
b2wgY2FuVXNlQ29yZVByZWRpY3Rpb24oKTsKKyAgICBjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBz
aW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKTsKKyAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rpb24g
eyB0cnVlIH07CisgICAgYm9vbCBtX2hhdmVMb2FkZWRNb2RlbCB7IGZhbHNlIH07Cit9OworICAg
IAorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGJmZGZjMjA1MWM2ZjQ0ODc3NDlkMGZi
NGRiNzBkMGNlYjcyN2E5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyLmgiCi0KLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXN0YXRpYyBkb3VibGUgdmVjdG9yTGVuZ3RoKHVuc2ln
bmVkIGEsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGMpCi17Ci0gICAgcmV0dXJuIHNxcnQoYSAqIGEg
KyBiICogYiArIGMgKiBjKTsKLX0KLQotc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxl
bmd0aFRocmVzaG9sZEhpZ2ggPSAzOwotc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxl
bmd0aFRocmVzaG9sZFZlcnlIaWdoID0gMzA7Ci1SZXNvdXJjZUxvYWRQcmV2YWxlbmNlIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjYWxjdWxhdGVSZXNvdXJjZVByZXZhbGVuY2Uo
Y29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMsIFJlc291cmNl
TG9hZFByZXZhbGVuY2UgY3VycmVudFByZXZhbGVuY2UpCi17Ci0gICAgQVNTRVJUKGN1cnJlbnRQ
cmV2YWxlbmNlICE9IFZlcnlIaWdoKTsKLQotICAgIGF1dG8gc3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
Q291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLnNp
emUoKTsKLSAgICBhdXRvIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291
cmNlU3RhdGlzdGljLnN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIGF1
dG8gdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMudG9w
RnJhbWVVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7Ci0gICAgCi0gICAgaWYgKCFzdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50Ci0gICAgICAgICYmICF0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKLSAg
ICAgICAgcmV0dXJuIExvdzsKLSAgICB9Ci0KLSAgICBpZiAodmVjdG9yTGVuZ3RoKHN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
b0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpID4gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZFZlcnlIaWdoKQotICAgICAgICByZXR1cm4gVmVyeUhpZ2g7Ci0KLSAg
ICBpZiAoY3VycmVudFByZXZhbGVuY2UgPT0gSGlnaAotICAgICAgICB8fCBzdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkSGln
aAotICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJl
VmVjdG9yTGVuZ3RoVGhyZXNob2xkSGlnaAotICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkSGlnaAotICAgICAg
ICB8fCB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3Ro
VGhyZXNob2xkSGlnaAotICAgICAgICB8fCBjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSkKLSAgICAgICAgcmV0dXJuIEhpZ2g7Ci0KLSAg
ICByZXR1cm4gTG93OwotfQotCi1ib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQodW5zaWduZWQgYSwgdW5zaWduZWQgYiwgdW5z
aWduZWQgYykKLXsKLSAgICBMT0coUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgIlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoKTogQ2xh
c3NpZmllZCB3aXRoIHRocmVzaG9sZC4iKTsKLSAgICByZXR1cm4gdmVjdG9yTGVuZ3RoKGEsIGIs
IGMpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2g7Ci19Ci0gICAgCi19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhY2YxZjM4OWRkNTFhMDBjNTEwN2RjNjcyZjlkM2ZiYTlmMmJmZWYwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci1zdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKLX0KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLWVudW0gUmVzb3VyY2VMb2FkUHJldmFsZW5jZSB7Ci0gICAg
TG93ID0gMSA8PCAwLAotICAgIEhpZ2ggPSAxIDw8IDEsCi0gICAgVmVyeUhpZ2ggPSAxIDw8IDIs
Ci19OwotCi1jbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciB7Ci1wdWJsaWM6
Ci0gICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIoKSA9IGRlZmF1bHQ7Ci0gICAg
dmlydHVhbCB+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIoKSA9IGRlZmF1bHQ7Ci0g
ICAgUmVzb3VyY2VMb2FkUHJldmFsZW5jZSBjYWxjdWxhdGVSZXNvdXJjZVByZXZhbGVuY2UoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMsIFJl
c291cmNlTG9hZFByZXZhbGVuY2UgY3VycmVudFByZXZhbGVuY2UpOwotcHJvdGVjdGVkOgotICAg
IHZpcnR1YWwgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQsIHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwg
dW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKLSAgICB9Ci0gICAgYm9vbCBjbGFzc2lm
eVdpdGhWZWN0b3JUaHJlc2hvbGQodW5zaWduZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCk7Ci19Owot
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2Ev
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJDb2NvYS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZmJlM2NkYmMxYzNh
OTUxZjcyMzcwYmQ1OTg3ZTQ3MmU4ZDRjMjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMTI1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgotCi0jaWYgSEFW
RShDT1JFX1BSRURJQ1RJT04pCi0KLSNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNQSS5oIgotI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLSNpbmNs
dWRlIDx3dGYvZGFyd2luL1dlYWtMaW5raW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1i
b29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNsYXNzaWZ5KHVuc2ln
bmVkIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgdW5zaWduZWQgc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCB1bnNpZ25lZCBzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQpCi17Ci0gICAgaWYgKCFjYW5Vc2VDb3JlUHJlZGljdGlvbigpKQotICAg
ICAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBz
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOwotCi0gICAgVmVjdG9yPHN2bV9ub2Rl
PiBmZWF0dXJlczsKLQotICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQpCi0gICAgICAgIGZlYXR1cmVzLmFwcGVuZCh7MSwgc3RhdGljX2Nhc3Q8ZG91YmxlPihzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpfSk7Ci0gICAgaWYgKHN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudCkKLSAgICAgICAgZmVhdHVyZXMuYXBwZW5kKHsyLCBzdGF0
aWNfY2FzdDxkb3VibGU+KHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCl9KTsKLSAg
ICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAgICAgICBmZWF0dXJl
cy5hcHBlbmQoezMsIHN0YXRpY19jYXN0PGRvdWJsZT4oc3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50KX0pOwotCi0gICAgLy8gQWRkIHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAt
MS4KLSAgICBmZWF0dXJlcy5hcHBlbmQoey0xLCAtMX0pOwotCi0gICAgZG91YmxlIHNjb3JlOwot
ICAgIGludCBjbGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhzaW5nbGV0b25QcmVk
aWN0aW9uTW9kZWwoKSwgZmVhdHVyZXMuZGF0YSgpLCAmc2NvcmUpOwotICAgIExPRyhSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6
Y2xhc3NpZnkoKTogQ2xhc3NpZmllZCB3aXRoIENvcmVQcmVkaWN0aW9uLiIpOwotICAgIHJldHVy
biBjbGFzc2lmaWNhdGlvbiA8IDA7Ci19Ci0KLVN0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hOjpzdG9yYWdlUGF0aCgpCi17Ci0gICAgQ0ZCdW5kbGVSZWYgd2ViS2l0
QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxl
LldlYktpdCIpKTsKLSAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHJlc291cmNlVXJsID0gYWRvcHRD
RihDRkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVuZGxlKSk7Ci0gICAg
cmVzb3VyY2VVcmwgPSBhZG9wdENGKENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25l
bnQobnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0KCksIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2Rl
bCIpLCBmYWxzZSkpOwotICAgIENGRXJyb3JSZWYgZXJyb3IgPSBudWxscHRyOwotICAgIHJlc291
cmNlVXJsID0gYWRvcHRDRihDRlVSTENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNl
VXJsLmdldCgpLCAmZXJyb3IpKTsKLQotICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCi0g
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVz
b3VyY2VVcmxTdHJpbmcgPSBhZG9wdENGKENGVVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNl
VXJsLmdldCgpLCBrQ0ZVUkxQT1NJWFBhdGhTdHlsZSkpOwotICAgIHJldHVybiBTdHJpbmcocmVz
b3VyY2VVcmxTdHJpbmcuZ2V0KCkpOwotfQotCi1ib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQcmVkaWN0aW9uKCkKLXsKLSAgICBpZiAobV9oYXZl
TG9hZGVkTW9kZWwpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFtX3VzZUNvcmVQ
cmVkaWN0aW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoaXNOdWxsRnVuY3Rp
b25Qb2ludGVyKHN2bV9sb2FkX21vZGVsKSkgewotICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9u
ID0gZmFsc2U7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgc3Rv
cmFnZVBhdGhTdHIgPSBzdG9yYWdlUGF0aCgpOwotICAgIGlmIChzdG9yYWdlUGF0aFN0ci5pc051
bGwoKSB8fCBzdG9yYWdlUGF0aFN0ci5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV91c2VDb3JlUHJl
ZGljdGlvbiA9IGZhbHNlOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgaWYg
KHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpKSB7Ci0gICAgICAgIG1faGF2ZUxvYWRlZE1vZGVs
ID0gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgbV91c2VDb3JlUHJl
ZGljdGlvbiA9IGZhbHNlOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotY29uc3Qgc3RydWN0IHN2
bV9tb2RlbCogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6c2luZ2xldG9u
UHJlZGljdGlvbk1vZGVsKCkKLXsKLSAgICBzdGF0aWMgT3B0aW9uYWw8c3RydWN0IHN2bV9tb2Rl
bCo+IGNvcmVQcmVkaWN0aW9uTW9kZWw7Ci0gICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
VG9rZW47Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAgICAgICBhdXRvIHBh
dGggPSBzdG9yYWdlUGF0aCgpOwotICAgICAgICBpZiAocGF0aC5pc0VtcHR5KCkpCi0gICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgY29yZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9sb2FkX21v
ZGVsKHBhdGgudXRmOCgpLmRhdGEoKSk7Ci0gICAgfSk7Ci0KLSAgICBpZiAoY29yZVByZWRpY3Rp
b25Nb2RlbCAmJiBjb3JlUHJlZGljdGlvbk1vZGVsLnZhbHVlKCkpCi0gICAgICAgIHJldHVybiBj
b3JlUHJlZGljdGlvbk1vZGVsLnZhbHVlKCk7Ci0KLSAgICBXVEZMb2dBbHdheXMoIlJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgp
OiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4iLCBzdG9yYWdlUGF0aCgpLnV0
ZjgoKS5kYXRhKCkpOwotICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKLSAgICByZXR1
cm4gbnVsbHB0cjsKLX0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYWQ2YmYwNmMxOTcwMWE1ZjQ4OWM0NDgwZDYxNGIxN2Y1Y2UwNWFhNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCi0KLSNpbmNsdWRlICJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1zdHJ1Y3Qgc3ZtX21vZGVsOwotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYSA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciB7Ci1wcml2YXRl
OgotICAgIGJvb2wgY2xhc3NpZnkodW5zaWduZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCkgb3ZlcnJp
ZGU7Ci0gICAgU3RyaW5nIHN0b3JhZ2VQYXRoKCk7Ci0gICAgYm9vbCBjYW5Vc2VDb3JlUHJlZGlj
dGlvbigpOwotICAgIGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwqIHNpbmdsZXRvblByZWRpY3Rpb25N
b2RlbCgpOwotICAgIGJvb2wgbV91c2VDb3JlUHJlZGljdGlvbiB7IHRydWUgfTsKLSAgICBib29s
IG1faGF2ZUxvYWRlZE1vZGVsIHsgZmFsc2UgfTsKLX07Ci0gICAgCi19Ci0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQ29yZVByZWRpY3Rpb25T
UEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJ
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ZjI1MGZjMmYzN2U0YzBlYmVhMmU1
N2MxYTIzZGMxZTNlNzFmOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQ29yZVByZWRpY3Rpb25T
UEkuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQotCi0jaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKLQotI2ltcG9ydCA8Q29yZVByZWRpY3Rpb24vc3ZtLmg+Ci0KLSNlbHNlCi0KLXN0
cnVjdCBzdm1fbm9kZQotewotICAgIGludCBpbmRleDsKLSAgICBkb3VibGUgdmFsdWU7Ci19Owot
Ci0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi10
eXBlZGVmIHN0cnVjdCBzdm1fbm9kZSBzdm1fbm9kZTsKLQotc3RydWN0IHN2bV9tb2RlbCAqc3Zt
X2xvYWRfbW9kZWwoY29uc3QgY2hhciAqbW9kZWxfZmlsZV9uYW1lKTsKLWRvdWJsZSBzdm1fcHJl
ZGljdF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBz
dm1fbm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVzKTsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19
Ci0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFj
LmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBkNjdlNjRjZDk3
NDAzNzI4ODU5ODY5N2FmZmQzYzZlNzMyMDU2NmFkLi5mYzgwYjc0MTEzMjk1OGRmZjM4YzFkZGVk
ZmIzYmYyMGZiMjZmYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ4LDEwICs0OCw2
IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9XS0Ny
YXNoUmVwb3J0ZXIubW0KIAotICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIuY3BwCi0KLSAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCi0KICAgICBQbGF0Zm9ybS9m
b3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0aW9uLm1tCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9TaGFy
ZWRNZW1vcnlDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XaW4u
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDJhYTM1YWQ0ODM1
Nzk5NjQxYzA5NDRhN2FmOWM5MDc5NGU4ZDkwMWIuLjlhM2IxNGFmYTU4MzJiOGYxZDUzOWUxNGFj
YjhkZjM4NjI3OTAxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XaW4uY21h
a2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMTMsOCArMTMsNiBA
QCBsaXN0KEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIFBsYXRmb3JtL0lQQy93aW4vQXR0YWNo
bWVudFdpbi5jcHAKICAgICBQbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCiAKLSAg
ICBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNw
cAotCiAgICAgUGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCiAgICAgUGxhdGZvcm0vd2luL01v
ZHVsZVdpbi5jcHAKICAgICBQbGF0Zm9ybS93aW4vU2hhcmVkTWVtb3J5V2luLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0CmluZGV4IGE1ODU1YmE3ZTk5OTc3MGE1MjdlMDE3MDg3ZjA0ZTk2MzdkZjI0
NmIuLjhmN2ZkZWUzOTZiMmEwMWJhMDc3ZDlmZDI3ZGFmYmM2MmVkMDc1NDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKQEAgLTU3LDkgKzU3LDYgQEAgUGxhdGZvcm0vY2YvTW9kdWxlQ0YuY3BwCiAK
IFBsYXRmb3JtL2NnL0NHVXRpbGl0aWVzLmNwcAogCi1QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCi1QbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcAotCiBQbGF0Zm9ybS9j
b2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKIFBsYXRmb3JtL2NvY29hL1dLQ3Jhc2hSZXBvcnRl
ci5tbQogUGxhdGZvcm0vY29jb2EvV2ViS2l0QWRkaXRpb25zLm1tIEBuby11bmlmeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0dUSy50eHQKaW5kZXggMjY1Mzg0YjY0MTg4NzUzNzg5NWQwN2YzYWQ1ODMyOTQ0YzAxZDI5MS4u
Njg2OGQ5MTAyNDQ5NTM3MTljNGFhZGQ4MjRiNWEwNDMzNTc1ZGRhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsu
dHh0CkBAIC00OSw4ICs0OSw2IEBAIFBsYXRmb3JtL0lQQy9nbGliL0dTb2NrZXRNb25pdG9yLmNw
cCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcCBAbm8tdW5p
ZnkKIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBAbm8tdW5pZnkKIAotUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKLQog
UGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcCBAbm8tdW5pZnkKIAogUGxhdGZvcm0vdW5peC9M
b2dnaW5nVW5peC5jcHAgQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNXUEUudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dAppbmRleCA4ZWUyZmVmNDJh
NjY0Nzg1OWYzNWY4ZDM0NzkzYWY5NGEwMjkzOTNlLi5mYTI0MmNkMWEzOWI0OTI5ZDgwZWRhMGNj
NWQ0MTUyOWUyZjEwYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNXUEUudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKQEAgLTQ2LDggKzQ2LDYgQEAgUGxh
dGZvcm0vSVBDL2dsaWIvR1NvY2tldE1vbml0b3IuY3BwCiBQbGF0Zm9ybS9JUEMvdW5peC9BdHRh
Y2htZW50VW5peC5jcHAKIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAogCi1Q
bGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcAot
CiBQbGF0Zm9ybS9nbGliL01vZHVsZUdsaWIuY3BwCiAKIFBsYXRmb3JtL3VuaXgvTG9nZ2luZ1Vu
aXguY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCmluZGV4IGYzYTlhN2I5NmEwMGQ4NWQwYzFlYTdi
MWNhYTYxYzcyYmQxZGIwYzQuLjQzNmY4NDIzOGUxYjMyNjBlOGZhNTMyZjFlOGI3N2FjN2VhMTQ2
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCkBAIC0yNSwxNSArMjUsMTUgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIgog
I2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaD4KICNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKICNpZiBIQVZFKENP
UkVfUFJFRElDVElPTikKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2U3ZTkyNzM4MGQ4
ZDRiYTY0ZDM4OTFmNDNjMWIyNzlhNWJlNDllNi4uZDU5OTRkYWZmYjBkOTNiNjFlNDVmNzViMTU4
ZTk0MGJiZDNlMGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMDg4LDggKzEwODgsNiBAQAogCQk2QTUwODBCRjFGMEVEQUFBMDBF
NjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZBNTA4MEJFMUYwRURBQUEwMEU2MTdDNSAvKiBXS1dp
bmRvd0ZlYXR1cmVzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZCODIxRERDMUVFRjA1REQwMEQ3QUY0QSAvKiBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RlbGVtZXRyeS5oICovOyB9OwogCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMg
LyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlv
bl9tb2RlbCAqLzsgfTsKLQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi87IH07Ci0JCTZCRTk2OUNEMUU1NEUwNTQw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CiAJCTZFRTg0
OUM4MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4
RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2Vi
Q29sb3JQaWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICov
OyB9OwogCQk3NTNFM0UwRTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1M0UzRTA5MTg4NzM5
NEIwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oICovOyB9OwpAQCAtMjk3NCw3ICsyOTcyLDcg
QEAKIAkJMzdCRUM0REYxOTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBsZXRpb25IYW5kbGVyQ2FsbENo
ZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxldGlvbkhhbmRs
ZXJDYWxsQ2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzN0JGMkYwNDE5
NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tOU1VSTFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzdCRjJGMDUxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tOU1VSTFJlcXVlc3QubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3Jl
UHJlZGljdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlUHJl
ZGljdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzN0MyMUNBRDFFOTk0
QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gQ29yZVByZWRpY3Rpb25TUEkuaDsgcGF0aCA9IC4uLy4uLy4uLy4uL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRM
aXN0SXRlbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQmFj
a0ZvcndhcmRMaXN0SXRlbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdDNEMw
ODUxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdDNEMwODgxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFja0Zv
cndhcmRMaXN0SXRlbUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zNTExLDEwICszNTA5LDYgQEAKIAkJNkI4MjFEREExRUVGMDVERDAwRDdBRjRBIC8q
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2QjgyMUREQjFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RlbGVtZXRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzVGVsZW1ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5
QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IGNvcmVQcmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmlu
OyBwYXRoID0gV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVj
dG9yUHJpdmF0ZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3Bl
Y3RvclByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS0luc3BlY3RvclByaXZhdGVNYWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdl
YkNvbG9yUGlja2VyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNv
bG9yUGlja2VyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02ODUzLDI1ICs2
ODQ3LDYgQEAKIAkJCXBhdGggPSBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0JCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4
MyAvKiBjbGFzc2lmaWVyICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9
ICgKLQkJCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8sCi0JCQkJNkJFOTY5
QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNw
cCAqLywKLQkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXIuaCAqLywKLQkJCSk7Ci0JCQlwYXRoID0gY2xhc3NpZmllcjsKLQkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07Ci0JCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAv
KiBjb2NvYSAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJ
NkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuY3BwICovLAotCQkJCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi8sCi0JCQkpOwotCQkJcGF0aCA9IGNv
Y29hOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJNkVFODQ5QzQxMzY4RDkw
NDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC03OTE1LDcgKzc4OTAsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMzcwOTUwNDEx
OEE4OEJBNDAwODdBRTVEIC8qIGNmICovLAogCQkJCTFBQTJFNTFBMTJFNEMwNTYwMEJDNDk2NiAv
KiBjZyAqLywKLQkJCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAqLywK
IAkJCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8sCiAJCQkJMzcwOTUwNDIx
OEE4OENERTAwODdBRTVEIC8qIGZvdW5kYXRpb24gKi8sCiAJCQkJQTE4MkQ1QjExQkU2QkNGNDAw
ODdBN0NDIC8qIGlvcyAqLywKQEAgLTkyNDEsOCArOTIxNSw2IEBACiAJCQkJQTU1QkE4MUYxQkEy
NUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8q
IFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVhZGVycyAqLywKLQkJCQk2QkU5NjlDRDFFNTRF
MDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0IzQ0IxMDIwRTJB
QjAxMDA0NDFFOUIgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUU2QzE2NDFGMjkzNUREMDBGRDM0MzcgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTMwMDY2RTEx
MTBGNEY3MDAzMTkzN0MgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358528</attachid>
            <date>2019-01-07 14:02:50 -0800</date>
            <delta_ts>2019-01-07 14:18:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193200-20190107140249.patch</filename>
            <type>text/plain</type>
            <size>66680</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3MThkMTAyYjI3YzA1
ZmI0Nzk3NDdiOTM2OGY1OGY5MjRlOTNlMi4uYjY1Y2UyNmVhOWRiYWVlODJlZjg4MDc5MzJjMDg1
MDRjMGNjZmRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAxLTA3ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgdGhlIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIHRvIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzIwMAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcwODgyMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTW92ZSB0aGUgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgY2xhc3Nl
cyBmcm9tIFdlYktpdCB0byBXZWJDb3JlLiBUaGlzIGlzIGEgZmlyc3QKKyAgICAgICAgc3RlcCBp
biB0aGUgZWZmb3J0IHRvIG1vdmUgdGhpcyBsb2dpYyB0byB0aGUgTmV0d29ya1Byb2Nlc3MuCisK
KyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtV2lu
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogU291cmNlc1dQRS50eHQ6CisgICAgICAgICogVW5pZmllZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwLgorICAgICAg
ICAoV2ViQ29yZTo6dmVjdG9yTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjYWxjdWxhdGVSZXNvdXJjZVByZXZhbGVuY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZCk6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgu
CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2E6OmNsYXNzaWZ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2E6OnN0b3JhZ2VQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQcmVkaWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6
OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCk6CisgICAgICAgICogcGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oLgorCiAyMDE5LTAxLTA3ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBNYXJnaW4gY29sbGFwc2lu
ZyBzaG91bGQgbm90IGJlIGxpbWl0ZWQgdG8gaW4tZmxvdyBub24tcmVwbGFjZWQgYm94ZXMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCBjOGQ3NGRmMTZhMzIzMGMyYWE0MjBmOTQ4MWMxMDZjNjZjMzAy
Njk2Li5hMDE0MDA4NjQ1YmRjMTQ3ZjgyOWE5M2RlZDdjYTc4NDVmMTQyODQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRoZSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllciB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTMyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MDg4MjMy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
dGhlIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIGNsYXNzZXMgZnJvbSBXZWJLaXQg
dG8gV2ViQ29yZS4gVGhpcyBpcyBhIGZpcnN0CisgICAgICAgIHN0ZXAgaW4gdGhlIGVmZm9ydCB0
byBtb3ZlIHRoaXMgbG9naWMgdG8gdGhlIE5ldHdvcmtQcm9jZXNzLgorCisgICAgICAgIE5vIGNo
YW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJ
LmguCisKIDIwMTktMDEtMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIENvbnRlbnQgcHJvY2VzcyBtYWluIHRocmVhZCBibG9ja2VkIGJlbmVhdGggSW1h
Z2VEZWNvZGVyQVZGT2JqQzo6cmVhZFNhbXBsZXMgZm9yIG1hbnkgc2Vjb25kcyBvbiBpbWd1ci5j
b20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNGMxOTlhYWFhZTVhY2JiMjRkMTQ0Y2RlMDhiNGI4ZGQxM2I0OWIwNy4u
MzQwZGJlYTJhYTc0YWI2MTM3OTBhZmIwYWRiZjY4NGQyY2I3NzJlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOS0wMS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBNb3ZlIHRoZSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciB0
byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MDg4MjMyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyIGNsYXNzZXMgZnJvbSBXZWJLaXQgdG8gV2ViQ29yZS4gVGhp
cyBpcyBhIGZpcnN0CisgICAgICAgIHN0ZXAgaW4gdGhlIGVmZm9ydCB0byBtb3ZlIHRoaXMgbG9n
aWMgdG8gdGhlIE5ldHdvcmtQcm9jZXNzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlv
ci4KKworICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtV2lu
LmNtYWtlOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogU291cmNlc1dQRS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9kZXJuaXplIENhY2hlTW9kZWwg
YW5kIGRpc2sgY2FjaGUgZmV0Y2hpbmcgYW5kIGNsZWFyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCAyMWZlZjhhMDM1YmY2Y2QyZTgwZGRhZDQ5
M2M4MGViODM4N2Y0ZTc0Li5iMzQwN2UzYjVjNmQxYjAyZDIyYzdiMGM0MjE2MzY4MDM5NWRiMGY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTEz
Niw2ICsxMzYsMTAgQEAgV0tfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUiA9ICQoV0tfTk9U
XyQoV0tfRU1QVFlfJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU18KIFdLX0FMVEVSTkFURV9XRUJL
SVRfU0RLX1BBVEggPSAkKFdLX0FMVEVSTkFURV9XRUJLSVRfU0RLX1BBVEhfJChXS19VU0VfQUxU
RVJOQVRFX0ZSQU1FV09SS1NfRElSKSk7CiBXS19BTFRFUk5BVEVfV0VCS0lUX1NES19QQVRIX1lF
UyA9ICQoV0tfQUxURVJOQVRFX0ZSQU1FV09SS1NfRElSKS87CiAKK1dLX01BQ09TX1dFQUtfRlJB
TUVXT1JLID0gJChXS19NQUNPU19XRUFLX0ZSQU1FV09SS18kKFdLX0NPQ09BX1RPVUNIKSk7CitX
S19NQUNPU19XRUFLX0ZSQU1FV09SS19jb2NvYXRvdWNoID0gLWZyYW1ld29yaworV0tfTUFDT1Nf
V0VBS19GUkFNRVdPUktfID0gLXdlYWtfZnJhbWV3b3JrCisKIFdLX1BMQVRGT1JNX05BTUUgPSAk
KFdLX1BMQVRGT1JNX05BTUVfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUl8kKFdLX1VTRV9B
TFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpKTsKIFdLX1BMQVRGT1JNX05BTUVfVVNFX0FMVEVSTkFU
RV9GUkFNRVdPUktTX0RJUl9ZRVMgPSBpb3NtYWM7CiBXS19QTEFURk9STV9OQU1FX1VTRV9BTFRF
Uk5BVEVfRlJBTUVXT1JLU19ESVJfTk8gPSAkKFBMQVRGT1JNX05BTUUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKaW5kZXggYWI4NGU4OTBkZTIw
YjJlYmNjNmE4MjNkYzZkZTVlMzdlZDEyNjc2NC4uNmFmNWYxZmVhMDQwNDk0N2IzMjE4NmZhNjc4
NWIxOWM0YTE5NmRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
V2ViQ29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJD
b3JlLnhjY29uZmlnCkBAIC0yNCw4ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIgogI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCiAKK1dLX0hBVkVfQ09SRV9Q
UkVESUNUSU9OID0gWUVTOworV0tfSEFWRV9DT1JFX1BSRURJQ1RJT05bc2RrPW1hY29zeCpdW2Fy
Y2g9aTM4Nl0gPSBOTzsKKworV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMgPSAkKFdLX0NPUkVf
UFJFRElDVElPTl9ERUZJTkVTXyQoV0tfSEFWRV9DT1JFX1BSRURJQ1RJT04pKTsKK1dLX0NPUkVf
UFJFRElDVElPTl9ERUZJTkVTX1lFUyA9IEhBVkVfQ09SRV9QUkVESUNUSU9OOworCiBHQ0NfUFJF
RklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElP
TlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBCVUlMRElOR19XRUJLSVQg
VV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBHTF9TSUxFTkNFX0RF
UFJFQ0FUSU9OPTEgR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOworR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RF
RklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBVX0RJ
U0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BMVVNQTFVTX0FQST0wIEdMX1NJTEVOQ0VfREVQUkVD
QVRJT049MSBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT049MSAkKGluaGVyaXRlZCk7CiAKIFdLX1BS
SVZBVEVfRlJBTUVXT1JLU19ESVIgPSAkKFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfJChVU0Vf
SU5URVJOQUxfU0RLKSk7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX1tzZGs9aXBob25lKl0g
PSAkKFBST0pFQ1RfRElSKS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2lPUy8kKFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CkBAIC04MCw2ICs4
Niw5IEBAIFdLX0FVRElPX1VOSVRfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIEF1ZGlvVW5p
dDsKIFdLX0NBUkJPTl9MREZMQUdTID0gJChXS19DQVJCT05fTERGTEFHU18kKFdLX1BMQVRGT1JN
X05BTUUpKTsKIFdLX0NBUkJPTl9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgQ2FyYm9uOwog
CitXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUyA9ICQoV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfJChXS19IQVZFX0NPUkVfUFJFRElDVElPTikpOworV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfWUVTID0gJChXS19NQUNPU19XRUFLX0ZSQU1FV09SSykgQ29yZVByZWRpY3Rpb247CisKIFdL
X0NPUkVfVUlfTERGTEFHUyA9ICQoV0tfQ09SRV9VSV9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFN
RSkpOwogV0tfQ09SRV9VSV9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgQ29yZVVJOwogCkBA
IC0xMjYsNyArMTM1LDcgQEAgV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyA9ICQoV0tfVVJMX0ZP
Uk1BVFRJTkdfTERGTEFHU18kKFdLX0hBVkVfVVJMX0ZPUk1BVFRJTkcKIFdLX1VSTF9GT1JNQVRU
SU5HX0xERkxBR1NfWUVTID0gLWZyYW1ld29yayBVUkxGb3JtYXR0aW5nOwogCiAvLyBGSVhNRTog
UmVkdWNlIHRoZSBudW1iZXIgb2YgYWxsb3dhYmxlX2NsaWVudHMgPHJkYXI6Ly9wcm9ibGVtLzMx
ODIzOTY5PgotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFdLX1JFTE9DQVRBQkxFX0ZS
QU1FV09SS19MREZMQUdTKSAkKFdLX1VOREVGSU5FRF9TWU1CT0xTX0xERkxBR1MpIC1sc3FsaXRl
MyAtbG9iamMgLWxBTkdMRSAtYWxsb3dhYmxlX2NsaWVudCBXZWJDb3JlVGVzdFN1cHBvcnQgLWFs
bG93YWJsZV9jbGllbnQgV2ViS2l0TGVnYWN5IC1mb3JjZV9sb2FkICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9saWJQQUwuYSAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91
bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBNZXRhbCAkKE9USEVSX0xERkxB
R1NfUExBVEZPUk1fJChXS19DT0NPQV9UT1VDSCkpICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8k
KFdLX1BMQVRGT1JNX05BTUUpKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FQUFNVUFBPUlRf
TERGTEFHUykgJChXS19BVURJT19VTklUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQo
V0tfQ09SRV9VSV9MREZMQUdTKSAkKFdLX0RBVEFfREVURUNUT1JTX0NPUkVfTERGTEFHUykgJChX
S19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0lPU1VSRkFDRV9MREZMQUdTKSAkKFdL
X0xJQldFQlJUQ19MREZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykgJChXS19TWVNU
RU1fQ09ORklHVVJBVElPTl9MREZMQUdTKSAkKFdLX1NZU1RFTV9QUkVWSUVXX0xERkxBR1MpICQo
V0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CitPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQp
ICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MpICQoV0tfVU5ERUZJTkVEX1NZTUJP
TFNfTERGTEFHUykgLWxzcWxpdGUzIC1sb2JqYyAtbEFOR0xFIC1hbGxvd2FibGVfY2xpZW50IFdl
YkNvcmVUZXN0U3VwcG9ydCAtYWxsb3dhYmxlX2NsaWVudCBXZWJLaXRMZWdhY3kgLWZvcmNlX2xv
YWQgJChCVUlMVF9QUk9EVUNUU19ESVIpL2xpYlBBTC5hIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1m
cmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29y
ZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3Jr
IE1ldGFsICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8kKFdLX0NPQ09BX1RPVUNIKSkgJChPVEhF
Ul9MREZMQUdTX1BMQVRGT1JNXyQoV0tfUExBVEZPUk1fTkFNRSkpICQoV0tfQVBQS0lUX0xERkxB
R1MpICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTKSAkKFdLX0FVRElPX1VOSVRfTERGTEFHUykgJChX
S19DQVJCT05fTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JF
X1VJX0xERkxBR1MpICQoV0tfREFUQV9ERVRFQ1RPUlNfQ09SRV9MREZMQUdTKSAkKFdLX0dSQVBI
SUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0xERkxBR1MpICQoV0tfTElCV0VC
UlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJ
TEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1NZU1RFTV9DT05G
SUdVUkFUSU9OX0xERkxBR1MpICQoV0tfU1lTVEVNX1BSRVZJRVdfTERGTEFHUykgJChXS19VUkxf
Rk9STUFUVElOR19MREZMQUdTKTsKIAogT1RIRVJfTERGTEFHU19QTEFURk9STV9jb2NvYXRvdWNo
ID0gLWFsbG93YWJsZV9jbGllbnQgV2ViS2l0IC1hbGxvd2FibGVfY2xpZW50IGlUdW5lc1UgLWFs
bG93YWJsZV9jbGllbnQgQ2FzYWJsYW5jYSAtYWxsb3dhYmxlX2NsaWVudCBSZW1vdGUgLWFsbG93
YWJsZV9jbGllbnQgVFZCb29rcyAtYWxsb3dhYmxlX2NsaWVudCBEdW1wUmVuZGVyVHJlZSAtYWxs
b3dhYmxlX2NsaWVudCBXZWJLaXRUZXN0UnVubmVyIC1hbGxvd2FibGVfY2xpZW50IFRlc3RXZWJL
aXRBUEk7CiBPVEhFUl9MREZMQUdTX1BMQVRGT1JNX21hY29zeCA9IC1zdWJfbGlicmFyeSBsaWJv
YmpjIC11bWJyZWxsYSBXZWJLaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFM
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTBkZjNlZTRjZjdiZTgyODNlNzU2NzUzN2ViZGJj
MjAzMTY5YjM5My4uNDMzMGFlYmQxODI2OTc0N2M4OTZkZTg3MDQ2ZDhkNjNmNDJiN2EwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjc0LDYgKzI3NCw3IEBACiAJCTU3MEFCOEY4MjBBRjZFM0QwMEI4QkU4NyAvKiBOU1hQQ0Nv
bm5lY3Rpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNYUENDb25uZWN0aW9uU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRTM2OUY5MjFBRkE4M0YwMDFDMTRCQyAvKiBOU1By
b2dyZXNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TUHJvZ3Jlc3NTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0ExNjU2NDMxRjk3QjJCODAwQkEzQ0U0IC8qIE5TS2V5ZWRBcmNo
aXZlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0tleWVkQXJjaGl2
ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzQTRBODQyMUUzQ0QyNTAw
NEFBODRFIC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdBM0E2QTdGMjBDQURCNDYwMDMxN0FBRSAvKiBOU0ltYWdlU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5TSW1hZ2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNFNTkwOUMxRjkzQkYxRTAwNjdGOENGIC8qIFVuZW5jb2RhYmxlSGFuZGxpbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5lbmNvZGFibGVIYW5kbGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTAyNjU4ODFGNTY3NDdBMDBCNEM4NDQgLyogSElUb29sYm94U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhJVG9vbGJveFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzgwLDYgKzM4MSw3IEBACiAJCQkJMkQwMkU5M0IyMDU2RkFB
NzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJCTBDMkRBMTIyMUYzQkVCNDkw
MERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIzMUYzQkVCNDkwMERCQzMxNyAv
KiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBM0E0QTg0MjFFM0NEMjUwMDRBQTg0
RSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovLAogCQkJCTBDMkRBMTI0MUYzQkVCNDkwMERCQzMx
NyAvKiBDb3JlVGV4dFNQSS5oICovLAogCQkJCTBDMkRBMTI1MUYzQkVCNDkwMERCQzMxNyAvKiBE
YXRhRGV0ZWN0b3JzQ29yZVNQSS5oICovLAogCQkJCUNFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oICovLApAQCAtNzIwLDYgKzcyMiw3IEBACiAJCQkJMEM3Nzg1OTMxRjQ1MTMw
RjAwRjRFQkI2IC8qIE5TUGFzdGVib2FyZFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTVENDVE
MTQyMTA2QTE4NzAwRDJCNzM4IC8qIE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM3Nzg1OTQxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TUG9wb3ZlclNQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNjNDN0VEQzcyMUFGQUUwNDAwNkE3Qjk5IC8qIE5TUHJvZ3Jlc3NTUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCUExMDgyNkYxMUY1NzNCQ0EwMDQ3NzJBQyAvKiBOU1Jlc3Bv
bmRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTUxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsZXJJbXBTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTk2MUY0NTEzMEYw
MEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVhZGVycyAqLywKQEAg
LTc0Niw3ICs3NDksNiBAQAogCQkJCTBDNzc4NTlGMUY0NTEzMEYwMEY0RUJCNiAvKiBRVEtpdFNQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNTcxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0
ekNvcmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMDI2NThCMUY1Njc0OEMwMEI0Qzg0NCAv
KiBRdWlja0RyYXdTUEkuaCBpbiBIZWFkZXJzICovLAotCQkJCTYzQzdFREM3MjFBRkFFMDQwMDZB
N0I5OSAvKiBOU1Byb2dyZXNzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODVBMDFGNDUx
MzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzVB
RjkyMDFGNDNBNEM3MDAyRUFDMDIgLyogUXVpY2tMb29rU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0NDI5NTZDRDIxOEE3MkRGMDA4MERCNTQgLyogUmV2ZWFsU1BJLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVQcmVkaWN0
aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlUHJlZGljdGlv
blNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmExZWE5ZDgwOWRjOWQwY2NkMWI5MzBlMzZhMDEzNGZhMmQzN2Ix
YWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9D
b3JlUHJlZGljdGlvblNQSS5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxDb3JlUHJlZGljdGlvbi9zdm0uaD4KKworI2Vsc2UK
Kworc3RydWN0IHN2bV9ub2RlIHsKKyAgICBpbnQgaW5kZXg7CisgICAgZG91YmxlIHZhbHVlOwor
fTsKKworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYK
KwordHlwZWRlZiBzdHJ1Y3Qgc3ZtX25vZGUgc3ZtX25vZGU7CisKK3N0cnVjdCBzdm1fbW9kZWwg
KnN2bV9sb2FkX21vZGVsKGNvbnN0IGNoYXIgKm1vZGVsX2ZpbGVfbmFtZSk7Citkb3VibGUgc3Zt
X3ByZWRpY3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwqLCBjb25zdCBzdHJ1Y3Qgc3Zt
X25vZGUqIHgsIGRvdWJsZSogZGVjX3ZhbHVlcyk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCA4ZGQ5OTllMjA4
MWY5N2IzMzQyMzZmM2YzMGQwODViYjVkMDVkNDg0Li5jNzZiNjQzODI3MjhiZGEzOWEyOTMzM2Uz
YmFjYmNjYmRiNmRmMTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMTg5LDYgKzE4
OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9hdWRpby9t
YWMvQ0FSaW5nQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5j
cHAKIAorICAgIHBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuY3BwCisKKyAgICBwbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisKICAgICBwbGF0Zm9ybS9jZi9GaWxlU3lzdGVt
Q0YuY3BwCiAgICAgcGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuY3BwCiAgICAgcGxhdGZvcm0v
Y2YvS2V5ZWRFbmNvZGVyQ0YuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDcwMDQ2
ODIxZGE4MWI3OWVmNWY4NTEwZTlkMDFiMzFmNzY3NTIxYmQuLjU1YmRiMDYzZDBiZDhhOTZjMjE2
MTY1ZWU5OTY2MWJjYjc3NzhmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
V2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0zNyw2
ICszNyw4IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAogCisgICAgcGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKIAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAy
MDA1YzlhOTJlMTZmZTcxNzFmN2E3YmJkZjRiN2JiZGZkYTViOWU3Li4wNmYzYWU0MDZiMGE3ZTk2
NmQwNzIwMmNmZWM1YmRkMjJiZTUwNGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEs
NCArMSw0IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4MCw2
ICsxODAsOSBAQCBwbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcAogcGxhdGZv
cm0vYXVkaW8vbWFjL0NBUmluZ0J1ZmZlci5jcHAKIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFt
ZU1hYy5jcHAKIAorcGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcAorcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogcGxhdGZvcm0vY2YvRmlsZVN5c3RlbUNGLmNwcAog
cGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuY3BwCiBwbGF0Zm9ybS9jZi9LZXllZEVuY29kZXJD
Ri5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggMTVhMGJhODNmZjc4OTdjZGQ2OTA4MzM5NzBj
ZGQ1YWY4N2JmNzExZS4uN2ZkZjMwMDU4YzQ2YWJkNDgwNjRiOWM1ZWZiOWNmZDFmNzg4MDczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0dUSy50eHQKQEAgLTU5LDYgKzU5LDggQEAgcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uS2luZXRpYy5jcHAKIHBsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKIHBs
YXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5jcHAKIAorcGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKKwogcGxhdGZvcm0vZ2VuZXJpYy9TY3JvbGxB
bmltYXRvckdlbmVyaWMuY3BwCiAKIHBsYXRmb3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRl
ckdlb2NsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzV1BFLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CmluZGV4IDNjMzJkODk1NTA1YzQxOWJjYTJj
NWZlYjQyZTJlNjU0NGU5N2NhN2EuLjQ2ZmMwMzRkYjJlNGFkNDRjMmY1MjdiOTdmNzcxMTM1YjVh
NzgwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNXUEUudHh0CkBAIC00Miw2ICs0Miw4IEBAIHBhZ2Uvc2Nyb2xs
aW5nL2dlbmVyaWMvU2Nyb2xsaW5nVGhyZWFkR2VuZXJpYy5jcHAKIAogcGxhdGZvcm0vVXNlckFn
ZW50UXVpcmtzLmNwcAogCitwbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyLmNwcAorCiAvLyBUaGlzIGNhbid0IGdvIGludG8gU291cmNlc0dMaWIudHh0
IGJlY2F1c2UgaXQgaGFzIHRvIGdvIGludG8gV2ViQ29yZVBsYXRmb3JtR1RLLgogcGxhdGZvcm0v
Z2xpYi9FdmVudEhhbmRsZXJHTGliLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9V
bmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvVW5pZmllZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBkZmMyYTNjMjk1MjlhNDE0NjQ0OGVjOGMzYjVi
Y2VlMDgxNDExNzMwLi42NjRlNjFhYmVmNmVkNmU2YTk2OGI0NGNhOThmMjlkOGJmYjJjOGJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAg
LTI2NDMsNiArMjY0Myw4IEBAICQoU1JDUk9PVCkvcGxhdGZvcm0vY2YvTWVkaWFBY2Nlc3NpYmls
aXR5U29mdExpbmsuY3BwCiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NmL1J1bkxvb3BPYnNlcnZlci5j
cHAKICQoU1JDUk9PVCkvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCiAkKFNSQ1JPT1Qp
L3BsYXRmb3JtL2NmL1VSTENGLmNwcAorJChTUkNST09UKS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcAorJChTUkNST09UKS9wbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
CiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NvY29hL0NvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNv
Y29hLm1tCiAkKFNSQ1JPT1QpL3BsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmNwcAog
JChTUkNST09UKS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYzE3NDhiNjM0ODhlZjgzZjBmNThmYjNiOTlhNmM2NDYwMzQ0ZmMzZC4uM2U3YTExMmU0MWIz
YWM2ZjE2MjhlMTUxY2M1ZGE4NDJlOTAzYmRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjE1Myw2ICsyMTUzLDggQEAKIAkJ
N0ExRDdGQ0IxOEY4NUYwRjAwQzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdz
LmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTFE
N0ZDOTE4Rjg1RjBGMDBDMzg1QUQgLyogbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MuanMg
Ki87IH07CiAJCTdBMjI3MzIxMjBDOUZBRkUwMERCMURFRiAvKiBXZWJLaXROU0ltYWdlRXh0cmFz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTIyNzMx
RjIwQzlGOURBMDBEQjFERUYgLyogV2ViS2l0TlNJbWFnZUV4dHJhcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBMjlGNTcyMThDNjk1MTQwMDRE
MEY4MSAvKiBPdXRPZkJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTI5RjU3MTE4QzY5NTE0MDA0RDBGODEgLyog
T3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oICovOyB9OworCQk3QTNBNEE4NTIxRTNEMDQ3
MDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBM0E0QTgxMjFFM0NDOEYwMDRB
QTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTdBM0E0QTg2MjFFM0QwNEUwMDRB
QTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTNBNEE3RTIxRTNDQzhGMDA0
QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBNDUwMzJGMThEQjcx
NzIwMDM3N0IzNCAvKiBCdWZmZXJlZExpbmVSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E0NTAzMkQxOERCNzE3MjAwMzc3QjM0IC8qIEJ1
ZmZlcmVkTGluZVJlYWRlci5jcHAgKi87IH07CiAJCTdBNDUwMzMwMThEQjcxNzIwMDM3N0IzNCAv
KiBCdWZmZXJlZExpbmVSZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdBNDUwMzJFMThEQjcxNzIwMDM3N0IzNCAvKiBCdWZmZXJlZExpbmVSZWFk
ZXIuaCAqLzsgfTsKIAkJN0E1NDg1ODAxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3Rv
cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNTQ4
NTdFMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmggKi87IH07CkBAIC05NDY0
LDYgKzk0NjYsMTAgQEAKIAkJN0EyOUJBNjcxODdCNzMyMjAwRjI5Q0VCIC8qIFRlbXBvcmFyeU9w
ZW5HTFNldHRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVtcG9yYXJ5
T3BlbkdMU2V0dGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTI5QkE2OTE4
N0I3ODFDMDBGMjlDRUIgLyogVGVtcG9yYXJ5T3BlbkdMU2V0dGluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZW1wb3JhcnlPcGVuR0xTZXR0aW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0EyOUY1NzExOEM2OTUxNDAwNEQwRjgxIC8qIE91
dE9mQmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3QTNBNEE3RDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzQTRBN0UyMUUzQ0M4RjAwNEFBODRFIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3QTNBNEE4MDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3QTNBNEE4MTIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0EzRUJFQUEyMUJGMDU0QzAwMEQwNDNEIC8qIEpTU1ZHVmlld1NwZWND
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdWaWV3U3BlY0N1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBM0VCRUFDMjFCRjA5MjEwMDBEMDQzRCAvKiBT
VkdBdHRyaWJ1dGVPd25lclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0F0dHJpYnV0
ZU93bmVyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTQ1MDMyRDE4
REI3MTcyMDAzNzdCMzQgLyogQnVmZmVyZWRMaW5lUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ1ZmZlcmVkTGluZVJlYWRlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMDM4Nyw2ICsyMDM5MywyNSBAQAogCQkJcGF0aCA9IG1hY09T
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJN0EzQTRBN0YyMUUzQ0M4RjAw
NEFBODRFIC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk3QTNBNEE3RDIxRTNDQzhGMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8sCisJCQkJN0EzQTRBN0UyMUUzQ0M4RjAwNEFBODRFIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk3QTNBNEE4
MjIxRTNDQzhGMDA0QUE4NEUgLyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJN0EzQTRBN0YyMUUzQ0M4RjAwNEFBODRFIC8qIGNvY29h
ICovLAorCQkJCTdBM0E0QTgwMjFFM0NDOEYwMDRBQTg0RSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5jcHAgKi8sCisJCQkJN0EzQTRBODEyMUUzQ0M4RjAwNEFBODRFIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNs
YXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk3QzMzMEEwNDFE
RjlGOTNCMDBEMzM5NUMgLyogR2VvbG9jYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKApAQCAtMjUwNTUsNiArMjUwODAsNyBAQAogCQkJCTQ5RTkxMkE0MEVG
QUM4RTYwMDlEMENBRiAvKiBhbmltYXRpb24gKi8sCiAJCQkJRkQzMTYwNDAxMkIwMjZBMzAwQzFB
MzU5IC8qIGF1ZGlvICovLAogCQkJCTFBRTQyRjY3MEFBNEI4Q0IwMEM4NjEyRCAvKiBjZiAqLywK
KwkJCQk3QTNBNEE4MjIxRTNDQzhGMDA0QUE4NEUgLyogY2xhc3NpZmllciAqLywKIAkJCQlBNUM5
NzRDRTExNDg1RkRBMDA2NkYyQUIgLyogY29jb2EgKi8sCiAJCQkJQ0Q5NEE1Q0IxRjcxQ0I0NjAw
RjUyNUM1IC8qIGVuY3J5cHRlZG1lZGlhICovLAogCQkJCTUxNUJFMTg3MUQ1NEY1REIwMEREN0M2
OCAvKiBnYW1lcGFkICovLApAQCAtMzA4ODcsNiArMzA5MTMsOCBAQAogCQkJCTZCNjkzQTJFMUM1
MUE4MkUwMEIwM0JFRiAvKiBSZXNvdXJjZUxvYWRPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0UwIC8qIFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QTkyOUNBNzFDNTk4QUE5MDA0REYyMjYgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0EzQTRBODUyMUUzRDA0NzAwNEFBODRF
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3QTNBNEE4NjIxRTNEMDRFMDA0QUE4NEUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NkQxMkQyNkUzODAwRTc5NDE1
IC8qIFJlc291cmNlUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2N0QwQ0U5MjNB
MTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTdF
RTY4NDZGMTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVlc3RDRk5ldC5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFiMjQxNjg5N2JhODAxYjI4NThmMzM0ODk3YjA1NGFkNWI0Nzg1ODAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGRvdWJs
ZSB2ZWN0b3JMZW5ndGgodW5zaWduZWQgYSwgdW5zaWduZWQgYiwgdW5zaWduZWQgYykKK3sKKyAg
ICByZXR1cm4gc3FydChhICogYSArIGIgKiBiICsgYyAqIGMpOworfQorCitzdGF0aWMgY29uc3Qg
YXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkSGlnaCA9IDM7CitzdGF0aWMgY29uc3Qg
YXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkVmVyeUhpZ2ggPSAzMDsKK1Jlc291cmNl
TG9hZFByZXZhbGVuY2UgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNhbGN1bGF0
ZVJlc291cmNlUHJldmFsZW5jZShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJj
ZVN0YXRpc3RpYywgUmVzb3VyY2VMb2FkUHJldmFsZW5jZSBjdXJyZW50UHJldmFsZW5jZSkKK3sK
KyAgICBBU1NFUlQoY3VycmVudFByZXZhbGVuY2UgIT0gVmVyeUhpZ2gpOworCisgICAgYXV0byBz
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5z
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2lucy5zaXplKCk7CisgICAgYXV0byB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPSBy
ZXNvdXJjZVN0YXRpc3RpYy50b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvLnNpemUoKTsKKyAgICAK
KyAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAorICAgICAgICAm
JiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50CisgICAgICAgICYmICFzdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYgIXRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RzVG9Db3VudCkgeworICAgICAgICByZXR1cm4gTG93OworICAgIH0KKworICAgIGlmICh2
ZWN0b3JMZW5ndGgoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCkgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkVmVyeUhpZ2gpCisgICAgICAgIHJl
dHVybiBWZXJ5SGlnaDsKKworICAgIGlmIChjdXJyZW50UHJldmFsZW5jZSA9PSBIaWdoCisgICAg
ICAgIHx8IHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0
b3JMZW5ndGhUaHJlc2hvbGRIaWdoCisgICAgICAgIHx8IHN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG9Db3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRIaWdoCisgICAgICAgIHx8
IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhU
aHJlc2hvbGRIaWdoCisgICAgICAgIHx8IHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA+
IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRIaWdoCisgICAgICAgIHx8IGNsYXNzaWZ5KHN1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpKQorICAgICAg
ICByZXR1cm4gSGlnaDsKKworICAgIHJldHVybiBMb3c7Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCh1bnNpZ25l
ZCBhLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBjKQoreworICAgIExPRyhSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzLCAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5V2l0aFZl
Y3RvclRocmVzaG9sZCgpOiBDbGFzc2lmaWVkIHdpdGggdGhyZXNob2xkLiIpOworICAgIHJldHVy
biB2ZWN0b3JMZW5ndGgoYSwgYiwgYykgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkSGln
aDsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnko
dW5zaWduZWQgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCB1bnNpZ25lZCBz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCkKK3sKKyAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVjdG9yVGhy
ZXNob2xkKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQp
OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWI0YjEzNzFkMDk1ZTgwY2ViYWJiYWZmZDE2M2M5NTQ0YzJiOWQ2ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUmVzb3VyY2VM
b2FkU3RhdGlzdGljczsKKworZW51bSBSZXNvdXJjZUxvYWRQcmV2YWxlbmNlIHsKKyAgICBMb3cg
PSAxIDw8IDAsCisgICAgSGlnaCA9IDEgPDwgMSwKKyAgICBWZXJ5SGlnaCA9IDEgPDwgMiwKK307
CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
IHsKK3B1YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpID0gZGVm
YXVsdDsKKyAgICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpID0g
ZGVmYXVsdDsKKworICAgIFJlc291cmNlTG9hZFByZXZhbGVuY2UgY2FsY3VsYXRlUmVzb3VyY2VQ
cmV2YWxlbmNlKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGlj
LCBSZXNvdXJjZUxvYWRQcmV2YWxlbmNlIGN1cnJlbnRQcmV2YWxlbmNlKTsKKworcHJvdGVjdGVk
OgorICAgIHZpcnR1YWwgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQsIHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCwgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICBi
b29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCh1bnNpZ25lZCwgdW5zaWduZWQsIHVuc2ln
bmVkKTsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZjhjYTQ3OTkyOWFhZjAzZjI2
NDliYWRjOTZiNmNiNTI2OTA4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuY3BwCkBAIC0wLDAgKzEsMTI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oIgorCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9Db3JlUHJlZGljdGlvblNQSS5oPgorI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2E6OmNsYXNzaWZ5KHVuc2lnbmVkIHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCwgdW5zaWduZWQgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
LCB1bnNpZ25lZCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCit7CisgICAgaWYg
KCFjYW5Vc2VDb3JlUHJlZGljdGlvbigpKQorICAgICAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVj
dG9yVGhyZXNob2xkKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpOworCisgICAgVmVjdG9yPHN2bV9ub2RlPiBmZWF0dXJlczsKKworICAgIGlmIChzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAgICAgIGZlYXR1cmVzLmFwcGVu
ZCh7MSwgc3RhdGljX2Nhc3Q8ZG91YmxlPihzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpfSk7CisgICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCkKKyAg
ICAgICAgZmVhdHVyZXMuYXBwZW5kKHsyLCBzdGF0aWNfY2FzdDxkb3VibGU+KHN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudCl9KTsKKyAgICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQorICAgICAgICBmZWF0dXJlcy5hcHBlbmQoezMsIHN0YXRpY19jYXN0PGRv
dWJsZT4oc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KX0pOworCisgICAgLy8gQWRk
IHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4KKyAgICBmZWF0dXJlcy5hcHBlbmQoey0x
LCAtMX0pOworCisgICAgZG91YmxlIHNjb3JlOworICAgIGludCBjbGFzc2lmaWNhdGlvbiA9IHN2
bV9wcmVkaWN0X3ZhbHVlcyhzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKSwgZmVhdHVyZXMuZGF0
YSgpLCAmc2NvcmUpOworICAgIExPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2xhc3NpZnkoKTogQ2xhc3NpZmllZCB3aXRo
IENvcmVQcmVkaWN0aW9uLiIpOworICAgIHJldHVybiBjbGFzc2lmaWNhdGlvbiA8IDA7Cit9CisK
K1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpzdG9yYWdlUGF0
aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVX
aXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsKKyAgICBSZXRhaW5QdHI8
Q0ZVUkxSZWY+IHJlc291cmNlVXJsID0gYWRvcHRDRihDRkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJl
Y3RvcnlVUkwod2ViS2l0QnVuZGxlKSk7CisgICAgcmVzb3VyY2VVcmwgPSBhZG9wdENGKENGVVJM
Q3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25lbnQobnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0
KCksIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIpLCBmYWxzZSkpOworICAgIENGRXJyb3JS
ZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJlc291cmNlVXJsID0gYWRvcHRDRihDRlVSTENyZWF0
ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLmdldCgpLCAmZXJyb3IpKTsKKworICAg
IGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKwor
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzb3VyY2VVcmxTdHJpbmcgPSBhZG9wdENGKENG
VVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNlVXJsLmdldCgpLCBrQ0ZVUkxQT1NJWFBhdGhT
dHlsZSkpOworICAgIHJldHVybiBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcuZ2V0KCkpOworfQor
Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQ
cmVkaWN0aW9uKCkKK3sKKyAgICBpZiAobV9oYXZlTG9hZGVkTW9kZWwpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgaWYgKCFtX3VzZUNvcmVQcmVkaWN0aW9uKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoaXNOdWxsRnVuY3Rpb25Qb2ludGVyKHN2bV9sb2FkX21vZGVsKSkg
eworICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBTdHJpbmcgc3RvcmFnZVBhdGhTdHIgPSBzdG9yYWdlUGF0aCgp
OworICAgIGlmIChzdG9yYWdlUGF0aFN0ci5pc051bGwoKSB8fCBzdG9yYWdlUGF0aFN0ci5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgp
KSB7CisgICAgICAgIG1faGF2ZUxvYWRlZE1vZGVsID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworICAgIHJldHVy
biBmYWxzZTsKK30KKworY29uc3Qgc3RydWN0IHN2bV9tb2RlbCogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYTo6c2luZ2xldG9uUHJlZGljdGlvbk1vZGVsKCkKK3sKKyAgICBz
dGF0aWMgT3B0aW9uYWw8c3RydWN0IHN2bV9tb2RlbCo+IGNvcmVQcmVkaWN0aW9uTW9kZWw7Cisg
ICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CisgICAgZGlzcGF0Y2hfb25jZSgm
b25jZVRva2VuLCBeeworICAgICAgICBhdXRvIHBhdGggPSBzdG9yYWdlUGF0aCgpOworICAgICAg
ICBpZiAocGF0aC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY29y
ZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9sb2FkX21vZGVsKHBhdGgudXRmOCgpLmRhdGEoKSk7Cisg
ICAgfSk7CisKKyAgICBpZiAoY29yZVByZWRpY3Rpb25Nb2RlbCAmJiBjb3JlUHJlZGljdGlvbk1v
ZGVsLnZhbHVlKCkpCisgICAgICAgIHJldHVybiBjb3JlUHJlZGljdGlvbk1vZGVsLnZhbHVlKCk7
CisKKyAgICBXVEZMb2dBbHdheXMoIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2E6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUg
YXQgcGF0aCAlcy4iLCBzdG9yYWdlUGF0aCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fdXNlQ29y
ZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KK30KKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ3MjQ4ZjUxZWQzM2JmM2RkMDhkODU4ZjZlZDdmYmM3N2E1ZDg1
MjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jbGFzc2lmaWVy
L2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaApAQCAtMCwwICsx
LDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEhBVkUoQ09SRV9Q
UkVESUNUSU9OKQorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCIKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKworc3RydWN0IHN2bV9tb2RlbDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXRUJDT1JFX0VYUE9SVCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hIDog
cHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIHsKK3B1YmxpYzoKKyAgICBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hKCkgPSBkZWZhdWx0OworICAgIHZp
cnR1YWwgflJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EoKSA9IGRlZmF1bHQ7
CisKK3ByaXZhdGU6CisgICAgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCwgdW5zaWduZWQsIHVuc2ln
bmVkKSBvdmVycmlkZTsKKyAgICBTdHJpbmcgc3RvcmFnZVBhdGgoKTsKKyAgICBib29sIGNhblVz
ZUNvcmVQcmVkaWN0aW9uKCk7CisgICAgY29uc3Qgc3RydWN0IHN2bV9tb2RlbCogc2luZ2xldG9u
UHJlZGljdGlvbk1vZGVsKCk7CisgICAgYm9vbCBtX3VzZUNvcmVQcmVkaWN0aW9uIHsgdHJ1ZSB9
OworICAgIGJvb2wgbV9oYXZlTG9hZGVkTW9kZWwgeyBmYWxzZSB9OworfTsKKyAgICAKK30KKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRiZmRmYzIwNTFjNmY0NDg3NzQ5ZDBmYjRkYjcwZDBj
ZWI3MjdhOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VMb2FkU3RhdGlzdGljcy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCi1zdGF0aWMgZG91YmxlIHZlY3Rvckxlbmd0aCh1bnNpZ25lZCBhLCB1
bnNpZ25lZCBiLCB1bnNpZ25lZCBjKQotewotICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIg
KyBjICogYyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGRIaWdoID0gMzsKLXN0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGRWZXJ5SGlnaCA9IDMwOwotUmVzb3VyY2VMb2FkUHJldmFsZW5jZSBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2FsY3VsYXRlUmVzb3VyY2VQcmV2YWxlbmNlKGNvbnN0IFJl
c291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljLCBSZXNvdXJjZUxvYWRQcmV2
YWxlbmNlIGN1cnJlbnRQcmV2YWxlbmNlKQotewotICAgIEFTU0VSVChjdXJyZW50UHJldmFsZW5j
ZSAhPSBWZXJ5SGlnaCk7Ci0KLSAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnMuc2l6ZSgpOwotICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0g
cmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7Ci0g
ICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRp
c3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICBhdXRvIHRvcEZy
YW1lVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnRvcEZyYW1lVW5p
cXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwotICAgIAotICAgIGlmICghc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50Ci0gICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQKLSAgICAgICAgJiYgIXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAot
ICAgICAgICAmJiAhdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUb0NvdW50KSB7Ci0gICAgICAgIHJl
dHVybiBMb3c7Ci0gICAgfQotCi0gICAgaWYgKHZlY3Rvckxlbmd0aChzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwg
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhU
aHJlc2hvbGRWZXJ5SGlnaCkKLSAgICAgICAgcmV0dXJuIFZlcnlIaWdoOwotCi0gICAgaWYgKGN1
cnJlbnRQcmV2YWxlbmNlID09IEhpZ2gKLSAgICAgICAgfHwgc3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2gKLSAgICAg
ICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxl
bmd0aFRocmVzaG9sZEhpZ2gKLSAgICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZEhpZ2gKLSAgICAgICAgfHwgdG9w
RnJhbWVVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9s
ZEhpZ2gKLSAgICAgICAgfHwgY2xhc3NpZnkoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCkpCi0gICAgICAgIHJldHVybiBIaWdoOwotCi0gICAgcmV0dXJu
IExvdzsKLX0KLQotYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3Np
ZnlXaXRoVmVjdG9yVGhyZXNob2xkKHVuc2lnbmVkIGEsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGMp
Ci17Ci0gICAgTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKCk6IENsYXNzaWZpZWQg
d2l0aCB0aHJlc2hvbGQuIik7Ci0gICAgcmV0dXJuIHZlY3Rvckxlbmd0aChhLCBiLCBjKSA+IGZl
YXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGRIaWdoOwotfQotICAgIAotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWNmMWYzODlkZDUxYTAwYzUxMDdkYzY3MmY5ZDNmYmE5ZjJiZmVmMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAorKysgL2Rldi9udWxs
CkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotc3RydWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1lbnVtIFJlc291cmNlTG9hZFByZXZhbGVuY2UgewotICAgIExvdyA9IDEg
PDwgMCwKLSAgICBIaWdoID0gMSA8PCAxLAotICAgIFZlcnlIaWdoID0gMSA8PCAyLAotfTsKLQot
Y2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgewotcHVibGljOgotICAgIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkgPSBkZWZhdWx0OwotICAgIHZpcnR1YWwg
flJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkgPSBkZWZhdWx0OwotICAgIFJlc291
cmNlTG9hZFByZXZhbGVuY2UgY2FsY3VsYXRlUmVzb3VyY2VQcmV2YWxlbmNlKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljLCBSZXNvdXJjZUxv
YWRQcmV2YWxlbmNlIGN1cnJlbnRQcmV2YWxlbmNlKTsKLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFs
IGJvb2wgY2xhc3NpZnkodW5zaWduZWQgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50LCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHVuc2lnbmVk
IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7Ci0gICAgfQotICAgIGJvb2wgY2xhc3NpZnlXaXRoVmVj
dG9yVGhyZXNob2xkKHVuc2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQpOwotfTsKLQotfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2ZiZTNjZGJjMWMzYTk1MWY3MjM3
MGJkNTk4N2U0NzJlOGQ0YzI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEy
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCIKLQotI2lmIEhBVkUoQ09SRV9Q
UkVESUNUSU9OKQotCi0jaW5jbHVkZSAiQ29yZVByZWRpY3Rpb25TUEkuaCIKLSNpbmNsdWRlICJM
b2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0jaW5jbHVkZSA8d3Rm
L2Rhcndpbi9XZWFrTGlua2luZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotYm9vbCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpjbGFzc2lmeSh1bnNpZ25lZCBzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHVuc2lnbmVkIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50KQotewotICAgIGlmICghY2FuVXNlQ29yZVByZWRpY3Rpb24oKSkKLSAgICAgICAgcmV0
dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKLQotICAgIFZlY3Rvcjxzdm1fbm9kZT4gZmVhdHVy
ZXM7Ci0KLSAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAg
ICAgICBmZWF0dXJlcy5hcHBlbmQoezEsIHN0YXRpY19jYXN0PGRvdWJsZT4oc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KX0pOwotICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0c1RvQ291bnQpCi0gICAgICAgIGZlYXR1cmVzLmFwcGVuZCh7Miwgc3RhdGljX2Nhc3Q8
ZG91YmxlPihzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpfSk7Ci0gICAgaWYgKHN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKLSAgICAgICAgZmVhdHVyZXMuYXBwZW5k
KHszLCBzdGF0aWNfY2FzdDxkb3VibGU+KHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCl9KTsKLQotICAgIC8vIEFkZCB0ZXJtaW5hdGlvbiBub2RlIHdpdGggaW5kZXggLTEuCi0gICAg
ZmVhdHVyZXMuYXBwZW5kKHstMSwgLTF9KTsKLQotICAgIGRvdWJsZSBzY29yZTsKLSAgICBpbnQg
Y2xhc3NpZmljYXRpb24gPSBzdm1fcHJlZGljdF92YWx1ZXMoc2luZ2xldG9uUHJlZGljdGlvbk1v
ZGVsKCksIGZlYXR1cmVzLmRhdGEoKSwgJnNjb3JlKTsKLSAgICBMT0coUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNsYXNzaWZ5
KCk6IENsYXNzaWZpZWQgd2l0aCBDb3JlUHJlZGljdGlvbi4iKTsKLSAgICByZXR1cm4gY2xhc3Np
ZmljYXRpb24gPCAwOwotfQotCi1TdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJDb2NvYTo6c3RvcmFnZVBhdGgoKQotewotICAgIENGQnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9
IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQi
KSk7Ci0gICAgUmV0YWluUHRyPENGVVJMUmVmPiByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZCdW5k
bGVDb3B5UmVzb3VyY2VzRGlyZWN0b3J5VVJMKHdlYktpdEJ1bmRsZSkpOwotICAgIHJlc291cmNl
VXJsID0gYWRvcHRDRihDRlVSTENyZWF0ZUNvcHlBcHBlbmRpbmdQYXRoQ29tcG9uZW50KG51bGxw
dHIsIHJlc291cmNlVXJsLmdldCgpLCBDRlNUUigiY29yZVByZWRpY3Rpb25fbW9kZWwiKSwgZmFs
c2UpKTsKLSAgICBDRkVycm9yUmVmIGVycm9yID0gbnVsbHB0cjsKLSAgICByZXNvdXJjZVVybCA9
IGFkb3B0Q0YoQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChudWxscHRyLCByZXNvdXJjZVVybC5nZXQo
KSwgJmVycm9yKSk7Ci0KLSAgICBpZiAoZXJyb3IgfHwgIXJlc291cmNlVXJsKQotICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlc291cmNlVXJs
U3RyaW5nID0gYWRvcHRDRihDRlVSTENvcHlGaWxlU3lzdGVtUGF0aChyZXNvdXJjZVVybC5nZXQo
KSwga0NGVVJMUE9TSVhQYXRoU3R5bGUpKTsKLSAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJs
U3RyaW5nLmdldCgpKTsKLX0KLQotYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hOjpjYW5Vc2VDb3JlUHJlZGljdGlvbigpCi17Ci0gICAgaWYgKG1faGF2ZUxvYWRlZE1v
ZGVsKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghbV91c2VDb3JlUHJlZGljdGlv
bikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKGlzTnVsbEZ1bmN0aW9uUG9pbnRl
cihzdm1fbG9hZF9tb2RlbCkpIHsKLSAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNl
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgU3RyaW5nIHN0b3JhZ2VQYXRo
U3RyID0gc3RvcmFnZVBhdGgoKTsKLSAgICBpZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwg
c3RvcmFnZVBhdGhTdHIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24g
PSBmYWxzZTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzaW5nbGV0
b25QcmVkaWN0aW9uTW9kZWwoKSkgewotICAgICAgICBtX2hhdmVMb2FkZWRNb2RlbCA9IHRydWU7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIG1fdXNlQ29yZVByZWRpY3Rpb24g
PSBmYWxzZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWNvbnN0IHN0cnVjdCBzdm1fbW9kZWwq
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OnNpbmdsZXRvblByZWRpY3Rp
b25Nb2RlbCgpCi17Ci0gICAgc3RhdGljIE9wdGlvbmFsPHN0cnVjdCBzdm1fbW9kZWwqPiBjb3Jl
UHJlZGljdGlvbk1vZGVsOwotICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwot
ICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgYXV0byBwYXRoID0gc3Rv
cmFnZVBhdGgoKTsKLSAgICAgICAgaWYgKHBhdGguaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIGNvcmVQcmVkaWN0aW9uTW9kZWwgPSBzdm1fbG9hZF9tb2RlbChwYXRo
LnV0ZjgoKS5kYXRhKCkpOwotICAgIH0pOwotCi0gICAgaWYgKGNvcmVQcmVkaWN0aW9uTW9kZWwg
JiYgY29yZVByZWRpY3Rpb25Nb2RlbC52YWx1ZSgpKQotICAgICAgICByZXR1cm4gY29yZVByZWRp
Y3Rpb25Nb2RlbC52YWx1ZSgpOwotCi0gICAgV1RGTG9nQWx3YXlzKCJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKTogQ291bGRu
J3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMuIiwgc3RvcmFnZVBhdGgoKS51dGY4KCkuZGF0
YSgpKTsKLSAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7Ci0gICAgcmV0dXJuIG51bGxw
dHI7Ci19Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFk
NmJmMDZjMTk3MDFhNWY0ODljNDQ4MGQ2MTRiMTdmNWNlMDVhYTUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAorKysg
L2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQotCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotc3RydWN0IHN2bV9tb2RlbDsKLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLWNsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EgOiBw
dWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgewotcHJpdmF0ZToKLSAgICBi
b29sIGNsYXNzaWZ5KHVuc2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQpIG92ZXJyaWRlOwotICAg
IFN0cmluZyBzdG9yYWdlUGF0aCgpOwotICAgIGJvb2wgY2FuVXNlQ29yZVByZWRpY3Rpb24oKTsK
LSAgICBjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKTsK
LSAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rpb24geyB0cnVlIH07Ci0gICAgYm9vbCBtX2hhdmVM
b2FkZWRNb2RlbCB7IGZhbHNlIH07Ci19OwotICAgIAotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmggYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWYyNTBmYzJmMzdlNGMwZWJlYTJlNTdjMWEyM2Rj
MWUzZTcxZjk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
Ci0KLSNpbXBvcnQgPENvcmVQcmVkaWN0aW9uL3N2bS5oPgotCi0jZWxzZQotCi1zdHJ1Y3Qgc3Zt
X25vZGUKLXsKLSAgICBpbnQgaW5kZXg7Ci0gICAgZG91YmxlIHZhbHVlOwotfTsKLQotI2VuZGlm
Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotdHlwZWRlZiBz
dHJ1Y3Qgc3ZtX25vZGUgc3ZtX25vZGU7Ci0KLXN0cnVjdCBzdm1fbW9kZWwgKnN2bV9sb2FkX21v
ZGVsKGNvbnN0IGNoYXIgKm1vZGVsX2ZpbGVfbmFtZSk7Ci1kb3VibGUgc3ZtX3ByZWRpY3RfdmFs
dWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUg
KngsIGRvdWJsZSogZGVjX3ZhbHVlcyk7Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlm
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZSBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggZDY3ZTY0Y2Q5NzQwMzcyODg1
OTg2OTdhZmZkM2M2ZTczMjA1NjZhZC4uZmM4MGI3NDExMzI5NThkZmYzOGMxZGRlZGZiM2JmMjBm
YjI2ZmJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlCkBAIC00OCwxMCArNDgsNiBAQCBsaXN0
KEFQUEVORCBXZWJLaXRfU09VUkNFUwogCiAgICAgUGxhdGZvcm0vY29jb2EvV0tDcmFzaFJlcG9y
dGVyLm1tCiAKLSAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyLmNwcAotCi0gICAgUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAotCiAgICAgUGxhdGZvcm0vZm91bmRhdGlv
bi9Mb2dnaW5nRm91bmRhdGlvbi5tbQogCiAgICAgUGxhdGZvcm0vY29jb2EvU2hhcmVkTWVtb3J5
Q29jb2EuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV2luLmNtYWtlIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCAyYWEzNWFkNDgzNTc5OTY0MWMw
OTQ0YTdhZjljOTA3OTRlOGQ5MDFiLi45YTNiMTRhZmE1ODMyYjhmMWQ1MzllMTRhY2I4ZGYzODYy
NzkwMTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV2luLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTEzLDggKzEzLDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvd2luL0F0dGFjaG1lbnRXaW4u
Y3BwCiAgICAgUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNwcAogCi0gICAgUGxhdGZv
cm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKLQogICAg
IFBsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcAogICAgIFBsYXRmb3JtL3dpbi9Nb2R1bGVXaW4u
Y3BwCiAgICAgUGxhdGZvcm0vd2luL1NoYXJlZE1lbW9yeVdpbi5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAppbmRleCBhNTg1NWJhN2U5OTk3NzBhNTI3ZTAxNzA4N2YwNGU5NjM3ZGYyNDZiLi44Zjdm
ZGVlMzk2YjJhMDFiYTA3N2Q5ZmQyN2RhZmJjNjJlZDA3NTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CkBAIC01Nyw5ICs1Nyw2IEBAIFBsYXRmb3JtL2NmL01vZHVsZUNGLmNwcAogCiBQbGF0Zm9y
bS9jZy9DR1V0aWxpdGllcy5jcHAKIAotUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAotUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKLQogUGxhdGZvcm0vY29jb2EvU2hh
cmVkTWVtb3J5Q29jb2EuY3BwCiBQbGF0Zm9ybS9jb2NvYS9XS0NyYXNoUmVwb3J0ZXIubW0KIFBs
YXRmb3JtL2NvY29hL1dlYktpdEFkZGl0aW9ucy5tbSBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0
CmluZGV4IDI2NTM4NGI2NDE4ODc1Mzc4OTVkMDdmM2FkNTgzMjk0NGMwMWQyOTEuLjY4NjhkOTEw
MjQ0OTUzNzE5YzRhYWRkODI0YjVhMDQzMzU3NWRkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dApAQCAt
NDksOCArNDksNiBAQCBQbGF0Zm9ybS9JUEMvZ2xpYi9HU29ja2V0TW9uaXRvci5jcHAgQG5vLXVu
aWZ5CiBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAgQG5vLXVuaWZ5CiBQbGF0
Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAgQG5vLXVuaWZ5CiAKLVBsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwCi0KIFBsYXRmb3Jt
L2dsaWIvTW9kdWxlR2xpYi5jcHAgQG5vLXVuaWZ5CiAKIFBsYXRmb3JtL3VuaXgvTG9nZ2luZ1Vu
aXguY3BwIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKaW5kZXggOGVlMmZlZjQyYTY2NDc4NTlm
MzVmOGQzNDc5M2FmOTRhMDI5MzkzZS4uZmEyNDJjZDFhMzliNDkyOWQ4MGVkYTBjYzVkNDE1Mjll
MmYxMGMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNXUEUudHh0CkBAIC00Niw4ICs0Niw2IEBAIFBsYXRmb3JtL0lQ
Qy9nbGliL0dTb2NrZXRNb25pdG9yLmNwcAogUGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNobWVudFVu
aXguY3BwCiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKIAotUGxhdGZvcm0v
Y2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAKLQogUGxhdGZv
cm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiBQbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01lbW9yeVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWVtb3J5U3RvcmUuaAppbmRleCBmM2E5YTdiOTZhMDBkODVkMGMxZWE3YjFjYWE2MWM3
MmJkMWRiMGM0Li40MzZmODQyMzhlMWIzMjYwZThmYTUzMmYxZThiNzdhYzdlYTE0NjBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVt
b3J5U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAtMjUsMTUgKzI1LDE1IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRp
b25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiAjaWYgSEFWRShDT1JFX1BSRURJ
Q1RJT04pCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdlN2U5MjczODBkOGQ0YmE2NGQz
ODkxZjQzYzFiMjc5YTViZTQ5ZTYuLmQ1OTk0ZGFmZmIwZDkzYjYxZTQ1Zjc1YjE1OGU5NDBiYmQz
ZTBjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTA4OCw4ICsxMDg4LDYgQEAKIAkJNkE1MDgwQkYxRjBFREFBQTAwRTYxN0M1IC8q
IFdLV2luZG93RmVhdHVyZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0
dXJlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk2QjgyMUREQzFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RlbGVtZXRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkI4MjFEREExRUVGMDVERDAwRDdBRjRBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUZWxlbWV0cnkuaCAqLzsgfTsKIAkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQ
cmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwg
Ki87IH07Ci0JCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyB9OwotCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyB9OwogCQk2RUU4NDlDODEzNjhE
OTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyog
V0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlj
a2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsKIAkJ
NzUzRTNFMEUxODg3Mzk4OTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTNFM0UwOTE4ODczOTRCMDAxODg0
OTYgLyogU2Vzc2lvblRyYWNrZXIuaCAqLzsgfTsKQEAgLTI5NzQsNyArMjk3Miw3IEBACiAJCTM3
QkVDNERGMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENo
ZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdCRjJGMDQxOTQ3REVCNDAw
NzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLTlNVUkxSZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QkYy
RjA1MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLTlNVUkxSZXF1ZXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkzN0MyMUNBRDFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rp
b25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVByZWRpY3Rpb25T
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzdDMjFDQUQxRTk5NEMwQzAwMjlE
NUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHBhdGggPSAuLi8uLi8uLi8uLi9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTM3QzRDMDg0MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0u
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QzRDMDg1MTgxNDlD
NUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2FyZExpc3RJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlz
dEl0ZW1JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0JhY2tG
b3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzUxMSwxMCArMzUwOSw2IEBACiAJCTZCODIxRERBMUVFRjA1REQwMEQ3QUY0QSAvKiBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkI4MjFEREIxRUVGMDVERDAwRDdBRjRBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxl
bWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
bGVtZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OUMwMUU1NEQ0
NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBjb3JlUHJlZGljdGlvbl9tb2RlbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkJF
OTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkJF
OTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgcGF0aCA9
IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZh
dGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJbnNwZWN0b3JQcml2
YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBp
Y2tlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tl
ck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjg1MywyNSArNjg0Nyw2IEBA
CiAJCQlwYXRoID0gUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwogCQl9OwotCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xh
c3NpZmllciAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJ
NkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovLAotCQkJCTZCRTk2OUM2MUU1NEQ0
QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAgKi8sCi0J
CQkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyLmggKi8sCi0JCQkpOwotCQkJcGF0aCA9IGNsYXNzaWZpZXI7Ci0JCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwotCQl9OwotCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2Eg
Ki8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTZCRTk2OUM4
MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmNwcCAqLywKLQkJCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovLAotCQkJKTsKLQkJCXBhdGggPSBjb2NvYTsKLQkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTZFRTg0OUM0MTM2OEQ5MDQwMDM4RDQ4
MSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
NzkxNSw3ICs3ODkwLDYgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTM3MDk1MDQxMThBODhCQTQw
MDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8s
Ci0JCQkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8sCiAJCQkJNDQ1
MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovLAogCQkJCTM3MDk1MDQyMThBODhDREUw
MDg3QUU1RCAvKiBmb3VuZGF0aW9uICovLAogCQkJCUExODJENUIxMUJFNkJDRjQwMDg3QTdDQyAv
KiBpb3MgKi8sCkBAIC05MjQxLDggKzkyMTUsNiBAQAogCQkJCUE1NUJBODFGMUJBMjVCMjcwMDdD
RDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1
QkE4MjUxQkEyNUNGQjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODE3MUJBMjNFMTIwMDdDRDMzRCAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywK
LQkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNCM0NCMTAyMEUyQUIwMTAwNDQx
RTlCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFFNkMxNjQxRjI5MzVERDAwRkQzNDM3IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMDA2NkUxMTEwRjRGNzAw
MzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLAo=
</data>
<flag name="review"
          id="375349"
          type_id="1"
          status="-"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>