<?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>226535</bug_id>
          
          <creation_ts>2021-06-02 07:46:39 -0700</creation_ts>
          <short_desc>Use Checked aliases instead of Checked&lt;T, RecordOverflow&gt;</short_desc>
          <delta_ts>2021-06-02 08:43:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765980</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-02 07:46:39 -0700</bug_when>
    <thetext>Use Checked aliases instead of Checked&lt;T, RecordOverflow&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765981</commentid>
    <comment_count>1</comment_count>
      <attachid>430348</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-02 07:48:45 -0700</bug_when>
    <thetext>Created attachment 430348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765997</commentid>
    <comment_count>2</comment_count>
      <attachid>430348</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-06-02 08:18:53 -0700</bug_when>
    <thetext>Comment on attachment 430348
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766007</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-02 08:42:35 -0700</bug_when>
    <thetext>Committed r278351 (238383@main): &lt;https://commits.webkit.org/238383@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430348.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766009</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-02 08:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/78765340&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430348</attachid>
            <date>2021-06-02 07:48:45 -0700</date>
            <delta_ts>2021-06-02 08:42:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226535-20210602074844.patch</filename>
            <type>text/plain</type>
            <size>41459</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NGVhYmU3ZmUzYWE4NmQxMGE4YTQ5NjhhNmE3NzAyNWJlNmJiNDNiLi5hMzI1YTBiZDA0MGRiYzFh
ZmNlZmE4NWY0N2FlZGEyODZlMTU3Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMS0wNi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFVzZSBDaGVja2VkIGFsaWFzZXMgaW5zdGVhZCBvZiBDaGVja2VkPFQsIFJlY29y
ZE92ZXJmbG93PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI2NTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGZ0bC9GVExPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5j
cHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmFwcGVuZE1lbWNweSk6CisgICAgICAgIChKU0M6
OkpTQXJyYXk6OnVuc2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1R5cGUpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNTdHJpbmdKb2luZXIuY3BwOgorICAgICAgICAoSlNDOjpKU1N0cmluZ0pvaW5lcjo6
am9pbmVkTGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKiBydW50aW1lL0pTU3RyaW5nSm9pbmVyLmg6
CisgICAgICAgICogcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpq
c1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyk6CisgICAgICAgICogd2FzbS9XYXNtRm9y
bWF0LmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6U2VnbWVudDo6Y3JlYXRlKToKKyAgICAgICAg
KiB3YXNtL1dhc21PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6SlNDX0RFRklO
RV9KSVRfT1BFUkFUSU9OKToKKyAgICAgICAgKiB3YXNtL1dhc21UYWJsZS5jcHA6CisgICAgICAg
IChKU0M6Oldhc206OlRhYmxlOjpncm93KToKKyAgICAgICAgKiB5YXJyL1lhcnJJbnRlcnByZXRl
ci5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OkJ5dGVDb21waWxlcjo6ZW1pdERpc2p1bmN0aW9u
KToKKyAgICAgICAgKiB5YXJyL1lhcnJQYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6WWFycjo6UGFy
c2VyOjpjb25zdW1lTnVtYmVyKToKKyAgICAgICAgKiB5YXJyL1lhcnJQYXR0ZXJuLmNwcDoKKwog
MjAyMS0wNi0wMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIDx3dGYvT3B0aW9uYWwuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIv
U291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggOGZlZjFmNWMwOTMyMzdmZDk3NDNmYTdiYmI1OGI5
ZmY2MzNjNjE3NC4uODQzYmY1ZWE2MGY4Njc0NzNjNTMxOTVhMmM2ZmFkNTQ2MDVkYTQ3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIFVzZSBDaGVja2VkIGFsaWFzZXMgaW5zdGVhZCBvZiBDaGVja2VkPFQs
IFJlY29yZE92ZXJmbG93PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI2NTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3dGYvVVJMSGVscGVycy5jcHA6CisgICAgICAgIChXVEY6OlVSTEhlbHBlcnM6
OnVzZXJWaXNpYmxlVVJMKToKKyAgICAgICAgKiB3dGYvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAg
KFdURjo6VVJMUGFyc2VyOjpwYXJzZUlQdjRQaWVjZSk6CisgICAgICAgICogd3RmL2NvY29hL05T
VVJMRXh0cmFzLm1tOgorICAgICAgICAoV1RGOjpkYXRhV2l0aFVzZXJUeXBlZFN0cmluZyk6Cisg
ICAgICAgICogd3RmL2dsaWIvU29ja2V0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXVEY6OlNv
Y2tldENvbm5lY3Rpb246OnNlbmRNZXNzYWdlKToKKwogMjAyMS0wNS0yMyAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgQ2hlY2tlZFB0cgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDA1ZjQxZWRmMzUyMTk5OWUwODFkN2I5MjNmYjI3YjA5Yjk5NjgxN2YuLmQ4NWFhMTA4YjYw
MjBhYmMwNzk0NjFlNTlmMmRjYzUzODJkZTIxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBA
QAorMjAyMS0wNi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFVzZSBDaGVja2VkIGFsaWFzZXMgaW5zdGVhZCBvZiBDaGVja2VkPFQsIFJlY29yZE92ZXJmbG93
PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1s
L0ltYWdlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlRGF0YVNpemUpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVUZXhGdW5jRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0
ZUNvbXByZXNzZWRUZXhGdW5jRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0R0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0w6
OmNvbXB1dGVJbWFnZVNpemVJbkJ5dGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OmlzVmFsaWQgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BpeGVsQnVmZmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBpeGVsQnVmZmVyOjpjb21wdXRlQnVmZmVyU2l6ZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vSVNPRmFpclBsYXlTdHJlYW1pbmdQc3NoQm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklTT0ZhaXJQbGF5U3RyZWFtaW5nS2V5UmVxdWVzdEluZm9Cb3g6OnBhcnNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjp1cGRhdGVCYWNrZHJvcEZpbHRlcnMpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kOjpjYWxjdWxh
dGVTYWZlQmFja2VuZFNpemUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9EaXJl
Y3QyRFV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3QyRDo6Y3JlYXRlRGly
ZWN0MkRJbWFnZVN1cmZhY2VXaXRoRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlQnVmZmVyRGlyZWN0MkRCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlQnVmZmVyRGlyZWN0MkRCYWNrZW5kOjpjb3B5TmF0aXZlSW1hZ2UgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXJEaXJlY3QyREJhY2tlbmQ6OmNvbXBhdGlibGVCaXRtYXAp
OgorCiAyMDIxLTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0aCBu
b24taG9yaXpvbnRhbCB3cml0aW5nIG1vZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYxNDY2Y2FhNjlmMDcxNGJm
Nzc0ODI4ZjMzYjdkZWJhMGZjYTQ2Y2QuLjIwYjc2N2ZiMDRhZGE1ZmFlZDYwMjk0ODFhNWE5ZmQ0
ZTllYzFkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDYtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgQ2hlY2tlZCBhbGlhc2VzIGlu
c3RlYWQgb2YgQ2hlY2tlZDxULCBSZWNvcmRPdmVyZmxvdz4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUzNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6bnVtQnl0ZXNGb3JTaXplKToKKyAg
ICAgICAgKiBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLmg6CisgICAgICAgICogU2hhcmVkL2NhaXJv
L1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJp
dG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbCk6CisgICAgICAgICogU2hhcmVkL2NnL1NoYXJl
YWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjYWxj
dWxhdGVCeXRlc1BlclJvdyk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2Fs
Y3VsYXRlQnl0ZXNQZXJQaXhlbCk6CisgICAgICAgICogU2hhcmVkL3dpbi9TaGFyZWFibGVCaXRt
YXBEaXJlY3QyRC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2FsY3Vs
YXRlQnl0ZXNQZXJSb3cpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNhbGN1
bGF0ZUJ5dGVzUGVyUGl4ZWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjp1cGRhdGVTcGVsbGluZ1VJV2l0
aEdyYW1tYXJTdHJpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdl
QnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkltYWdl
QnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZDo6Y2FsY3VsYXRlU2FmZUJhY2tlbmRTaXplKToK
KwogMjAyMS0wNi0wMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIDx3dGYvT3B0aW9uYWwuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCAxYjJhNWUwN2Ew
YjJlMGY1NGFhODc3N2E5YTM5ZTYwM2JhYzZjZTZkLi41ZmYyYWU1MWMzYTZiZWNhNjIyOGQyNjg1
YWM4YTRkMzdiZGYwMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0yNTUxLDcgKzI1NTEsNyBA
QCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZm
ZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICAgICAgLy8gdGhhdCdzIHRoZSBjb25z
ZXJ2YXRpdmUgdGhpbmcgdG8gZG8uIE90aGVyd2lzZSB3ZSdkIG5lZWQgdG8gd3JpdGUgbW9yZSBj
b2RlIHRvIG1hcmsgc3VjaAogICAgICAgICAgICAgLy8gcGF0aHMgYXMgdW5yZWFjaGFibGUsIG9y
IHRvIHJldHVybiB1bmRlZmluZWQuIFdlIGNvdWxkIGltcGxlbWVudCB0aGF0IGV2ZW50dWFsbHku
CiAKLSAgICAgICAgICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBhcmd1bWVu
dEluZGV4Q2hlY2tlZCA9IGluZGV4LmFzVUludDMyKCk7CisgICAgICAgICAgICBDaGVja2VkVWlu
dDMyIGFyZ3VtZW50SW5kZXhDaGVja2VkID0gaW5kZXguYXNVSW50MzIoKTsKICAgICAgICAgICAg
IGFyZ3VtZW50SW5kZXhDaGVja2VkICs9IG5vZGUtPm51bWJlck9mQXJndW1lbnRzVG9Ta2lwKCk7
CiAgICAgICAgICAgICB1bnNpZ25lZCBhcmd1bWVudEluZGV4OwogICAgICAgICAgICAgaWYgKGFy
Z3VtZW50SW5kZXhDaGVja2VkLnNhZmVHZXQoYXJndW1lbnRJbmRleCkgIT0gQ2hlY2tlZFN0YXRl
OjpEaWRPdmVyZmxvdykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9u
cy5jcHAKaW5kZXggMjAyZDhkNDcwNjUzMTU4Y2QzMWFjOWVlMWJhMDBiNjIxODBiMmQ5OS4uOTE0
NTgzY2QyM2IxZDE0OWEzNjM0ZjIwYThhN2I5NDNmMDVhMTc5YyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9wZXJhdGlvbnMuY3BwCkBAIC02MTIsNyArNjEyLDcgQEAgSlNDX0RF
RklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IsIEpTQ2Vs
bCosIChKU0dsb2JhbE9iamUKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9j
YXRpb24oQXJyYXlXaXRoQ29udGlndW91cyk7CiAKLSAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZCwg
UmVjb3JkT3ZlcmZsb3c+IGNoZWNrZWRBcnJheVNpemUgPSAwOworICAgICAgICBDaGVja2VkVWlu
dDMyIGNoZWNrZWRBcnJheVNpemUgPSAwOwogICAgICAgICB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVz
ID0gMDsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbWF0ZXJpYWxpemF0aW9uLT5wcm9wZXJ0
aWVzKCkuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAgICAgICBjb25zdCBFeGl0UHJvcGVydHlWYWx1
ZSYgcHJvcGVydHkgPSBtYXRlcmlhbGl6YXRpb24tPnByb3BlcnRpZXMoKVtpXTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKaW5kZXggMzJjNDg4MDNlYWZiMjZiMGRm
YmFiYzgyOWEwNjYwYzM0NTBlOWI1Yy4uMmE5MWNlMmM5NjYzY2I3ODAzYzlmMDFkYzg4YzQ4ZTll
ZmM5MzEwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKQEAg
LTUwNCw3ICs1MDQsNyBAQCBib29sIEpTQXJyYXk6OmFwcGVuZE1lbWNweShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIHVuc2lnbmVkIHN0YXJ0SQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICB1bnNpZ25lZCBvdGhlckxlbmd0aCA9IG90aGVyQXJyYXktPmxlbmd0aCgp
OwotICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkTmV3TGVuZ3Ro
ID0gc3RhcnRJbmRleDsKKyAgICBDaGVja2VkVWludDMyIGNoZWNrZWROZXdMZW5ndGggPSBzdGFy
dEluZGV4OwogICAgIGNoZWNrZWROZXdMZW5ndGggKz0gb3RoZXJMZW5ndGg7CiAKICAgICB1bnNp
Z25lZCBuZXdMZW5ndGg7CkBAIC0xMDQxLDcgKzEwNDEsNyBAQCBib29sIEpTQXJyYXk6OnVuc2hp
ZnRDb3VudFdpdGhBbnlJbmRleGluZ1R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
dW5zaQogICAgICAgICBpZiAob2xkTGVuZ3RoIC0gc3RhcnRJbmRleCA+PSBNSU5fU1BBUlNFX0FS
UkFZX0lOREVYKQogICAgICAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCB1bnNoaWZ0
Q291bnRXaXRoQXJyYXlTdG9yYWdlKGdsb2JhbE9iamVjdCwgc3RhcnRJbmRleCwgY291bnQsIGVu
c3VyZUFycmF5U3RvcmFnZSh2bSkpKTsKIAotICAgICAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNv
cmRPdmVyZmxvdz4gY2hlY2tlZExlbmd0aChvbGRMZW5ndGgpOworICAgICAgICBDaGVja2VkVWlu
dDMyIGNoZWNrZWRMZW5ndGgob2xkTGVuZ3RoKTsKICAgICAgICAgY2hlY2tlZExlbmd0aCArPSBj
b3VudDsKICAgICAgICAgdW5zaWduZWQgbmV3TGVuZ3RoOwogICAgICAgICBpZiAoQ2hlY2tlZFN0
YXRlOjpEaWRPdmVyZmxvdyA9PSBjaGVja2VkTGVuZ3RoLnNhZmVHZXQobmV3TGVuZ3RoKSkgewpA
QCAtMTA5MCw3ICsxMDkwLDcgQEAgYm9vbCBKU0FycmF5Ojp1bnNoaWZ0Q291bnRXaXRoQW55SW5k
ZXhpbmdUeXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2kKICAgICAgICAgaWYg
KG9sZExlbmd0aCAtIHN0YXJ0SW5kZXggPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkKICAgICAg
ICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgdW5zaGlmdENvdW50V2l0aEFycmF5U3Rv
cmFnZShnbG9iYWxPYmplY3QsIHN0YXJ0SW5kZXgsIGNvdW50LCBlbnN1cmVBcnJheVN0b3JhZ2Uo
dm0pKSk7CiAKLSAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGNoZWNr
ZWRMZW5ndGgob2xkTGVuZ3RoKTsKKyAgICAgICAgQ2hlY2tlZFVpbnQzMiBjaGVja2VkTGVuZ3Ro
KG9sZExlbmd0aCk7CiAgICAgICAgIGNoZWNrZWRMZW5ndGggKz0gY291bnQ7CiAgICAgICAgIHVu
c2lnbmVkIG5ld0xlbmd0aDsKICAgICAgICAgaWYgKENoZWNrZWRTdGF0ZTo6RGlkT3ZlcmZsb3cg
PT0gY2hlY2tlZExlbmd0aC5zYWZlR2V0KG5ld0xlbmd0aCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nSm9pbmVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nSm9pbmVyLmNwcAppbmRleCBhNGQ0ZDExNzFkMTIw
NmJiYjZhNjdiYWQ0MzNmNmFmOTEzOWE0Yjk5Li40NjVhOTc3YmEyYzBkYWJjNjI4Mzg0ZDVkMmZm
Njg2NzlhMDQ1ZGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0cmluZ0pvaW5lci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dHJpbmdKb2luZXIuY3BwCkBAIC04OCw5ICs4OCw5IEBAIGlubGluZSB1bnNpZ25lZCBKU1N0cmlu
Z0pvaW5lcjo6am9pbmVkTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0
CiAgICAgaWYgKCFudW1iZXJPZlN0cmluZ3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgQ2hl
Y2tlZDxpbnQzMl90LCBSZWNvcmRPdmVyZmxvdz4gc2VwYXJhdG9yTGVuZ3RoID0gbV9zZXBhcmF0
b3IubGVuZ3RoKCk7Ci0gICAgQ2hlY2tlZDxpbnQzMl90LCBSZWNvcmRPdmVyZmxvdz4gdG90YWxT
ZXBhcmF0b3JzTGVuZ3RoID0gc2VwYXJhdG9yTGVuZ3RoICogKG51bWJlck9mU3RyaW5ncyAtIDEp
OwotICAgIENoZWNrZWQ8aW50MzJfdCwgUmVjb3JkT3ZlcmZsb3c+IHRvdGFsTGVuZ3RoID0gdG90
YWxTZXBhcmF0b3JzTGVuZ3RoICsgbV9hY2N1bXVsYXRlZFN0cmluZ3NMZW5ndGg7CisgICAgQ2hl
Y2tlZEludDMyIHNlcGFyYXRvckxlbmd0aCA9IG1fc2VwYXJhdG9yLmxlbmd0aCgpOworICAgIENo
ZWNrZWRJbnQzMiB0b3RhbFNlcGFyYXRvcnNMZW5ndGggPSBzZXBhcmF0b3JMZW5ndGggKiAobnVt
YmVyT2ZTdHJpbmdzIC0gMSk7CisgICAgQ2hlY2tlZEludDMyIHRvdGFsTGVuZ3RoID0gdG90YWxT
ZXBhcmF0b3JzTGVuZ3RoICsgbV9hY2N1bXVsYXRlZFN0cmluZ3NMZW5ndGg7CiAKICAgICBpbnQz
Ml90IHJlc3VsdDsKICAgICBpZiAodG90YWxMZW5ndGguc2FmZUdldChyZXN1bHQpID09IENoZWNr
ZWRTdGF0ZTo6RGlkT3ZlcmZsb3cpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU3RyaW5nSm9pbmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1N0cmluZ0pvaW5lci5oCmluZGV4IDAzMjdjMzAwY2U1N2UwNjlhM2ZjYWYzNzk3MTEwMTcy
NmRkMjY1ZTcuLjc0ZTg4OTI4NzQwODk5OTNlMTY4MmE5MDgwZDA2YzZiMmM1NmM4YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nSm9pbmVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmdKb2luZXIuaApAQCAtNTMs
NyArNTMsNyBAQCBwcml2YXRlOgogICAgIExDaGFyIG1fc2luZ2xlQ2hhcmFjdGVyU2VwYXJhdG9y
OwogICAgIFN0cmluZ1ZpZXcgbV9zZXBhcmF0b3I7CiAgICAgVmVjdG9yPFN0cmluZ1ZpZXdXaXRo
VW5kZXJseWluZ1N0cmluZz4gbV9zdHJpbmdzOwotICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29y
ZE92ZXJmbG93PiBtX2FjY3VtdWxhdGVkU3RyaW5nc0xlbmd0aDsKKyAgICBDaGVja2VkVWludDMy
IG1fYWNjdW11bGF0ZWRTdHJpbmdzTGVuZ3RoOwogICAgIGJvb2wgbV9pc0FsbDhCaXQgeyB0cnVl
IH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
bmdQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmNwcAppbmRleCBjODMyYWI0NmQ3ZmJmYjU0YzUwZDg1OTU0NzY4OTZiNTExMTg3MTBm
Li42NTNhN2IzNmQ3ZmYxZDdlYWI2NzlhNWQ5Yjc3MGIyYTdlMDQ1NGRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKQEAgLTM3OCw3
ICszNzgsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyoganNTcGxpY2VTdWJzdHJp
bmdzV2l0aFNlcGFyYXRvcnMoSlNHbG9iYWxPYmplY3QqCiAgICAgICAgIFJFTEVBU0VfQU5EX1JF
VFVSTihzY29wZSwganNTdHJpbmcoZ2xvYmFsT2JqZWN0LCBsZWZ0UGFydCwgc2VwYXJhdG9yc1sw
XSwgcmlnaHRQYXJ0KSk7CiAgICAgfQogCi0gICAgQ2hlY2tlZDxpbnQsIFJlY29yZE92ZXJmbG93
PiB0b3RhbExlbmd0aCA9IDA7CisgICAgQ2hlY2tlZEludDMyIHRvdGFsTGVuZ3RoID0gMDsKICAg
ICBib29sIGFsbFNlcGFyYXRvcnM4Qml0ID0gdHJ1ZTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8
IHJhbmdlQ291bnQ7IGkrKykKICAgICAgICAgdG90YWxMZW5ndGggKz0gc3Vic3RyaW5nUmFuZ2Vz
W2ldLmxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21G
b3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZvcm1hdC5jcHAKaW5k
ZXggZjYwYTQ1NjUwOTQ1NTE0OWJlMzY1YjRhODIwNjE1Nzc0ZDg4YzkxMC4uMzJjNzRhODI0ZGI2
YjljNTdlZmU1ZjJjYzgyZWVhYWUxMmNjZmJhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUZvcm1hdC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBXYXNtIHsKIAogU2VnbWVudDo6UHRyIFNlZ21lbnQ6OmNyZWF0ZShzdGQ6Om9wdGlvbmFs
PEkzMkluaXRFeHByPiBvZmZzZXQsIHVpbnQzMl90IHNpemVJbkJ5dGVzLCBLaW5kIGtpbmQpCiB7
Ci0gICAgQ2hlY2tlZDx1aW50MzJfdCwgUmVjb3JkT3ZlcmZsb3c+IHRvdGFsQnl0ZXNDaGVja2Vk
ID0gc2l6ZUluQnl0ZXM7CisgICAgQ2hlY2tlZFVpbnQzMiB0b3RhbEJ5dGVzQ2hlY2tlZCA9IHNp
emVJbkJ5dGVzOwogICAgIHRvdGFsQnl0ZXNDaGVja2VkICs9IHNpemVvZihTZWdtZW50KTsKICAg
ICB1aW50MzJfdCB0b3RhbEJ5dGVzOwogICAgIGlmICh0b3RhbEJ5dGVzQ2hlY2tlZC5zYWZlR2V0
KHRvdGFsQnl0ZXMpID09IENoZWNrZWRTdGF0ZTo6RGlkT3ZlcmZsb3cpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKaW5kZXggNWFmODc0NTVmNDgyMDQw
NWExYjFiMjcxNGZkY2Y5MDk2YjI5YWRjMS4uZWVhOTc0ZmQ2YjAxODVhZjg5MjhmOTkzZGRmYjgz
YTc5ODE1MGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9w
ZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRp
b25zLmNwcApAQCAtNzg4LDcgKzc4OCw3IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVy
YXRpb25XYXNtVGFibGVDb3B5LCBib29sLCAoSW5zdGFuY2UqIGluc3RhbmNlLCB1bnNpCiAgICAg
aWYgKChzcmNPZmZzZXQgPCAwKSB8fCAoZHN0T2Zmc2V0IDwgMCkgfHwgKGxlbmd0aCA8IDApKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBDaGVja2VkPHVpbnQzMl90LCBSZWNvcmRPdmVy
Zmxvdz4gbGFzdERzdEVsZW1lbnRJbmRleENoZWNrZWQgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
ZHN0T2Zmc2V0KTsKKyAgICBDaGVja2VkVWludDMyIGxhc3REc3RFbGVtZW50SW5kZXhDaGVja2Vk
ID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGRzdE9mZnNldCk7CiAgICAgbGFzdERzdEVsZW1lbnRJ
bmRleENoZWNrZWQgKz0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGxlbmd0aCk7CiAKICAgICB1aW50
MzJfdCBsYXN0RHN0RWxlbWVudEluZGV4OwpAQCAtNzk4LDcgKzc5OCw3IEBAIEpTQ19ERUZJTkVf
SklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtVGFibGVDb3B5LCBib29sLCAoSW5zdGFuY2UqIGlu
c3RhbmNlLCB1bnNpCiAgICAgaWYgKGxhc3REc3RFbGVtZW50SW5kZXggPiBkc3RUYWJsZS0+bGVu
Z3RoKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIENoZWNrZWQ8dWludDMyX3QsIFJl
Y29yZE92ZXJmbG93PiBsYXN0U3JjRWxlbWVudEluZGV4Q2hlY2tlZCA9IHN0YXRpY19jYXN0PHVp
bnQzMl90PihzcmNPZmZzZXQpOworICAgIENoZWNrZWRVaW50MzIgbGFzdFNyY0VsZW1lbnRJbmRl
eENoZWNrZWQgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3JjT2Zmc2V0KTsKICAgICBsYXN0U3Jj
RWxlbWVudEluZGV4Q2hlY2tlZCArPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obGVuZ3RoKTsKIAog
ICAgIHVpbnQzMl90IGxhc3RTcmNFbGVtZW50SW5kZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtVGFibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbVRhYmxlLmNwcAppbmRleCBjNmMwNzhkY2Y5YzM3NTQ0ZWVlMzgwODQyYzczYTdmNWRi
Zjg3MTQ2Li41NTY4ZWQ2YTQ5NTFhYjA2ODRiMTI0ZDAyZDc4ZTllMjE0MjE1M2UxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVGFibGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21UYWJsZS5jcHAKQEAgLTg3LDggKzg3LDcgQEAgc3Rk
OjpvcHRpb25hbDx1aW50MzJfdD4gVGFibGU6Omdyb3codWludDMyX3QgZGVsdGEsIEpTVmFsdWUg
ZGVmYXVsdFZhbHVlKQogCiAgICAgTG9ja2VyIGxvY2tlciB7IG1fb3duZXItPmNlbGxMb2NrKCkg
fTsKIAotICAgIHVzaW5nIENoZWNrZWQgPSBDaGVja2VkPHVpbnQzMl90LCBSZWNvcmRPdmVyZmxv
dz47Ci0gICAgQ2hlY2tlZCBuZXdMZW5ndGhDaGVja2VkID0gbGVuZ3RoKCk7CisgICAgQ2hlY2tl
ZFVpbnQzMiBuZXdMZW5ndGhDaGVja2VkID0gbGVuZ3RoKCk7CiAgICAgbmV3TGVuZ3RoQ2hlY2tl
ZCArPSBkZWx0YTsKICAgICB1aW50MzJfdCBuZXdMZW5ndGg7CiAgICAgaWYgKG5ld0xlbmd0aENo
ZWNrZWQuc2FmZUdldChuZXdMZW5ndGgpID09IENoZWNrZWRTdGF0ZTo6RGlkT3ZlcmZsb3cpCkBA
IC0xMDEsNyArMTAwLDcgQEAgc3RkOjpvcHRpb25hbDx1aW50MzJfdD4gVGFibGU6Omdyb3codWlu
dDMyX3QgZGVsdGEsIEpTVmFsdWUgZGVmYXVsdFZhbHVlKQogCiAgICAgYXV0byBjaGVja2VkR3Jv
dyA9IFsmXSAoYXV0byYgY29udGFpbmVyLCBhdXRvIGluaXRpYWxpemVyKSB7CiAgICAgICAgIGlm
IChuZXdMZW5ndGhDaGVja2VkID4gYWxsb2NhdGVkTGVuZ3RoKG1fbGVuZ3RoKSkgewotICAgICAg
ICAgICAgQ2hlY2tlZCByZWFsbG9jU2l6ZUNoZWNrZWQgPSBhbGxvY2F0ZWRMZW5ndGgobmV3TGVu
Z3RoQ2hlY2tlZCk7CisgICAgICAgICAgICBDaGVja2VkVWludDMyIHJlYWxsb2NTaXplQ2hlY2tl
ZCA9IGFsbG9jYXRlZExlbmd0aChuZXdMZW5ndGhDaGVja2VkKTsKICAgICAgICAgICAgIHJlYWxs
b2NTaXplQ2hlY2tlZCAqPSBzaXplb2YoKmNvbnRhaW5lci5nZXQoKSk7CiAgICAgICAgICAgICB1
aW50MzJfdCByZWFsbG9jU2l6ZTsKICAgICAgICAgICAgIGlmIChyZWFsbG9jU2l6ZUNoZWNrZWQu
c2FmZUdldChyZWFsbG9jU2l6ZSkgPT0gQ2hlY2tlZFN0YXRlOjpEaWRPdmVyZmxvdykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCmluZGV4IGJjYTQy
MTM0NWNhMmM1OTZhYzhlOTYxY2RiN2NiOWRlNGY1ODc0M2UuLjY4NWZlNjE2Y2Q4ZGNlYjUwMzRm
NmE2OTljOTQ2MjAxYzA4ZjFlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1lhcnJJbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyckludGVycHJldGVyLmNwcApAQCAtMjA1OSw3ICsyMDU5LDcgQEAgcHVibGljOgogICAgICAg
ICBtX2N1cnJlbnRBbHRlcm5hdGl2ZUluZGV4ID0gbmV3QWx0ZXJuYXRpdmVJbmRleDsKICAgICB9
CiAKLSAgICBzdGQ6Om9wdGlvbmFsPEVycm9yQ29kZT4gV0FSTl9VTlVTRURfUkVUVVJOIGVtaXRE
aXNqdW5jdGlvbihQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uLCBDaGVja2VkPHVuc2ln
bmVkLCBSZWNvcmRPdmVyZmxvdz4gaW5wdXRDb3VudEFscmVhZHlDaGVja2VkLCB1bnNpZ25lZCBw
YXJlbnRoZXNlc0lucHV0Q291bnRBbHJlYWR5Q2hlY2tlZCkKKyAgICBzdGQ6Om9wdGlvbmFsPEVy
cm9yQ29kZT4gV0FSTl9VTlVTRURfUkVUVVJOIGVtaXREaXNqdW5jdGlvbihQYXR0ZXJuRGlzanVu
Y3Rpb24qIGRpc2p1bmN0aW9uLCBDaGVja2VkVWludDMyIGlucHV0Q291bnRBbHJlYWR5Q2hlY2tl
ZCwgdW5zaWduZWQgcGFyZW50aGVzZXNJbnB1dENvdW50QWxyZWFkeUNoZWNrZWQpCiAgICAgewog
ICAgICAgICBpZiAoVU5MSUtFTFkoIWlzU2FmZVRvUmVjdXJzZSgpKSkKICAgICAgICAgICAgIHJl
dHVybiBFcnJvckNvZGU6OlRvb01hbnlEaXNqdW5jdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
eWFyci9ZYXJyUGFyc2VyLmgKaW5kZXggNjYzZDJkMGFkODc4OGEyNTc0NTQxYjg1ZTMyYzkyYTEy
OTI1ZTZjOC4uOTIxNDJiYzg4OWMzN2NhY2Q5MzUwMGNhNmMwYzFlODY1ZjlkMGYwYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaApAQCAtMTA3OSw3ICsxMDc5LDcgQEAg
cHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIGNvbnN1bWVOdW1iZXIoKQogICAgIHsKLSAgICAgICAg
Q2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IG4gPSBjb25zdW1lRGlnaXQoKTsKKyAg
ICAgICAgQ2hlY2tlZFVpbnQzMiBuID0gY29uc3VtZURpZ2l0KCk7CiAgICAgICAgIHdoaWxlIChw
ZWVrSXNEaWdpdCgpKQogICAgICAgICAgICAgbiA9IG4gKiAxMCArIGNvbnN1bWVEaWdpdCgpOwog
ICAgICAgICByZXR1cm4gbi5oYXNPdmVyZmxvd2VkKCkgPyBxdWFudGlmeUluZmluaXRlIDogbi52
YWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRl
cm4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uY3BwCmluZGV4
IGJjNDQ1ODIyZjNmYTkyMmExYzE5MjI4YjBiNjBlMTYxNjYxYmZkYzQuLjljYmJlOTBjYjNlOWEx
NjBkZjMzMWNiNjllMGZlMjRkNDA4MDg5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJyUGF0dGVybi5jcHAKQEAgLTc5MSw3ICs3OTEsNyBAQCBwdWJsaWM6CiAKICAgICAgICAg
RXJyb3JDb2RlIGVycm9yID0gRXJyb3JDb2RlOjpOb0Vycm9yOwogICAgICAgICBhbHRlcm5hdGl2
ZS0+bV9oYXNGaXhlZFNpemUgPSB0cnVlOwotICAgICAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNv
cmRPdmVyZmxvdz4gY3VycmVudElucHV0UG9zaXRpb24gPSBpbml0aWFsSW5wdXRQb3NpdGlvbjsK
KyAgICAgICAgQ2hlY2tlZFVpbnQzMiBjdXJyZW50SW5wdXRQb3NpdGlvbiA9IGluaXRpYWxJbnB1
dFBvc2l0aW9uOwogCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhbHRlcm5hdGl2
ZS0+bV90ZXJtcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgUGF0dGVyblRlcm0mIHRlcm0g
PSBhbHRlcm5hdGl2ZS0+bV90ZXJtc1tpXTsKQEAgLTgyMCw3ICs4MjAsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDYWxsRnJhbWVTaXplICs9IFlhcnJTdGFja1NwYWNl
Rm9yQmFja1RyYWNrSW5mb1BhdHRlcm5DaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgICAgIGFs
dGVybmF0aXZlLT5tX2hhc0ZpeGVkU2l6ZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAobV9wYXR0ZXJuLnVuaWNvZGUoKSkgewotICAgICAgICAgICAgICAgICAgICBDaGVja2Vk
PHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gdGVtcENvdW50ID0gdGVybS5xdWFudGl0eU1heENv
dW50OworICAgICAgICAgICAgICAgICAgICBDaGVja2VkVWludDMyIHRlbXBDb3VudCA9IHRlcm0u
cXVhbnRpdHlNYXhDb3VudDsKICAgICAgICAgICAgICAgICAgICAgdGVtcENvdW50ICo9IFUxNl9M
RU5HVEgodGVybS5wYXR0ZXJuQ2hhcmFjdGVyKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRl
bXBDb3VudC5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
RXJyb3JDb2RlOjpPZmZzZXRUb29MYXJnZTsKQEAgLTgzOSw3ICs4MzksNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgICAgIHRlcm0uZnJhbWVMb2NhdGlvbiA9IGN1cnJlbnRDYWxsRnJhbWVT
aXplOwogICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2FsbEZyYW1lU2l6ZSArPSBZYXJyU3Rh
Y2tTcGFjZUZvckJhY2tUcmFja0luZm9DaGFyYWN0ZXJDbGFzczsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRlcm0uY2hhcmFjdGVyQ2xhc3MtPmhhc09uZUNoYXJhY3RlclNpemUoKSAmJiAhdGVy
bS5pbnZlcnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2tlZDx1bnNpZ25lZCwg
UmVjb3JkT3ZlcmZsb3c+IHRlbXBDb3VudCA9IHRlcm0ucXVhbnRpdHlNYXhDb3VudDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIENoZWNrZWRVaW50MzIgdGVtcENvdW50ID0gdGVybS5xdWFudGl0
eU1heENvdW50OwogICAgICAgICAgICAgICAgICAgICAgICAgdGVtcENvdW50ICo9IHRlcm0uY2hh
cmFjdGVyQ2xhc3MtPmhhc05vbkJNUENoYXJhY3RlcnMoKSA/IDIgOiAxOwogICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHRlbXBDb3VudC5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEVycm9yQ29kZTo6T2Zmc2V0VG9vTGFyZ2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1VSTEhl
bHBlcnMuY3BwCmluZGV4IDE1NTkwOWUyNmRhOWM4MDQyYmI5YTQ0MTkzMjc4MGMxYjZkZGExZjEu
LjlhOWQwNjAxM2U3NTVjZWNkOGFmYjhiMjdmMDQ2OTNmMjFkZDBjMGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBl
cnMuY3BwCkBAIC04MzAsNyArODMwLDcgQEAgU3RyaW5nIHVzZXJWaXNpYmxlVVJMKGNvbnN0IENT
dHJpbmcmIHVybCkKIAogICAgIGJvb2wgbWF5TmVlZEhvc3ROYW1lRGVjb2RpbmcgPSBmYWxzZTsK
IAotICAgIENoZWNrZWQ8aW50LCBSZWNvcmRPdmVyZmxvdz4gYnVmZmVyTGVuZ3RoID0gbGVuZ3Ro
OworICAgIENoZWNrZWRJbnQzMiBidWZmZXJMZW5ndGggPSBsZW5ndGg7CiAgICAgYnVmZmVyTGVu
Z3RoID0gYnVmZmVyTGVuZ3RoICogMyArIDE7IC8vIFRoZSBidWZmZXIgc2hvdWxkIGJlIGxhcmdl
IGVub3VnaCB0byAlLWVzY2FwZSBldmVyeSBjaGFyYWN0ZXIuCiAgICAgaWYgKGJ1ZmZlckxlbmd0
aC5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9VUkxQYXJzZXIuY3BwIGIvU291cmNlL1dURi93dGYvVVJMUGFyc2VyLmNwcApp
bmRleCAxNWE2OGIzMzFmYTAwMWY1ZjkxMTBhMzUyNjE0MTZhNWIxMmMxZGM5Li4yOTM2OWEyYTMx
ZWQwNGFiZWUwZGQ2ZmY5OGQyYjI2ZDA1NTYwOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9VUkxQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTFBhcnNlci5jcHAKQEAgLTIx
NTQsNyArMjE1NCw3IEBAIEV4cGVjdGVkPHVpbnQzMl90LCBVUkxQYXJzZXI6OklQdjRQaWVjZVBh
cnNpbmdFcnJvcj4gVVJMUGFyc2VyOjpwYXJzZUlQdjRQaWVjZShDCiAgICAgICAgIEhleCwKICAg
ICB9OwogICAgIFN0YXRlIHN0YXRlID0gU3RhdGU6OlVua25vd25CYXNlOwotICAgIENoZWNrZWQ8
dWludDMyX3QsIFJlY29yZE92ZXJmbG93PiB2YWx1ZSA9IDA7CisgICAgQ2hlY2tlZFVpbnQzMiB2
YWx1ZSA9IDA7CiAgICAgaWYgKCFpdGVyYXRvci5hdEVuZCgpICYmICppdGVyYXRvciA9PSAnLicp
CiAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChJUHY0UGllY2VQYXJzaW5nRXJyb3I6OkZh
aWx1cmUpOwogICAgIHdoaWxlICghaXRlcmF0b3IuYXRFbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9O
U1VSTEV4dHJhcy5tbQppbmRleCAzMDYzZjg1MWFmNGViMWYzNWFjM2IxOTU2ZTA4YTI3OWFjYjZm
YjdmLi4wZDk2ZTlkNDgwOWEzODlhYWVhNDE3ZGVjMjRkZWE5YWIyZjg3ODAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRpYyBOU0RhdGEg
KmRhdGFXaXRoVXNlclR5cGVkU3RyaW5nKE5TU3RyaW5nICpzdHJpbmcpCiAgICAgaWYgKCFpbkxl
bmd0aCkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIENoZWNrZWQ8aW50LCBSZWNvcmRPdmVy
Zmxvdz4gbWFsbG9jTGVuZ3RoID0gaW5MZW5ndGg7CisgICAgQ2hlY2tlZEludDMyIG1hbGxvY0xl
bmd0aCA9IGluTGVuZ3RoOwogICAgIG1hbGxvY0xlbmd0aCAqPSAzOyAvLyBsYXJnZSBlbm91Z2gg
dG8gJS1lc2NhcGUgZXZlcnkgY2hhcmFjdGVyCiAgICAgaWYgKG1hbGxvY0xlbmd0aC5oYXNPdmVy
Zmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1NvY2tldENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9Tb2NrZXRD
b25uZWN0aW9uLmNwcAppbmRleCBjY2NlYjQ5YzVkMWU4ZTA1YmRkZmRmMzUyYWEzYTZjMWJlODI0
NjAxLi4xM2E1MDQzMjZhZjVkMTdmZTU3ZTQ0MmU0NTI0N2M5YmJiNDNjZmM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1NvY2tldENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2dsaWIvU29ja2V0Q29ubmVjdGlvbi5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lk
IFNvY2tldENvbm5lY3Rpb246OnNlbmRNZXNzYWdlKGNvbnN0IGNoYXIqIG1lc3NhZ2VOYW1lLCBH
VmFyaWFudCogcGFyYW1ldGVycwogICAgICAgICBnX3dhcm5pbmcoIlRyeWluZyB0byBzZW5kIG1l
c3NhZ2Ugd2l0aCBpbnZhbGlkIHRvbyBsb25nIG5hbWUiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBDaGVja2VkPHVpbnQzMl90LCBSZWNvcmRPdmVyZmxvdz4gYm9keVNpemUgPSBtZXNz
YWdlTmFtZUxlbmd0aCArIHBhcmFtZXRlcnNTaXplOworICAgIENoZWNrZWRVaW50MzIgYm9keVNp
emUgPSBtZXNzYWdlTmFtZUxlbmd0aCArIHBhcmFtZXRlcnNTaXplOwogICAgIGlmIChVTkxJS0VM
WShib2R5U2l6ZS5oYXNPdmVyZmxvd2VkKCkpKSB7CiAgICAgICAgIGdfd2FybmluZygiVHJ5aW5n
IHRvIHNlbmQgbWVzc2FnZSAnJXMnIHdpdGggaW52YWxpZCB0b28gbG9uZyBib2R5IiwgbWVzc2Fn
ZU5hbWUpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0ltYWdlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5jcHAKaW5kZXgg
YjdkNTNiMzQwNTAzYjJlZjZjYTA5ODhmNmQ3NGUwYjQ4ODZmNzdiMy4uMmY3YzQyYzBkOWE1YjUz
ZDA3Y2IwMDMwOGE0OWYwZjJiNDcxN2M5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbWFnZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcApA
QCAtMzUsOSArMzUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBDaGVja2Vk
PHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gY29tcHV0ZURhdGFTaXplKGNvbnN0IEludFNpemUm
IHNpemUpCitzdGF0aWMgQ2hlY2tlZFVpbnQzMiBjb21wdXRlRGF0YVNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKIHsKLSAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gY2hlY2tl
ZERhdGFTaXplID0gNDsKKyAgICBDaGVja2VkVWludDMyIGNoZWNrZWREYXRhU2l6ZSA9IDQ7CiAg
ICAgY2hlY2tlZERhdGFTaXplICo9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaXplLndpZHRoKCkp
OwogICAgIGNoZWNrZWREYXRhU2l6ZSAqPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2l6ZS5oZWln
aHQoKSk7CiAgICAgcmV0dXJuIGNoZWNrZWREYXRhU2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXgg
YWEzYjQ5ZDA3YmE5ZjIyYjMyNzIxN2QyZGVlOGVhNDdjNjk0NjViMS4uNmQ3YzljOGIwZDgzNGI5
YmUzZDg0NTRiMjIxM2FlMGRhMTRhNjY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTUzMjMsNyAr
NTMyMyw3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVUZXhGdW5j
RGF0YShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIFRlCiAgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKGVycm9yLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHRleHR1cmUgZGltZW5zaW9ucyIpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIENoZWNrZWQ8dWludDMyX3QsIFJlY29y
ZE92ZXJmbG93PiB0b3RhbCA9IHNyY09mZnNldDsKKyAgICBDaGVja2VkVWludDMyIHRvdGFsID0g
c3JjT2Zmc2V0OwogICAgIHRvdGFsICo9IEpTQzo6ZWxlbWVudFNpemUocGl4ZWxzLT5nZXRUeXBl
KCkpOwogICAgIHRvdGFsICs9IHRvdGFsQnl0ZXNSZXF1aXJlZDsKICAgICB0b3RhbCArPSBza2lw
Qnl0ZXM7CkBAIC02ODEyLDcgKzY4MTIsNyBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OnZhbGlkYXRlQ29tcHJlc3NlZFRleEZ1bmNEYXRhKGNvbnN0IGNoYXIqIGZ1bmN0aQogICAg
IGNhc2UgRXh0ZW5zaW9uc0dMOjpDT01QUkVTU0VEX1NSR0I4X0VUQzI6CiAgICAgY2FzZSBFeHRl
bnNpb25zR0w6OkNPTVBSRVNTRURfUkdCOF9QVU5DSFRIUk9VR0hfQUxQSEExX0VUQzI6CiAgICAg
Y2FzZSBFeHRlbnNpb25zR0w6OkNPTVBSRVNTRURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9F
VEMyOiB7Ci0gICAgICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBjaGVja2Vk
Qnl0ZXNSZXF1aXJlZCA9ICh3aWR0aCArIGtFQUNBbmRFVEMyQmxvY2tTaXplIC0gMSkgLyBrRUFD
QW5kRVRDMkJsb2NrU2l6ZTsKKyAgICAgICAgQ2hlY2tlZFVpbnQzMiBjaGVja2VkQnl0ZXNSZXF1
aXJlZCA9ICh3aWR0aCArIGtFQUNBbmRFVEMyQmxvY2tTaXplIC0gMSkgLyBrRUFDQW5kRVRDMkJs
b2NrU2l6ZTsKICAgICAgICAgY2hlY2tlZEJ5dGVzUmVxdWlyZWQgKj0gKGhlaWdodCArIGtFQUNB
bmRFVEMyQmxvY2tTaXplIC0gMSkgLyBrRUFDQW5kRVRDMkJsb2NrU2l6ZTsKICAgICAgICAgY2hl
Y2tlZEJ5dGVzUmVxdWlyZWQgKj0gODsKICAgICAgICAgaWYgKGNoZWNrZWRCeXRlc1JlcXVpcmVk
Lmhhc092ZXJmbG93ZWQoKSkgewpAQCAtNjgyNiw3ICs2ODI2LDcgQEAgYm9vbCBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0YShjb25zdCBjaGFy
KiBmdW5jdGkKICAgICBjYXNlIEV4dGVuc2lvbnNHTDo6Q09NUFJFU1NFRF9TSUdORURfUkcxMV9F
QUM6CiAgICAgY2FzZSBFeHRlbnNpb25zR0w6OkNPTVBSRVNTRURfUkdCQThfRVRDMl9FQUM6CiAg
ICAgY2FzZSBFeHRlbnNpb25zR0w6OkNPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0VUQzJfRUFDOiB7
Ci0gICAgICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkQnl0ZXNS
ZXF1aXJlZCA9ICh3aWR0aCArIGtFQUNBbmRFVEMyQmxvY2tTaXplIC0gMSkgLyBrRUFDQW5kRVRD
MkJsb2NrU2l6ZTsKKyAgICAgICAgQ2hlY2tlZFVpbnQzMiBjaGVja2VkQnl0ZXNSZXF1aXJlZCA9
ICh3aWR0aCArIGtFQUNBbmRFVEMyQmxvY2tTaXplIC0gMSkgLyBrRUFDQW5kRVRDMkJsb2NrU2l6
ZTsKICAgICAgICAgY2hlY2tlZEJ5dGVzUmVxdWlyZWQgKj0gKGhlaWdodCArIGtFQUNBbmRFVEMy
QmxvY2tTaXplIC0gMSkgLyBrRUFDQW5kRVRDMkJsb2NrU2l6ZTsKICAgICAgICAgY2hlY2tlZEJ5
dGVzUmVxdWlyZWQgKj0gMTY7CiAgICAgICAgIGlmIChjaGVja2VkQnl0ZXNSZXF1aXJlZC5oYXNP
dmVyZmxvd2VkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcAppbmRleCA1Mjg5MGQ0OGQ5MzQ4YWNlYTI1YzVlNTRi
NzU5MWRjN2I1N2M1ZmVmLi43ZWU0YTc2OTBlOTVlMjc2YWRiYjk0ODhhYjkxNTZmZGU3N2M5YmIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHRHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0R0wuY3BwCkBAIC02NzAsMTQgKzY3MCwxNCBAQCBHQ0dMZW51bSBHcmFwaGljc0Nv
bnRleHRHTDo6Y29tcHV0ZUltYWdlU2l6ZUluQnl0ZXMoR0NHTGVudW0gZm9ybWF0LCBHQ0dMZW51
bSB0eQogICAgIGlmICghY29tcHV0ZUZvcm1hdEFuZFR5cGVQYXJhbWV0ZXJzKGZvcm1hdCwgdHlw
ZSwgJmNvbXBvbmVudHNQZXJQaXhlbCwgJmJ5dGVzUGVyQ29tcG9uZW50KSkKICAgICAgICAgcmV0
dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU07CiAgICAgdW5zaWduZWQgYnl0ZXNQ
ZXJHcm91cCA9IGJ5dGVzUGVyQ29tcG9uZW50ICogY29tcG9uZW50c1BlclBpeGVsOwotICAgIENo
ZWNrZWQ8dWludDMyX3QsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkVmFsdWUgPSBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4ocm93TGVuZ3RoKTsKKyAgICBDaGVja2VkVWludDMyIGNoZWNrZWRWYWx1ZSA9
IHN0YXRpY19jYXN0PHVpbnQzMl90Pihyb3dMZW5ndGgpOwogICAgIGNoZWNrZWRWYWx1ZSAqPSBi
eXRlc1Blckdyb3VwOwogICAgIGlmIChjaGVja2VkVmFsdWUuaGFzT3ZlcmZsb3dlZCgpKQogICAg
ICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUU7CiAKICAgICB1bnNp
Z25lZCBsYXN0Um93U2l6ZTsKICAgICBpZiAocGFyYW1zLnJvd0xlbmd0aCA+IDAgJiYgcGFyYW1z
LnJvd0xlbmd0aCAhPSB3aWR0aCkgewotICAgICAgICBDaGVja2VkPHVpbnQzMl90LCBSZWNvcmRP
dmVyZmxvdz4gdG1wID0gd2lkdGg7CisgICAgICAgIENoZWNrZWRVaW50MzIgdG1wID0gd2lkdGg7
CiAgICAgICAgIHRtcCAqPSBieXRlc1Blckdyb3VwOwogICAgICAgICBpZiAodG1wLmhhc092ZXJm
bG93ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9W
QUxVRTsKQEAgLTY5NSw3ICs2OTUsNyBAQCBHQ0dMZW51bSBHcmFwaGljc0NvbnRleHRHTDo6Y29t
cHV0ZUltYWdlU2l6ZUluQnl0ZXMoR0NHTGVudW0gZm9ybWF0LCBHQ0dMZW51bSB0eQogICAgICAg
ICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUU7CiAgICAgdW5zaWduZWQg
cGFkZGVkUm93U2l6ZSA9IGNoZWNrZWRWYWx1ZTsKIAotICAgIENoZWNrZWQ8dWludDMyX3QsIFJl
Y29yZE92ZXJmbG93PiByb3dzID0gaW1hZ2VIZWlnaHQ7CisgICAgQ2hlY2tlZFVpbnQzMiByb3dz
ID0gaW1hZ2VIZWlnaHQ7CiAgICAgcm93cyAqPSAoZGVwdGggLSAxKTsKICAgICAvLyBMYXN0IGlt
YWdlIGlzIG5vdCBhZmZlY3RlZCBieSBJTUFHRV9IRUlHSFQgcGFyYW1ldGVyLgogICAgIHJvd3Mg
Kz0gaGVpZ2h0OwpAQCAtNzEwLDkgKzcxMCw5IEBAIEdDR0xlbnVtIEdyYXBoaWNzQ29udGV4dEdM
Ojpjb21wdXRlSW1hZ2VTaXplSW5CeXRlcyhHQ0dMZW51bSBmb3JtYXQsIEdDR0xlbnVtIHR5CiAg
ICAgaWYgKHBhZGRpbmdJbkJ5dGVzKQogICAgICAgICAqcGFkZGluZ0luQnl0ZXMgPSBwYWRkaW5n
OwogCi0gICAgQ2hlY2tlZDx1aW50MzJfdCwgUmVjb3JkT3ZlcmZsb3c+IHNraXBTaXplID0gMDsK
KyAgICBDaGVja2VkVWludDMyIHNraXBTaXplID0gMDsKICAgICBpZiAocGFyYW1zLnNraXBJbWFn
ZXMgPiAwKSB7Ci0gICAgICAgIENoZWNrZWQ8dWludDMyX3QsIFJlY29yZE92ZXJmbG93PiB0bXAg
PSBwYWRkZWRSb3dTaXplOworICAgICAgICBDaGVja2VkVWludDMyIHRtcCA9IHBhZGRlZFJvd1Np
emU7CiAgICAgICAgIHRtcCAqPSBpbWFnZUhlaWdodDsKICAgICAgICAgdG1wICo9IHBhcmFtcy5z
a2lwSW1hZ2VzOwogICAgICAgICBpZiAodG1wLmhhc092ZXJmbG93ZWQoKSkKQEAgLTcyMCwxNCAr
NzIwLDE0IEBAIEdDR0xlbnVtIEdyYXBoaWNzQ29udGV4dEdMOjpjb21wdXRlSW1hZ2VTaXplSW5C
eXRlcyhHQ0dMZW51bSBmb3JtYXQsIEdDR0xlbnVtIHR5CiAgICAgICAgIHNraXBTaXplICs9IHRt
cDsKICAgICB9CiAgICAgaWYgKHBhcmFtcy5za2lwUm93cyA+IDApIHsKLSAgICAgICAgQ2hlY2tl
ZDx1aW50MzJfdCwgUmVjb3JkT3ZlcmZsb3c+IHRtcCA9IHBhZGRlZFJvd1NpemU7CisgICAgICAg
IENoZWNrZWRVaW50MzIgdG1wID0gcGFkZGVkUm93U2l6ZTsKICAgICAgICAgdG1wICo9IHBhcmFt
cy5za2lwUm93czsKICAgICAgICAgaWYgKHRtcC5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgICAg
ICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUU7CiAgICAgICAgIHNraXBT
aXplICs9IHRtcDsKICAgICB9CiAgICAgaWYgKHBhcmFtcy5za2lwUGl4ZWxzID4gMCkgewotICAg
ICAgICBDaGVja2VkPHVpbnQzMl90LCBSZWNvcmRPdmVyZmxvdz4gdG1wID0gYnl0ZXNQZXJHcm91
cDsKKyAgICAgICAgQ2hlY2tlZFVpbnQzMiB0bXAgPSBieXRlc1Blckdyb3VwOwogICAgICAgICB0
bXAgKj0gcGFyYW1zLnNraXBQaXhlbHM7CiAgICAgICAgIGlmICh0bXAuaGFzT3ZlcmZsb3dlZCgp
KQogICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAppbmRleCA2OTM3
ZTUzNmI4NmI5NmJmODkzMmMwYmUxMDY1YzU1ZDI4YTcxOTk0Li4xNDFiMTk4ZDYzZTg5N2U1NjBl
OTQ3ODA4Yjg0ZTYxOGEzODFlYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRSZWN0LmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBAIEludFNpemUgSW50UmVjdDo6ZGlm
ZmVyZW5jZVRvUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50KSBjb25zdAogCiBib29sIEludFJl
Y3Q6OmlzVmFsaWQoKSBjb25zdAogewotICAgIENoZWNrZWQ8aW50LCBSZWNvcmRPdmVyZmxvdz4g
bWF4ID0gbV9sb2NhdGlvbi54KCk7CisgICAgQ2hlY2tlZEludDMyIG1heCA9IG1fbG9jYXRpb24u
eCgpOwogICAgIG1heCArPSBtX3NpemUud2lkdGgoKTsKICAgICBpZiAobWF4Lmhhc092ZXJmbG93
ZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXIuY3BwCmluZGV4IDdlMmVhNmJhZmQwNzA0YzBmNWYzYjFh
YzhhNDM0OGY2MTY1ZjJkYTIuLjI1YmZmMTUzZDEyYzVkZTU1MWU1MzU0ZWMwYzIyYWNmZDhlNGE1
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BpeGVsQnVm
ZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QaXhlbEJ1ZmZl
ci5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgYm9vbCBQaXhlbEJ1ZmZlcjo6c3VwcG9ydGVkUGl4ZWxG
b3JtYXQoUGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1D
aGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gUGl4ZWxCdWZmZXI6OmNvbXB1dGVCdWZm
ZXJTaXplKGNvbnN0IFBpeGVsQnVmZmVyRm9ybWF0JiBmb3JtYXQsIGNvbnN0IEludFNpemUmIHNp
emUpCitDaGVja2VkVWludDMyIFBpeGVsQnVmZmVyOjpjb21wdXRlQnVmZmVyU2l6ZShjb25zdCBQ
aXhlbEJ1ZmZlckZvcm1hdCYgZm9ybWF0LCBjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIEFT
U0VSVF9VTlVTRUQoZm9ybWF0LCBzdXBwb3J0ZWRQaXhlbEZvcm1hdChmb3JtYXQucGl4ZWxGb3Jt
YXQpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4
ZWxCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BpeGVsQnVmZmVy
LmgKaW5kZXggY2ExNWU3M2ZmZmIzMmJlNDYxNmQzZGQyMzc4NjNjY2Y5Njc4ZjA3NS4uMDQzNGNl
ZWI5ODdmNjhmMWJlNzUwMzJiNTIzNGQ5NDZiMTFhYWIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QaXhlbEJ1ZmZlci5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UGl4
ZWxCdWZmZXI+IHRyeUNyZWF0ZUZvckRlY29kaW5nKGNvbnN0IFBpeGVsQnVmZmVyRm9ybWF0Jiwg
Y29uc3QgSW50U2l6ZSYsIHVuc2lnbmVkIGRhdGFCeXRlTGVuZ3RoKTsKIAotICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gY29tcHV0ZUJ1
ZmZlclNpemUoY29uc3QgUGl4ZWxCdWZmZXJGb3JtYXQmLCBjb25zdCBJbnRTaXplJik7CisgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIENoZWNrZWRVaW50MzIgY29tcHV0ZUJ1ZmZlclNpemUoY29u
c3QgUGl4ZWxCdWZmZXJGb3JtYXQmLCBjb25zdCBJbnRTaXplJik7CiAKICAgICBQaXhlbEJ1ZmZl
ckZvcm1hdCBtX2Zvcm1hdDsKICAgICBJbnRTaXplIG1fc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JU09GYWlyUGxheVN0cmVh
bWluZ1Bzc2hCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL0lTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5jcHAKaW5kZXggZjMzOTQ0ZDE4NTA0
MDNlOTE1MDJlMDYwM2Y1NGZiN2IyYjQ2ZTRmYy4uNGY4NDk2YWUzY2FlNDdmMDJiZGMyNjQ5YzFi
MjM3ZWI0NGVjNmQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL0lTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0lTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgYm9vbCBJU09GYWlyUGxheVN0cmVh
bWluZ0tleVJlcXVlc3RJbmZvQm94OjpwYXJzZShKU0M6OkRhdGFWaWV3JiB2aWV3LCB1bnNpZ25l
ZCYKICAgICBpZiAoIUlTT0JveDo6cGFyc2UodmlldywgbG9jYWxPZmZzZXQpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBDaGVja2VkPHVpbnQ2NF90LCBSZWNvcmRPdmVyZmxvdz4gcmVt
YWluaW5nID0gbV9zaXplOworICAgIENoZWNrZWRVaW50NjQgcmVtYWluaW5nID0gbV9zaXplOwog
ICAgIHJlbWFpbmluZyAtPSAobG9jYWxPZmZzZXQgLSBvZmZzZXQpOwogICAgIGlmIChyZW1haW5p
bmcuaGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApp
bmRleCBiOWY4ZDgxM2U3NWUxYjQyYmVlZjgyNDgyOTk2ODU3MTI5ZTI2OWNhLi5mYjJmMzY2MTgz
YzQyMTMzMGQ2NmY2MGMxNDAwY2IwMGYyOTU0ZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTIzNDAs
MTcgKzIzNDAsMTQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUZpbHRlcnMoKQogCiB2
b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQmFja2Ryb3BGaWx0ZXJzKENvbW1pdFN0YXRlJiBj
b21taXRTdGF0ZSkKIHsKLSAgICB1c2luZyBDaGVja2VkVW5zaWduZWQgPSBDaGVja2VkPHVuc2ln
bmVkLCBSZWNvcmRPdmVyZmxvdz47Ci0KICAgICBib29sIGNhbkhhdmVCYWNrZHJvcEZpbHRlcnMg
PSBuZWVkc0JhY2tkcm9wKCk7Ci0KICAgICBpZiAoY2FuSGF2ZUJhY2tkcm9wRmlsdGVycykgewog
ICAgICAgICBjYW5IYXZlQmFja2Ryb3BGaWx0ZXJzID0gZmFsc2U7CiAgICAgICAgIEludFJlY3Qg
YmFja2Ryb3BGaWx0ZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX2JhY2tkcm9wRmlsdGVyc1Jl
Y3QucmVjdCgpKTsKICAgICAgICAgaWYgKGJhY2tkcm9wRmlsdGVyUmVjdC53aWR0aCgpID4gMCAm
JiBiYWNrZHJvcEZpbHRlclJlY3QuaGVpZ2h0KCkgPiAwKSB7Ci0gICAgICAgICAgICBDaGVja2Vk
VW5zaWduZWQgYmFja2Ryb3BGaWx0ZXJBcmVhID0gQ2hlY2tlZFVuc2lnbmVkKGJhY2tkcm9wRmls
dGVyUmVjdC53aWR0aCgpKSAqIENoZWNrZWRVbnNpZ25lZChiYWNrZHJvcEZpbHRlclJlY3QuaGVp
Z2h0KCkpOworICAgICAgICAgICAgQ2hlY2tlZFVpbnQzMiBiYWNrZHJvcEZpbHRlckFyZWEgPSBD
aGVja2VkVWludDMyKGJhY2tkcm9wRmlsdGVyUmVjdC53aWR0aCgpKSAqIENoZWNrZWRVaW50MzIo
YmFja2Ryb3BGaWx0ZXJSZWN0LmhlaWdodCgpKTsKICAgICAgICAgICAgIGlmICghYmFja2Ryb3BG
aWx0ZXJBcmVhLmhhc092ZXJmbG93ZWQoKSkgewotICAgICAgICAgICAgICAgIENoZWNrZWRVbnNp
Z25lZCBuZXdUb3RhbEJhY2tkcm9wRmlsdGVyQXJlYSA9IENoZWNrZWRVbnNpZ25lZChjb21taXRT
dGF0ZS50b3RhbEJhY2tkcm9wRmlsdGVyQXJlYSkgKyBiYWNrZHJvcEZpbHRlckFyZWE7CisgICAg
ICAgICAgICAgICAgQ2hlY2tlZFVpbnQzMiBuZXdUb3RhbEJhY2tkcm9wRmlsdGVyQXJlYSA9IENo
ZWNrZWRVaW50MzIoY29tbWl0U3RhdGUudG90YWxCYWNrZHJvcEZpbHRlckFyZWEpICsgYmFja2Ry
b3BGaWx0ZXJBcmVhOwogICAgICAgICAgICAgICAgIGlmICghbmV3VG90YWxCYWNrZHJvcEZpbHRl
ckFyZWEuaGFzT3ZlcmZsb3dlZCgpICYmIG5ld1RvdGFsQmFja2Ryb3BGaWx0ZXJBcmVhIDw9IGNN
YXhUb3RhbEJhY2tkcm9wRmlsdGVyQXJlYSkgewogICAgICAgICAgICAgICAgICAgICBjb21taXRT
dGF0ZS50b3RhbEJhY2tkcm9wRmlsdGVyQXJlYSA9IG5ld1RvdGFsQmFja2Ryb3BGaWx0ZXJBcmVh
OwogICAgICAgICAgICAgICAgICAgICBjYW5IYXZlQmFja2Ryb3BGaWx0ZXJzID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
Q0dCaXRtYXBCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmNwcAppbmRleCA1MDA5NzcyZDBiMjg1NDllODQ5
ZTg2N2ZkMDEzY2Q1Y2RmZWFkODE1Li5mOGEwYWRhNDgxY2MzMDUzYzJmODQwZTVhNjc0NTM3OWQw
YjFjNWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwCkBAIC00NSwxMSAr
NDUsMTEgQEAgSW50U2l6ZSBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZDo6Y2FsY3VsYXRlU2Fm
ZUJhY2tlbmRTaXplKGNvbnN0IFBhcmFtZXRlcnMmIHAKICAgICBpZiAoYmFja2VuZFNpemUuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gYmFja2VuZFNpemU7CiAgICAgCi0gICAgQ2hlY2tlZDx1
bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGJ5dGVzUGVyUm93ID0gNCAqIENoZWNrZWQ8dW5zaWdu
ZWQsIFJlY29yZE92ZXJmbG93PihiYWNrZW5kU2l6ZS53aWR0aCgpKTsKKyAgICBhdXRvIGJ5dGVz
UGVyUm93ID0gNCAqIENoZWNrZWRVaW50MzIoYmFja2VuZFNpemUud2lkdGgoKSk7CiAgICAgaWYg
KGJ5dGVzUGVyUm93Lmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IENoZWNrZWRTaXplIG51bUJ5dGVzID0gQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+
KGJhY2tlbmRTaXplLmhlaWdodCgpKSAqIGJ5dGVzUGVyUm93OworICAgIENoZWNrZWRTaXplIG51
bUJ5dGVzID0gQ2hlY2tlZFVpbnQzMihiYWNrZW5kU2l6ZS5oZWlnaHQoKSkgKiBieXRlc1BlclJv
dzsKICAgICBpZiAobnVtQnl0ZXMuaGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4geyB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRGly
ZWN0MkRVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0RpcmVjdDJEVXRpbGl0aWVzLmNwcAppbmRleCAxOWQ1ZTU2ZDgyM2IxYzAxNmI4NDA0NTg5MWNk
MmQ4NGYzOGJkYjgxLi4zY2U3ZDY4NjRmNmE0MTBjNzg4ZjgzYjE4MzNiMTcxZWEyODEwYzRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRGlyZWN0MkRV
dGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9E
aXJlY3QyRFV0aWxpdGllcy5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCB1bnNpZ25lZCBiaXRzUGVy
UGl4ZWwoR1VJRCBiaXRtYXBGb3JtYXQpCiAKIENPTVB0cjxJV0lDQml0bWFwPiBjcmVhdGVEaXJl
Y3QyREltYWdlU3VyZmFjZVdpdGhEYXRhKHZvaWQqIGRhdGEsIGNvbnN0IEludFNpemUmIHNpemUs
IHVuc2lnbmVkIHN0cmlkZSkKIHsKLSAgICBDaGVja2VkU2l6ZSBudW1CeXRlcyA9IENoZWNrZWQ8
dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PihzaXplLmhlaWdodCgpKSAqIHN0cmlkZTsKKyAgICBD
aGVja2VkU2l6ZSBudW1CeXRlcyA9IENoZWNrZWRVaW50MzIoc2l6ZS5oZWlnaHQoKSkgKiBzdHJp
ZGU7CiAgICAgaWYgKG51bUJ5dGVzLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9JbWFnZUJ1ZmZlckRpcmVjdDJEQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vSW1hZ2VCdWZmZXJEaXJlY3QyREJhY2tlbmQuY3BwCmluZGV4IDkyMjQz
NmQxOGEzNTI2YWNjNTMyOWE1NjA0NTYwYTQ2YWQ2ZDBjYzcuLjc2OGY2MTdiZDE3MGNiOGJkMTc5
YWQxYmEyZTkyOTUzYzk1ODUxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRpcmVjdDJEQmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGlyZWN0MkRCYWNrZW5k
LmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIFJlZlB0cjxOYXRpdmVJbWFnZT4gSW1hZ2VCdWZmZXJE
aXJlY3QyREJhY2tlbmQ6OmNvcHlOYXRpdmVJbWFnZShCYWNraW5nU3RvcmVDb3B5CiAgICAgaWYg
KGNvcHlCZWhhdmlvciA9PSBDb3B5QmFja2luZ1N0b3JlICYmIG1fZGF0YS5kYXRhLmlzRW1wdHko
KSkKICAgICAgICAgY29weUJlaGF2aW9yID0gRG9udENvcHlCYWNraW5nU3RvcmU7CiAKLSAgICBD
aGVja2VkU2l6ZSBudW1CeXRlcyA9IENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93Piht
X2RhdGEuYmFja2luZ1N0b3JlU2l6ZS5oZWlnaHQoKSkgKiBtX2RhdGEuYnl0ZXNQZXJSb3c7Cisg
ICAgQ2hlY2tlZFNpemUgbnVtQnl0ZXMgPSBDaGVja2VkVWludDMyKG1fZGF0YS5iYWNraW5nU3Rv
cmVTaXplLmhlaWdodCgpKSAqIG1fZGF0YS5ieXRlc1BlclJvdzsKICAgICBpZiAobnVtQnl0ZXMu
aGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtMjE5LDcgKzIx
OSw3IEBAIFBsYXRmb3JtSW1hZ2VQdHIgSW1hZ2VCdWZmZXJEaXJlY3QyREJhY2tlbmQ6OmNvbXBh
dGlibGVCaXRtYXAoSUQyRDFSZW5kZXJUYXJnZXQqCiAgICAgYXV0byBzaXplID0gbV9iaXRtYXAt
PkdldFBpeGVsU2l6ZSgpOwogICAgIEFTU0VSVChzaXplLmhlaWdodCAmJiBzaXplLndpZHRoKTsK
IAotICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBudW1CeXRlcyA9IHNpemUu
d2lkdGggKiBzaXplLmhlaWdodCAqIDQ7CisgICAgQ2hlY2tlZFVpbnQzMiBudW1CeXRlcyA9IHNp
emUud2lkdGggKiBzaXplLmhlaWdodCAqIDQ7CiAgICAgaWYgKG51bUJ5dGVzLmhhc092ZXJmbG93
ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFy
ZWFibGVCaXRtYXAuY3BwCmluZGV4IDJkOGY3YzVmZGI2YzliN2ZhNTRhNGQ0MjQyOTgyMWE2MTZi
MmYyNWYuLjY0YTM1MDVkY2M2YTc3MDJiMGMxYTQ1ZWVjYTU2ZDk5MDk2NDhmYjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIHZv
aWQqIFNoYXJlYWJsZUJpdG1hcDo6ZGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZGF0YTsKIH0K
IAotQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IFNoYXJlYWJsZUJpdG1hcDo6bnVt
Qnl0ZXNGb3JTaXplKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgY29uc3QgU2hhcmVhYmxlQml0bWFw
OjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQorQ2hlY2tlZFVpbnQzMiBTaGFyZWFibGVC
aXRtYXA6Om51bUJ5dGVzRm9yU2l6ZShXZWJDb3JlOjpJbnRTaXplIHNpemUsIGNvbnN0IFNoYXJl
YWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKICNpZiBVU0UoRElS
RUNUMkQpCiAgICAgLy8gV2UgcGFzcyByZWZlcmVuY2VzIHRvIEdQVSB0ZXh0dXJlcywgc28gbm8g
bmVlZCB0byBhbGxvY2F0ZSBmcmFtZSBidWZmZXJzIGhlcmUuIEp1c3Qgc2VuZCBhIHNtYWxsIGJp
dCBvZiBkYXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0
bWFwLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuaAppbmRleCBjNzVi
MjA1MTgxNDQ3YzhkY2JmZWNlYTk3MDhjZGIwMWQxNTU0ZWI0Li44ZWU2YWI3MDQxN2E3ODg0MGI1
NTU3NzA0MTNmNTkzMTg4YzkzMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9T
aGFyZWFibGVCaXRtYXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRt
YXAuaApAQCAtODQsOSArODQsOSBAQCBwdWJsaWM6CiAgICAgICAgIENvbmZpZ3VyYXRpb24gbV9j
b25maWd1cmF0aW9uOwogICAgIH07CiAKLSAgICBzdGF0aWMgQ2hlY2tlZDx1bnNpZ25lZCwgUmVj
b3JkT3ZlcmZsb3c+IG51bUJ5dGVzRm9yU2l6ZShXZWJDb3JlOjpJbnRTaXplLCBjb25zdCBTaGFy
ZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mKTsKLSAgICBzdGF0aWMgQ2hlY2tlZDx1bnNpZ25l
ZCwgUmVjb3JkT3ZlcmZsb3c+IGNhbGN1bGF0ZUJ5dGVzUGVyUm93KFdlYkNvcmU6OkludFNpemUs
IGNvbnN0IENvbmZpZ3VyYXRpb24mKTsKLSAgICBzdGF0aWMgQ2hlY2tlZDx1bnNpZ25lZCwgUmVj
b3JkT3ZlcmZsb3c+IGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYp
OworICAgIHN0YXRpYyBDaGVja2VkVWludDMyIG51bUJ5dGVzRm9yU2l6ZShXZWJDb3JlOjpJbnRT
aXplLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mKTsKKyAgICBzdGF0aWMg
Q2hlY2tlZFVpbnQzMiBjYWxjdWxhdGVCeXRlc1BlclJvdyhXZWJDb3JlOjpJbnRTaXplLCBjb25z
dCBDb25maWd1cmF0aW9uJik7CisgICAgc3RhdGljIENoZWNrZWRVaW50MzIgY2FsY3VsYXRlQnl0
ZXNQZXJQaXhlbChjb25zdCBDb25maWd1cmF0aW9uJik7CiAKICAgICAvLyBDcmVhdGUgYSBzaGFy
ZWFibGUgYml0bWFwIHRoYXQgdXNlcyBtYWxsb2NlZCBtZW1vcnkuCiAgICAgc3RhdGljIFJlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgQ29uZmln
dXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFi
bGVCaXRtYXBDYWlyby5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVC
aXRtYXBDYWlyby5jcHAKaW5kZXggMTYxNzdjMDAwNzFlZTgyNmU4MDk2ZjNlZGY5YjgyYmI4Yzg1
MGZmOS4uMTdiMjA0MmQ1ZjMyYzIzNTZlNWIwNjJjYmUwYjRmZGE5ZGQ3ZjUzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcApA
QCAtNDAsMTIgKzQwLDEyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgY29u
c3QgY2Fpcm9fZm9ybWF0X3QgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMyOwogCi1D
aGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxh
dGVCeXRlc1BlclJvdyhXZWJDb3JlOjpJbnRTaXplIHNpemUsIGNvbnN0IENvbmZpZ3VyYXRpb24m
KQorQ2hlY2tlZFVpbnQzMiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KFdl
YkNvcmU6OkludFNpemUgc2l6ZSwgY29uc3QgQ29uZmlndXJhdGlvbiYpCiB7CiAgICAgcmV0dXJu
IGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9yX3dpZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCkp
OwogfQogCi1DaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFw
OjpjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mKQorQ2hlY2tlZFVp
bnQzMiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmln
dXJhdGlvbiYpCiB7CiAgICAgcmV0dXJuIDQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9j
Zy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKaW5kZXggMGZmYzY0ODAzZjdkODAyNzI3YzJlZTdjMjRm
NDAyM2RiNGI2MmNmMi4uZTA1MDUzYTk4NzZhOGQwZDgzM2U0NWM0YzdiZWY0YjdjNmJmOGM1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcApAQCAt
NzAsOSArNzAsOSBAQCBzdGF0aWMgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8oY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aQogICAgIHJldHVybiBpbmZvOwog
fQogCi1DaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpj
YWxjdWxhdGVCeXRlc1BlclJvdyhXZWJDb3JlOjpJbnRTaXplIHNpemUsIGNvbnN0IENvbmZpZ3Vy
YXRpb24mIGNvbmZpZ3VyYXRpb24pCitDaGVja2VkVWludDMyIFNoYXJlYWJsZUJpdG1hcDo6Y2Fs
Y3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSBzaXplLCBjb25zdCBDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQogewotICAgIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJm
bG93PiBieXRlc1BlclJvdyA9IGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikg
KiBzaXplLndpZHRoKCk7CisgICAgQ2hlY2tlZFVpbnQzMiBieXRlc1BlclJvdyA9IGNhbGN1bGF0
ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikgKiBzaXplLndpZHRoKCk7CiAjaWYgSEFWRShJ
T1NVUkZBQ0UpCiAgICAgaWYgKGJ5dGVzUGVyUm93Lmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAg
cmV0dXJuIGJ5dGVzUGVyUm93OwpAQCAtODIsNyArODIsNyBAQCBDaGVja2VkPHVuc2lnbmVkLCBS
ZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyhXZWJD
b3JlOgogI2VuZGlmCiB9CiAKLUNoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBTaGFy
ZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYg
Y29uZmlndXJhdGlvbikKK0NoZWNrZWRVaW50MzIgU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVC
eXRlc1BlclBpeGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAg
cmV0dXJuIHdhbnRzRXh0ZW5kZWRSYW5nZShjb25maWd1cmF0aW9uKSA/IDggOiA0OwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvd2luL1NoYXJlYWJsZUJpdG1hcERpcmVjdDJE
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9TaGFyZWFibGVCaXRtYXBEaXJlY3QyRC5j
cHAKaW5kZXggY2QxNThmMGNiNjQ3NmJkMjQ4Zjk3YzAwNjk2NTliNGYxYmY2NGUwMi4uM2IzZjBm
YmU2MmY1Y2NmYzUxNzc2MWQ0MTdkNGIwNTk5MmQ5ZmU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvd2luL1NoYXJlYWJsZUJpdG1hcERpcmVjdDJELmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC93aW4vU2hhcmVhYmxlQml0bWFwRGlyZWN0MkQuY3BwCkBAIC01MywxMiAr
NTMsMTIgQEAgc3RhdGljIHVuc2lnbmVkIHN0cmlkZUZvcldpZHRoKHVuc2lnbmVkIHdpZHRoKQog
ICAgIHJldHVybiBiaXRzUGVyUGl4ZWwgKiB3aWR0aCAvIDg7CiB9CiAKLUNoZWNrZWQ8dW5zaWdu
ZWQsIFJlY29yZE92ZXJmbG93PiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93
KFdlYkNvcmU6OkludFNpemUgc2l6ZSwgY29uc3QgQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKK0NoZWNrZWRVaW50MzIgU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyhX
ZWJDb3JlOjpJbnRTaXplIHNpemUsIGNvbnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiB7CiAgICAgcmV0dXJuIGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikgKiBz
aXplLndpZHRoKCk7CiB9CiAKLUNoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBTaGFy
ZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYp
CitDaGVja2VkVWludDMyIFNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChj
b25zdCBDb25maWd1cmF0aW9uJikKIHsKICAgICByZXR1cm4gNDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbQppbmRleCA3Y2Q4NDdlMGZmNWMzNjRh
YmZiMjVhOWJkY2MxMmJmYTFkYWUwYThkLi5hNGY1Njg3MTY0ZGNmOTdiMjViYjA3MjQyNTUxNjMy
MDhiZGY3MTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGV4dENo
ZWNrZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2Vy
TWFjLm1tCkBAIC00MzcsNyArNDM3LDcgQEAgdm9pZCBUZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxp
bmdVSVdpdGhNaXNzcGVsbGVkV29yZChTcGVsbERvY3VtZW50VGFnLCBjb25zdCBTdHIKIAogdm9p
ZCBUZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxpbmdVSVdpdGhHcmFtbWFyU3RyaW5nKFNwZWxsRG9j
dW1lbnRUYWcsIGNvbnN0IFN0cmluZyYgYmFkR3JhbW1hclBocmFzZSwgY29uc3QgR3JhbW1hckRl
dGFpbCYgZ3JhbW1hckRldGFpbCkKIHsKLSAgICBDaGVja2VkPHVpbnQ2NF90LCBSZWNvcmRPdmVy
Zmxvdz4gZW5kT2ZSYW5nZUNoZWNrZWQgPSBncmFtbWFyRGV0YWlsLnJhbmdlLmxvY2F0aW9uOwor
ICAgIENoZWNrZWRVaW50NjQgZW5kT2ZSYW5nZUNoZWNrZWQgPSBncmFtbWFyRGV0YWlsLnJhbmdl
LmxvY2F0aW9uOwogICAgIGVuZE9mUmFuZ2VDaGVja2VkICs9IGdyYW1tYXJEZXRhaWwucmFuZ2Uu
bGVuZ3RoOwogCiAgICAgdWludDY0X3QgZW5kT2ZSYW5nZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBC
YWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VC
dWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmNwcAppbmRleCBmNWIxZmEwZmVlNTk1MDBmY2I0
ZTlhZjBkYTVjMjcyMDRhODc0OGZlLi40NDg4NmFlOTU5OTZkZjk0MDQyMzc0N2MzZTBjNjE5YzQ4
YTc1NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tl
bmQuY3BwCkBAIC01NCwxMSArNTQsMTEgQEAgSW50U2l6ZSBJbWFnZUJ1ZmZlclNoYXJlYWJsZUJp
dG1hcEJhY2tlbmQ6OmNhbGN1bGF0ZVNhZmVCYWNrZW5kU2l6ZShjb25zdCBQYXJhbWUKICAgICBp
ZiAoYmFja2VuZFNpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgQ2hl
Y2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGJ5dGVzUGVyUm93ID0gU2hhcmVhYmxlQml0
bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyhiYWNrZW5kU2l6ZSwgY29uZmlndXJhdGlvbihwYXJh
bWV0ZXJzKSk7CisgICAgQ2hlY2tlZFVpbnQzMiBieXRlc1BlclJvdyA9IFNoYXJlYWJsZUJpdG1h
cDo6Y2FsY3VsYXRlQnl0ZXNQZXJSb3coYmFja2VuZFNpemUsIGNvbmZpZ3VyYXRpb24ocGFyYW1l
dGVycykpOwogICAgIGlmIChieXRlc1BlclJvdy5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJl
dHVybiB7IH07CiAKLSAgICBDaGVja2VkU2l6ZSBudW1CeXRlcyA9IENoZWNrZWQ8dW5zaWduZWQs
IFJlY29yZE92ZXJmbG93PihiYWNrZW5kU2l6ZS5oZWlnaHQoKSkgKiBieXRlc1BlclJvdzsKKyAg
ICBDaGVja2VkU2l6ZSBudW1CeXRlcyA9IENoZWNrZWRVaW50MzIoYmFja2VuZFNpemUuaGVpZ2h0
KCkpICogYnl0ZXNQZXJSb3c7CiAgICAgaWYgKG51bUJ5dGVzLmhhc092ZXJmbG93ZWQoKSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>