<?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>219311</bug_id>
          
          <creation_ts>2020-11-27 10:24:29 -0800</creation_ts>
          <short_desc>[LFC Display] Implement basic overflow:hidden clipping</short_desc>
          <delta_ts>2020-11-27 21:18:17 -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>Layout and Rendering</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1710334</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-27 10:24:29 -0800</bug_when>
    <thetext>[LFC Display] Implement basic overflow:hidden clipping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710335</commentid>
    <comment_count>1</comment_count>
      <attachid>414954</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-27 10:24:44 -0800</bug_when>
    <thetext>Created attachment 414954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710407</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-27 21:17:44 -0800</bug_when>
    <thetext>Committed r270215: &lt;https://trac.webkit.org/changeset/270215&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414954.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710408</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-27 21:18:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/71770654&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414954</attachid>
            <date>2020-11-27 10:24:44 -0800</date>
            <delta_ts>2020-11-27 21:17:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219311-20201127102443.patch</filename>
            <type>text/plain</type>
            <size>28435</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNhODViNzJiNWI0MjQ5
YTZkMTYzZTQ0ZGM0ZDU1NmFlOTlmY2IwMC4uNDcxMjRkZTdhNjlkZTBkYjU0OWJkZDJhZmFkZjg2
Y2RjNzgwYTc1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIwLTExLTI0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtMRkMgRGlzcGxh
eV0gSW1wbGVtZW50IGJhc2ljIG92ZXJmbG93OmhpZGRlbiBjbGlwcGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MzExCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEJveENsaXAgd2hpY2ggcmVw
cmVzZW50cyB0aGUgY2xpcCBnZW5lcmF0ZWQgYnkgd2Fsa2luZyB0aGUgY29udGFpbmluZyBibG9j
ayBhbmNlc3RvciBjaGFpbgorICAgICAgICBvZiBhIGJveC4gRGlzcGxheTo6Qm94TW9kZWxCb3gg
b3B0aW9uYWxseSBoYXMgYSBCb3hDbGlwIGlmIGl0J3MgYSBib3ggdGhhdCBwYWludHMgb3V0IG9m
IG9yZGVyCisgICAgICAgIChpLmUuIHBhcnRpY2lwYXRlcyBpbiB6LW9yZGVyIHNvcnRpbmcsIHNv
IHBvc2l0aW9uZWQgb3Igc3RhY2tpbmcgY29udGV4dCkuIFRoYXQgQm94Q2xpcAorICAgICAgICBy
ZXByZXNlbnRzIHRoZSBjbGlwIGNvbnRyaWJ1dGVkIGJ5IGFuY2VzdG9ycywgYW5kIGl0J3MgYXBw
bGllZCBiZWZvcmUgcGFpbnRpbmcgdGhpcyBib3guCisgICAgICAgIElmIGEgQm94IGhhcyBvdmVy
ZmxvdyBjbGlwLCB0aGVuIHRoYXQgaXMgYWxzbyBhZGRpdGlvbmFsbHkgYXBwbGllZCBiZWZvcmUg
cGFpbnRpbmcgdGhlCisgICAgICAgIGluLWZsb3cgZGVzY2VuZGFudHMgb2YgdGhlIGJveC4KKyAg
ICAgICAgCisgICAgICAgIFRvIGNvbXB1dGUgQm94Q2xpcCwgYXNrIHRoZSBkaXNwbGF5IGJveCBm
b3IgdGhlIHJlbGV2YW50IGNvbnRhaW5pbmcgYmxvY2sgZm9yIGl0cyBjbGlwLAorICAgICAgICB3
aGljaCB0YWtlcyB0aGUgY2xpcCBmcm9tIGFuY2VzdG9ycyBhbmQgYXBwZW5kcyB0aGUgY2xpcCBm
b3IgdGhhdCBib3ggKGlmIGFueSkuCisgICAgICAgIAorICAgICAgICBBbHNvIG1vdmUgYWNjZXNz
b3JzIGZvciBib3JkZXJSb3VuZGVkUmVjdCgpIGFuZCBpbm5lckJvcmRlclJvdW5kZWRSZWN0KCkg
b250byBEaXNwbGF5OjpCb3hNb2RlbEJveAorICAgICAgICBzaW5jZSB0aGV5IGFyZSBuZWVkZWQg
Zm9yIGNsaXBwaW5nIGFzIHdlbGwgYXMgcGFpbnRpbmcuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogZGlzcGxheS9jc3MvRGlzcGxheUJveENsaXAuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94TW9kZWxCb3guY3BwLgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6Qm94Q2xpcDo6Qm94Q2xpcCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
OjpCb3hDbGlwOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkJveENs
aXA6OnB1c2hDbGlwKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkJveENsaXA6OnB1c2hS
b3VuZGVkQ2xpcCk6CisgICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxheUJveENsaXAuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveE1vZGVsQm94LmNw
cC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkJveENsaXA6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5OjpCb3hDbGlwOjpjbGlwUmVjdCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpEaXNwbGF5OjpCb3hDbGlwOjphZmZlY3RlZEJ5Qm9yZGVyUmFkaXVzIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkJveENsaXA6OmNsaXBTdGFjayBjb25zdCk6Cisg
ICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25EYXRhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXk6OnJvdW5kZWRSZWN0V2l0aEluY2x1ZGVkUmFkaWkpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheTo6cm91bmRlZEluc2V0Qm9yZGVyRm9yUmVjdCk6CisgICAg
ICAgICogZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25EYXRhLmg6CisgICAgICAgICog
ZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25QYWludGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXk6OkJveERlY29yYXRpb25QYWludGVyOjppbm5lckJvcmRlclJvdW5kZWRS
ZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OnJvdW5kZWRSZWN0V2l0aElu
Y2x1ZGVkUmFkaWkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6cm91bmRl
ZEluc2V0Qm9yZGVyRm9yUmVjdCk6IERlbGV0ZWQuCisgICAgICAgICogZGlzcGxheS9jc3MvRGlz
cGxheUJveEZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Qm94RmFjdG9y
eTo6c2V0dXBCb3hNb2RlbEJveCBjb25zdCk6CisgICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxh
eUJveE1vZGVsQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkJveE1vZGVsQm94
Ojpib3JkZXJSb3VuZGVkUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpC
b3hNb2RlbEJveDo6aW5uZXJCb3JkZXJSb3VuZGVkUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5OjpCb3hNb2RlbEJveDo6c2V0QW5jZXN0b3JDbGlwKToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXk6OkJveE1vZGVsQm94OjpjbGlwRm9yRGVzY2VuZGFudHMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Qm94TW9kZWxCb3g6OmRlYnVnRGVzY3JpcHRpb24g
Y29uc3QpOgorICAgICAgICAqIGRpc3BsYXkvY3NzL0Rpc3BsYXlCb3hNb2RlbEJveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Qm94TW9kZWxCb3g6OmFuY2VzdG9yQ2xpcCBjb25zdCk6
CisgICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxheUNTU1BhaW50ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheTo6YXBwbHlDbGlwSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6YXBwbHlBbmNlc3RvckNsaXApOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eTo6Q1NTUGFpbnRlcjo6cmVjdXJzaXZlUGFpbnREZXNjZW5kYW50c0ZvclBoYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXk6OkNTU1BhaW50ZXI6OnBhaW50QXRvbWljYWxseVBhaW50ZWRC
b3gpOgorICAgICAgICAqIGRpc3BsYXkvY3NzL0Rpc3BsYXlDb250YWluZXJCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Q29udGFpbmVyQm94OjpkZWJ1Z0Rlc2NyaXB0aW9uIGNv
bnN0KToKKyAgICAgICAgKiBkaXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheTo6U3R5bGU6OlN0eWxlKToKKyAgICAgICAgKiBkaXNwbGF5L2Nzcy9E
aXNwbGF5U3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlN0eWxlOjpoYXNDbGlw
cGVkT3ZlcmZsb3cgY29uc3QpOgorCiAyMDIwLTExLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkMgRGlzcGxheV0gRml4IGJveCBsb2NhdGlv
bnMgZm9yIHBvc2l0aW9uZWQgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNzI2Mjg5MWVjYzYz
MDM0N2RjODk1MGUxMzBiNGRkNWYxZTJjZjU1OS4uZWQ3MWM2ZDczNDliZWRhNTZhNmM5MWVjZjAw
YjJhNmVhOWM3MDJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTgzNCw2ICs4MzQsNyBAQCBjc3MvdHlw
ZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcAogY3NzL3R5cGVkb20vVHlwZWRPTUNTU1VucGFy
c2VkVmFsdWUuY3BwCiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKIGRpc3BsYXkvY3NzL0Rp
c3BsYXlCb3guY3BwCitkaXNwbGF5L2Nzcy9EaXNwbGF5Qm94Q2xpcC5jcHAKIGRpc3BsYXkvY3Nz
L0Rpc3BsYXlCb3hEZWNvcmF0aW9uRGF0YS5jcHAKIGRpc3BsYXkvY3NzL0Rpc3BsYXlCb3hEZWNv
cmF0aW9uUGFpbnRlci5jcHAKIGRpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDkxZDc0Yzc0NTIyNTk3OTA2NzkxYWQxZThhMjEyODNkNTRjNjExNjguLjNjNzBlMTFiMzZmNGI4
MTE1YWVmZjM2NWMzNDhiZDE3ODZkYTg2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYxMDMsNiArNjEwMyw4IEBACiAJCTBG
QjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRkI4ODkwQzE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGQjg4OTBEMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2Rl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQkZDRTI0MjU2Q0JEOUEwMEEwQjQ4
OSAvKiBEaXNwbGF5Qm94Q2xpcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5Qm94Q2xp
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQkZDRTI2MjU2Q0JEOUEwMEEw
QjQ4OSAvKiBEaXNwbGF5Qm94Q2xpcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5Qm94Q2xpcC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkMwNTE2ODIxOUI1RUJFMDAzMUMzOUUg
LyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQzA1MTZBMjE5QjVFQkUwMDMxQzM5RSAvKiBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZDNEIwMDQyMkI5QTAyQzAwQ0YzQjFFIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE3ODEwLDYgKzE3ODEyLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTBGRkYx
QjcyMjUxQkM2NTcwMDk4Nzk1QSAvKiBEaXNwbGF5Qm94LmNwcCAqLywKIAkJCQkwRkZGMUI3ODI1
MUJDNjU3MDA5ODc5NUEgLyogRGlzcGxheUJveC5oICovLAorCQkJCTBGQkZDRTI0MjU2Q0JEOUEw
MEEwQjQ4OSAvKiBEaXNwbGF5Qm94Q2xpcC5jcHAgKi8sCisJCQkJMEZCRkNFMjYyNTZDQkQ5QTAw
QTBCNDg5IC8qIERpc3BsYXlCb3hDbGlwLmggKi8sCiAJCQkJMEY5NDcyMkIyNTM0QjA0NTAwRjE1
M0M4IC8qIERpc3BsYXlCb3hEZWNvcmF0aW9uRGF0YS5jcHAgKi8sCiAJCQkJMEY5NDcyMjkyNTM0
QjA0NTAwRjE1M0M4IC8qIERpc3BsYXlCb3hEZWNvcmF0aW9uRGF0YS5oICovLAogCQkJCTBGNjM4
RTQ2MjU1NzIzNzcwMDk3NDY2OCAvKiBEaXNwbGF5Qm94RGVjb3JhdGlvblBhaW50ZXIuY3BwICov
LApAQCAtMTgwMjIsNyArMTgwMjYsNiBAQAogCQkJCUExQ0M1NjRBMUY0NjEzQkIwMEE0NTU1QiAv
KiBQYXltZW50UmVxdWVzdCAqLywKIAkJCQkxRDAwMjY5QTIzNzRCOUY4MDBDQTZDREYgLyogUGlj
dHVyZUluUGljdHVyZSAqLywKIAkJCQlBOUQyNDdGOTBENzU3RTQxMDBGREY5NTkgLyogUGx1Z2lu
cyAqLywKLQkJCQk4OUY2MEIxNzE1N0Y2QTAyMDA3NUUxNTcgLyogUXVvdGEgKi8sCiAJCQkJQkM5
ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8qIFJhbmdlcyAqLywKIAkJCQlDRDhDNkMyNDIyRkREQTY0
MDBBNzIwQUIgLyogUmVtb3RlUGxheWJhY2sgKi8sCiAJCQkJNTE4MkMyNEMxRjMxNDIwOTAwNTlC
QTdDIC8qIFNlcnZpY2VXb3JrZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlz
cGxheS9jc3MvRGlzcGxheUJveENsaXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3Mv
RGlzcGxheUJveENsaXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMmU4NWFmNDAzNWI5NzQ0YjU0Nzc5YTM2
MjQ5NmI5NmE5YTk3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5
L2Nzcy9EaXNwbGF5Qm94Q2xpcC5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEaXNwbGF5Qm94Q2xpcC5oIgorCisjaWYgRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgRGlzcGxheSB7CisKK0JveENsaXA6
OkJveENsaXAoKSA9IGRlZmF1bHQ7CitCb3hDbGlwOjp+Qm94Q2xpcCgpID0gZGVmYXVsdDsKKwor
Qm94Q2xpcDo6Qm94Q2xpcChjb25zdCBCb3hDbGlwJiBvdGhlcikKKyAgICA6IG1fY2xpcFJlY3Qo
b3RoZXIuY2xpcFJlY3QoKSkKKyAgICAsIG1fY2xpcFN0YWNrKG90aGVyLmNsaXBTdGFjaygpKQor
ICAgICwgbV9hZmZlY3RlZEJ5Qm9yZGVyUmFkaXVzKG90aGVyLmFmZmVjdGVkQnlCb3JkZXJSYWRp
dXMoKSkKK3sKK30KKworUmVmPEJveENsaXA+IEJveENsaXA6OmNvcHkoKSBjb25zdAoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEJveENsaXAoKnRoaXMpKTsKK30KKwordm9pZCBCb3hDbGlw
OjpwdXNoQ2xpcChjb25zdCBBYnNvbHV0ZUZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAobV9j
bGlwUmVjdCkgeworICAgICAgICBtX2NsaXBSZWN0LT5pbnRlcnNlY3QocmVjdCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgCisgICAgbV9jbGlwUmVjdCA9IHJlY3Q7Cit9CisKK3ZvaWQg
Qm94Q2xpcDo6cHVzaFJvdW5kZWRDbGlwKGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIHJvdW5kZWRS
ZWN0KQoreworICAgIEFTU0VSVChyb3VuZGVkUmVjdC5pc1JvdW5kZWQoKSk7CisgICAgcHVzaENs
aXAocm91bmRlZFJlY3QucmVjdCgpKTsKKworICAgIG1fYWZmZWN0ZWRCeUJvcmRlclJhZGl1cyA9
IHRydWU7CisgICAgbV9jbGlwU3RhY2suYXBwZW5kKHJvdW5kZWRSZWN0KTsKK30KKworCisKK30g
Ly8gbmFtZXNwYWNlIERpc3BsYXkKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveENsaXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Rpc3Bs
YXkvY3NzL0Rpc3BsYXlCb3hDbGlwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTEyNTJhZjg2MmQwOTdmYjFhMDky
YWRmM2YwZmMwNzIxOGYxYWZmZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rp
c3BsYXkvY3NzL0Rpc3BsYXlCb3hDbGlwLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisK
KyNpbmNsdWRlICJEaXNwbGF5Qm94LmgiCisjaW5jbHVkZSAiRmxvYXRSb3VuZGVkUmVjdC5oIgor
I2luY2x1ZGUgIlJlY3RFZGdlcy5oIgorI2luY2x1ZGUgPHV0aWxpdHk+CisjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVuZGVyU3R5bGU7
CisKK25hbWVzcGFjZSBMYXlvdXQgeworY2xhc3MgQm94OworY2xhc3MgQm94R2VvbWV0cnk7Cit9
CisKK25hbWVzcGFjZSBEaXNwbGF5IHsKKworY2xhc3MgQm94Q2xpcCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEJveENsaXA+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRF9XSVRIX0hFQVBfSURF
TlRJRklFUihCb3hDbGlwKTsKK3B1YmxpYzoKKyAgICB+Qm94Q2xpcCgpOworCisgICAgc3RhdGlj
IFJlZjxCb3hDbGlwPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEJveENsaXApOyB9
CisgICAgUmVmPEJveENsaXA+IGNvcHkoKSBjb25zdDsKKworICAgIE9wdGlvbmFsPEFic29sdXRl
RmxvYXRSZWN0PiBjbGlwUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcFJlY3Q7IH0KKyAgICAK
KyAgICBib29sIGFmZmVjdGVkQnlCb3JkZXJSYWRpdXMoKSBjb25zdCB7IHJldHVybiBtX2FmZmVj
dGVkQnlCb3JkZXJSYWRpdXM7IH0KKyAgICBjb25zdCBWZWN0b3I8RmxvYXRSb3VuZGVkUmVjdD4m
IGNsaXBTdGFjaygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcFN0YWNrOyB9CisKKyAgICB2b2lkIHB1
c2hDbGlwKGNvbnN0IEFic29sdXRlRmxvYXRSZWN0Jik7CisgICAgdm9pZCBwdXNoUm91bmRlZENs
aXAoY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYpOworCitwcml2YXRlOgorICAgIEJveENsaXAoKTsK
KyAgICBCb3hDbGlwKGNvbnN0IEJveENsaXAmKTsKKworICAgIE9wdGlvbmFsPEFic29sdXRlRmxv
YXRSZWN0PiBtX2NsaXBSZWN0OworICAgIFZlY3RvcjxGbG9hdFJvdW5kZWRSZWN0PiBtX2NsaXBT
dGFjazsKKyAgICBib29sIG1fYWZmZWN0ZWRCeUJvcmRlclJhZGl1cyB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBEaXNwbGF5Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKworI2Vu
ZGlmIC8vIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25EYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hEZWNvcmF0aW9uRGF0YS5jcHAKaW5k
ZXggMzU5NTFmNzhiYWFmZGU0NmM0ZDllOWM1OGI1MzI0MmVjNzI0MzQwMS4uN2FhNDczYWUyYWYx
YTU0ZmY0YzMyNjAyNmMzOWIwODNlYmNkNTM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RGVjb3JhdGlvbkRhdGEuY3BwCkBAIC05OCw2ICs5
OCwzOCBAQCBSZWN0RWRnZXM8Qm9yZGVyRWRnZT4gY2FsY3VsYXRlQm9yZGVyRWRnZXMoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBmbG9hdCBwaXhlbAogICAgIH07CiB9CiAKK0Zsb2F0Um91bmRl
ZFJlY3Qgcm91bmRlZFJlY3RXaXRoSW5jbHVkZWRSYWRpaShjb25zdCBGbG9hdFJlY3QmIHJlY3Qs
IGNvbnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSwgYm9vbCBpbmNsdWRlTGVmdEVk
Z2UsIGJvb2wgaW5jbHVkZVJpZ2h0RWRnZSkKK3sKKyAgICBGbG9hdFJvdW5kZWRSZWN0OjpSYWRp
aSByZXN1bHRSYWRpaTsKKworICAgIGlmIChpbmNsdWRlTGVmdEVkZ2UpIHsKKyAgICAgICAgcmVz
dWx0UmFkaWkuc2V0VG9wTGVmdChyYWRpaS50b3BMZWZ0KCkpOworICAgICAgICByZXN1bHRSYWRp
aS5zZXRCb3R0b21MZWZ0KHJhZGlpLmJvdHRvbUxlZnQoKSk7CisgICAgfQorCisgICAgaWYgKGlu
Y2x1ZGVSaWdodEVkZ2UpIHsKKyAgICAgICAgcmVzdWx0UmFkaWkuc2V0VG9wUmlnaHQocmFkaWku
dG9wUmlnaHQoKSk7CisgICAgICAgIHJlc3VsdFJhZGlpLnNldEJvdHRvbVJpZ2h0KHJhZGlpLmJv
dHRvbVJpZ2h0KCkpOworICAgIH0KKworICAgIHJlc3VsdFJhZGlpLnNjYWxlKGNhbGNCb3JkZXJS
YWRpaUNvbnN0cmFpbnRTY2FsZUZvcihyZWN0LCByZXN1bHRSYWRpaSkpOworICAgIHJldHVybiBG
bG9hdFJvdW5kZWRSZWN0IHsgcmVjdCwgcmVzdWx0UmFkaWkgfTsKK30KKworRmxvYXRSb3VuZGVk
UmVjdCByb3VuZGVkSW5zZXRCb3JkZXJGb3JSZWN0KGNvbnN0IEZsb2F0UmVjdCYgYm9yZGVyUmVj
dCwgY29uc3QgRmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkmIHJhZGlpLCBjb25zdCBSZWN0RWRnZXM8
ZmxvYXQ+JiBib3JkZXJXaWR0aCwgYm9vbCBpbmNsdWRlTGVmdEVkZ2UsIGJvb2wgaW5jbHVkZVJp
Z2h0RWRnZSkKK3sKKyAgICBhdXRvIGluc2V0UmVjdCA9IEZsb2F0UmVjdCB7IGJvcmRlclJlY3Qu
eCgpICsgYm9yZGVyV2lkdGgubGVmdCgpLCBib3JkZXJSZWN0LnkoKSArIGJvcmRlcldpZHRoLnRv
cCgpLAorICAgICAgICBib3JkZXJSZWN0LndpZHRoKCkgLSBib3JkZXJXaWR0aC5sZWZ0KCkgLSBi
b3JkZXJXaWR0aC5yaWdodCgpLCBib3JkZXJSZWN0LmhlaWdodCgpIC0gYm9yZGVyV2lkdGgudG9w
KCkgLSBib3JkZXJXaWR0aC5ib3R0b20oKSB9OworCisgICAgaWYgKCFyYWRpaS5pc1plcm8oKSkg
eworICAgICAgICBhdXRvIGFkanVzdGVkUmFkaWkgPSByYWRpaTsKKyAgICAgICAgYWRqdXN0ZWRS
YWRpaS5zaHJpbmsoYm9yZGVyV2lkdGgudG9wKCksIGJvcmRlcldpZHRoLmJvdHRvbSgpLCBib3Jk
ZXJXaWR0aC5sZWZ0KCksIGJvcmRlcldpZHRoLnJpZ2h0KCkpOworICAgICAgICByZXR1cm4gcm91
bmRlZFJlY3RXaXRoSW5jbHVkZWRSYWRpaShpbnNldFJlY3QsIGFkanVzdGVkUmFkaWksIGluY2x1
ZGVMZWZ0RWRnZSwgaW5jbHVkZVJpZ2h0RWRnZSk7CisgICAgfQorCisgICAgcmV0dXJuIEZsb2F0
Um91bmRlZFJlY3QgeyBpbnNldFJlY3QsIHsgfSB9OworfQorCiBzdGQ6OnBhaXI8Qm94U2lkZSwg
Qm94U2lkZT4gYWRqYWNlbnRTaWRlc0ZvclNpZGUoQm94U2lkZSBzaWRlKQogewogICAgIHN3aXRj
aCAoc2lkZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxh
eUJveERlY29yYXRpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5
Qm94RGVjb3JhdGlvbkRhdGEuaAppbmRleCAzYmMzNzE0OWYxY2U4NzViOWEzYTcyODg1ZWQxZDUy
MzNkNzExYzc2Li4wYzczODAxZDBiZDExNGU3OGFiNDYxOWI1MmNiMDUxMDZjNzM2N2YxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RGVjb3JhdGlvbkRh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RGVjb3JhdGlv
bkRhdGEuaApAQCAtMTIwLDYgKzEyMCw5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpPiBtX2JvcmRlclJhZGlpOwogfTsKIAorRmxvYXRSb3Vu
ZGVkUmVjdCByb3VuZGVkUmVjdFdpdGhJbmNsdWRlZFJhZGlpKGNvbnN0IEZsb2F0UmVjdCYsIGNv
bnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiwgYm9vbCBpbmNsdWRlTGVmdEVkZ2UgPSB0cnVl
LCBib29sIGluY2x1ZGVSaWdodEVkZ2UgPSB0cnVlKTsKK0Zsb2F0Um91bmRlZFJlY3Qgcm91bmRl
ZEluc2V0Qm9yZGVyRm9yUmVjdChjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJvdW5kZWRS
ZWN0OjpSYWRpaSYsIGNvbnN0IFJlY3RFZGdlczxmbG9hdD4mLCBib29sIGluY2x1ZGVMZWZ0RWRn
ZSA9IHRydWUsIGJvb2wgaW5jbHVkZVJpZ2h0RWRnZSA9IHRydWUpOworCiB9IC8vIG5hbWVzcGFj
ZSBEaXNwbGF5CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hEZWNvcmF0aW9uUGFpbnRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RGVjb3JhdGlvblBhaW50ZXIuY3BwCmlu
ZGV4IDdmYzdkODZhMDRjMjAwOTY5Y2QwN2Y3MDQ3ZTBiNTYyYTljMWUyMmYuLjg4YzdiZTVmZDc2
YTc0MTdkODY4OWU1OTFkMzdkY2FiNGFhMDlmZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hEZWNvcmF0aW9uUGFpbnRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveERlY29yYXRpb25QYWludGVyLmNwcApAQCAt
MTE3LDM4ICsxMTcsNiBAQCBwcml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9pbmNsdWRlUmlnaHRF
ZGdlOwogfTsKIAotc3RhdGljIEZsb2F0Um91bmRlZFJlY3Qgcm91bmRlZFJlY3RXaXRoSW5jbHVk
ZWRSYWRpaShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJh
ZGlpJiByYWRpaSwgYm9vbCBpbmNsdWRlTGVmdEVkZ2UsIGJvb2wgaW5jbHVkZVJpZ2h0RWRnZSkK
LXsKLSAgICBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSByZXN1bHRSYWRpaTsKLQotICAgIGlmIChp
bmNsdWRlTGVmdEVkZ2UpIHsKLSAgICAgICAgcmVzdWx0UmFkaWkuc2V0VG9wTGVmdChyYWRpaS50
b3BMZWZ0KCkpOwotICAgICAgICByZXN1bHRSYWRpaS5zZXRCb3R0b21MZWZ0KHJhZGlpLmJvdHRv
bUxlZnQoKSk7Ci0gICAgfQotCi0gICAgaWYgKGluY2x1ZGVSaWdodEVkZ2UpIHsKLSAgICAgICAg
cmVzdWx0UmFkaWkuc2V0VG9wUmlnaHQocmFkaWkudG9wUmlnaHQoKSk7Ci0gICAgICAgIHJlc3Vs
dFJhZGlpLnNldEJvdHRvbVJpZ2h0KHJhZGlpLmJvdHRvbVJpZ2h0KCkpOwotICAgIH0KLQotICAg
IHJlc3VsdFJhZGlpLnNjYWxlKGNhbGNCb3JkZXJSYWRpaUNvbnN0cmFpbnRTY2FsZUZvcihyZWN0
LCByZXN1bHRSYWRpaSkpOwotICAgIHJldHVybiBGbG9hdFJvdW5kZWRSZWN0IHsgcmVjdCwgcmVz
dWx0UmFkaWkgfTsKLX0KLQotc3RhdGljIEZsb2F0Um91bmRlZFJlY3Qgcm91bmRlZEluc2V0Qm9y
ZGVyRm9yUmVjdChjb25zdCBGbG9hdFJlY3QmIGJvcmRlclJlY3QsIGNvbnN0IEZsb2F0Um91bmRl
ZFJlY3Q6OlJhZGlpJiByYWRpaSwgY29uc3QgUmVjdEVkZ2VzPGZsb2F0PiYgYm9yZGVyV2lkdGgs
IGJvb2wgaW5jbHVkZUxlZnRFZGdlLCBib29sIGluY2x1ZGVSaWdodEVkZ2UpCi17Ci0gICAgYXV0
byBpbnNldFJlY3QgPSBGbG9hdFJlY3QgeyBib3JkZXJSZWN0LngoKSArIGJvcmRlcldpZHRoLmxl
ZnQoKSwgYm9yZGVyUmVjdC55KCkgKyBib3JkZXJXaWR0aC50b3AoKSwKLSAgICAgICAgYm9yZGVy
UmVjdC53aWR0aCgpIC0gYm9yZGVyV2lkdGgubGVmdCgpIC0gYm9yZGVyV2lkdGgucmlnaHQoKSwg
Ym9yZGVyUmVjdC5oZWlnaHQoKSAtIGJvcmRlcldpZHRoLnRvcCgpIC0gYm9yZGVyV2lkdGguYm90
dG9tKCkgfTsKLQotICAgIGlmICghcmFkaWkuaXNaZXJvKCkpIHsKLSAgICAgICAgYXV0byBhZGp1
c3RlZFJhZGlpID0gcmFkaWk7Ci0gICAgICAgIGFkanVzdGVkUmFkaWkuc2hyaW5rKGJvcmRlcldp
ZHRoLnRvcCgpLCBib3JkZXJXaWR0aC5ib3R0b20oKSwgYm9yZGVyV2lkdGgubGVmdCgpLCBib3Jk
ZXJXaWR0aC5yaWdodCgpKTsKLSAgICAgICAgcmV0dXJuIHJvdW5kZWRSZWN0V2l0aEluY2x1ZGVk
UmFkaWkoaW5zZXRSZWN0LCBhZGp1c3RlZFJhZGlpLCBpbmNsdWRlTGVmdEVkZ2UsIGluY2x1ZGVS
aWdodEVkZ2UpOwotICAgIH0KLQotICAgIHJldHVybiBGbG9hdFJvdW5kZWRSZWN0IHsgaW5zZXRS
ZWN0LCB7IH0gfTsKLX0KLQogLy8gQm9yZGVyU3R5bGU6Ok91dHNldCBkYXJrZW5zIHRoZSBib3R0
b20gYW5kIHJpZ2h0IChhbmQgbWF5YmUgbGlnaHRlbnMgdGhlIHRvcCBhbmQgbGVmdCkKIC8vIEJv
cmRlclN0eWxlOjpJbnNldCBkYXJrZW5zIHRoZSB0b3AgYW5kIGxlZnQgKGFuZCBtYXliZSBsaWdo
dGVucyB0aGUgYm90dG9tIGFuZCByaWdodCkKIGJvb2wgQm9yZGVyUGFpbnRlcjo6Ym9yZGVyU3R5
bGVIYXNVbm1hdGNoZWRDb2xvcnNBdENvcm5lcihCb3JkZXJTdHlsZSBzdHlsZSwgQm94U2lkZSBz
aWRlLCBCb3hTaWRlIGFkamFjZW50U2lkZSkKQEAgLTE1MDIsMTAgKzE0NzAsNyBAQCB2b2lkIEJv
eERlY29yYXRpb25QYWludGVyOjpwYWludEJhY2tncm91bmRJbWFnZXMoUGFpbnRpbmdDb250ZXh0
JiBwYWludGluZ0NvbnRleAogCiBGbG9hdFJvdW5kZWRSZWN0IEJveERlY29yYXRpb25QYWludGVy
Ojppbm5lckJvcmRlclJvdW5kZWRSZWN0KCkgY29uc3QKIHsKLSAgICBpZiAoYXV0byogYm94RGVj
b3JhdGlvbkRhdGEgPSBtX2JveC5ib3hEZWNvcmF0aW9uRGF0YSgpKQotICAgICAgICByZXR1cm4g
cm91bmRlZEluc2V0Qm9yZGVyRm9yUmVjdChtX2JvcmRlclJlY3QucmVjdCgpLCBtX2JvcmRlclJl
Y3QucmFkaWkoKSwgYm9yZGVyV2lkdGhzKGJveERlY29yYXRpb25EYXRhLT5ib3JkZXJFZGdlcygp
KSwgbV9pbmNsdWRlTGVmdEVkZ2UsIG1faW5jbHVkZVJpZ2h0RWRnZSk7Ci0KLSAgICByZXR1cm4g
Ym9yZGVyUm91bmRlZFJlY3QoKTsKKyAgICByZXR1cm4gbV9ib3guaW5uZXJCb3JkZXJSb3VuZGVk
UmVjdCgpOwogfQogCiBGbG9hdFJvdW5kZWRSZWN0IEJveERlY29yYXRpb25QYWludGVyOjpiYWNr
Z3JvdW5kUm91bmRlZFJlY3RBZGp1c3RlZEZvckJsZWVkQXZvaWRhbmNlKGNvbnN0IFBhaW50aW5n
Q29udGV4dCYgcGFpbnRpbmdDb250ZXh0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZGlzcGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvZGlz
cGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuY3BwCmluZGV4IDNmZDlhMTZhODRkMDgxYjMyZmY4
MzI4NzhmNWU2ZjY1MGQ0MmFjZDYuLmUwODFiYWJiMmQ3ODNiYmNiZjJlZjA5YTBhYTQ5NTU0NjFl
MTVhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hG
YWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFj
dG9yeS5jcHAKQEAgLTIwOSw2ICsyMDksMTEgQEAgdm9pZCBCb3hGYWN0b3J5OjpzZXR1cEJveE1v
ZGVsQm94KEJveE1vZGVsQm94JiBib3gsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gKIAog
ICAgIGF1dG8gYm94RGVjb3JhdGlvbkRhdGEgPSBjb25zdHJ1Y3RCb3hEZWNvcmF0aW9uRGF0YShs
YXlvdXRCb3gsIGxheW91dEdlb21ldHJ5LCBzdHlsZUZvckJhY2tncm91bmQsIGNvbnRhaW5pbmdC
bG9ja0NvbnRleHQub2Zmc2V0RnJvbVJvb3QpOwogICAgIGJveC5zZXRCb3hEZWNvcmF0aW9uRGF0
YShXVEZNb3ZlKGJveERlY29yYXRpb25EYXRhKSk7CisKKyAgICBpZiAoYm94LnN0eWxlKCkucGFy
dGljaXBhdGVzSW5aT3JkZXJTb3J0aW5nKCkpIHsKKyAgICAgICAgUmVmUHRyPEJveENsaXA+IGNs
aXAgPSBjb250YWluaW5nQmxvY2tDb250ZXh0LmJveC5jbGlwRm9yRGVzY2VuZGFudHMoKTsKKyAg
ICAgICAgYm94LnNldEFuY2VzdG9yQ2xpcChXVEZNb3ZlKGNsaXApKTsKKyAgICB9CiB9CiAKIGNv
bnN0IExheW91dDo6Q29udGFpbmVyQm94KiBCb3hGYWN0b3J5Ojpkb2N1bWVudEVsZW1lbnRCb3hG
cm9tUm9vdEJveChjb25zdCBMYXlvdXQ6OkNvbnRhaW5lckJveCYgcm9vdExheW91dEJveCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hNb2RlbEJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94TW9kZWxCb3guY3BwCmlu
ZGV4IDZkYTAwOTgwMGRmNDBlOTEwNDIyNWUyYjlhMDljNDJlYzBlMGQyMTcuLjg4OTk1YTQzMTFi
MmFlNTJhZGRiNjUwZjliNmU2OTViNjZkZmFiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hNb2RlbEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZGlzcGxheS9jc3MvRGlzcGxheUJveE1vZGVsQm94LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJEaXNwbGF5
Qm94Q2xpcC5oIgogI2luY2x1ZGUgIkRpc3BsYXlCb3hEZWNvcmF0aW9uRGF0YS5oIgogI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVh
bS5oPgpAQCAtNDcsMTAgKzQ4LDY1IEBAIHZvaWQgQm94TW9kZWxCb3g6OnNldEJveERlY29yYXRp
b25EYXRhKHN0ZDo6dW5pcXVlX3B0cjxCb3hEZWNvcmF0aW9uRGF0YT4mJiBkZWNvCiAgICAgbV9i
b3hEZWNvcmF0aW9uRGF0YSA9IFdURk1vdmUoZGVjb3JhdGlvbkRhdGEpOwogfQogCitGbG9hdFJv
dW5kZWRSZWN0IEJveE1vZGVsQm94Ojpib3JkZXJSb3VuZGVkUmVjdCgpIGNvbnN0Cit7CisgICAg
YXV0byBib3JkZXJSZWN0ID0gRmxvYXRSb3VuZGVkUmVjdCB7IGFic29sdXRlQm9yZGVyQm94UmVj
dCgpLCB7IH0gfTsKKyAgICBhdXRvKiBib3JkZXJSYWRpaSA9IG1fYm94RGVjb3JhdGlvbkRhdGEg
PyBtX2JveERlY29yYXRpb25EYXRhLT5ib3JkZXJSYWRpaSgpIDogbnVsbHB0cjsKKyAgICBpZiAo
Ym9yZGVyUmFkaWkpCisgICAgICAgIGJvcmRlclJlY3Quc2V0UmFkaWkoKmJvcmRlclJhZGlpKTsK
KyAgICAKKyAgICByZXR1cm4gYm9yZGVyUmVjdDsKK30KKworRmxvYXRSb3VuZGVkUmVjdCBCb3hN
b2RlbEJveDo6aW5uZXJCb3JkZXJSb3VuZGVkUmVjdCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Jv
eERlY29yYXRpb25EYXRhKQorICAgICAgICByZXR1cm4gYm9yZGVyUm91bmRlZFJlY3QoKTsKKwor
ICAgIGlmICghbV9ib3hEZWNvcmF0aW9uRGF0YS0+Ym9yZGVyUmFkaWkoKSkKKyAgICAgICAgcmV0
dXJuIHJvdW5kZWRJbnNldEJvcmRlckZvclJlY3QoYWJzb2x1dGVCb3JkZXJCb3hSZWN0KCksIHsg
fSwgYm9yZGVyV2lkdGhzKG1fYm94RGVjb3JhdGlvbkRhdGEtPmJvcmRlckVkZ2VzKCkpKTsKKwor
ICAgIHJldHVybiByb3VuZGVkSW5zZXRCb3JkZXJGb3JSZWN0KGFic29sdXRlQm9yZGVyQm94UmVj
dCgpLCAqbV9ib3hEZWNvcmF0aW9uRGF0YS0+Ym9yZGVyUmFkaWkoKSwgYm9yZGVyV2lkdGhzKG1f
Ym94RGVjb3JhdGlvbkRhdGEtPmJvcmRlckVkZ2VzKCkpKTsKK30KKwordm9pZCBCb3hNb2RlbEJv
eDo6c2V0QW5jZXN0b3JDbGlwKFJlZlB0cjxCb3hDbGlwPiYmIGNsaXApCit7CisgICAgbV9hbmNl
c3RvckNsaXAgPSBXVEZNb3ZlKGNsaXApOworfQorCitSZWZQdHI8Qm94Q2xpcD4gQm94TW9kZWxC
b3g6OmNsaXBGb3JEZXNjZW5kYW50cygpIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLmhhc0Ns
aXBwZWRPdmVyZmxvdygpKQorICAgICAgICByZXR1cm4gbV9hbmNlc3RvckNsaXA7CisKKyAgICBh
dXRvIGNsaXAgPSBtX2FuY2VzdG9yQ2xpcCA/IG1fYW5jZXN0b3JDbGlwLT5jb3B5KCkgOiBCb3hD
bGlwOjpjcmVhdGUoKTsKKworICAgIGF1dG8gcHVzaENsaXAgPSBbJl0oQm94Q2xpcCYgYm94Q2xp
cCkgeworICAgICAgICBpZiAobV9ib3hEZWNvcmF0aW9uRGF0YSAmJiBtX2JveERlY29yYXRpb25E
YXRhLT5oYXNCb3JkZXJSYWRpdXMoKSkgeworICAgICAgICAgICAgYXV0byByb3VuZGVkSW5uZXJC
b3JkZXIgPSBpbm5lckJvcmRlclJvdW5kZWRSZWN0KCk7CisgICAgICAgICAgICBpZiAocm91bmRl
ZElubmVyQm9yZGVyLmlzUm91bmRlZCgpKSB7CisgICAgICAgICAgICAgICAgYm94Q2xpcC5wdXNo
Um91bmRlZENsaXAocm91bmRlZElubmVyQm9yZGVyKTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJveENsaXAucHVzaENsaXAocm91bmRlZElu
bmVyQm9yZGVyLnJlY3QoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBib3hDbGlwLnB1c2hDbGlwKGFic29sdXRlUGFkZGluZ0JveFJlY3QoKSk7CisgICAgfTsK
KyAgICBwdXNoQ2xpcChjbGlwKTsKKworICAgIHJldHVybiBjbGlwOworfQorCiBTdHJpbmcgQm94
TW9kZWxCb3g6OmRlYnVnRGVzY3JpcHRpb24oKSBjb25zdAogewogICAgIFRleHRTdHJlYW0gc3Ry
ZWFtOwogICAgIHN0cmVhbSA8PCAiZGlzcGxheSBib3ggbW9kZWwgYm94ICIgPDwgYWJzb2x1dGVC
b3JkZXJCb3hSZWN0KCkgPDwgIiAoIiA8PCB0aGlzIDw8ICIpIjsKKyAgICBpZiAobV9hbmNlc3Rv
ckNsaXApCisgICAgICAgIHN0cmVhbSA8PCAiIGFuY2VzdG9yIGNsaXAgIiA8PCBtX2FuY2VzdG9y
Q2xpcC0+Y2xpcFJlY3QoKSA8PCAiIGFmZmVjdGVkIGJ5IHJhZGl1cyAiIDw8IG1fYW5jZXN0b3JD
bGlwLT5hZmZlY3RlZEJ5Qm9yZGVyUmFkaXVzKCk7CisKICAgICByZXR1cm4gc3RyZWFtLnJlbGVh
c2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxh
eUJveE1vZGVsQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94TW9k
ZWxCb3guaAppbmRleCBkMzBjMTBmY2FlY2QyN2I4NjlmZWViZjdlZjk2MWVkZWJiYzYyYWNlLi44
ZjA1ODM4NjkxMGM2NzE3Y2Y0MTBkYzRmNTVmZTExZmM5YmRkNTA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94TW9kZWxCb3guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94TW9kZWxCb3guaApAQCAtMjgsMTAgKzI4LDEy
IEBACiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRlICJE
aXNwbGF5Qm94LmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBuYW1lc3BhY2UgRGlzcGxheSB7CiAKK2NsYXNzIEJveENsaXA7CiBjbGFzcyBCb3hEZWNv
cmF0aW9uRGF0YTsKIAogLy8gQSBib3ggaW4gdGhlIHNlbnNlIG9mIHRoZSBDU1MgQm94IE1vZGVs
LgpAQCAtNDcsNiArNDksMTAgQEAgcHVibGljOgogICAgIEFic29sdXRlRmxvYXRSZWN0IGFic29s
dXRlQ29udGVudEJveFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRCb3hSZWN0OyB9CiAK
ICAgICBjb25zdCBCb3hEZWNvcmF0aW9uRGF0YSogYm94RGVjb3JhdGlvbkRhdGEoKSBjb25zdCB7
IHJldHVybiBtX2JveERlY29yYXRpb25EYXRhLmdldCgpOyB9CisgICAgY29uc3QgQm94Q2xpcCog
YW5jZXN0b3JDbGlwKCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXAuZ2V0KCk7IH0KKwor
ICAgIEZsb2F0Um91bmRlZFJlY3QgYm9yZGVyUm91bmRlZFJlY3QoKSBjb25zdDsKKyAgICBGbG9h
dFJvdW5kZWRSZWN0IGlubmVyQm9yZGVyUm91bmRlZFJlY3QoKSBjb25zdDsKIAogICAgIHZpcnR1
YWwgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdDsKIApAQCAtNTQsMTIgKzYwLDE3IEBA
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEJveEZhY3Rvcnk7CiAgICAgdm9pZCBzZXRBYnNv
bHV0ZVBhZGRpbmdCb3hSZWN0KGNvbnN0IEFic29sdXRlRmxvYXRSZWN0JiBib3gpIHsgbV9wYWRk
aW5nQm94UmVjdCA9IGJveDsgfQogICAgIHZvaWQgc2V0QWJzb2x1dGVDb250ZW50Qm94UmVjdChj
b25zdCBBYnNvbHV0ZUZsb2F0UmVjdCYgYm94KSB7IG1fY29udGVudEJveFJlY3QgPSBib3g7IH0K
KwogICAgIHZvaWQgc2V0Qm94RGVjb3JhdGlvbkRhdGEoc3RkOjp1bmlxdWVfcHRyPEJveERlY29y
YXRpb25EYXRhPiYmKTsKIAorICAgIHZvaWQgc2V0QW5jZXN0b3JDbGlwKFJlZlB0cjxCb3hDbGlw
PiYmKTsKKyAgICBSZWZQdHI8Qm94Q2xpcD4gY2xpcEZvckRlc2NlbmRhbnRzKCkgY29uc3Q7CisK
ICAgICBBYnNvbHV0ZUZsb2F0UmVjdCBtX3BhZGRpbmdCb3hSZWN0OwogICAgIEFic29sdXRlRmxv
YXRSZWN0IG1fY29udGVudEJveFJlY3Q7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Qm94RGVjb3Jh
dGlvbkRhdGE+IG1fYm94RGVjb3JhdGlvbkRhdGE7CisgICAgUmVmUHRyPEJveENsaXA+IG1fYW5j
ZXN0b3JDbGlwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgRGlzcGxheQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUNTU1BhaW50ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUNTU1BhaW50ZXIuY3BwCmluZGV4IDUwYmM0ZTA4OTc3
ZGI0YjZhOGE3NTZiYzU5MWNlOGY5MTc1ZDYwZjIuLjI3ODhjYWVmNDE0NWQ0ZmM1NjVlOGZjOWM0
MmUwMmFhZGEyMjg1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rp
c3BsYXlDU1NQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNw
bGF5Q1NTUGFpbnRlci5jcHAKQEAgLTM5LDkgKzM5LDM4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBuYW1lc3BhY2UgRGlzcGxheSB7CiAKK3N0YXRpYyB2b2lkIGFwcGx5Q2xpcElmTmVjZXNzYXJ5
KGNvbnN0IEJveCYgYm94LCBQYWludGluZ0NvbnRleHQmIHBhaW50aW5nQ29udGV4dCwgR3JhcGhp
Y3NDb250ZXh0U3RhdGVTYXZlciYgc3RhdGVTYXZlcikKK3sKKyAgICBpZiAoaXM8Qm94TW9kZWxC
b3g+KGJveCkgJiYgYm94LnN0eWxlKCkuaGFzQ2xpcHBlZE92ZXJmbG93KCkpIHsKKyAgICAgICAg
c3RhdGVTYXZlci5zYXZlKCk7CisgICAgICAgIGF1dG8gcm91bmRlZElubmVyQm9yZGVyID0gZG93
bmNhc3Q8Qm94TW9kZWxCb3g+KGJveCkuaW5uZXJCb3JkZXJSb3VuZGVkUmVjdCgpOworICAgICAg
ICBwYWludGluZ0NvbnRleHQuY29udGV4dC5jbGlwUm91bmRlZFJlY3Qocm91bmRlZElubmVyQm9y
ZGVyKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGFwcGx5QW5jZXN0b3JDbGlwKGNvbnN0IEJv
eE1vZGVsQm94JiBib3gsIFBhaW50aW5nQ29udGV4dCYgcGFpbnRpbmdDb250ZXh0LCBHcmFwaGlj
c0NvbnRleHRTdGF0ZVNhdmVyJiBzdGF0ZVNhdmVyKQoreworICAgIGF1dG8qIGJveENsaXAgPSBi
b3guYW5jZXN0b3JDbGlwKCk7CisgICAgaWYgKCFib3hDbGlwIHx8ICFib3hDbGlwLT5jbGlwUmVj
dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGF0ZVNhdmVyLnNhdmUoKTsKKworICAgIGlm
ICghYm94Q2xpcC0+YWZmZWN0ZWRCeUJvcmRlclJhZGl1cygpKSB7CisgICAgICAgIHBhaW50aW5n
Q29udGV4dC5jb250ZXh0LmNsaXAoKmJveENsaXAtPmNsaXBSZWN0KCkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgZm9yIChhdXRvJiByb3VuZGVkUmVjdCA6IGJveENsaXAtPmNsaXBT
dGFjaygpKQorICAgICAgICBwYWludGluZ0NvbnRleHQuY29udGV4dC5jbGlwUm91bmRlZFJlY3Qo
cm91bmRlZFJlY3QpOworfQorCiAvLyBGSVhNRTogTWFrZSB0aGlzIGFuIGl0ZXJhdG9yLgogdm9p
ZCBDU1NQYWludGVyOjpyZWN1cnNpdmVQYWludERlc2NlbmRhbnRzRm9yUGhhc2UoY29uc3QgQ29u
dGFpbmVyQm94JiBjb250YWluZXJCb3gsIFBhaW50aW5nQ29udGV4dCYgcGFpbnRpbmdDb250ZXh0
LCBQYWludFBoYXNlIHBhaW50UGhhc2UpCiB7CisgICAgYXV0byBzdGF0ZVNhdmVyID0gR3JhcGhp
Y3NDb250ZXh0U3RhdGVTYXZlciB7IHBhaW50aW5nQ29udGV4dC5jb250ZXh0LCBmYWxzZSB9Owor
ICAgIGFwcGx5Q2xpcElmTmVjZXNzYXJ5KGNvbnRhaW5lckJveCwgcGFpbnRpbmdDb250ZXh0LCBz
dGF0ZVNhdmVyKTsKKwogICAgIGZvciAoY29uc3QgYXV0byogY2hpbGQgPSBjb250YWluZXJCb3gu
Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewogICAg
ICAgICBhdXRvJiBib3ggPSAqY2hpbGQ7CiAgICAgICAgIGlmIChwYXJ0aWNpcGF0ZXNJblpPcmRl
clNvcnRpbmcoYm94KSkKQEAgLTg5LDcgKzExOCwxMiBAQCB2b2lkIENTU1BhaW50ZXI6OnJlY3Vy
c2l2ZVBhaW50RGVzY2VuZGFudHMoY29uc3QgQ29udGFpbmVyQm94JiBjb250YWluZXJCb3gsIFBh
aQogdm9pZCBDU1NQYWludGVyOjpwYWludEF0b21pY2FsbHlQYWludGVkQm94KGNvbnN0IEJveCYg
Ym94LCBQYWludGluZ0NvbnRleHQmIHBhaW50aW5nQ29udGV4dCwgY29uc3QgSW50UmVjdCYgZGly
dHlSZWN0LCBJbmNsdWRlU3RhY2tpbmdDb250ZXh0RGVzY2VuZGFudHMgaW5jbHVkZVN0YWNraW5n
Q29udGV4dERlc2NlbmRhbnRzKQogewogICAgIFVOVVNFRF9QQVJBTShkaXJ0eVJlY3QpOwotICAg
IAorCisgICAgYXV0byBzdGF0ZVNhdmVyID0gR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciB7IHBh
aW50aW5nQ29udGV4dC5jb250ZXh0LCBmYWxzZSB9OworCisgICAgaWYgKGlzPEJveE1vZGVsQm94
Pihib3gpKQorICAgICAgICBhcHBseUFuY2VzdG9yQ2xpcChkb3duY2FzdDxCb3hNb2RlbEJveD4o
Ym94KSwgcGFpbnRpbmdDb250ZXh0LCBzdGF0ZVNhdmVyKTsKKwogICAgIEJveFBhaW50ZXI6OnBh
aW50Qm94KGJveCwgcGFpbnRpbmdDb250ZXh0LCBkaXJ0eVJlY3QpOwogICAgIGlmICghaXM8Q29u
dGFpbmVyQm94Pihib3gpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Q29udGFpbmVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Rpc3BsYXkvY3NzL0Rpc3BsYXlDb250YWluZXJCb3guY3BwCmluZGV4IGYwMzlmMWNhZmQyZjJk
NWNhNTc5YzdjNTg3NTE1MTQwNzkyMWE3NGQuLjEzYjVjMzVhMGNmNjE1NDk1M2U0NGQ2OGI4YTFi
NWQ4MmQyM2NlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3Bs
YXlDb250YWluZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3Bs
YXlDb250YWluZXJCb3guY3BwCkBAIC00OCw2ICs0OCw5IEBAIFN0cmluZyBDb250YWluZXJCb3g6
OmRlYnVnRGVzY3JpcHRpb24oKSBjb25zdAogewogICAgIFRleHRTdHJlYW0gc3RyZWFtOwogICAg
IHN0cmVhbSA8PCAiY29udGFpbmVyIGJveCAiIDw8IGFic29sdXRlQm9yZGVyQm94UmVjdCgpIDw8
ICIgKCIgPDwgdGhpcyA8PCAiKSI7CisgICAgaWYgKGF1dG8qIGNsaXAgPSBhbmNlc3RvckNsaXAo
KSkKKyAgICAgICAgc3RyZWFtIDw8ICIgYW5jZXN0b3IgY2xpcCAiIDw8IGNsaXAtPmNsaXBSZWN0
KCkgPDwgIiBhZmZlY3RlZCBieSByYWRpdXMgIiA8PCBjbGlwLT5hZmZlY3RlZEJ5Qm9yZGVyUmFk
aXVzKCk7CisKICAgICByZXR1cm4gc3RyZWFtLnJlbGVhc2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheVN0eWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlTdHlsZS5jcHAKaW5kZXggZjEzYjU5NDk0Nzc3MTY5ZDdl
ZTQ0MWQ1YTNhZTY2NDEyODFhNTE0OS4uN2QwNjc2MzkzODlmZDg1NWVmOTZmYTNkYjMwYmRhMTll
NzM2MDUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheVN0
eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuY3Bw
CkBAIC05NSw2ICs5NSw5IEBAIFN0eWxlOjpTdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUs
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZUZvckJhY2tncm91bmQpCiAgICAgICAgIHNldHVwQmFj
a2dyb3VuZCgqc3R5bGVGb3JCYWNrZ3JvdW5kKTsKIAogICAgIG1fYm94U2hhZG93ID0gZGVlcENv
cHkoc3R5bGUuYm94U2hhZG93KCksIHN0eWxlKTsKKyAgICAKKyAgICBtX292ZXJmbG93WCA9IHN0
eWxlLm92ZXJmbG93WCgpOworICAgIG1fb3ZlcmZsb3dZID0gc3R5bGUub3ZlcmZsb3dZKCk7CiAK
ICAgICBpZiAoIXN0eWxlLmhhc0F1dG9Vc2VkWkluZGV4KCkpCiAgICAgICAgIG1fekluZGV4ID0g
c3R5bGUudXNlZFpJbmRleCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9j
c3MvRGlzcGxheVN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5U3R5
bGUuaAppbmRleCA0MjkyNTZjODYyOTJkYmU3ZmYxMzY4YTk1MmIyNmRlOGEwZDQzNWYyLi5iMWEz
N2NmZWNmZGI5MDVmYjEwM2YyZjk0NTY2YmE2ZmY1ODE4ZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
aXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuaApAQCAtODIsNiArODIsMTAgQEAgcHVibGljOgogCiAg
ICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlKCkgY29uc3QgeyByZXR1cm4gbV9mb250
Q2FzY2FkZTsgfQogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsg
cmV0dXJuIG1fZm9udENhc2NhZGUuZm9udE1ldHJpY3MoKTsgfQorICAgIAorICAgIE92ZXJmbG93
IG92ZXJmbG93WCgpIGNvbnN0OworICAgIE92ZXJmbG93IG92ZXJmbG93WSgpIGNvbnN0OworICAg
IGJvb2wgaGFzQ2xpcHBlZE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvd1ggIT0g
T3ZlcmZsb3c6OlZpc2libGUgfHwgbV9vdmVyZmxvd1kgIT0gT3ZlcmZsb3c6OlZpc2libGU7IH0K
IAogICAgIFdoaXRlU3BhY2Ugd2hpdGVTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2hpdGVTcGFj
ZTsgfQogICAgIGJvb2wgYXV0b1dyYXAoKSBjb25zdDsKQEAgLTEwMSw2ICsxMDUsOSBAQCBwcml2
YXRlOgogCiAgICAgUmVmUHRyPEZpbGxMYXllcj4gbV9iYWNrZ3JvdW5kTGF5ZXJzOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBtX2JveFNoYWRvdzsKKyAgICAKKyAgICBPdmVyZmxv
dyBtX292ZXJmbG93WDsKKyAgICBPdmVyZmxvdyBtX292ZXJmbG93WTsKIAogICAgIEZvbnRDYXNj
YWRlIG1fZm9udENhc2NhZGU7CiAgICAgV2hpdGVTcGFjZSBtX3doaXRlU3BhY2U7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>