<?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>216613</bug_id>
          
          <creation_ts>2020-09-16 10:07:39 -0700</creation_ts>
          <short_desc>[LFC][FFC] Add basic flex item sizing and positioning</short_desc>
          <delta_ts>2020-09-16 13:10:16 -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>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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</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>1689146</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-16 10:07:39 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689149</commentid>
    <comment_count>1</comment_count>
      <attachid>408933</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-16 10:16:04 -0700</bug_when>
    <thetext>Created attachment 408933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689190</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-16 13:09:09 -0700</bug_when>
    <thetext>Committed r267157: &lt;https://trac.webkit.org/changeset/267157&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408933.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689191</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-16 13:10:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/69009271&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408933</attachid>
            <date>2020-09-16 10:16:04 -0700</date>
            <delta_ts>2020-09-16 13:09:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216613-20200916101603.patch</filename>
            <type>text/plain</type>
            <size>21419</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YwNzQ3OTYwNmQxNTAw
ODVkNzI5NTYzZjA1ODVmYWJmOTIzZGZlZC4uZTFmZTliNzA2ZTQ5YzlhMDIyNTBhOWZiZDQwOTc0
N2UzN2I0YjU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA5LTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRkZDXSBBZGQgYmFz
aWMgZmxleCBpdGVtIHNpemluZyBhbmQgcG9zaXRpb25pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjYxMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBz
aW5nbGUgbGluZSAobm8td3JhcCksIHJvdyBiYXNlZCBmbGV4IGl0ZW0gbGF5b3V0IHdpdGggZGVm
YXVsdCBzcGFjaW5nLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRl
eHQvZmxleC1ib3gtc2ltcGxlLmh0bWwKKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdD
b250ZXh0Um9vdCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om91dHB1dE1pc21hdGNoaW5nQmxvY2tCb3hJbmZvcm1h
dGlvbklmTmVlZGVkKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFu
ZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhGb3JtYXR0aW5n
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsZXhGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0SW5GbG93Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZs
ZXhGb3JtYXR0aW5nQ29udGV4dDo6c2l6ZUFuZFBsYWNlRmxleEl0ZW1zKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6RmxleEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW50cmluc2ljV2lk
dGhDb25zdHJhaW50c0ZvckZsZXhJdGVtcyk6CisgICAgICAgICogbGF5b3V0L2ZsZXhmb3JtYXR0
aW5nL0ZsZXhGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpG
bGV4Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpHZW9tZXRyeSk6CisgICAgICAgICogbGF5
b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsZXhGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpOgorICAgICAgICAqIGxheW91dC9mbGV4
Zm9ybWF0dGluZy9GbGV4Rm9ybWF0dGluZ1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZsZXhGb3JtYXR0aW5nU3RhdGU6OmxpbmVzIGNvbnN0KTogRmxleCBsYXlvdXQgaGFzIHRo
ZSBjb25jZXB0IG9mIGxpbmVzIHdoZXJlIGZsZXggd3JhcCBtYXkgdHJpZ2dlciBtdWx0aS1saW5l
IGxheW91dC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxleEZvcm1hdHRpbmdTdGF0ZTo6
YWRkTGluZSk6CisKIDIwMjAtMDktMTYgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtGRkNdIENyZWF0ZSBhIExheW91dDo6Q29udGFpbmVyQm94IGZvciBm
bGV4IGNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAxZGY1NDg1NWIwZGNkNGMyNmE0Zjc2YjM1
NDJmYTIxNDZjZmJhOWQ4Li43ZmQxYTQ3YzY1MDM4MmNjN2U5ZWIwYTBkNmFiZWJmNzM2YjQ2ZGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtMTQzNyw2ICsxNDM3LDcgQEAgbGF5b3V0L2Rpc3BsYXl0cmVl
L0Rpc3BsYXlCb3guY3BwCiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUlubGluZUNvbnRlbnQu
Y3BwCiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCiBsYXlvdXQvZmxleGZv
cm1hdHRpbmcvRmxleEZvcm1hdHRpbmdDb250ZXh0LmNwcAorbGF5b3V0L2ZsZXhmb3JtYXR0aW5n
L0ZsZXhGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAogbGF5b3V0L2ZsZXhmb3JtYXR0aW5n
L0ZsZXhGb3JtYXR0aW5nU3RhdGUuY3BwCiBsYXlvdXQvZmxvYXRzL0Zsb2F0QXZvaWRlci5jcHAK
IGxheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY2NTU5OGY2MzUwNGQ4MzVk
NGRkYTczZTI2N2U2MjI5ZDA3MTMzZDIuLjRlOGE5NmJjNzczMzdhNDI4OTlhM2VkODQ3Nzg3ZWE4
MTI3Mjk3ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTk1OTMsNiArOTU5Myw3IEBACiAJCTZGNjM4M0Y0MjQyN0FGNDkwMERB
QkE1MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY2NjM4RDQyNDlFMjY4QjAwMTkyNUZDIC8qIFRhYmxlV3Jh
cHBlckJsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VGFibGVXcmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZGNjlBNzk5MjRENkZBQjgwMEU2Qjg1RCAvKiBJbmxpbmVMaW5l
Qm94LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUxpbmVCb3guY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk2RjcwREVERDI1MTEyNkYzMDBGMEZDNzggLyogRmxleEZvcm1h
dHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxleEZvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2Rjcz
OTE4QzIxMDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5pdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5
b3V0VW5pdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Nzg2ODUyMzQ5MUFD
NjAwNEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3Bs
YXlQYWludGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Nzg2ODcyMzQ5
MUFENzAwNEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERpc3BsYXlQYWludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMTc5MSw2ICsyMTc5Miw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk2RkI3RDJENzI1MEZE
N0U1MDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLywKIAkJCQk2RkI3RDJE
OTI1MEZEN0ZDMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmggKi8sCisJCQkJNkY3
MERFREQyNTExMjZGMzAwRjBGQzc4IC8qIEZsZXhGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cCAqLywKIAkJCQk2RkI3RDJEODI1MEZEN0VGMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0
ZS5jcHAgKi8sCiAJCQkJNkZCN0QyREEyNTBGRDdGQzAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5n
U3RhdGUuaCAqLywKIAkJCSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggNzBlMDc3NTYxMWE4ZTVjYWIwNTYzY2VkNWVm
NWU5YzQwNTc1MTJiMC4uNmY2YWZiNmViNzg1MjBlOGJiZGI5NzE2M2QyMTQxNjcyY2M1NTUwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21l
dHJ5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19D
T05URVhUKQogCiAjaW5jbHVkZSAiQmxvY2tGb3JtYXR0aW5nU3RhdGUuaCIKKyNpbmNsdWRlICJG
bGV4Rm9ybWF0dGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRpbmdTdGF0ZS5oIgogI2luY2x1
ZGUgIklubGluZUZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkxheW91dENvbnRleHQuaCIK
QEAgLTE5OCw2ICsxOTksMTEgQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QoY28KICAgICAgICAgQVNT
RVJUKCFsaW5lcy5pc0VtcHR5KCkpOwogICAgICAgICB0b3AgPSBsaW5lcy5maXJzdCgpLnRvcCgp
OwogICAgICAgICBib3R0b20gPSBsaW5lcy5sYXN0KCkuYm90dG9tKCk7CisgICAgfSBlbHNlIGlm
IChmb3JtYXR0aW5nUm9vdENvbnRhaW5lci5lc3RhYmxpc2hlc0ZsZXhGb3JtYXR0aW5nQ29udGV4
dCgpKSB7CisgICAgICAgIGF1dG8mIGxpbmVzID0gbGF5b3V0U3RhdGUuZXN0YWJsaXNoZWRGbGV4
Rm9ybWF0dGluZ1N0YXRlKGZvcm1hdHRpbmdSb290Q29udGFpbmVyKS5saW5lcygpOworICAgICAg
ICBBU1NFUlQoIWxpbmVzLmlzRW1wdHkoKSk7CisgICAgICAgIHRvcCA9IGxpbmVzLmZpcnN0KCku
dG9wKCk7CisgICAgICAgIGJvdHRvbSA9IGxpbmVzLmxhc3QoKS5ib3R0b20oKTsKICAgICB9IGVs
c2UgaWYgKGZvcm1hdHRpbmdSb290Q29udGFpbmVyLmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5n
Q29udGV4dCgpIHx8IGZvcm1hdHRpbmdSb290Q29udGFpbmVyLmVzdGFibGlzaGVzVGFibGVGb3Jt
YXR0aW5nQ29udGV4dCgpIHx8IGZvcm1hdHRpbmdSb290Q29udGFpbmVyLmlzRG9jdW1lbnRCb3go
KSkgewogICAgICAgICBpZiAoZm9ybWF0dGluZ1Jvb3RDb250YWluZXIuaGFzSW5GbG93Q2hpbGQo
KSkgewogICAgICAgICAgICAgYXV0byYgZmlyc3RCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250
ZXh0Lmdlb21ldHJ5Rm9yQm94KCpmb3JtYXR0aW5nUm9vdENvbnRhaW5lci5maXJzdEluRmxvd0No
aWxkKCksIEVzY2FwZVJlYXNvbjo6TmVlZHNHZW9tZXRyeUZyb21Fc3RhYmxpc2hlZEZvcm1hdHRp
bmdDb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKaW5kZXggMzYy
NTcwZGZmNTc3YWQ4ZTI4YWI1OWFiMDk1ZmEwMTJjZDE4NmExOS4uNTczYzYzZDE3YTdjZjQyYmVl
NDQzNTUzNmZkODc0MzEyMTRkYmI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L1ZlcmlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlv
bi5jcHAKQEAgLTI1MSw3ICsyNTEsNyBAQCBzdGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ0Js
b2NrQm94SW5mb3JtYXRpb25JZk5lZWRlZChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbgogCiAgICAg
ICAgIGF1dG8gbWFyZ2luQmVmb3JlID0gYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCk7CiAgICAg
ICAgIGF1dG8gbWFyZ2luQWZ0ZXIgPSBib3hHZW9tZXRyeS5tYXJnaW5BZnRlcigpOwotICAgICAg
ICBpZiAobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKSB7CisgICAgICAgIGlmIChsYXlvdXRC
b3guZm9ybWF0dGluZ0NvbnRleHRSb290KCkuZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0KCkpIHsKICAgICAgICAgICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGRvd25jYXN0PEJs
b2NrRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZS5mb3JtYXR0aW5nU3RhdGVGb3JCb3gobGF5
b3V0Qm94KSk7CiAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ1N0
YXRlLnVzZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRCb3gpOwogICAgICAgICAgICAgbWFyZ2luQmVm
b3JlID0gdmVydGljYWxNYXJnaW4ubm9uQ29sbGFwc2VkVmFsdWVzLmJlZm9yZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBjMzg3ZTYzMzNmNTI5
ZjdhYmY4ZTBkNzE1MWFiMDZhYWUzMGJkOGZlLi41NDAyZmI5ODIwMjYwZjBlNjM4NjU4MDVjNjJk
N2JjYzc3MTUwNjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0
cnkuY3BwCkBAIC0xMDQsOSArMTA0LDkgQEAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRIZWlnaHQKICAgICAg
ICAgcmV0dXJuIHsgMCwgbm9uQ29sbGFwc2VkTWFyZ2luIH07CiAgICAgfTsKIAotICAgIC8vIDEw
LjYuNyAnQXV0bycgaGVpZ2h0cyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0IHJvb3RzCisg
ICAgLy8gMTAuNi43ICdBdXRvJyBoZWlnaHRzIGZvciBibG9jay1sZXZlbCBmb3JtYXR0aW5nIGNv
bnRleHQgYm94ZXMuCiAgICAgYXV0byBpc0F1dG9IZWlnaHQgPSAhb3ZlcnJpZGVWZXJ0aWNhbFZh
bHVlcy5oZWlnaHQgJiYgIWNvbXB1dGVkSGVpZ2h0KGxheW91dEJveCk7Ci0gICAgaWYgKGlzQXV0
b0hlaWdodCAmJiBsYXlvdXRCb3guZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkp
CisgICAgaWYgKGlzQXV0b0hlaWdodCAmJiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGlu
Z0NvbnRleHQoKSAmJiAhbGF5b3V0Qm94LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQoKSkpCiAgICAgICAgIHJldHVybiBjb21wdXRlKCBPdmVycmlkZVZlcnRpY2FsVmFsdWVzIHsg
Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChsYXlvdXRCb3gpIH0pOwogICAg
IHJldHVybiBjb21wdXRlKG92ZXJyaWRlVmVydGljYWxWYWx1ZXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhGb3JtYXR0aW5nQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxleGZvcm1hdHRpbmcvRmxleEZvcm1hdHRp
bmdDb250ZXh0LmNwcAppbmRleCA3NWRmZTRjNTExMGZjZjk0MDQzYzVjNmNkMWMwM2UzNjc1NTky
ZDBhLi5lNjk5ZTZlYzczOWI4YmVlMDNiNjAyZjI1NjAwMjI5YTk2Y2E2ZmUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxleGZvcm1hdHRpbmcvRmxleEZvcm1hdHRpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxleGZvcm1hdHRpbmcvRmxleEZv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVOQUJMRShMQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiRmxleEZvcm1hdHRpbmdTdGF0ZS5oIgor
I2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCisjaW5jbHVkZSAiTGF5b3V0Q2hpbGRJdGVy
YXRvci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQxLDggKzQzLDEwIEBAIEZsZXhGb3JtYXR0aW5nQ29udGV4dDo6RmxleEZv
cm1hdHRpbmdDb250ZXh0KGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ0NvbnRlCiB7CiB9
CiAKLXZvaWQgRmxleEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFs
aWRhdGlvblN0YXRlJiwgY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JikKK3ZvaWQg
RmxleEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0
YXRlJiwgY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBjb25zdHJhaW50cykKIHsK
KyAgICBjb21wdXRlSW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckZsZXhJdGVtcygpOworICAg
IHNpemVBbmRQbGFjZUZsZXhJdGVtcyhjb25zdHJhaW50cyk7CiB9CiAKIEZvcm1hdHRpbmdDb250
ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIEZsZXhGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkKQEAgLTUwLDYgKzU0LDYwIEBAIEZvcm1h
dHRpbmdDb250ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIEZsZXhGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZWRJbnRyCiAgICAgcmV0dXJuIHsgfTsKIH0KIAordm9pZCBGbGV4Rm9ybWF0
dGluZ0NvbnRleHQ6OnNpemVBbmRQbGFjZUZsZXhJdGVtcyhjb25zdCBDb25zdHJhaW50c0Zvcklu
Rmxvd0NvbnRlbnQmIGNvbnN0cmFpbnRzKQoreworICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9
IHRoaXMtPmZvcm1hdHRpbmdTdGF0ZSgpOworICAgIGF1dG8gZ2VvbWV0cnkgPSB0aGlzLT5nZW9t
ZXRyeSgpOworICAgIGF1dG8gZmxleEl0ZW1NYWluQXhpc1N0YXJ0ID0gY29uc3RyYWludHMuaG9y
aXpvbnRhbC5sb2dpY2FsTGVmdDsKKyAgICBhdXRvIGZsZXhJdGVtTWFpbkF4aXNFbmQgPSBmbGV4
SXRlbU1haW5BeGlzU3RhcnQ7CisgICAgYXV0byBmbGV4SXRlbUNyb3NBeGlzU3RhcnQgPSBjb25z
dHJhaW50cy52ZXJ0aWNhbC5sb2dpY2FsVG9wOworICAgIGF1dG8gZmxleEl0ZW1Dcm9zQXhpc0Vu
ZCA9IGZsZXhJdGVtQ3Jvc0F4aXNTdGFydDsKKyAgICBmb3IgKGF1dG8mIGZsZXhJdGVtIDogY2hp
bGRyZW5PZlR5cGU8Q29udGFpbmVyQm94Pihyb290KCkpKSB7CisgICAgICAgIEFTU0VSVChmbGV4
SXRlbS5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOworICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyBqdXN0IGEgc2ltcGxlLCBsZXQncyBsYXlvdXQgdGhlIGZsZXggaXRlbXMgYW5kIHBs
YWNlIHRoZW0gbmV4dCB0byBlYWNoIG90aGVyIHNldHVwLgorICAgICAgICBhdXRvIGludHJpbnNp
Y1dpZHRocyA9IGZvcm1hdHRpbmdTdGF0ZS5pbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94
KGZsZXhJdGVtKTsKKyAgICAgICAgYXV0byBmbGV4SXRlbUxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWlu
KHN0ZDo6bWF4KGludHJpbnNpY1dpZHRocy0+bWluaW11bSwgY29uc3RyYWludHMuaG9yaXpvbnRh
bC5sb2dpY2FsV2lkdGgpLCBpbnRyaW5zaWNXaWR0aHMtPm1heGltdW0pOworICAgICAgICBhdXRv
IGZsZXhJdGVtQ29uc3RyYWludHMgPSBDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQgeyB7IHsg
fSwgZmxleEl0ZW1Mb2dpY2FsV2lkdGggfSwgeyB9IH07CisKKyAgICAgICAgYXV0byBpbnZhbGlk
YXRpb25TdGF0ZSA9IEludmFsaWRhdGlvblN0YXRlIHsgfTsKKyAgICAgICAgTGF5b3V0Q29udGV4
dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZmxleEl0ZW0sIGxheW91dFN0YXRlKCkpLT5sYXlv
dXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBmbGV4SXRlbUNvbnN0cmFpbnRzKTsK
KworICAgICAgICBhdXRvIGNvbXB1dGVGbGV4SXRlbUdlb21ldHJ5ID0gWyZdIHsKKyAgICAgICAg
ICAgIGF1dG8mIGZsZXhJdGVtR2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnko
ZmxleEl0ZW0pOworCisgICAgICAgICAgICBmbGV4SXRlbUdlb21ldHJ5LnNldFRvcExlZnQoTGF5
b3V0UG9pbnQgeyBmbGV4SXRlbU1haW5BeGlzRW5kLCBmbGV4SXRlbUNyb3NBeGlzU3RhcnQgfSk7
CisKKyAgICAgICAgICAgIGZsZXhJdGVtR2VvbWV0cnkuc2V0Qm9yZGVyKGdlb21ldHJ5LmNvbXB1
dGVkQm9yZGVyKGZsZXhJdGVtKSk7CisgICAgICAgICAgICBmbGV4SXRlbUdlb21ldHJ5LnNldFBh
ZGRpbmcoZ2VvbWV0cnkuY29tcHV0ZWRQYWRkaW5nKGZsZXhJdGVtLCBjb25zdHJhaW50cy5ob3Jp
em9udGFsLmxvZ2ljYWxXaWR0aCkpOworCisgICAgICAgICAgICBhdXRvIGNvbXB1dGVkSG9yaXpv
bnRhbE1hcmdpbiA9IGdlb21ldHJ5LmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbihmbGV4SXRlbSwg
Y29uc3RyYWludHMuaG9yaXpvbnRhbCk7CisgICAgICAgICAgICBmbGV4SXRlbUdlb21ldHJ5LnNl
dEhvcml6b250YWxNYXJnaW4oeyBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVP
cigwX2x1KSwgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZC52YWx1ZU9yKDBfbHUpIH0pOwor
CisgICAgICAgICAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBnZW9tZXRyeS5jb21w
dXRlZFZlcnRpY2FsTWFyZ2luKGZsZXhJdGVtLCBjb25zdHJhaW50cy5ob3Jpem9udGFsKTsKKyAg
ICAgICAgICAgIGZsZXhJdGVtR2VvbWV0cnkuc2V0VmVydGljYWxNYXJnaW4oeyBjb21wdXRlZFZl
cnRpY2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDBfbHUpLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2lu
LmFmdGVyLnZhbHVlT3IoMF9sdSkgfSk7CisKKyAgICAgICAgICAgIGZsZXhJdGVtR2VvbWV0cnku
c2V0Q29udGVudEJveEhlaWdodChnZW9tZXRyeS5jb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0Nv
bnRleHRSb290KGZsZXhJdGVtKSk7CisgICAgICAgICAgICBmbGV4SXRlbUdlb21ldHJ5LnNldENv
bnRlbnRCb3hXaWR0aChmbGV4SXRlbUxvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICBmbGV4SXRl
bU1haW5BeGlzRW5kPSBmbGV4SXRlbUdlb21ldHJ5LnJpZ2h0KCk7CisgICAgICAgICAgICBmbGV4
SXRlbUNyb3NBeGlzRW5kID0gc3RkOjptYXgoZmxleEl0ZW1Dcm9zQXhpc0VuZCwgZmxleEl0ZW1H
ZW9tZXRyeS5ib3R0b20oKSk7CisgICAgICAgIH07CisgICAgICAgIGNvbXB1dGVGbGV4SXRlbUdl
b21ldHJ5KCk7CisgICAgfQorICAgIGF1dG8gZmxleExpbmUgPSBEaXNwbGF5OjpJbmxpbmVSZWN0
IHsgZmxleEl0ZW1Dcm9zQXhpc1N0YXJ0LCBmbGV4SXRlbU1haW5BeGlzU3RhcnQsIGZsZXhJdGVt
TWFpbkF4aXNFbmQgLSBmbGV4SXRlbU1haW5BeGlzU3RhcnQsIGZsZXhJdGVtQ3Jvc0F4aXNFbmQg
LSBmbGV4SXRlbUNyb3NBeGlzU3RhcnQgfTsKKyAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7
IGZsZXhMaW5lLCBmbGV4TGluZSwgZmxleExpbmUsIHsgfSB9KTsKK30KKwordm9pZCBGbGV4Rm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yRmxleEl0
ZW1zKCkKK3sKKyAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5mb3JtYXR0aW5nU3Rh
dGUoKTsKKyAgICBhdXRvIGdlb21ldHJ5ID0gdGhpcy0+Z2VvbWV0cnkoKTsKKyAgICBmb3IgKGF1
dG8mIGZsZXhJdGVtIDogY2hpbGRyZW5PZlR5cGU8Q29udGFpbmVyQm94Pihyb290KCkpKSB7Cisg
ICAgICAgIGlmIChmb3JtYXR0aW5nU3RhdGUuaW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckJv
eChmbGV4SXRlbSkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZm9ybWF0dGluZ1N0
YXRlLnNldEludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JCb3goZmxleEl0ZW0sIGdlb21ldHJ5
LmludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoZmxleEl0ZW0pKTsKKyAgICB9Cit9CisKIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhG
b3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5n
L0ZsZXhGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGUzMzcyZTI1ZjkyYzA5NTM5ZDE4NjU3OGQy
MTllMmQxZGI0ZDczMzQuLjU2ZTlhZGRmZmUzNWMwNTJjMmYzYTQwNmY2MWI1ZDMwMTc4MTE2MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbGV4Zm9ybWF0dGluZy9GbGV4Rm9y
bWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxleGZvcm1hdHRp
bmcvRmxleEZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTQ2LDEwICs0NiwzMCBAQCBwdWJsaWM6CiAg
ICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKKyAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVu
dHMgcG9zaXRpb25pbmcgYW5kIHNpemluZyBmb3IgZmxleCBpdGVtcy4KKyAgICBjbGFzcyBHZW9t
ZXRyeSA6IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnkgeworICAgIHB1YmxpYzoK
KyAgICAgICAgR2VvbWV0cnkoY29uc3QgRmxleEZvcm1hdHRpbmdDb250ZXh0Jik7CisKKyAgICAg
ICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGNv
bnN0IENvbnRhaW5lckJveCYpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgY29uc3QgRmxleEZv
cm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGRvd25j
YXN0PEZsZXhGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpm
b3JtYXR0aW5nQ29udGV4dCgpKTsgfQorICAgIH07CisgICAgRmxleEZvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIEdlb21ldHJ5KCp0aGlzKTsgfQor
CisgICAgdm9pZCBzaXplQW5kUGxhY2VGbGV4SXRlbXMoY29uc3QgQ29uc3RyYWludHNGb3JJbkZs
b3dDb250ZW50Jik7CisgICAgdm9pZCBjb21wdXRlSW50cmluc2ljV2lkdGhDb25zdHJhaW50c0Zv
ckZsZXhJdGVtcygpOworCiAgICAgY29uc3QgRmxleEZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGlu
Z1N0YXRlKCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8RmxleEZvcm1hdHRpbmdTdGF0ZT4oRm9y
bWF0dGluZ0NvbnRleHQ6OmZvcm1hdHRpbmdTdGF0ZSgpKTsgfQogICAgIEZsZXhGb3JtYXR0aW5n
U3RhdGUmIGZvcm1hdHRpbmdTdGF0ZSgpIHsgcmV0dXJuIGRvd25jYXN0PEZsZXhGb3JtYXR0aW5n
U3RhdGU+KEZvcm1hdHRpbmdDb250ZXh0Ojpmb3JtYXR0aW5nU3RhdGUoKSk7IH0KIH07CiAKK2lu
bGluZSBGbGV4Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpHZW9tZXRyeShjb25zdCBGbGV4
Rm9ybWF0dGluZ0NvbnRleHQmIGZsZXhGb3JtYXR0aW5nQ29udGV4dCkKKyAgICA6IEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeShmbGV4Rm9ybWF0dGluZ0NvbnRleHQpCit7Cit9CisKIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhG
b3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbGV4
Zm9ybWF0dGluZy9GbGV4Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmJjNmRmMjc3MDM0ZWE4OTVhODExNzVmODEwMWM5NTM3MzQ1NmU5MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbGV4Zm9ybWF0dGluZy9GbGV4Rm9ybWF0dGluZ0Nv
bnRleHRHZW9tZXRyeS5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJGbGV4Rm9ybWF0dGluZ0NvbnRleHQuaCIKKworI2lmIEVO
QUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCisjaW5jbHVkZSAiRmxleEZvcm1hdHRp
bmdTdGF0ZS5oIgorI2luY2x1ZGUgIkZvcm1hdHRpbmdDb250ZXh0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitGb3JtYXR0aW5nQ29udGV4dDo6SW50cmlu
c2ljV2lkdGhDb25zdHJhaW50cyBGbGV4Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbnRy
aW5zaWNXaWR0aENvbnN0cmFpbnRzKGNvbnN0IENvbnRhaW5lckJveCYgZmxleEl0ZW0pCit7Cisg
ICAgYXV0byBmaXhlZE1hcmdpbkJvcmRlckFuZFBhZGRpbmcgPSBbJl0oYXV0byYgbGF5b3V0Qm94
KSB7CisgICAgICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAgICAgIHJl
dHVybiBmaXhlZFZhbHVlKHN0eWxlLm1hcmdpblN0YXJ0KCkpLnZhbHVlT3IoMCkKKyAgICAgICAg
ICAgICsgTGF5b3V0VW5pdCB7IHN0eWxlLmJvcmRlckxlZnRXaWR0aCgpIH0KKyAgICAgICAgICAg
ICsgZml4ZWRWYWx1ZShzdHlsZS5wYWRkaW5nTGVmdCgpKS52YWx1ZU9yKDApCisgICAgICAgICAg
ICArIGZpeGVkVmFsdWUoc3R5bGUucGFkZGluZ1JpZ2h0KCkpLnZhbHVlT3IoMCkKKyAgICAgICAg
ICAgICsgTGF5b3V0VW5pdCB7IHN0eWxlLmJvcmRlclJpZ2h0V2lkdGgoKSB9CisgICAgICAgICAg
ICArIGZpeGVkVmFsdWUoc3R5bGUubWFyZ2luRW5kKCkpLnZhbHVlT3IoMCk7CisgICAgfTsKKwor
ICAgIGF1dG8gY29tcHV0ZWRJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzID0gWyZdKCkgLT4gSW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyB7CisgICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gZmxl
eEl0ZW0uc3R5bGUoKS5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgLy8gTWluaW11bS9tYXhpbXVt
IHdpZHRoIGNhbid0IGJlIGRlcGVuZGluZyBvbiB0aGUgY29udGFpbmluZyBibG9jaydzIHdpZHRo
LgorICAgICAgICBhdXRvIG5lZWRzUmVzb2x2ZWRDb250YWluaW5nQmxvY2tXaWR0aCA9IGxvZ2lj
YWxXaWR0aC5pc0NhbGN1bGF0ZWQoKSB8fCBsb2dpY2FsV2lkdGguaXNQZXJjZW50KCkgfHwgbG9n
aWNhbFdpZHRoLmlzUmVsYXRpdmUoKTsKKyAgICAgICAgaWYgKG5lZWRzUmVzb2x2ZWRDb250YWlu
aW5nQmxvY2tXaWR0aCkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgaWYgKGF1
dG8gd2lkdGggPSBmaXhlZFZhbHVlKGxvZ2ljYWxXaWR0aCkpCisgICAgICAgICAgICByZXR1cm4g
eyAqd2lkdGgsICp3aWR0aCB9OworCisgICAgICAgIEFTU0VSVChmbGV4SXRlbS5lc3RhYmxpc2hl
c0Zvcm1hdHRpbmdDb250ZXh0KCkpOworICAgICAgICBhdXRvIGludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMgPSBMYXlvdXRDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChmbGV4SXRlbSwg
bGF5b3V0U3RhdGUoKSktPmNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cygpOworICAg
ICAgICBpZiAobG9naWNhbFdpZHRoLmlzTWluQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJu
IHsgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5taW5pbXVtLCBpbnRyaW5zaWNXaWR0aENvbnN0
cmFpbnRzLm1pbmltdW0gfTsKKyAgICAgICAgaWYgKGxvZ2ljYWxXaWR0aC5pc01heENvbnRlbnQo
KSkKKyAgICAgICAgICAgIHJldHVybiB7IGludHJpbnNpY1dpZHRoQ29uc3RyYWludHMubWF4aW11
bSwgaW50cmluc2ljV2lkdGhDb25zdHJhaW50cy5tYXhpbXVtIH07CisgICAgICAgIHJldHVybiBp
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzOworICAgIH07CisgICAgYXV0byBpbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzID0gY29uc3RyYWluQnlNaW5NYXhXaWR0aChmbGV4SXRlbSwgY29tcHV0ZWRJ
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkpOworICAgIGludHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMuZXhwYW5kKGZpeGVkTWFyZ2luQm9yZGVyQW5kUGFkZGluZyhmbGV4SXRlbSkpOworICAgIHJl
dHVybiBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzOworfQorCit9Cit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhGb3JtYXR0
aW5nU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbGV4Zm9ybWF0dGluZy9GbGV4Rm9y
bWF0dGluZ1N0YXRlLmgKaW5kZXggY2U5MWVkZTZiODJjOGFiN2IzMjUzN2RmOTQyM2QwMjEwYjAw
MTcyOC4uMWI0YTNkZmE3YmRhZTFiNWM2MWE1NTg0N2ZhNGUyMzEyNTlmZjhiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ZsZXhmb3JtYXR0aW5nL0ZsZXhGb3JtYXR0aW5nU3Rh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxleGZvcm1hdHRpbmcvRmxleEZvcm1h
dHRpbmdTdGF0ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkRpc3BsYXlMaW5lLmgiCiAjaW5jbHVkZSAiRm9y
bWF0dGluZ1N0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogCkBAIC0zOCw2ICsz
OSwxMyBAQCBjbGFzcyBGbGV4Rm9ybWF0dGluZ1N0YXRlIDogcHVibGljIEZvcm1hdHRpbmdTdGF0
ZSB7CiBwdWJsaWM6CiAgICAgRmxleEZvcm1hdHRpbmdTdGF0ZShSZWY8RmxvYXRpbmdTdGF0ZT4m
JiwgTGF5b3V0U3RhdGUmKTsKICAgICB+RmxleEZvcm1hdHRpbmdTdGF0ZSgpOworCisgICAgdXNp
bmcgRmxleExpbmVzID0gVmVjdG9yPERpc3BsYXk6OkxpbmU+OworICAgIGNvbnN0IEZsZXhMaW5l
cyYgbGluZXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVzOyB9CisgICAgdm9pZCBhZGRMaW5lKGNv
bnN0IERpc3BsYXk6OkxpbmUmIGxpbmUpIHsgbV9saW5lcy5hcHBlbmQobGluZSk7IH0KKworcHJp
dmF0ZToKKyAgICBGbGV4TGluZXMgbV9saW5lczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyY2VmYTIyOWFi
YzA1YzFlODgwYWVhNzdjY2ZmYzY5MDk2NWI5ZDkzLi42MDJhNDJkZDhmZDI4YjliYmEyNWY2Yzg5
MTNlYzJlMTdjNDVmODI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMTYgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtGRkNdIEFkZCBiYXNp
YyBmbGV4IGl0ZW0gc2l6aW5nIGFuZCBwb3NpdGlvbmluZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NjEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0
L2ZsZXgtYm94LXNpbXBsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xh
eW91dGZvcm1hdHRpbmdjb250ZXh0L2ZsZXgtYm94LXNpbXBsZS5odG1sOiBBZGRlZC4KKwogMjAy
MC0wOS0xNiAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAg
W0NvY29hXSBVc2UgT1RGIGZvbnQgZmVhdHVyZXMgaW5zdGVhZCBvZiBBQVQgZm9udCBmZWF0dXJl
cyB3aGVuIHBvc3NpYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1h
dHRpbmdjb250ZXh0L2ZsZXgtYm94LXNpbXBsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9mbGV4LWJveC1zaW1wbGUtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43MTg0MDM3YWU0MmEyOTQ3YWQ2Mzk2NmNkODVkMTc5MjZlMzcyNGY1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4
dC9mbGV4LWJveC1zaW1wbGUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxzdHlsZT4KK2JvZHkgeworICBmb250LXNpemU6IDIwcHg7CisgIGZvbnQtZmFt
aWx5OiBhaGVtOworfQorLmNvbnRhaW5lciB7CisgIGJvcmRlcjogMTBweCBzb2xpZCBibHVlOwor
ICB3aWR0aDogNjAwcHg7Cit9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz1jb250YWluZXI+CisgIDxz
cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQiPmZsZXggaXRlbXM8L3NwYW4+PHNwYW4g
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+ZmxleCBpdGVtczwvc3Bhbj48c3BhbiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iPmV2ZXJ5d2hlcmU8L3NwYW4+Cis8L2Rpdj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxl
eC1ib3gtc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250
ZXh0L2ZsZXgtYm94LXNpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NDlmNTQyNzMwMTcxNGQ4ODFh
YTI3YmI1MjBlMjBkMGZjYjk5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2ZsZXgtYm94LXNpbXBsZS5odG1sCkBAIC0wLDAgKzEs
MTcgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFs
OkxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZD10cnVlIGludGVybmFsOkxheW91dEZvcm1h
dHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkPWZhbHNlIF0gLS0+Cis8c3R5bGU+Citib2R5
IHsKKyAgZm9udC1zaXplOiAyMHB4OworICBmb250LWZhbWlseTogYWhlbTsKK30KKy5mbGV4IHsK
KyAgZGlzcGxheTogZmxleDsKKyAgYm9yZGVyOiAxMHB4IHNvbGlkIGJsdWU7CisgIHdpZHRoOiA2
MDBweDsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPWZsZXg+CisgIDxkaXYgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IHJlZCI+ZmxleCBpdGVtczwvZGl2PgorICA8ZGl2IHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiB3aGl0ZTsiPmZsZXggaXRlbXM8L2Rpdj4KKyAgPGRpdiBzdHlsZT0iYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW4iPmV2ZXJ5d2hlcmU8L2Rpdj4KKzwvZGl2Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>